@charset "UTF-8";
:root {
  --font-size-base: 1;
  --text-size-scale: 1.2;
}

@media not screen and (max-width: 768px), print {
  .c-link {
    transition-property: opacity;
    transition-duration: 0.15s;
    transition-timing-function: ease-in-out;
  }
  .c-link:hover {
    opacity: 0.6;
  }
}

.c-text-link {
  color: #0099ff;
  text-decoration: underline;
}

.c-text-link[target] {
  padding-right: 1.2em;
  background: url(../images/common/icon-link.svg) no-repeat right center/0.6em auto;
}

.c-text-link[href$=".pdf"],
.c-text-link[href$=".pdf"][target],
.c-text-link.pdf {
  padding-right: 1.2em;
  background: url(../images/common/icon-link-pdf.png) no-repeat right center/0.8em auto;
}

.c-tel {
  cursor: default;
}

@media not screen and (max-width: 768px), print {
  .c-menu {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .c-menu {
    position: fixed;
    z-index: 20;
    left: 0;
    top: 12rem;
    width: 100%;
    bottom: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    display: none;
    background: #fff;
    border-top: 1px solid #ebebe8;
  }
  .c-menu[data-animation-state=showing], .c-menu[data-animation-state=shown], .c-menu[data-animation-state=hiding] {
    display: block;
  }
}

@media not screen and (max-width: 768px), print {
  .c-menu__button {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .c-menu__button {
    position: fixed;
    z-index: 20;
    right: 0;
    top: 0;
    width: 12rem;
    height: 12rem;
    transition-property: transform;
    transition-duration: 0.25s;
    transition-timing-function: ease-in-out;
  }
  .c-menu__button svg {
    width: 100%;
    height: 100%;
  }
}
.c-menu__button rect {
  transform-origin: center center;
}
.c-menu__button rect:nth-child(1) {
  transform: translate(0, -18px);
}
.c-menu__button rect:nth-child(1)[data-animation-state=shown] {
  transform: rotate(-45deg);
}
.c-menu__button rect:nth-child(2)[data-animation-state=shown] {
  opacity: 0;
}
.c-menu__button rect:nth-child(3) {
  transform: translate(0, 18px);
}
.c-menu__button rect:nth-child(3)[data-animation-state=shown] {
  transform: rotate(45deg);
}

@keyframes c-menu {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes c-menu__bar-0 {
  0% {
    transform: translate(0, -18px);
  }
  50% {
    transform: translate(0, 0);
  }
  100% {
    transform: rotate(-45deg);
  }
}
@keyframes c-menu__bar-1 {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes c-menu__bar-2 {
  0% {
    transform: translate(0, 18px);
  }
  50% {
    transform: translate(0, 0);
  }
  100% {
    transform: rotate(45deg);
  }
}
@media only screen and (max-width: 768px) {
  .c-menu__link {
    position: relative;
    display: block;
  }
}

@media only screen and (max-width: 768px) {
  a.c-menu__link,
  .c-menu__sub-link {
    background: #fff no-repeat right 4.2rem center/2.2rem 2.2rem;
    min-height: 9.6rem;
    font-weight: 500;
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-left: 4rem;
    padding-right: 9rem;
    position: relative;
  }
  a.c-menu__link.is-current,
  .c-menu__sub-link.is-current {
    color: #00bfb3;
  }
}
@media only screen and (max-width: 768px) {
  a.c-menu__link small,
  .c-menu__sub-link small {
    font-size: calc(18 * var(--font-size-base) * 0.1rem);
    margin-right: 0.5em;
  }
}

@media only screen and (max-width: 768px) {
  a.c-menu__link {
    background-image: url(../images/common//arrow-right_g.svg);
  }
}

@media only screen and (max-width: 768px) {
  .c-menu__group + .c-menu__link,
  .c-menu__link + .c-menu__link {
    border-top: 1px solid #ebebe8;
  }
}

@media only screen and (max-width: 768px) {
  .c-menu__group .c-menu__group + .c-menu__link,
  .c-menu__group .c-menu__link + .c-menu__link {
    border-top: 1px solid #d9d9d6;
  }
}

@media only screen and (max-width: 768px) {
  .c-menu__toggle {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 9.6rem;
    padding-right: 0.8rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .c-menu__toggle svg {
    width: 2.2rem;
    height: 2.2rem;
  }
  .c-menu__toggle path {
    transform-origin: center center;
    transition-property: transform, opacity;
    transition-duration: 0.25s;
    transition-timing-function: ease-in-out;
  }
  .c-menu__toggle.is-expanded path:nth-child(1) {
    transform: rotate(90deg);
    opacity: 0;
  }
  .c-menu__toggle.is-expanded path:nth-child(2) {
    transform: rotate(90deg);
  }
}

@media not screen and (max-width: 768px), print {
  .c-menu__group {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .c-menu__group {
    display: none;
  }
  .c-menu__group.is-current {
    display: block;
  }
  .c-menu__group a.c-menu__link,
  .c-menu__group .c-menu__sub-link {
    padding-left: 8.6rem;
    background-color: #e6e6e6;
  }
  .c-menu__group .c-menu__link + .c-menu__link {
    border-top-color: #d9d9d6;
  }
}
.c-menu__group .c-menu__group a.c-menu__link,
.c-menu__group .c-menu__group .c-menu__sub-link {
  padding-left: 12.9rem;
  background-color: #dbdbdb;
}
.c-menu__group .c-menu__group .c-menu__link + .c-menu__link {
  border-top-color: #cfcfcb;
}
.c-menu__group .c-menu__group .c-menu__group a.c-menu__link,
.c-menu__group .c-menu__group .c-menu__group .c-menu__sub-link {
  padding-left: 17.2rem;
  background-color: #c4c4c4;
}
.c-menu__group .c-menu__group .c-menu__group .c-menu__link + .c-menu__link {
  border-top-color: #babab4;
}

@media only screen and (max-width: 768px) {
  .c-menu__others .c-menu__link {
    color: #fff;
    background-color: #97999b;
    background-image: url(../images/common//arrow-right_w.svg);
  }
  .c-menu__others .c-menu__link.is-current {
    color: #fff;
    background-color: #00bfb3;
  }
  .c-menu__others .c-menu__link + .c-menu__link {
    border-top-color: #d9d9d6;
  }
}

@media not screen and (max-width: 768px), print {
  .c-main {
    margin-bottom: 13.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-main {
    margin-top: 12rem;
    margin-bottom: 12rem;
    transition-property: opacity;
    transition-duration: 0.25s;
    transition-timing-function: ease-in-out;
  }
  .is-menu-shown .c-main {
    opacity: 0;
  }
}
@media print {
  .c-main {
    padding-top: 0 !important;
  }
}

.c-main__title {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
}
@media not screen and (max-width: 768px), print {
  .c-main__title {
    padding-top: 4.5rem;
    margin-bottom: 11.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-main__title {
    padding-top: 6rem;
    margin-bottom: 7rem;
  }
}
@media not screen and (max-width: 768px), print {
  .c-main__title.is-404 {
    margin-top: 12rem;
  }
}
.c-main__title > small {
  font-weight: 500;
}
@media not screen and (max-width: 768px), print {
  .c-main__title > small {
    font-size: calc(22 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-main__title > small {
    font-size: calc(26 * var(--font-size-base) * 0.1rem);
  }
}
.c-main__title > span:nth-of-type(1) {
  font-weight: 400;
  line-height: 1.25;
}
@media not screen and (max-width: 768px), print {
  .c-main__title > span:nth-of-type(1) {
    font-size: calc(40 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-main__title > span:nth-of-type(1) {
    font-size: calc(42 * var(--font-size-base) * 0.1rem);
  }
}
.c-main__title > span:nth-of-type(2) {
  color: #97999b;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}
@media not screen and (max-width: 768px), print {
  .c-main__title > span:nth-of-type(2) {
    margin-top: 1.6rem;
    font-size: calc(20 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-main__title > span:nth-of-type(2) {
    margin-top: 1.6rem;
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
  }
}

.c-main__title-number {
  color: #fff;
  font-weight: 500;
  background: url(../images/common/c-title_number.jpg) no-repeat center center/cover;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media not screen and (max-width: 768px), print {
  .c-main__title-number {
    font-size: calc(20 * var(--font-size-base) * 0.1rem);
    width: 18.1rem;
    height: 5.1rem;
    margin-top: 4.5rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: -2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-main__title-number {
    font-size: calc(30 * var(--font-size-base) * 0.1rem);
    width: 19.1rem;
    height: 5.1rem;
    margin-top: 4.5rem;
    margin-bottom: -2rem;
  }
}
.c-main__title-number span {
  font-family: "Montserrat", sans-serif;
}
@media not screen and (max-width: 768px), print {
  .c-main__title-number span {
    font-size: calc(30 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-main__title-number span {
    font-size: calc(45 * var(--font-size-base) * 0.1rem);
  }
}

.c-main.sh-bg {
  position: relative;
}
.c-main.sh-bg::before {
  display: block;
  content: "";
  background: url(../images/common/page-bg_top.png) no-repeat bottom center/100% auto;
  width: 59rem;
  height: 35rem;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: -1;
}
@media only screen and (max-width: 768px) {
  .c-main.sh-bg::before {
    height: 30rem;
  }
}

.c-heading.type-1 {
  font-weight: 500;
  color: #fff;
  background: #97999b;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  line-height: 1;
  position: relative;
  margin-bottom: 4.8rem;
  padding: 3rem;
  width: calc(100% - 1.6rem);
}
@media not screen and (max-width: 768px), print {
  .c-heading.type-1 {
    font-size: calc(22 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-heading.type-1 {
    font-size: calc(33 * var(--font-size-base) * 0.1rem);
  }
}
.c-heading.type-1::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  background: linear-gradient(to bottom left, #fff, #fff 50%, #97999b 50%, #97999b);
  width: 1.6rem;
}

.c-heading.type-2 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
  margin-bottom: 6rem;
  font-weight: 500;
}
@media not screen and (max-width: 768px), print {
  .c-heading.type-2 {
    font-size: calc(30 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-heading.type-2 {
    font-size: calc(36 * var(--font-size-base) * 0.1rem);
  }
}
.c-heading.type-2::after {
  content: "";
  background: #d9d9d6;
  display: block;
  height: 4px;
  margin-top: 3rem;
  width: 8rem;
}
.c-heading.type-2 small {
  font-family: "Montserrat", sans-serif;
  color: #17a99f;
  font-weight: 500;
}
@media not screen and (max-width: 768px), print {
  .c-heading.type-2 small {
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
    margin-bottom: 1rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-heading.type-2 small {
    font-size: calc(30 * var(--font-size-base) * 0.1rem);
    margin-bottom: 1rem;
  }
}

.c-heading.type-3 {
  font-weight: 700;
  border-bottom: 1px solid #d9d9d6;
  padding-bottom: 0.4em;
  margin-bottom: 3rem;
}
@media not screen and (max-width: 768px), print {
  .c-heading.type-3 {
    font-size: calc(18 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-heading.type-3 {
    font-size: calc(27 * var(--font-size-base) * 0.1rem);
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
  }
}
@media only screen and (max-width: 768px) {
  .c-heading.type-3 {
    --font-size-base: 1;
  }
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
  .c-heading.type-3 {
    --font-size-base: 1.2;
  }
}
@media screen and (min-width: 1201px) {
  .c-heading.type-3 {
    --font-size-base: 1;
  }
}
.c-heading.type-3 > *:first-child {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  margin-right: 0.5em;
}
@media not screen and (max-width: 768px), print {
  .c-heading.type-3 > *:first-child {
    font-size: calc(20 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-heading.type-3 > *:first-child {
    font-size: calc(30 * var(--font-size-base) * 0.1rem);
    flex-basis: 1.25em;
    flex-shrink: 0;
  }
}

.c-button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fff;
  border: 1px solid #989797;
}
.c-button path,
.c-button rect {
  fill: #97999b;
}
@media not screen and (max-width: 768px), print {
  .c-button {
    transition-property: color, background, border;
    transition-duration: 0.25s;
    transition-timing-function: ease-in-out;
  }
  .c-button path,
  .c-button rect {
    transition-property: fill;
    transition-duration: 0.25s;
    transition-timing-function: ease-in-out;
  }
  .c-button:hover {
    background-color: #989797;
    color: #fff;
  }
  .c-button:hover path,
  .c-button:hover rect {
    fill: #fff;
  }
}
.c-button.is-gray {
  background-color: #97999b;
  color: #fff;
}
.c-button.is-gray path,
.c-button.is-gray rect {
  fill: #fff;
}
@media not screen and (max-width: 768px), print {
  .c-button.is-gray:hover {
    background-color: #fff;
    color: #53565a;
  }
  .c-button.is-gray:hover path,
  .c-button.is-gray:hover rect {
    fill: #97999b;
  }
}
.c-button.is-black {
  border: 0;
  background-color: #53565a;
  color: #fff;
}
.c-button.is-black path,
.c-button.is-black rect {
  fill: #fff;
}
@media not screen and (max-width: 768px), print {
  .c-button.is-black {
    transition-property: opacity;
    transition-duration: 0.15s;
    transition-timing-function: ease-in-out;
  }
  .c-button.is-black:hover {
    opacity: 0.6;
  }
}
@media not screen and (max-width: 768px), print {
  .c-button.is-black:hover {
    background-color: #53565a;
    color: #fff;
  }
  .c-button.is-black:hover path,
  .c-button.is-black:hover rect {
    fill: #fff;
  }
}
.c-button.is-green {
  border: 0;
  background-color: #00bfb3;
  color: #fff;
}
.c-button.is-green path,
.c-button.is-green rect {
  fill: #fff;
}
@media not screen and (max-width: 768px), print {
  .c-button.is-green {
    transition-property: opacity;
    transition-duration: 0.15s;
    transition-timing-function: ease-in-out;
  }
  .c-button.is-green:hover {
    opacity: 0.6;
  }
}
@media not screen and (max-width: 768px), print {
  .c-button.is-green:hover {
    background-color: #00bfb3;
    color: #fff;
  }
  .c-button.is-green:hover path,
  .c-button.is-green:hover rect {
    fill: #fff;
  }
}
.c-button.is-white {
  border: 0;
  background-color: #fff;
  color: #53565a;
}
.c-button.is-white path,
.c-button.is-white rect {
  fill: #53565a;
}
@media not screen and (max-width: 768px), print {
  .c-button.is-white {
    transition-property: opacity;
    transition-duration: 0.15s;
    transition-timing-function: ease-in-out;
  }
  .c-button.is-white:hover {
    opacity: 0.6;
  }
}
@media not screen and (max-width: 768px), print {
  .c-button.is-white:hover {
    background-color: #fff;
    color: #53565a;
  }
  .c-button.is-white:hover path,
  .c-button.is-white:hover rect {
    fill: #53565a;
  }
}
.c-button.is-orange {
  border: 0;
  background-color: #ffb81c;
  color: #fff;
}
.c-button.is-orange path,
.c-button.is-orange rect {
  fill: #fff;
}
@media not screen and (max-width: 768px), print {
  .c-button.is-orange {
    transition-property: opacity;
    transition-duration: 0.15s;
    transition-timing-function: ease-in-out;
  }
  .c-button.is-orange:hover {
    opacity: 0.6;
  }
}
@media not screen and (max-width: 768px), print {
  .c-button.is-orange:hover {
    background-color: #ffb81c;
    color: #fff;
  }
  .c-button.is-orange:hover path,
  .c-button.is-orange:hover rect {
    fill: #fff;
  }
}
.c-button.is-bordered {
  border-style: solid;
  border-width: 0 0 3px;
  border-color: currentColor;
  background-color: transparent;
  color: #53565a;
}
.c-button.is-bordered path,
.c-button.is-bordered rect {
  fill: #53565a;
}
@media not screen and (max-width: 768px), print {
  .c-button.is-bordered {
    transition-property: opacity;
    transition-duration: 0.15s;
    transition-timing-function: ease-in-out;
  }
  .c-button.is-bordered:hover {
    opacity: 0.6;
  }
}
@media not screen and (max-width: 768px), print {
  .c-button.is-bordered:hover {
    background-color: transparent;
    color: #53565a;
  }
  .c-button.is-bordered:hover path,
  .c-button.is-bordered:hover rect {
    fill: #53565a;
  }
}
.c-button.is-bordered.is-white {
  border-color: #fff;
  color: #fff;
}
.c-button.is-bordered.is-white path,
.c-button.is-bordered.is-white rect {
  fill: #fff;
}
@media not screen and (max-width: 768px), print {
  .c-button.is-bordered.is-white:hover {
    color: #fff;
  }
  .c-button.is-bordered.is-white:hover path,
  .c-button.is-bordered.is-white:hover rect {
    fill: #fff;
  }
}
.c-button.is-bordered.is-green {
  border-color: #00bfb3;
}
.c-button:disabled, .c-button.is-disabled {
  pointer-events: none;
  opacity: 0.4;
}

.c-line {
  border-width: 1px 0 0;
  border-style: solid;
  border-color: #d9d9d6;
  height: 0;
  display: block;
  margin-top: 4rem;
  margin-bottom: 4rem;
}

.c-table {
  width: 100%;
  border-spacing: 0;
  border-collapse: separate;
}
.c-table > thead > tr > th,
.c-table > thead > tr > td,
.c-table > tbody > tr > th,
.c-table > tbody > tr > td,
.c-table > tfoot > tr > th,
.c-table > tfoot > tr > td {
  text-align: left;
  border-bottom: 1px solid #d9d9d6;
  vertical-align: top;
}
@media not screen and (max-width: 768px), print {
  .c-table > thead > tr > th,
  .c-table > thead > tr > td,
  .c-table > tbody > tr > th,
  .c-table > tbody > tr > td,
  .c-table > tfoot > tr > th,
  .c-table > tfoot > tr > td {
    font-size: calc(16 * var(--font-size-base) * 0.1rem);
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-table > thead > tr > th,
  .c-table > thead > tr > td,
  .c-table > tbody > tr > th,
  .c-table > tbody > tr > td,
  .c-table > tfoot > tr > th,
  .c-table > tfoot > tr > td {
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-table > thead > tr > th,
  .c-table > thead > tr > td,
  .c-table > tbody > tr > th,
  .c-table > tbody > tr > td,
  .c-table > tfoot > tr > th,
  .c-table > tfoot > tr > td {
    --font-size-base: 1;
  }
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
  .c-table > thead > tr > th,
  .c-table > thead > tr > td,
  .c-table > tbody > tr > th,
  .c-table > tbody > tr > td,
  .c-table > tfoot > tr > th,
  .c-table > tfoot > tr > td {
    --font-size-base: 1.2;
  }
}
@media screen and (min-width: 1201px) {
  .c-table > thead > tr > th,
  .c-table > thead > tr > td,
  .c-table > tbody > tr > th,
  .c-table > tbody > tr > td,
  .c-table > tfoot > tr > th,
  .c-table > tfoot > tr > td {
    --font-size-base: 1.05;
  }
}
.c-table > thead > tr > th,
.c-table > tbody > tr > th,
.c-table > tfoot > tr > th {
  font-weight: 500;
}
.c-table > thead > tr > td,
.c-table > tbody > tr > td,
.c-table > tfoot > tr > td {
  font-weight: 400;
}
.c-table.is-colored > thead > tr > th,
.c-table.is-colored > tbody > tr > th,
.c-table.is-colored > tfoot > tr > th {
  background: rgba(217, 217, 214, 0.4);
}
@media not screen and (max-width: 768px), print {
  .c-table.is-colored > thead > tr > th,
  .c-table.is-colored > tbody > tr > th,
  .c-table.is-colored > tfoot > tr > th {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-table.is-colored > thead > tr > th,
  .c-table.is-colored > tbody > tr > th,
  .c-table.is-colored > tfoot > tr > th {
    padding-left: 6rem;
    padding-right: 6rem;
  }
}
@media not screen and (max-width: 768px), print {
  .c-table.is-colored > thead > tr > td,
  .c-table.is-colored > tbody > tr > td,
  .c-table.is-colored > tfoot > tr > td {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-table.is-colored > thead > tr > td,
  .c-table.is-colored > tbody > tr > td,
  .c-table.is-colored > tfoot > tr > td {
    padding-left: 6rem;
    padding-right: 6rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-table.is-responsive,
  .c-table.is-responsive > thead,
  .c-table.is-responsive > thead > tr,
  .c-table.is-responsive > thead > tr > th,
  .c-table.is-responsive > thead > tr > td,
  .c-table.is-responsive > tbody,
  .c-table.is-responsive > tbody > tr,
  .c-table.is-responsive > tbody > tr > th,
  .c-table.is-responsive > tbody > tr > td,
  .c-table.is-responsive > tfoot,
  .c-table.is-responsive > tfoot > tr,
  .c-table.is-responsive > tfoot > tr > th,
  .c-table.is-responsive > tfoot > tr > td {
    display: block;
  }
  .c-table.is-responsive > thead > tr > th,
  .c-table.is-responsive > tbody > tr > th,
  .c-table.is-responsive > tfoot > tr > th {
    border-bottom: 0;
    padding-top: 0.5rem;
    padding-bottom: 0.25rem;
    font-weight: 700;
  }
  .c-table.is-responsive > thead > tr > td,
  .c-table.is-responsive > tbody > tr > td,
  .c-table.is-responsive > tfoot > tr > td {
    padding-top: 0.25rem;
    padding-bottom: 0.5rem;
  }
}

.c-pagination {
  display: flex;
  justify-content: center;
  align-items: stretch;
}
.c-pagination > * {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}
@media not screen and (max-width: 768px), print {
  .c-pagination > * {
    min-width: 4rem;
    height: 4rem;
    font-size: calc(18 * var(--font-size-base) * 0.1rem);
    margin-left: 0.25rem;
    margin-right: 0.25rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-pagination > * {
    min-width: 6rem;
    height: 6rem;
    font-size: calc(27 * var(--font-size-base) * 0.1rem);
    margin-left: 0.375rem;
    margin-right: 0.375rem;
  }
}
.c-pagination > a {
  color: #97999b;
  border: 1px solid #d9d9d6;
  background: #fff;
}
@media not screen and (max-width: 768px), print {
  .c-pagination > a {
    transition-property: color, background, border-color;
    transition-duration: 0.25s;
    transition-timing-function: ease-in-out;
  }
  .c-pagination > a:hover {
    color: #fff;
    background: #97999b;
    border-color: #97999b;
  }
}
.c-pagination > span {
  background: #97999b;
  color: #fff;
}
@media not screen and (max-width: 768px), print {
  .c-pagination img {
    width: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-pagination img {
    width: 3rem;
  }
}

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

.nav-links {
  display: flex;
  justify-content: center;
  align-items: stretch;
}

.page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}
@media not screen and (max-width: 768px), print {
  .page-numbers {
    min-width: 4rem;
    height: 4rem;
    font-size: calc(18 * var(--font-size-base) * 0.1rem);
    margin-left: 0.25rem;
    margin-right: 0.25rem;
  }
}
@media only screen and (max-width: 768px) {
  .page-numbers {
    min-width: 6rem;
    height: 6rem;
    font-size: calc(27 * var(--font-size-base) * 0.1rem);
    margin-left: 0.375rem;
    margin-right: 0.375rem;
  }
}

a.page-numbers {
  color: #97999b;
  border: 1px solid #d9d9d6;
  background: #fff;
}
@media not screen and (max-width: 768px), print {
  a.page-numbers {
    transition-property: color, background, border-color;
    transition-duration: 0.25s;
    transition-timing-function: ease-in-out;
  }
  a.page-numbers:hover {
    color: #fff;
    background: #97999b;
    border-color: #97999b;
  }
}

.page-numbers.current {
  background: #97999b;
  color: #fff;
}

.page-numbers.dots {
  color: #97999b;
}

.sc-company__info {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media not screen and (max-width: 768px), print {
  .sc-company__info {
    margin-bottom: 10rem;
  }
}
@media only screen and (max-width: 768px) {
  .sc-company__info {
    margin: 0 4rem 8.5rem;
  }
}
.sc-company__info li {
  border-left: 1px solid #d9d9d6;
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.sc-company__info li:last-child {
  border-right: 1px solid #d9d9d6;
}
@media only screen and (max-width: 768px) {
  .sc-company__info li {
    display: flex;
    align-items: center;
    height: 6rem;
  }
}

.sc-company__link {
  display: block;
  text-align: center;
  font-weight: 500;
  position: relative;
}
@media not screen and (max-width: 768px), print {
  .sc-company__link {
    font-size: calc(16 * var(--font-size-base) * var(--text-size-scale) * 0.1rem);
    white-space: nowrap;
  }
}
@media only screen and (max-width: 768px) {
  .sc-company__link {
    font-size: calc(22 * var(--font-size-base) * var(--text-size-scale) * 0.1rem);
  }
}
.sc-company__link::after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  width: 0;
  height: 2px;
  background: #00bfb3;
}
@media not screen and (max-width: 768px), print {
  .sc-company__link::after {
    top: calc(100% + 0.6rem);
  }
}
@media only screen and (max-width: 768px) {
  .sc-company__link::after {
    top: calc(100% + 1.8rem);
  }
}

a.sc-company__link::after {
  transition-property: width;
  transition-duration: 0.1s;
  transition-timing-function: ease-in-out;
}

a.sc-company__link:hover::after {
  width: 100%;
}

span.sc-company__link::after {
  width: 100%;
}

.c-topics__tag {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  padding-bottom: 0.1em;
}
@media not screen and (max-width: 768px), print {
  .c-topics__tag {
    width: 16.2rem;
    font-size: calc(14 * var(--font-size-base) * 0.1rem);
    height: 2.4rem;
    border-radius: 1.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-topics__tag {
    width: 24.3rem;
    font-size: calc(21 * var(--font-size-base) * 0.1rem);
    height: 3.6rem;
    border-radius: 1.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-topics__tag {
    --font-size-base: 1;
  }
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
  .c-topics__tag {
    --font-size-base: 1.2;
  }
}
@media screen and (min-width: 1201px) {
  .c-topics__tag {
    --font-size-base: 1;
  }
}
.c-topics__tag.is-information {
  background: #97999b;
  color: #fff;
}
.c-topics__tag.is-outplacement {
  background: #00bfb3;
  color: #fff;
}

.c-topics__date {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: #97999b;
}
@media not screen and (max-width: 768px), print {
  .c-topics__date {
    font-size: calc(16 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-topics__date {
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-topics__date {
    --font-size-base: 1;
  }
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
  .c-topics__date {
    --font-size-base: 1.2;
  }
}
@media screen and (min-width: 1201px) {
  .c-topics__date {
    --font-size-base: 1;
  }
}

@media not screen and (max-width: 768px), print {
  .c-topics__body {
    font-size: calc(16 * var(--font-size-base) * var(--text-size-scale) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-topics__body {
    font-size: calc(24 * var(--font-size-base) * var(--text-size-scale) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-topics__body {
    --font-size-base: 1;
  }
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
  .c-topics__body {
    --font-size-base: 1.2;
  }
}
@media screen and (min-width: 1201px) {
  .c-topics__body {
    --font-size-base: 1;
  }
}
.c-topics__body h2 {
  font-weight: 700;
  margin-bottom: 1em;
  font-size: 1.5em;
}
.c-topics__body h3 {
  font-weight: 700;
  margin-bottom: 1em;
  font-size: 1.3125em;
}
.c-topics__body h4 {
  font-weight: 700;
  margin-bottom: 1em;
  font-size: 1.125em;
}
.c-topics__body h5,
.c-topics__body h6 {
  font-weight: 700;
  margin-bottom: 1em;
  font-size: 1em;
}
.c-topics__body h2,
.c-topics__body h3,
.c-topics__body h4,
.c-topics__body h5,
.c-topics__body h6 {
  clear: both;
}
@media not screen and (max-width: 768px), print {
  .c-topics__body h2:not(:first-child),
  .c-topics__body h3:not(:first-child),
  .c-topics__body h4:not(:first-child),
  .c-topics__body h5:not(:first-child),
  .c-topics__body h6:not(:first-child) {
    margin-top: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-topics__body h2:not(:first-child),
  .c-topics__body h3:not(:first-child),
  .c-topics__body h4:not(:first-child),
  .c-topics__body h5:not(:first-child),
  .c-topics__body h6:not(:first-child) {
    margin-top: 12rem;
  }
}
.c-topics__body p,
.c-topics__body ul,
.c-topics__body ol {
  font-weight: 400;
  line-height: 1.75;
}
@media not screen and (max-width: 768px), print {
  .c-topics__body p + p,
  .c-topics__body p + ul,
  .c-topics__body p + ol,
  .c-topics__body ul + p,
  .c-topics__body ul + ul,
  .c-topics__body ul + ol,
  .c-topics__body ol + p,
  .c-topics__body ol + ul,
  .c-topics__body ol + ol {
    margin-top: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-topics__body p + p,
  .c-topics__body p + ul,
  .c-topics__body p + ol,
  .c-topics__body ul + p,
  .c-topics__body ul + ul,
  .c-topics__body ul + ol,
  .c-topics__body ol + p,
  .c-topics__body ol + ul,
  .c-topics__body ol + ol {
    margin-top: 3rem;
  }
}
.c-topics__body ul {
  list-style: disc;
  margin-left: 1.25em;
}
.c-topics__body ol {
  list-style: decimal;
  margin-left: 1.25em;
}
.c-topics__body a[href] {
  color: #0099ff;
  text-decoration: underline;
}
.c-topics__body a[href][target] {
  padding-right: 1.2em;
  background: url(../images/common/icon-link.svg) no-repeat right center/0.6em auto;
}
.c-topics__body a[href$=".pdf"],
.c-topics__body a[href$=".pdf"][target] {
  padding-right: 1.2em;
  background: url(../images/common/icon-link-pdf.png) no-repeat right center/0.8em auto;
}
.c-topics__body img {
  clear: both;
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}
@media not screen and (max-width: 768px), print {
  .c-topics__body img {
    margin-top: 8rem;
    margin-bottom: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-topics__body img {
    margin-top: 12rem;
    margin-bottom: 12rem;
  }
}
@media not screen and (max-width: 768px), print {
  .c-topics__body img.alignnone {
    max-width: 100%;
    margin-left: 0;
  }
}
@media not screen and (max-width: 768px), print {
  .c-topics__body img.aligncenter {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media not screen and (max-width: 768px), print {
  .c-topics__body img.alignleft {
    float: left;
    max-width: 50%;
    margin-right: 4rem;
    margin-top: 0.5em;
    margin-bottom: 2em;
  }
}
@media not screen and (max-width: 768px), print {
  .c-topics__body img.alignright {
    float: right;
    max-width: 50%;
    margin-left: 4rem;
    margin-top: 0.5em;
    margin-bottom: 2em;
  }
}
@media not screen and (max-width: 768px), print {
  .c-topics__body .wp-caption {
    margin-top: 8rem;
    margin-bottom: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-topics__body .wp-caption {
    margin-top: 12rem;
    margin-bottom: 12rem;
    max-width: 100%;
  }
}
@media not screen and (max-width: 768px), print {
  .c-topics__body .wp-caption img {
    margin-top: 0;
    margin-bottom: 0.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-topics__body .wp-caption img {
    margin-top: 0;
    margin-bottom: 0.75rem;
  }
}
@media not screen and (max-width: 768px), print {
  .c-topics__body .wp-caption.alignnone {
    max-width: 100%;
    margin-left: 0;
  }
}
@media not screen and (max-width: 768px), print {
  .c-topics__body .wp-caption.alignnone img {
    max-width: 100%;
    margin-left: 0;
  }
}
@media not screen and (max-width: 768px), print {
  .c-topics__body .wp-caption.aligncenter {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media not screen and (max-width: 768px), print {
  .c-topics__body .wp-caption.aligncenter img {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media not screen and (max-width: 768px), print {
  .c-topics__body .wp-caption.alignleft {
    float: left;
    max-width: 50%;
    margin-right: 4rem;
    margin-top: 0.5em;
    margin-bottom: 2em;
  }
}
@media not screen and (max-width: 768px), print {
  .c-topics__body .wp-caption.alignleft img {
    max-width: 100%;
  }
}
@media not screen and (max-width: 768px), print {
  .c-topics__body .wp-caption.alignright {
    float: right;
    max-width: 50%;
    margin-left: 4rem;
    margin-top: 0.5em;
    margin-bottom: 2em;
  }
}
@media not screen and (max-width: 768px), print {
  .c-topics__body .wp-caption.alignright img {
    max-width: 100%;
  }
}
.c-topics__body .wp-caption-dd,
.c-topics__body .wp-caption-text {
  font-size: 0.875em;
}
.c-topics__body blockquote {
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: 2em;
  background: #eee;
  padding: 0.5em;
  border-left: 0.5em solid #ccc;
}
.c-topics__body .box {
  border: 1px solid #333;
  padding: 1em 2em;
  margin-top: 2em;
  margin-bottom: 2em;
}
.c-topics__body .hc-post__interviewee {
  font-weight: 700;
}
.c-topics__body .toc {
  background: #eee;
  padding: 1em 2em;
  margin: 0 0 2em;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.c-topics__body .toc__item {
  font-size: 0.8em;
}
.c-topics__body .toc__item + .toc__item {
  margin-top: 0.2em;
}
.c-topics__body .toc__item--3 {
  margin-left: 1.5em;
}
.c-topics__body .toc__item--4 {
  margin-left: 3em;
}
.c-topics__body .toc__item--5 {
  margin-left: 4.5em;
}
.c-topics__body .toc__item--6 {
  margin-left: 6em;
}
.c-topics__body .toc__item--anchor.toc__item--3 {
  margin-left: 3em;
}
.c-topics__body .toc__item--anchor.toc__item--4 {
  margin-left: 4.5em;
}
.c-topics__body .toc__item--anchor.toc__item--5 {
  margin-left: 6em;
}
.c-topics__body .toc__item--anchor.toc__item--6 {
  margin-left: 7.5em;
}

@media not screen and (max-width: 768px), print {
  .c-top-topics {
    margin-top: 9rem;
    margin-bottom: 9rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
}
@media only screen and (max-width: 768px) {
  .c-top-topics {
    margin-top: 14rem;
    margin-bottom: 14rem;
  }
}

@media not screen and (max-width: 768px), print {
  .c-top-topics__heading.c-heading {
    width: 23.2rem;
    flex-basis: 23.2rem;
    align-items: flex-start;
    margin-bottom: auto;
  }
}

@media not screen and (max-width: 768px), print {
  .c-top-topics__list {
    width: 75.2rem;
    max-width: 75.2rem;
    flex-basis: 75.2rem;
    border-right: 1px solid #dcdcdc;
    padding-right: 5.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-top-topics__list {
    margin: 0 4rem 8rem;
  }
}

@media only screen and (max-width: 768px) {
  .c-top-topics__article {
    margin-bottom: 5rem;
    border-bottom: 1px solid #d9d9d6;
    padding-bottom: 5rem;
  }
}

@media not screen and (max-width: 768px), print {
  .c-top-topics__article + .c-top-topics__article {
    margin-top: 4rem;
  }
}

@media not screen and (max-width: 768px), print {
  .c-top-topics__header {
    margin-bottom: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-top-topics__header {
    margin-bottom: 2.4rem;
  }
}
.c-top-topics__header .c-topics__date {
  font-weight: 500;
}
@media not screen and (max-width: 768px), print {
  .c-top-topics__header .c-topics__date {
    margin-left: 1.6rem;
    font-size: calc(16 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-top-topics__header .c-topics__date {
    margin-left: 2.3rem;
    font-size: calc(22 * var(--font-size-base) * 0.1rem);
  }
}

.c-top-topics__title {
  font-weight: 700;
  line-height: 1.556;
}
@media not screen and (max-width: 768px), print {
  .c-top-topics__title {
    font-size: calc(18 * var(--font-size-base) * 0.1rem);
    margin-bottom: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-top-topics__title {
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
    margin-bottom: 2.8rem;
  }
}

.c-top-topics__file {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-weight: 500;
}
@media not screen and (max-width: 768px), print {
  .c-top-topics__file {
    font-size: calc(14 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-top-topics__file {
    font-size: calc(20 * var(--font-size-base) * 0.1rem);
  }
}
.c-top-topics__file > * + * {
  margin-left: 1em;
}

.c-top-topics__file-link {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.c-top-topics__file-link img {
  margin-right: 1em;
}
@media not screen and (max-width: 768px), print {
  .c-top-topics__file-link img {
    width: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-top-topics__file-link img {
    width: 3.3rem;
  }
}
.c-top-topics__file-link span {
  border-bottom: 1px solid currentColor;
}

.c-top-topics__summary {
  line-height: 1.714;
  font-weight: 500;
}
@media not screen and (max-width: 768px), print {
  .c-top-topics__summary {
    font-size: calc(16 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-top-topics__summary {
    font-size: calc(20 * var(--font-size-base) * 0.1rem);
  }
}

.c-top-topics__link {
  font-weight: 700;
  white-space: nowrap;
}
@media not screen and (max-width: 768px), print {
  .c-top-topics__link {
    margin-left: auto;
    font-size: calc(16 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-top-topics__link {
    display: block;
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
    text-align: center;
    margin: 8rem auto 0;
  }
}
@media not screen and (max-width: 768px), print {
  .c-top-topics__link img {
    margin-top: 1.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-top-topics__link img {
    width: 12em;
    margin: 2rem auto 0;
  }
}

.c-error__message {
  font-weight: 400;
  line-height: 1.75;
}
@media not screen and (max-width: 768px), print {
  .c-error__message {
    text-align: center;
    font-size: calc(16 * var(--font-size-base) * var(--text-size-scale) * 0.1rem);
    margin-bottom: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-error__message {
    margin: 0 4rem 12rem;
    font-size: calc(24 * var(--font-size-base) * var(--text-size-scale) * 0.1rem);
  }
}

@media not screen and (max-width: 768px), print {
  .c-error__buttons {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media only screen and (max-width: 768px) {
  .c-error__buttons {
    margin: 0 4rem;
  }
}
.c-error__buttons .c-button {
  font-weight: 500;
}
@media not screen and (max-width: 768px), print {
  .c-error__buttons .c-button {
    width: 30rem;
    height: 7rem;
    font-size: calc(14 * var(--font-size-base) * 0.1rem);
    padding: 0 3rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-error__buttons .c-button {
    width: 100%;
    height: 10.5rem;
    font-size: calc(21 * var(--font-size-base) * 0.1rem);
    padding: 0 4.5rem;
  }
}
@media not screen and (max-width: 768px), print {
  .c-error__buttons .c-button svg {
    width: 4.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-error__buttons .c-button svg {
    width: 6.9rem;
  }
}

.c-footer-brand {
  background: #97999b;
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media not screen and (max-width: 768px), print {
  .c-footer-brand {
    height: 10.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-footer-brand {
    height: 12rem;
    padding: 0 3rem;
  }
}

@media not screen and (max-width: 768px), print {
  .c-footer-brand__logo {
    width: 24rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-footer-brand__logo {
    width: 24rem;
  }
}

@media not screen and (max-width: 768px), print {
  .c-footer-brand__copy {
    width: 29rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-footer-brand__copy {
    width: 29rem;
  }
}

.c-footer-end {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media not screen and (max-width: 768px), print {
  .c-footer-end {
    align-items: center;
    height: 9rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-footer-end {
    align-items: stretch;
    padding: 6rem;
  }
}

@media not screen and (max-width: 768px), print {
  .c-footer-end__links {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-footer-end__links {
    display: grid;
    row-gap: 2rem;
    margin-bottom: 6rem;
  }
}

@media not screen and (max-width: 768px), print {
  .c-footer-end__link {
    font-size: calc(12 * var(--font-size-base) * 0.1rem);
    margin: 0 1em;
  }
}
@media only screen and (max-width: 768px) {
  .c-footer-end__link {
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
  }
}

.c-footer-end__copyright {
  text-align: center;
}
@media not screen and (max-width: 768px), print {
  .c-footer-end__copyright {
    font-size: calc(12 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-footer-end__copyright {
    font-size: calc(20 * var(--font-size-base) * 0.1rem);
  }
}

.c-flow {
  position: relative;
}
@media not screen and (max-width: 768px), print {
  .c-flow {
    width: 100rem;
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (max-width: 768px) {
  .c-flow {
    margin: 0 4rem;
  }
}

@media not screen and (max-width: 768px), print {
  .c-flow__item + .c-flow__item {
    margin-top: 2.7rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-flow__item + .c-flow__item {
    margin-top: 4.05rem;
  }
}

@media not screen and (max-width: 768px), print {
  .c-flow__body {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
  }
}
@media only screen and (max-width: 768px) {
  .c-flow__body {
    position: relative;
  }
}
@media not screen and (max-width: 768px), print {
  .c-flow__body > dt {
    position: relative;
  }
}
@media not screen and (max-width: 768px), print {
  .c-flow__body > dt.with-link {
    transition-property: opacity;
    transition-duration: 0.15s;
    transition-timing-function: ease-in-out;
  }
  .c-flow__body > dt.with-link:hover {
    opacity: 0.6;
  }
}
.c-flow__body > dt.with-arrow::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  top: calc(100% - 1px);
  margin: 0 auto;
  border-style: solid;
  border-color: transparent #fff #fff;
}
@media not screen and (max-width: 768px), print {
  .c-flow__body > dt.with-arrow::after {
    background-color: inherit;
    border-width: 2.7rem 1.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-flow__body > dt.with-arrow::after {
    border-width: 4.05rem 2.7rem;
  }
}

@media not screen and (max-width: 768px), print {
  .c-process-flow .c-flow__body {
    min-height: 9rem;
  }
}
@media not screen and (max-width: 768px), print {
  .c-process-flow .c-flow__body > dt {
    width: 50rem;
    flex-basis: 50rem;
  }
}
.c-process-flow .c-flow__body > dt.is-00 {
  background: #97999b;
  color: #fff;
}
.c-process-flow .c-flow__body > dt.is-01 {
  background: #00b5e2;
  color: #fff;
}
.c-process-flow .c-flow__body > dt.is-02 {
  background: #297ecd;
  color: #fff;
}
.c-process-flow .c-flow__body > dt.is-03 {
  background: #c6858f;
  color: #fff;
}
.c-process-flow .c-flow__body > dt.is-04 {
  background: #ff8200;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .c-process-flow .c-flow__body > dt::after {
    background: #eeeeee;
  }
}
@media not screen and (max-width: 768px), print {
  .c-process-flow .c-flow__body > dd {
    width: calc(100% - 50rem);
    flex-basis: calc(100% - 50rem);
  }
}

.c-process-flow__link {
  width: 100%;
  height: 100%;
  line-height: 1;
}
@media not screen and (max-width: 768px), print {
  .c-process-flow__link {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-left: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-process-flow__link {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    padding: 2rem 4rem;
  }
}
.c-process-flow__link span {
  font-weight: 500;
}
@media not screen and (max-width: 768px), print {
  .c-process-flow__link span {
    font-size: calc(15 * var(--font-size-base) * 0.1rem);
    width: 4em;
    flex-basis: 4em;
    flex-shrink: 0;
    white-space: nowrap;
  }
}
@media only screen and (max-width: 768px) {
  .c-process-flow__link span {
    font-size: calc(22.5 * var(--font-size-base) * 0.1rem);
  }
}
.c-process-flow__link b {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
}
@media not screen and (max-width: 768px), print {
  .c-process-flow__link b {
    font-size: calc(28 * var(--font-size-base) * 0.1rem);
    margin-left: 0.5rem;
    width: 2em;
    flex-basis: 2em;
    flex-shrink: 0;
  }
}
@media only screen and (max-width: 768px) {
  .c-process-flow__link b {
    font-size: calc(42 * var(--font-size-base) * 0.1rem);
    margin-left: 0.5rem;
  }
}
.c-process-flow__link strong {
  font-weight: 500;
}
@media not screen and (max-width: 768px), print {
  .c-process-flow__link strong {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-grow: 1;
    border-left: 1px solid #fff;
    font-size: calc(26 * var(--font-size-base) * 0.1rem);
    height: 4rem;
    padding-left: 2.5rem;
    margin-left: auto;
  }
}
@media only screen and (max-width: 768px) {
  .c-process-flow__link strong {
    font-size: calc(32.5 * var(--font-size-base) * 0.1rem);
    width: 100%;
    text-align: center;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #fff;
  }
}

.c-process-flow__tags {
  width: 100%;
  height: 100%;
  background: #eeeeee;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
}
@media not screen and (max-width: 768px), print {
  .c-process-flow__tags {
    padding: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-process-flow__tags {
    padding: 3rem;
  }
}
.c-process-flow__tags ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .c-process-flow__tags ul {
    flex-wrap: wrap;
  }
}
.c-process-flow__tags li {
  font-weight: 500;
  margin-right: 2em;
  line-height: 1.667;
  white-space: nowrap;
}
@media not screen and (max-width: 768px), print {
  .c-process-flow__tags li {
    font-size: calc(18 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-process-flow__tags li {
    font-size: calc(27 * var(--font-size-base) * 0.1rem);
  }
}
.c-process-flow__tags li::before {
  content: "●";
  margin-right: 0.2em;
}
@media not screen and (max-width: 768px), print {
  .c-process-flow__tags li::before {
    font-size: calc(14 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-process-flow__tags li::before {
    font-size: calc(21 * var(--font-size-base) * 0.1rem);
  }
}

@media not screen and (max-width: 768px), print {
  .c-index {
    position: relative;
    z-index: 10;
    width: 100%;
    height: 6rem;
    border-bottom: 1px solid #f0f0ef;
    display: flex;
    justify-content: stretch;
    align-items: stretch;
  }
}
@media only screen and (max-width: 768px) {
  .c-index {
    display: none;
  }
}

@media not screen and (max-width: 768px), print {
  .c-index__link {
    height: 100%;
    font-size: calc(16 * var(--font-size-base) * 0.1rem);
    font-weight: 500;
    display: flex;
    justify-content: center;
    align-items: center;
    border-right: 1px solid #d9d9d6;
    background: #fff;
    position: relative;
  }
}
.c-index__link small {
  margin-right: 0.5em;
}
@media not screen and (max-width: 768px), print {
  .c-index__link small {
    font-size: calc(14 * var(--font-size-base) * 0.1rem);
  }
}
@media not screen and (max-width: 768px), print {
  .c-index__link:last-child {
    border-right: 0;
  }
}
@media not screen and (max-width: 768px), print {
  .c-index__link.for-top {
    transition-property: opacity;
    transition-duration: 0.15s;
    transition-timing-function: ease-in-out;
  }
  .c-index__link.for-top:hover {
    opacity: 0.6;
  }
}
@media not screen and (max-width: 768px), print {
  .c-index__link.for-top {
    background: #00bfb3;
    color: #fff;
    border-right: 0;
    -webkit-clip-path: polygon(0% 0%, calc(100% - 6px) 0%, 100% 100%, 0% 100%);
            clip-path: polygon(0% 0%, calc(100% - 6px) 0%, 100% 100%, 0% 100%);
  }
}
@media not screen and (max-width: 768px), print {
  .c-index__link:not(.for-top) {
    flex: 1;
  }
}
@media not screen and (max-width: 768px), print {
  .c-index__link:not(.for-top)::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    transition-property: height;
    transition-duration: 0.25s;
    transition-timing-function: ease-in-out;
  }
}
@media not screen and (max-width: 768px), print {
  .c-index__link:not(.for-top):hover::after, .c-index__link:not(.for-top).is-current::after {
    height: 3px;
  }
}

@media not screen and (max-width: 768px), print {
  .c-sub-index {
    position: relative;
    z-index: 10;
    width: 100%;
    height: 6rem;
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    background: #f0f0ef;
  }
}

@media not screen and (max-width: 768px), print {
  .c-sub-index__row {
    display: flex;
    justify-content: center;
    align-items: stretch;
    width: 100%;
  }
}

.c-sub-index__link {
  font-weight: 500;
}
@media not screen and (max-width: 768px), print {
  .c-sub-index__link {
    position: relative;
    font-size: calc(15 * var(--font-size-base) * 0.1rem);
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 2.5rem;
    transition-property: color;
    transition-duration: 0.25s;
    transition-timing-function: ease-in-out;
  }
}
.c-sub-index__link small {
  margin-right: 0.5em;
}
@media not screen and (max-width: 768px), print {
  .c-sub-index__link small {
    font-size: calc(13 * var(--font-size-base) * 0.1rem);
  }
}
@media not screen and (max-width: 768px), print {
  .c-sub-index__link:hover, .c-sub-index__link.is-current {
    color: #17a99f;
  }
}
.c-sub-index__link:hover b,
.c-sub-index__link:hover span, .c-sub-index__link.is-current b,
.c-sub-index__link.is-current span {
  font-weight: 700;
}
@media not screen and (max-width: 768px), print {
  .c-sub-index__link:first-child {
    padding-left: 5rem;
    padding-right: 5rem;
    margin-right: 2.5rem;
  }
}
@media not screen and (max-width: 768px), print {
  .c-sub-index__link:first-child::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    height: 2rem;
    border-left: 1px solid #97999b;
  }
}

.hc-mv {
  padding: 0;
}
@media not screen and (max-width: 768px), print {
  .hc-mv {
    height: 30rem;
    margin-bottom: 11rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-mv {
    height: 30rem;
    margin-bottom: 6rem;
  }
}

.hc-lead {
  line-height: 2;
  font-weight: 500;
}
@media not screen and (max-width: 768px), print {
  .hc-lead {
    text-align: center;
    font-size: calc(16 * var(--font-size-base) * 0.1rem);
    margin-bottom: 12rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-lead {
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
    margin: 0 4rem 18rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-lead {
    --font-size-base: 1;
  }
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
  .hc-lead {
    --font-size-base: 1.2;
  }
}
@media screen and (min-width: 1201px) {
  .hc-lead {
    --font-size-base: 1.05;
  }
}
@media only screen and (max-width: 768px) {
  .hc-lead br {
    display: none;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-section:not(:last-of-type) {
    margin-bottom: 15rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-section:not(:last-of-type) {
    margin-bottom: 22.5rem;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-section__inner {
    width: 100rem;
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (max-width: 768px) {
  .hc-section__inner {
    margin-left: 4rem;
    margin-right: 4rem;
  }
}

.hc-section__lead {
  line-height: 1.75;
  font-weight: 400;
}
@media not screen and (max-width: 768px), print {
  .hc-section__lead {
    font-size: calc(16 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-section__lead {
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-section__lead {
    --font-size-base: 1;
  }
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
  .hc-section__lead {
    --font-size-base: 1.2;
  }
}
@media screen and (min-width: 1201px) {
  .hc-section__lead {
    --font-size-base: 1.05;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-section__buttons {
    margin-top: 5rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media only screen and (max-width: 768px) {
  .hc-section__buttons {
    margin-top: 7.5rem;
  }
}

.hc-section__button {
  font-weight: 700;
}
@media not screen and (max-width: 768px), print {
  .hc-section__button {
    min-width: 29rem;
    height: 6rem;
    font-size: calc(16 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-section__button {
    width: 100%;
    height: 9rem;
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
  }
}
@media not screen and (max-width: 768px), print {
  .hc-section__button svg {
    width: 4.6rem;
    margin-left: 3.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-section__button svg {
    width: 6.9rem;
  }
}

/*
以下のクラスは単体ではなく他の hc-??? との組み合わせにする

- hc-post__label
- hc-post__title
- hc-post__text
- hc-post__name
- hc-post__date
- hc-post__list
- hc-post__body
- hc-post__image
*/
/*
以下のクラスは単体ではなく他の hc-??? との組み合わせにする

- hc-post__label
- hc-post__title
- hc-post__text
- hc-post__name
- hc-post__date
- hc-post__list
- hc-post__body
- hc-post__image
*/
@media not screen and (max-width: 768px), print {
  .hc-seminar__buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 7.5rem 0;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__buttons {
    margin: 11.25rem 4rem;
  }
}

.hc-seminar__button {
  font-weight: 500;
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__button {
    width: 50rem;
    height: 10rem;
    padding: 0 3.7rem;
    font-size: calc(20 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__button {
    width: 100%;
    height: 15rem;
    padding: 0 5.55rem;
    font-size: calc(30 * var(--font-size-base) * 0.1rem);
  }
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__button svg {
    width: 6.7rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__button svg {
    width: 10.05rem;
  }
}

span.hc-seminar__button {
  justify-content: center;
  pointer-events: none;
}

.hc-seminar__recommend {
  border: 1px solid #232424;
  position: relative;
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__recommend {
    width: 95rem;
    margin: 0 auto 12rem;
    padding: 5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__recommend {
    margin: 0 4rem 18rem;
    padding: 5rem;
  }
}
.hc-seminar__recommend::before, .hc-seminar__recommend::after {
  content: "";
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__recommend::before, .hc-seminar__recommend::after {
    width: 4.2rem;
    height: 6.9rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__recommend::before, .hc-seminar__recommend::after {
    width: 6.3rem;
    height: 10.35rem;
  }
}
.hc-seminar__recommend::before {
  background-position: left top;
  background-image: url(../images/common/bracket-l.svg);
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__recommend::before {
    left: -1rem;
    top: -1.3rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__recommend::before {
    left: -1.5rem;
    top: -1.95rem;
  }
}
.hc-seminar__recommend::after {
  background-position: right bottom;
  background-image: url(../images/common/bracket-r.svg);
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__recommend::after {
    right: -1rem;
    bottom: -1.3rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__recommend::after {
    right: -1.5rem;
    bottom: -1.95rem;
  }
}
.hc-seminar__recommend .hc-post__title {
  font-weight: 700;
  text-align: center;
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__recommend .hc-post__title {
    font-size: calc(25 * var(--font-size-base) * 0.1rem);
    margin-bottom: 3.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__recommend .hc-post__title {
    font-size: calc(37.5 * var(--font-size-base) * 0.1rem);
    margin-bottom: 5.25rem;
  }
}
.hc-seminar__recommend .hc-post__list > li {
  background: #d9d9d6;
  font-weight: 500;
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__recommend .hc-post__list > li {
    padding: 2.6rem;
    border-radius: 0.6rem;
    font-size: calc(18 * var(--font-size-base) * 0.1rem);
    text-align: center;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__recommend .hc-post__list > li {
    padding: 3.9rem;
    border-radius: 0.9rem;
    font-size: calc(27 * var(--font-size-base) * 0.1rem);
  }
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__recommend .hc-post__list > li:not(:last-child) {
    margin-bottom: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__recommend .hc-post__list > li:not(:last-child) {
    margin-bottom: 3rem;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-seminar__program {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
  }
}
.hc-seminar__program > dt {
  font-weight: 700;
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__program > dt {
    width: 14.8rem;
    flex-basis: 14.8rem;
    flex-shrink: 0;
    font-size: calc(18 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__program > dt {
    font-size: calc(27 * var(--font-size-base) * 0.1rem);
    margin-bottom: 2rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__program > dd {
    width: calc(100% - 14.8rem);
    flex-basis: calc(100% - 14.8rem);
  }
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__program > dd .hc-post__content {
    font-size: calc(15 * var(--font-size-base) * var(--text-size-scale) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__program > dd .hc-post__content {
    font-size: calc(22.5 * var(--font-size-base) * var(--text-size-scale) * 0.1rem);
  }
}
.hc-seminar__program > dd + dd {
  border-top: 1px solid #97999b;
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__program > dd + dd {
    margin-top: 4.5rem;
    padding-top: 4.5rem;
    margin-left: 14.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__program > dd + dd {
    margin-top: 6.75rem;
    padding-top: 6.75rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__program > dd + dt,
  .hc-seminar__program > dd + dt + dd {
    margin-top: 7rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__program > dd + dt {
    margin-top: 10.5rem;
  }
}
.hc-seminar__program .hc-post__title {
  font-weight: 700;
  margin-top: -0.2em;
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__program .hc-post__title {
    font-size: calc(26 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__program .hc-post__title {
    font-size: calc(39 * var(--font-size-base) * 0.1rem);
  }
}
.hc-seminar__program .hc-post__name {
  font-weight: 400;
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__program .hc-post__name {
    font-size: calc(16 * var(--font-size-base) * 0.1rem);
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__program .hc-post__name {
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
    margin-bottom: 4.5rem;
  }
}
.hc-seminar__program .hc-post__text {
  font-weight: 400;
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__program .hc-post__text {
    font-size: calc(18 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__program .hc-post__text {
    font-size: calc(27 * var(--font-size-base) * 0.1rem);
  }
}

.hc-seminar__speakers {
  background: #ececea;
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__speakers {
    padding: 9rem 0;
    margin-bottom: 15rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__speakers {
    padding: 13.5rem 0;
    margin-bottom: 22.5rem;
  }
}
.hc-seminar__speakers .c-heading.type-2 {
  align-items: flex-start;
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__speakers .c-heading.type-2 {
    font-size: calc(22 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__speakers .c-heading.type-2 {
    font-size: calc(33 * var(--font-size-base) * 0.1rem);
  }
}
.hc-seminar__speakers .c-heading.type-2::after {
  background: #97999b;
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__speakers .hc-post__content {
    font-size: calc(12.5 * var(--font-size-base) * var(--text-size-scale) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__speakers .hc-post__content {
    font-size: calc(18.75 * var(--font-size-base) * var(--text-size-scale) * 0.1rem);
  }
}

.hc-seminar__speaker {
  display: flex;
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__speaker {
    justify-content: space-between;
    align-items: flex-start;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__speaker {
    justify-content: flex-start;
    align-items: stretch;
    flex-direction: column-reverse;
  }
}
.hc-seminar__speaker:not(:first-of-type) {
  border-top: 1px solid #97999b;
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__speaker:not(:first-of-type) {
    margin-top: 5rem;
    padding-top: 5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__speaker:not(:first-of-type) {
    margin-top: 7.5rem;
    padding-top: 7.5rem;
  }
}
.hc-seminar__speaker .hc-post__body {
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__speaker .hc-post__body {
    align-items: flex-start;
    width: 56.4rem;
    flex-basis: 56.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__speaker .hc-post__body {
    align-items: stretch;
  }
}
.hc-seminar__speaker .hc-post__name {
  font-weight: 400;
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
}
.hc-seminar__speaker .hc-post__name strong {
  font-weight: 400;
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__speaker .hc-post__name {
    align-items: flex-start;
    font-size: calc(30 * var(--font-size-base) * 0.1rem);
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__speaker .hc-post__name {
    align-items: center;
    font-size: calc(45 * var(--font-size-base) * 0.1rem);
    margin-bottom: 4.5rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__speaker .hc-post__name small {
    font-size: calc(18 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__speaker .hc-post__name small {
    font-size: calc(27 * var(--font-size-base) * 0.1rem);
  }
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__speaker .hc-post__name span {
    font-size: calc(16 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__speaker .hc-post__name span {
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
  }
}
.hc-seminar__speaker .hc-post__title {
  font-weight: 400;
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__speaker .hc-post__title {
    font-size: calc(16 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__speaker .hc-post__title {
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
  }
}
.hc-seminar__speaker .hc-seminar__profile {
  line-height: 1.733;
  font-weight: 400;
  border-top: 1px solid #d9d9d6;
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__speaker .hc-seminar__profile {
    margin-top: 2.4rem;
    padding-top: 2.4rem;
    font-size: calc(15 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__speaker .hc-seminar__profile {
    margin-top: 3.6rem;
    padding-top: 3.6rem;
    font-size: calc(22.5 * var(--font-size-base) * 0.1rem);
  }
}
@media not screen and (max-width: 768px), print {
  .hc-seminar__speaker .hc-post__image {
    width: 32rem;
    flex-basis: 32rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__speaker .hc-post__image {
    width: 40rem;
    margin: 0 auto 6rem;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-seminar__note {
    margin-top: 7rem;
    margin-bottom: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar__note {
    margin-top: 10.5rem;
    margin-bottom: 12rem;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-seminar-banner {
    width: 100rem;
    margin: 15rem auto;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar-banner {
    margin: 10rem 4rem;
  }
}

.hc-seminar-banner__inner {
  background: #fff;
  box-shadow: 0 0.7rem 2rem rgba(0, 0, 0, 0.15);
}
@media not screen and (max-width: 768px), print {
  .hc-seminar-banner__inner {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar-banner__inner {
    padding-bottom: 1.5rem;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-seminar-banner__image {
    flex-shrink: 0;
    width: 20rem;
    flex-basis: 20rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar-banner__image {
    background: #97999b;
    padding: 3rem 0;
    height: auto;
    display: flex;
    justify-content: center;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar-banner__image img {
    width: 70%;
    height: auto;
    display: block;
    margin: 0 auto;
  }
}
.hc-seminar-banner__image:empty {
  background: #97999b url(../images/common/seminar-default.png) no-repeat center center/contain;
}

@media not screen and (max-width: 768px), print {
  .hc-seminar-banner__body {
    padding: 4rem 0 3rem;
    margin-left: 4.5rem;
    margin-right: 4.5rem;
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar-banner__body {
    padding: 4.8rem 4rem 0;
  }
}

.hc-seminar-banner__label {
  font-weight: 700;
}
@media not screen and (max-width: 768px), print {
  .hc-seminar-banner__label {
    font-size: calc(16 * var(--font-size-base) * 0.1rem);
    margin-bottom: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar-banner__label {
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
    margin-bottom: 1.8rem;
  }
}

.hc-seminar-banner__title {
  font-weight: 700;
  font-size: calc(32 * var(--font-size-base) * 0.1rem);
  line-height: 1.313;
}
@media not screen and (max-width: 768px), print {
  .hc-seminar-banner__title {
    margin-bottom: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar-banner__title {
    margin-bottom: 2.2rem;
  }
}

.hc-seminar-banner__info {
  font-weight: 700;
  font-size: calc(20 * var(--font-size-base) * 0.1rem);
}

.hc-seminar-banner__link {
  font-weight: 700;
}
@media not screen and (max-width: 768px), print {
  .hc-seminar-banner__link {
    transition-property: opacity;
    transition-duration: 0.15s;
    transition-timing-function: ease-in-out;
  }
  .hc-seminar-banner__link:hover {
    opacity: 0.6;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-seminar-banner__link {
    margin: 3.5rem 0;
    font-size: calc(16 * var(--font-size-base) * 0.1rem);
    width: 22.2rem;
    flex-basis: 22.2rem;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    border-left: 2px solid #efefef;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar-banner__link {
    margin: 4rem 4rem 0;
    height: 8.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-top: 1px solid #efefef;
    font-size: calc(22 * var(--font-size-base) * 0.1rem);
  }
}
@media not screen and (max-width: 768px), print {
  .hc-seminar-banner__link picture,
  .hc-seminar-banner__link img {
    margin-top: 2rem;
    width: 9.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-seminar-banner__link picture,
  .hc-seminar-banner__link img {
    margin-left: 3rem;
    width: 6rem;
  }
}

.hc-contact-banner {
  background: #e5e5e5;
}
@media not screen and (max-width: 768px), print {
  .hc-contact-banner {
    width: 100rem;
    margin: 0 auto 15rem;
    padding: 3.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-contact-banner {
    margin: 0 0 22.5rem;
    padding: 5.7rem;
  }
}

.hc-contact-banner__title {
  font-weight: 700;
  text-align: center;
}
@media not screen and (max-width: 768px), print {
  .hc-contact-banner__title {
    font-size: calc(26 * var(--font-size-base) * 0.1rem);
    margin-bottom: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-contact-banner__title {
    font-size: calc(39 * var(--font-size-base) * 0.1rem);
    margin-bottom: 3rem;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-contact-banner__blocks {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-contact-banner__blocks dl:first-child:last-child {
    margin-left: auto;
    margin-right: auto;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-contact-banner__blocks dl {
    width: 43rem;
    flex-basis: 43rem;
  }
}
.hc-contact-banner__blocks dt {
  font-weight: 500;
  text-align: center;
}
@media not screen and (max-width: 768px), print {
  .hc-contact-banner__blocks dt {
    font-size: calc(20 * var(--font-size-base) * 0.1rem);
    margin-bottom: 1.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-contact-banner__blocks dt {
    font-size: calc(30 * var(--font-size-base) * 0.1rem);
    margin-bottom: 2.25rem;
  }
}
.hc-contact-banner__blocks .c-line {
  align-self: stretch;
  border-color: #d9d9d6;
}
@media not screen and (max-width: 768px), print {
  .hc-contact-banner__blocks .c-line {
    margin: 0;
    height: auto;
    width: 0;
    border-width: 0 0 0 1px;
  }
}

.hc-contact-banner__tel {
  background: #fff url(../images/common/tel__g.svg) no-repeat;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
}
@media not screen and (max-width: 768px), print {
  .hc-contact-banner__tel {
    background-position: left 3rem center;
    background-size: 5.2rem auto;
    height: 9rem;
    padding-left: 10rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-contact-banner__tel {
    background-position: left 4.5rem center;
    background-size: 7.8rem auto;
    height: 13.5rem;
    padding-left: 15rem;
  }
}
.hc-contact-banner__tel strong {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  line-height: 1;
}
@media not screen and (max-width: 768px), print {
  .hc-contact-banner__tel strong {
    font-size: calc(40 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-contact-banner__tel strong {
    font-size: calc(60 * var(--font-size-base) * 0.1rem);
  }
}
.hc-contact-banner__tel span {
  font-weight: 400;
}
@media not screen and (max-width: 768px), print {
  .hc-contact-banner__tel span {
    font-size: calc(14 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-contact-banner__tel span {
    font-size: calc(21 * var(--font-size-base) * 0.1rem);
  }
}

.hc-contact-banner__button {
  font-weight: 700;
  background-image: url(../images/common/mail__g.svg);
  background-repeat: no-repeat;
}
@media not screen and (max-width: 768px), print {
  .hc-contact-banner__button {
    background-position: left 3rem center;
    background-size: 5.2rem auto;
    width: 100%;
    height: 9rem;
    padding-left: 10rem;
    padding-right: 2.9rem;
    font-size: calc(22 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-contact-banner__button {
    background-position: left 4.5rem center;
    background-size: 7.8rem auto;
    height: 13.5rem;
    padding-left: 15rem;
    padding-right: 4.35rem;
    font-size: calc(33 * var(--font-size-base) * 0.1rem);
  }
}
@media not screen and (max-width: 768px), print {
  .hc-contact-banner__button svg {
    width: 5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-contact-banner__button svg {
    width: 7.5rem;
  }
}

.hc-contact {
  background: #e5e5e5;
}
@media not screen and (max-width: 768px), print {
  .hc-contact {
    padding-top: 8rem;
    padding-bottom: 10rem;
    margin-bottom: -13.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-contact {
    padding-top: 12rem;
    padding-bottom: 12rem;
    margin-bottom: -12rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-contact.is-sh, .hc-contact.is-sh__02 {
    width: 110rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    padding: 6.5rem 9.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-contact.is-sh, .hc-contact.is-sh__02 {
    padding-top: 6rem;
    padding-bottom: 6rem;
    margin-bottom: 0;
  }
}

.hc-contact__lead {
  font-weight: 500;
}
@media not screen and (max-width: 768px), print {
  .hc-contact__lead {
    text-align: center;
    font-size: calc(22 * var(--font-size-base) * 0.1rem);
    line-height: 1.818;
    margin-bottom: 6rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-contact__lead {
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
    line-height: 2;
    padding: 0 4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 8rem;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-contact__buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-contact__buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-bottom: 8rem;
  }
}
.hc-contact__buttons .c-button {
  font-weight: 500;
}
@media not screen and (max-width: 768px), print {
  .hc-contact__buttons .c-button {
    width: 50rem;
    height: 10rem;
    font-size: calc(20 * var(--font-size-base) * 0.1rem);
    padding: 0 3.7rem;
    margin: 0 1rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-contact__buttons .c-button {
    width: calc(100% - 8rem);
    height: 10rem;
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
    padding: 0 4.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-contact__buttons .c-button:not(:first-child) {
    margin-top: 4rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-contact__buttons .c-button svg {
    width: 6.7rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-contact__buttons .c-button svg {
    width: 7rem;
  }
}

.hc-contact__box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border-width: 1px 0;
  border-style: solid;
  border-color: #707070;
}
@media not screen and (max-width: 768px), print {
  .hc-contact__box {
    width: 70rem;
    margin: 0 auto;
    padding: 3.6rem 0;
  }
}
@media only screen and (max-width: 768px) {
  .hc-contact__box {
    margin: 0 4rem;
    padding: 4rem 0 4.8rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-contact__box dl {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1.3rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-contact__box dl {
    text-align: center;
  }
}
.hc-contact__box dt {
  font-weight: 500;
}
@media not screen and (max-width: 768px), print {
  .hc-contact__box dt {
    font-size: calc(20 * var(--font-size-base) * 0.1rem);
    margin-right: 3.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-contact__box dt {
    font-size: calc(28 * var(--font-size-base) * 0.1rem);
  }
}
.hc-contact__box dd {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media not screen and (max-width: 768px), print {
  .hc-contact__box dd {
    font-size: calc(40 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-contact__box dd {
    font-size: calc(56 * var(--font-size-base) * 0.1rem);
  }
}
.hc-contact__box dd strong {
  font-weight: 500;
}
@media not screen and (max-width: 768px), print {
  .hc-contact__box dd img {
    width: 3.9rem;
    height: 3.9rem;
    margin-right: 1.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-contact__box dd img {
    width: 4.6rem;
    height: 4.6rem;
    margin-right: 2rem;
  }
}
.hc-contact__box p {
  font-weight: 400;
}
@media not screen and (max-width: 768px), print {
  .hc-contact__box p {
    font-size: calc(14 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-contact__box p {
    font-size: calc(20 * var(--font-size-base) * 0.1rem);
  }
}

@media not screen and (max-width: 768px), print {
  .hc-contact.is-sh .hc-contact__box {
    width: 100%;
    flex-direction: unset;
    padding: 2.5rem 0;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-contact.is-sh .hc-contact__box dl {
    margin-bottom: 0;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-contact.is-sh .hc-contact__box p {
    margin-left: 2.5rem;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-contact.is-sh__02 .hc-contact__box {
    flex-direction: column;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-contact.is-sh__02 .hc-contact__buttons .c-button {
    width: 42rem;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-post-list {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
  }
}

.hc-post-list__article {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: column;
}

@media not screen and (max-width: 768px), print {
  a.hc-post-list__article {
    transition-property: opacity;
    transition-duration: 0.15s;
    transition-timing-function: ease-in-out;
  }
  a.hc-post-list__article:hover {
    opacity: 0.6;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-post-list__image {
    margin-bottom: 2.4rem;
    height: 22rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post-list__image {
    margin-bottom: 4rem;
    height: 40rem;
  }
}
.hc-post-list__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover";
}

.hc-post-list__label {
  font-weight: 400;
  border-left: 4px solid #97999b;
  padding-left: 0.5em;
}
@media not screen and (max-width: 768px), print {
  .hc-post-list__label {
    font-size: calc(16 * var(--font-size-base) * 0.1rem);
    margin-bottom: 1rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post-list__label {
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
    margin-bottom: 1.5rem;
  }
}

.hc-post-list__title {
  font-weight: 700;
}
@media not screen and (max-width: 768px), print {
  .hc-post-list__title {
    font-size: calc(18 * var(--font-size-base) * 0.1rem);
    line-height: 1.667;
    margin-bottom: 0.8em;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post-list__title {
    font-size: calc(26 * var(--font-size-base) * 0.1rem);
    line-height: 1.692;
    margin-bottom: 1.4rem;
  }
}

.hc-post-list__summary {
  font-weight: 400;
}
@media not screen and (max-width: 768px), print {
  .hc-post-list__summary {
    font-size: calc(16 * var(--font-size-base) * 0.1rem);
    line-height: 1.875;
    margin-bottom: 1.1em;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post-list__summary {
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
    line-height: 1.75;
    margin-bottom: 3rem;
  }
}

.hc-post-list__tags {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
}

.hc-post-list__tag {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #d9d9d6;
  font-weight: 400;
}
@media not screen and (max-width: 768px), print {
  .hc-post-list__tag {
    font-size: calc(14 * var(--font-size-base) * 0.1rem);
    padding: 0 1.8em 0.1em;
    height: 2.8em;
    border-radius: 2.8em;
    margin-right: 1em;
    margin-bottom: 1em;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post-list__tag {
    font-size: calc(20 * var(--font-size-base) * 0.1rem);
    padding: 0 1.5em 0.1em;
    height: 2.2em;
    border-radius: 1.1em;
    margin-right: 1em;
    margin-bottom: 1em;
  }
}

@media only screen and (max-width: 768px) {
  .hc-post-list.is-compact-for-sp .hc-post-list__article {
    position: relative;
    padding-left: 32.4rem;
  }
  .hc-post-list.is-compact-for-sp .hc-post-list__image {
    position: absolute;
    left: 0;
    top: 0;
    width: 28rem;
    height: 17.6rem;
  }
  .hc-post-list.is-compact-for-sp .hc-post-list__title {
    font-size: calc(26 * var(--font-size-base) * 0.1rem);
    line-height: 1.538;
  }
  .hc-post-list.is-compact-for-sp .hc-post-list__summary {
    display: none;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-voice__section {
    margin-bottom: 13rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-voice__section {
    margin-bottom: 19.5rem;
  }
}

.hc-voice__nav {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
}
@media not screen and (max-width: 768px), print {
  .hc-voice__nav {
    width: 101.4rem;
    margin: 0 auto 6.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-voice__nav {
    margin-bottom: 12rem;
  }
}

.hc-voice__nav-link {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background: #00bfb3 url(../images/common/down-arrow__w.svg) no-repeat;
  line-height: 1.333;
  font-weight: 500;
  text-align: center;
  flex-shrink: 0;
}
@media not screen and (max-width: 768px), print {
  .hc-voice__nav-link {
    width: 32.4rem;
    height: 11rem;
    margin: 0 0.7rem 1.4rem;
    padding-bottom: 3rem;
    background-position: center bottom 1.9rem;
    background-size: 1.9rem auto;
    font-size: calc(20 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-voice__nav-link {
    width: 50%;
    flex-basis: 50%;
    height: 16.5rem;
    margin-bottom: 1px;
    padding-bottom: 3rem;
    background-position: center bottom 1.9rem;
    background-size: 3rem auto;
    font-size: calc(30 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-voice__nav-link:nth-child(2n) {
    width: calc(50% - 1px);
    flex-basis: calc(50% - 1px);
    margin-left: 1px;
  }
}

.hc-voice__category {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #00bfb3;
  color: #fff;
  font-weight: 500;
  position: relative;
}
@media not screen and (max-width: 768px), print {
  .hc-voice__category {
    width: 50rem;
    height: 8rem;
    margin: 0 auto 7.5rem;
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-voice__category {
    width: calc(100% - 4rem);
    height: 12rem;
    margin: 0 auto 11.25rem;
    font-size: calc(30 * var(--font-size-base) * 0.1rem);
  }
}
.hc-voice__category::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% - 1px);
  margin: 0 auto;
  background: url(../images/common/voice-arrow.svg) no-repeat center bottom/100% 100%;
}
@media not screen and (max-width: 768px), print {
  .hc-voice__category::after {
    width: 3rem;
    height: 3.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-voice__category::after {
    width: 4.5rem;
    height: 5.25rem;
  }
}

.hc-voice__article {
  border-bottom: 1px solid #d9d9d6;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media not screen and (max-width: 768px), print {
  .hc-voice__article {
    padding: 2rem 0 2rem 1.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-voice__article {
    padding: 2.5rem 0;
  }
}

.hc-voice__icon {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media not screen and (max-width: 768px), print {
  .hc-voice__icon {
    width: 7rem;
    flex-basis: 7rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-voice__icon {
    width: 12rem;
    flex-basis: 12rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-voice__icon img {
    width: 7rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-voice__icon img {
    width: 8rem;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-voice__body {
    width: calc(100% - 9rem);
    flex-basis: calc(100% - 9rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-voice__body {
    width: calc(100% - 12rem);
    flex-basis: calc(100% - 12rem);
  }
}

.hc-voice__tags {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
.hc-voice__tags li {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  background: #f0f0ef;
  color: #53565a;
  white-space: nowrap;
}
@media not screen and (max-width: 768px), print {
  .hc-voice__tags li {
    margin-right: 1.6rem;
    margin-bottom: 1.6rem;
    font-size: calc(14 * var(--font-size-base) * 0.1rem);
    height: 3.2rem;
    border-radius: 1.6rem;
    padding: 0 3rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-voice__tags li {
    margin-right: 2rem;
    margin-bottom: 2rem;
    font-size: calc(21 * var(--font-size-base) * 0.1rem);
    height: 4rem;
    border-radius: 2rem;
    padding: 0 2rem;
  }
}
.hc-voice__tags li.is-green {
  background: #00bfb3;
  color: #fff;
}

.hc-voice__text {
  font-weight: 500;
  line-height: 1.75;
}
@media not screen and (max-width: 768px), print {
  .hc-voice__text {
    font-size: calc(16 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-voice__text {
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-voice__text {
    --font-size-base: 1;
  }
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
  .hc-voice__text {
    --font-size-base: 1.2;
  }
}
@media screen and (min-width: 1201px) {
  .hc-voice__text {
    --font-size-base: 1.05;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-case .hc-post-list__article {
    width: calc((100% - 10rem) / 3);
    flex-basis: calc((100% - 10rem) / 3);
    margin-right: 5rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-case .hc-post-list__article:nth-child(3n) {
    margin-right: 0;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-case .hc-post-list__article:nth-child(n+4) {
    margin-top: 5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-case .hc-post-list__article:nth-child(n+2) {
    margin-top: 7.5rem;
  }
}

.hc-case__button {
  font-weight: 700;
}
@media not screen and (max-width: 768px), print {
  .hc-case__button {
    width: 22rem;
    height: 6.5rem;
    font-size: calc(16 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-case__button {
    width: 33rem;
    height: 9.75rem;
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
    margin: 0 auto;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-case__button svg {
    width: 4.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-case__button svg {
    width: 6.9rem;
  }
}

.hc-links {
  border: 1px solid #97999b;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
@media not screen and (max-width: 768px), print {
  .hc-links {
    width: 100rem;
    margin: 15rem auto;
    padding: 0 3.5rem 3.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-links {
    margin: 22.5rem 4rem;
    padding: 0 5.25rem 5.7rem;
  }
}
.hc-links .c-button {
  font-weight: 700;
}
@media not screen and (max-width: 768px), print {
  .hc-links .c-button {
    font-size: calc(16 * var(--font-size-base) * 0.1rem);
    padding: 0 2rem;
    width: calc((100% - 4rem) / 3);
    flex-basis: calc((100% - 4rem) / 3);
    height: 10rem;
    margin-right: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-links .c-button {
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
    padding: 0 3rem;
    height: 15rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-links .c-button:nth-child(3n) {
    margin-right: 0;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-links .c-button svg {
    width: 4.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-links .c-button svg {
    width: 7.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-links .c-button:not(:last-child) {
    margin-bottom: 5rem;
  }
}

.hc-links__title {
  font-weight: 500;
  background: #fff;
  padding: 0 2em;
  line-height: 1;
  margin-top: -0.6em;
}
@media not screen and (max-width: 768px), print {
  .hc-links__title {
    font-size: calc(20 * var(--font-size-base) * 0.1rem);
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-links__title {
    font-size: calc(30 * var(--font-size-base) * 0.1rem);
    margin-bottom: 4.5rem;
  }
}

.hc-links__buttons {
  width: 100%;
}
@media not screen and (max-width: 768px), print {
  .hc-links__buttons {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-service-nav {
    width: 100rem;
    margin: 10rem auto 5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-service-nav {
    margin: 10rem 4rem 5rem;
  }
}

.hc-service-nav__heading {
  font-weight: 500;
  border-bottom: 1px solid #d9d9d6;
}
@media not screen and (max-width: 768px), print {
  .hc-service-nav__heading {
    font-size: calc(18 * var(--font-size-base) * 0.1rem);
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-service-nav__heading {
    font-size: calc(27 * var(--font-size-base) * 0.1rem);
    padding-bottom: 2.25rem;
    margin-bottom: 2.25rem;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-service-nav__links {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 768px) {
  .hc-service-nav__links {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.hc-service-nav__link {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
}
@media not screen and (max-width: 768px), print {
  .hc-service-nav__link {
    font-size: calc(16 * var(--font-size-base) * 0.1rem);
    margin-right: 6rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-service-nav__link {
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
  }
}
.hc-service-nav__link::before {
  content: "";
  display: block;
  width: 1.2em;
  flex-basis: 1.2em;
  flex-shrink: 0;
  height: 1.2em;
  background: #989797 url(../images/common/arrow-right_w.svg) no-repeat center center;
  background-size: auto 0.8em;
  margin-right: 0.5em;
}

@media only screen and (max-width: 768px) {
  .hc-service-nav__link + .hc-service-nav__link {
    margin-top: 2rem;
  }
}

.hc-relation {
  background-color: #f4f4f4;
}
@media not screen and (max-width: 768px), print {
  .hc-relation {
    margin-top: 16rem;
    padding: 10rem 0 12rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-relation {
    padding: 10rem 4rem;
    margin-top: 20rem;
  }
}
.hc-relation .c-heading {
  font-weight: 700;
  text-align: center;
}
@media not screen and (max-width: 768px), print {
  .hc-relation .c-heading {
    font-size: calc(28 * var(--font-size-base) * 0.1rem);
    margin-bottom: 5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-relation .c-heading {
    font-size: calc(39 * var(--font-size-base) * 0.1rem);
    margin-bottom: 7rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-relation .hc-post-list {
    width: 110rem;
    margin: 0 auto;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-relation .hc-post-list__article {
    width: 35rem;
    flex-basis: 35rem;
    margin-right: calc((100% - 105rem) / 2);
  }
}
@media only screen and (max-width: 768px) {
  .hc-relation .hc-post-list__article {
    padding-bottom: 4rem;
    border-bottom: 1px solid #d9d9d6;
    margin-bottom: 4rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-relation .hc-post-list__article:nth-child(n+4) {
    margin-top: 6rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-relation .hc-post-list__article:nth-child(3n) {
    margin-right: 0;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-service-index {
    display: flex;
    justify-content: stretch;
    align-items: stretch;
    height: 5rem;
    background: #e6e6e6;
  }
  .hc-service-index + .hc-service-index {
    border-top: 1px solid #d9d9d6;
  }
  .hc-service-index__link {
    position: relative;
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: calc(12 * var(--font-size-base) * 0.1rem);
    line-height: 1.3;
    text-align: center;
    white-space: nowrap;
    transition-property: color;
    transition-duration: 0.25s;
    transition-timing-function: ease-in-out;
  }
  .hc-service-index__link:hover, .hc-service-index__link.is-current {
    color: #00bfb3;
  }
  .hc-service-index__link small {
    font-size: calc(11 * var(--font-size-base) * 0.1rem);
  }
  .hc-service-index__link + .hc-service-index__link::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 1rem;
    bottom: 1rem;
    border-left: 1px solid #97999b;
  }
}
@media only screen and (max-width: 768px) {
  .hc-service-index {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .c-header {
    --font-size-base: 1;
  }
}
@media screen and (min-width: 769px) and (max-width: 1440px) {
  .c-header {
    --font-size-base: 1;
  }
}
@media screen and (min-width: 1441px) {
  .c-header {
    --font-size-base: 0.85;
  }
}
@media not screen and (max-width: 768px), print {
  .c-header {
    position: relative;
    z-index: 10;
    width: 100%;
    height: 18.1rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    padding-left: 8rem;
    padding-right: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-header {
    position: fixed;
    z-index: 10;
    left: 0;
    top: 0;
    width: 100%;
    height: 12rem;
    padding-left: 2.6rem;
    background: rgba(255, 255, 255, 0.8);
  }
}
@media print {
  .c-header {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    width: auto !important;
  }
}

.c-header__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media not screen and (max-width: 768px), print {
  .c-header__head {
    height: 10.9rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-header__head {
    height: 100%;
  }
}

.c-header__brand {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media not screen and (max-width: 768px), print {
  .c-header__brand {
    transition-property: opacity;
    transition-duration: 0.15s;
    transition-timing-function: ease-in-out;
  }
  .c-header__brand:hover {
    opacity: 0.6;
  }
}
@media not screen and (max-width: 768px), print {
  .c-header__brand {
    width: auto;
    margin-top: auto;
    margin-bottom: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-header__brand {
    width: auto;
  }
}
@media not screen and (max-width: 768px), print {
  .c-header__brand img {
    width: 12.7rem;
    height: auto;
  }
}
@media only screen and (max-width: 768px) {
  .c-header__brand img {
    width: auto;
    height: 10rem;
  }
}
@media not screen and (max-width: 768px), print {
  .c-header__brand p {
    font-size: 3.4rem;
    margin-left: 3rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-header__brand p {
    font-size: 2.8rem;
    margin-left: 2rem;
  }
}

.c-header__links {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .c-header__links {
    display: none;
  }
}

.c-header__link {
  font-weight: 700;
  color: #000;
}
@media not screen and (max-width: 768px), print {
  .c-header__link {
    font-size: 1.8rem;
  }
}
@media not screen and (max-width: 768px), print {
  .c-header__link {
    transition-property: opacity;
    transition-duration: 0.15s;
    transition-timing-function: ease-in-out;
  }
  .c-header__link:hover {
    opacity: 0.6;
  }
}

.c-header__button {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background: #00bfb3;
  color: #fff;
  font-weight: 700;
  line-height: 1.4;
}
@media not screen and (max-width: 768px), print {
  .c-header__button {
    width: 26.7rem;
    height: 5.6rem;
    border-radius: 1.3rem;
    font-size: 1.6rem;
    margin-left: 1.9rem;
    background-position: 2.5rem center;
    background-size: 2.5rem auto;
    box-shadow: 0 0 1.3rem rgba(0, 0, 0, 0.09);
  }
}
@media not screen and (max-width: 768px), print {
  .c-header__button {
    transition-property: opacity;
    transition-duration: 0.15s;
    transition-timing-function: ease-in-out;
  }
  .c-header__button:hover {
    opacity: 0.6;
  }
}
@media not screen and (max-width: 768px), print {
  .c-header__button small {
    font-size: 1.35rem;
  }
}

@media not screen and (max-width: 768px), print {
  .c-header__menu {
    display: flex;
    justify-content: center;
    align-items: stretch;
    height: 7.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-header__menu {
    display: none;
  }
}

@media not screen and (max-width: 768px), print {
  .c-header__item {
    color: #000000;
    font-weight: 700;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    font-size: 2.2rem;
    border-bottom: 0.3rem solid transparent;
    transition-property: border;
    transition-duration: 0.15s;
    transition-timing-function: ease-in-out;
  }
  .c-header__item:hover, .c-header__item.is-current {
    border-color: #00bfb3;
  }
  .c-header__item::before, .c-header__item:last-child::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    border-left: 1px solid rgba(0, 0, 0, 0.48);
    height: 2.1rem;
    margin: auto 0;
  }
  .c-header__item::before {
    left: 0;
  }
  .c-header__item:last-child::after {
    right: 0;
  }
  .c-header__item:not(:hover) {
    pointer-events: none;
  }
  .c-header__item:nth-child(1) {
    width: 21.5625%;
  }
  .c-header__item:nth-child(3) {
    width: 16.640625%;
  }
  .c-header__item:nth-child(5) {
    width: 14.765625%;
  }
  .c-header__item span {
    pointer-events: all;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  .c-header__item span img {
    width: auto;
    height: 0.8em;
    padding-top: 0.2em;
    margin-left: 0.5em;
  }
  .c-header__sub-menu {
    position: relative;
  }
  .c-header__sub-menu:nth-child(2) {
    width: 16.640625%;
  }
  .c-header__sub-menu:nth-child(4) {
    width: 16.640625%;
  }
  .c-header__sub-menu .c-header__item {
    width: auto;
    height: 100%;
  }
  .c-header__sub-menu .c-header__item.is-sub-menu-shown {
    border-color: #00bfb3;
  }
  .c-header__sub-menu .c-header__item span::after {
    content: "";
    display: block;
    width: 1.5rem;
    height: 1rem;
    margin-left: 1.5rem;
    margin-top: 0.5rem;
    background: url(../images/common/header-sub-menu.png) no-repeat center center/contain;
  }
  .c-header__sub-body {
    background: #fff;
    box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.1);
    position: absolute;
    top: 100%;
    left: 0;
    justify-content: flex-start;
    align-items: stretch;
    flex-direction: column;
    padding: 1.5rem 3rem;
    display: none;
    transform-origin: center top;
    min-width: 100%;
  }
  .c-header__sub-body[data-animation-state=showing], .c-header__sub-body[data-animation-state=shown], .c-header__sub-body[data-animation-state=hiding] {
    display: flex;
  }
  .c-header__sub-title {
    font-weight: 700;
    font-size: 1.6rem;
    height: 4rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    white-space: nowrap;
    color: #000;
  }
  .c-header__sub-item {
    font-weight: 700;
    font-size: 1.5rem;
    height: 3.6rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    white-space: nowrap;
    color: #000;
    transition-property: color;
    transition-duration: 0.15s;
    transition-timing-function: ease-in-out;
  }
  .c-header__sub-item::before {
    content: "";
    display: block;
    width: 0.8rem;
    height: 0.3rem;
    background: #9a9999;
    margin-right: 1rem;
    transition-property: background;
    transition-duration: 0.15s;
    transition-timing-function: ease-in-out;
  }
  .c-header__sub-item:hover, .c-header__sub-item.is-current {
    color: #00bfb3;
  }
  .c-header__sub-item:hover::before, .c-header__sub-item.is-current::before {
    background: #00bfb3;
  }
}
@keyframes sub-menu {
  0% {
    opacity: 0;
    transform: scale(1, 0.8);
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
  }
}
@media only screen and (max-width: 768px) {
  .c-breadcrumb {
    --font-size-base: 1;
  }
}
@media screen and (min-width: 769px) and (max-width: 1440px) {
  .c-breadcrumb {
    --font-size-base: 1.3;
  }
}
@media screen and (min-width: 1441px) {
  .c-breadcrumb {
    --font-size-base: 1.15;
  }
}
@media not screen and (max-width: 768px), print {
  .c-breadcrumb {
    height: 6rem;
    padding: 0 5rem;
    font-size: calc(12 * var(--font-size-base) * 0.1rem);
    font-weight: 500;
    color: #000;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    background: rgba(255, 255, 255, 0.66);
  }
  .c-breadcrumb > li + li {
    padding-left: 3.6rem;
    background: url(../images/common/breadcrumb-g.svg) no-repeat left 1.6rem bottom 0.2rem/1rem 1rem;
  }
  .c-breadcrumb > li {
    max-width: 50em;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}
@media only screen and (max-width: 768px) {
  .c-breadcrumb {
    display: none;
  }
}

.c-footer-menu {
  background: #f4f4f4;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
@media not screen and (max-width: 768px), print {
  .c-footer-menu {
    padding-top: 4rem;
    padding-bottom: 10rem;
    row-gap: 3.5rem;
    padding-left: calc((100% - 138rem) / 2);
    padding-right: calc((100% - 138rem) / 2);
  }
}
@media only screen and (max-width: 768px) {
  .c-footer-menu {
    padding: 10rem 6em;
    row-gap: 4rem;
  }
}

.c-footer-menu__item {
  flex-shrink: 0;
}
@media not screen and (max-width: 768px), print {
  .c-footer-menu__item {
    width: 30rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-footer-menu__item {
    width: 100%;
  }
}

.c-footer-menu__items,
.c-footer-menu__subitems {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
@media not screen and (max-width: 768px), print {
  .c-footer-menu__items,
  .c-footer-menu__subitems {
    row-gap: 0.7rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-footer-menu__items,
  .c-footer-menu__subitems {
    row-gap: 0.7rem;
  }
}

.c-footer-menu__subitems,
.c-footer-menu__subitems .c-footer-menu__items {
  margin-left: 0.5em;
}

.c-footer-menu__link-1 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-weight: 700;
  color: #000;
  background: url(../images/common/footer-arrow.svg) no-repeat;
}
@media not screen and (max-width: 768px), print {
  .c-footer-menu__link-1 {
    height: 5rem;
    font-size: calc(17 * var(--font-size-base) * 0.1rem);
    border-bottom: 1px solid #000;
    background-position: right 0.9rem center;
    background-size: 2.1rem auto;
    margin-bottom: 3rem;
    transition-property: opacity, background;
    transition-duration: 0.15s;
    transition-timing-function: ease-in-out;
  }
  .c-footer-menu__link-1:hover {
    opacity: 0.6;
    background-position: right center;
  }
}
@media only screen and (max-width: 768px) {
  .c-footer-menu__link-1 {
    font-size: calc(28 * var(--font-size-base) * 0.1rem);
    height: 8rem;
    border-bottom: 1px solid #000;
    background-position: right 0.9rem center;
    background-size: 2.1rem auto;
    margin-bottom: 3rem;
  }
}

.c-footer-menu__link-2 {
  font-weight: 700;
  color: #000;
}
@media not screen and (max-width: 768px), print {
  .c-footer-menu__link-2 {
    font-size: calc(15 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-footer-menu__link-2 {
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
  }
}

.c-footer-menu__link-3 {
  color: #000;
}
@media not screen and (max-width: 768px), print {
  .c-footer-menu__link-3 {
    transition-property: opacity;
    transition-duration: 0.15s;
    transition-timing-function: ease-in-out;
  }
  .c-footer-menu__link-3:hover {
    opacity: 0.6;
  }
}
@media not screen and (max-width: 768px), print {
  .c-footer-menu__link-3 {
    font-size: calc(14 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-footer-menu__link-3 {
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
  }
}
.c-footer-menu__link-3::before {
  content: "-";
  margin-right: 0.5em;
}

@media not screen and (max-width: 768px), print {
  .c-footer-menu__buttons {
    flex-shrink: 0;
    width: 30rem;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-direction: column;
    row-gap: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .c-footer-menu__buttons {
    width: 100%;
    display: grid;
    row-gap: 2rem;
  }
}

.c-footer-menu__button {
  background: #fff url(../images/common/footer-arrow.svg) no-repeat;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  font-weight: 700;
}
@media not screen and (max-width: 768px), print {
  .c-footer-menu__button {
    padding-left: 2rem;
    height: 8rem;
    background-position: right 1.8rem center;
    background-size: 2.1rem auto;
    font-size: calc(17 * var(--font-size-base) * 0.1rem);
    transition-property: opacity, background;
    transition-duration: 0.15s;
    transition-timing-function: ease-in-out;
  }
  .c-footer-menu__button:hover {
    opacity: 0.6;
    background-position: right 0.9rem center;
  }
}
@media only screen and (max-width: 768px) {
  .c-footer-menu__button {
    height: 11rem;
    background-position: right 1.8rem center;
    background-size: 2.1rem auto;
    padding-left: 3rem;
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
  }
}
@media not screen and (max-width: 768px), print {
  .c-footer-menu__button small {
    font-size: calc(15 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-footer-menu__button small {
    font-size: calc(20 * var(--font-size-base) * 0.1rem);
  }
}

.hc-post__header {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background: no-repeat center center/cover;
}
@media not screen and (max-width: 768px), print {
  .hc-post__header {
    padding: 7.5rem 0 2.5rem;
    margin-bottom: 5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__header {
    padding: 11.25rem 4rem;
    margin-bottom: 15rem;
  }
}
.hc-post__header .hc-post__label {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  line-height: 1;
  position: relative;
}
@media not screen and (max-width: 768px), print {
  .hc-post__header .hc-post__label {
    font-size: calc(21 * var(--font-size-base) * 0.1rem);
    margin-bottom: 5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__header .hc-post__label {
    font-size: calc(31.5 * var(--font-size-base) * 0.1rem);
    margin-bottom: 7.5rem;
  }
}
.hc-post__header .hc-post__label::after {
  content: "";
  position: absolute;
  display: block;
  left: 0.5em;
  right: 0.5em;
  border-top: 4px solid #53565a;
}
@media not screen and (max-width: 768px), print {
  .hc-post__header .hc-post__label::after {
    top: calc(100% + 3rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__header .hc-post__label::after {
    top: calc(100% + 4.5rem);
  }
}
.hc-post__header .hc-post__title {
  font-weight: 500;
  line-height: 1.667;
}
@media not screen and (max-width: 768px), print {
  .hc-post__header .hc-post__title {
    font-size: calc(40 * var(--font-size-base) * 0.1rem);
    text-align: center;
    margin-bottom: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__header .hc-post__title {
    font-size: calc(60 * var(--font-size-base) * 0.1rem);
    margin-bottom: 3rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__header .hc-post__title small {
    font-size: calc(30 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__header .hc-post__title small {
    font-size: calc(45 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__header .hc-post__title br {
    display: none;
  }
}
.hc-post__header .hc-post__date {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}
@media not screen and (max-width: 768px), print {
  .hc-post__header .hc-post__date {
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__header .hc-post__date {
    font-size: calc(36 * var(--font-size-base) * 0.1rem);
  }
}
.hc-post__header .hc-post__date strong {
  font-weight: 500;
  margin-right: 0.1em;
}
@media not screen and (max-width: 768px), print {
  .hc-post__header .hc-post__date strong {
    font-size: calc(50 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__header .hc-post__date strong {
    font-size: calc(75 * var(--font-size-base) * 0.1rem);
  }
}
.hc-post__header .hc-post__date b {
  font-weight: 500;
  margin-left: 0.5em;
}
@media not screen and (max-width: 768px), print {
  .hc-post__header .hc-post__date b {
    font-size: calc(36 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__header .hc-post__date b {
    font-size: calc(54 * var(--font-size-base) * 0.1rem);
  }
}
.hc-post__header.is-download {
  background-image: url(../images/common/mv.jpg);
}
@media not screen and (max-width: 768px), print {
  .hc-post__header.has-bg {
    align-items: flex-start;
    color: #fff;
    max-width: 144rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 19rem;
    padding-top: 11rem;
    padding-bottom: 9.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__header.has-bg {
    background-size: 100% auto;
    background-position: center top;
    padding-top: 30rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__header.has-bg .hc-post__label {
    margin-bottom: 6.5rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__header.has-bg .hc-post__label::after {
    border-color: currentColor;
    left: 0;
    right: auto;
    width: 8rem;
  }
}
.hc-post__header.has-bg .hc-post__title {
  line-height: 1.6;
}
@media not screen and (max-width: 768px), print {
  .hc-post__header.has-bg .hc-post__title {
    text-align: left;
  }
}

.hc-post__tags {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  border-bottom: 1px solid #ecebec;
}
@media not screen and (max-width: 768px), print {
  .hc-post__tags {
    width: 106rem;
    margin: 0 auto 10rem;
    padding-bottom: 1rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__tags {
    margin: 0 4rem 15rem;
    padding-bottom: 3.5rem;
  }
}
.hc-post__tags.for-report {
  justify-content: center;
  border-bottom: 0;
}

@media not screen and (max-width: 768px), print {
  .hc-post__header + .hc-post__tags {
    margin-top: -7rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__header + .hc-post__tags {
    margin-top: -10.5rem;
  }
}

.hc-post__tag {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #d9d9d6;
  font-weight: 400;
}
@media not screen and (max-width: 768px), print {
  .hc-post__tag {
    font-size: calc(14 * var(--font-size-base) * 0.1rem);
    padding: 0 1.8em 0.1em;
    height: 2.8em;
    border-radius: 2.8em;
    margin-right: 2rem;
    margin-bottom: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__tag {
    font-size: calc(20 * var(--font-size-base) * 0.1rem);
    padding: 0 1.5em 0.1em;
    height: 2.2em;
    border-radius: 1.1em;
    margin-right: 1rem;
    margin-bottom: 1rem;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-post__inner {
    width: 106rem;
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__inner {
    margin-left: 4rem;
    margin-right: 4rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__inner.is-wide {
    width: 121rem;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-post__content {
    margin-bottom: 7.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__content {
    margin-bottom: 11.25rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__content {
    font-size: calc(16 * var(--font-size-base) * var(--text-size-scale) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__content {
    font-size: calc(24 * var(--font-size-base) * var(--text-size-scale) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__content {
    --font-size-base: 1;
  }
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
  .hc-post__content {
    --font-size-base: 1.2;
  }
}
@media screen and (min-width: 1201px) {
  .hc-post__content {
    --font-size-base: 1;
  }
}
.hc-post__content h2 {
  font-weight: 700;
  margin-bottom: 1em;
  font-size: 1.5em;
}
.hc-post__content h3 {
  font-weight: 700;
  margin-bottom: 1em;
  font-size: 1.3125em;
}
.hc-post__content h4 {
  font-weight: 700;
  margin-bottom: 1em;
  font-size: 1.125em;
}
.hc-post__content h5,
.hc-post__content h6 {
  font-weight: 700;
  margin-bottom: 1em;
  font-size: 1em;
}
.hc-post__content h2,
.hc-post__content h3,
.hc-post__content h4,
.hc-post__content h5,
.hc-post__content h6 {
  clear: both;
}
@media not screen and (max-width: 768px), print {
  .hc-post__content h2:not(:first-child),
  .hc-post__content h3:not(:first-child),
  .hc-post__content h4:not(:first-child),
  .hc-post__content h5:not(:first-child),
  .hc-post__content h6:not(:first-child) {
    margin-top: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__content h2:not(:first-child),
  .hc-post__content h3:not(:first-child),
  .hc-post__content h4:not(:first-child),
  .hc-post__content h5:not(:first-child),
  .hc-post__content h6:not(:first-child) {
    margin-top: 12rem;
  }
}
.hc-post__content p,
.hc-post__content ul,
.hc-post__content ol {
  font-weight: 400;
  line-height: 1.75;
}
@media not screen and (max-width: 768px), print {
  .hc-post__content p + p,
  .hc-post__content p + ul,
  .hc-post__content p + ol,
  .hc-post__content ul + p,
  .hc-post__content ul + ul,
  .hc-post__content ul + ol,
  .hc-post__content ol + p,
  .hc-post__content ol + ul,
  .hc-post__content ol + ol {
    margin-top: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__content p + p,
  .hc-post__content p + ul,
  .hc-post__content p + ol,
  .hc-post__content ul + p,
  .hc-post__content ul + ul,
  .hc-post__content ul + ol,
  .hc-post__content ol + p,
  .hc-post__content ol + ul,
  .hc-post__content ol + ol {
    margin-top: 3rem;
  }
}
.hc-post__content ul {
  list-style: disc;
  margin-left: 1.25em;
}
.hc-post__content ol {
  list-style: decimal;
  margin-left: 1.25em;
}
.hc-post__content a[href] {
  color: #0099ff;
  text-decoration: underline;
}
.hc-post__content a[href][target] {
  padding-right: 1.2em;
  background: url(../images/common/icon-link.svg) no-repeat right center/0.6em auto;
}
.hc-post__content a[href$=".pdf"],
.hc-post__content a[href$=".pdf"][target] {
  padding-right: 1.2em;
  background: url(../images/common/icon-link-pdf.png) no-repeat right center/0.8em auto;
}
.hc-post__content img {
  clear: both;
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}
@media not screen and (max-width: 768px), print {
  .hc-post__content img {
    margin-top: 8rem;
    margin-bottom: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__content img {
    margin-top: 12rem;
    margin-bottom: 12rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__content img.alignnone {
    max-width: 100%;
    margin-left: 0;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__content img.aligncenter {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__content img.alignleft {
    float: left;
    max-width: 50%;
    margin-right: 4rem;
    margin-top: 0.5em;
    margin-bottom: 2em;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__content img.alignright {
    float: right;
    max-width: 50%;
    margin-left: 4rem;
    margin-top: 0.5em;
    margin-bottom: 2em;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__content .wp-caption {
    margin-top: 8rem;
    margin-bottom: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__content .wp-caption {
    margin-top: 12rem;
    margin-bottom: 12rem;
    max-width: 100%;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__content .wp-caption img {
    margin-top: 0;
    margin-bottom: 0.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__content .wp-caption img {
    margin-top: 0;
    margin-bottom: 0.75rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__content .wp-caption.alignnone {
    max-width: 100%;
    margin-left: 0;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__content .wp-caption.alignnone img {
    max-width: 100%;
    margin-left: 0;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__content .wp-caption.aligncenter {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__content .wp-caption.aligncenter img {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__content .wp-caption.alignleft {
    float: left;
    max-width: 50%;
    margin-right: 4rem;
    margin-top: 0.5em;
    margin-bottom: 2em;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__content .wp-caption.alignleft img {
    max-width: 100%;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__content .wp-caption.alignright {
    float: right;
    max-width: 50%;
    margin-left: 4rem;
    margin-top: 0.5em;
    margin-bottom: 2em;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__content .wp-caption.alignright img {
    max-width: 100%;
  }
}
.hc-post__content .wp-caption-dd,
.hc-post__content .wp-caption-text {
  font-size: 0.875em;
}
.hc-post__content blockquote {
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: 2em;
  background: #eee;
  padding: 0.5em;
  border-left: 0.5em solid #ccc;
}
.hc-post__content .box {
  border: 1px solid #333;
  padding: 1em 2em;
  margin-top: 2em;
  margin-bottom: 2em;
}
.hc-post__content .hc-post__interviewee {
  font-weight: 700;
}
.hc-post__content .toc {
  background: #eee;
  padding: 1em 2em;
  margin: 0 0 2em;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.hc-post__content .toc__item {
  font-size: 0.8em;
}
.hc-post__content .toc__item + .toc__item {
  margin-top: 0.2em;
}
.hc-post__content .toc__item--3 {
  margin-left: 1.5em;
}
.hc-post__content .toc__item--4 {
  margin-left: 3em;
}
.hc-post__content .toc__item--5 {
  margin-left: 4.5em;
}
.hc-post__content .toc__item--6 {
  margin-left: 6em;
}
.hc-post__content .toc__item--anchor.toc__item--3 {
  margin-left: 3em;
}
.hc-post__content .toc__item--anchor.toc__item--4 {
  margin-left: 4.5em;
}
.hc-post__content .toc__item--anchor.toc__item--5 {
  margin-left: 6em;
}
.hc-post__content .toc__item--anchor.toc__item--6 {
  margin-left: 7.5em;
}

.hc-post__heading,
h3.hc-post__heading,
h4.hc-post__heading,
h5.hc-post__heading,
h6.hc-post__heading {
  font-weight: 500;
  padding: 1em 0 1em 1em;
  border-left: 6px solid #00bfb3;
}
@media not screen and (max-width: 768px), print {
  .hc-post__heading,
  h3.hc-post__heading,
  h4.hc-post__heading,
  h5.hc-post__heading,
  h6.hc-post__heading {
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
  }
}

.hc-post__author {
  border: 1px solid #97999b;
}
@media not screen and (max-width: 768px), print {
  .hc-post__author {
    padding: 4rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 15rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__author {
    padding: 4rem;
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-direction: column;
    margin-bottom: 22.5rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__author + .hc-post__author {
    margin-top: -10rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__author + .hc-post__author {
    margin-top: -15rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__author .hc-post__image {
    width: 22rem;
    flex-basis: 22rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__author .hc-post__image {
    width: 40rem;
    margin: 0 auto 4rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__author .hc-post__body {
    width: 70rem;
    flex-basis: 70rem;
  }
}
.hc-post__author .hc-post__name {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  font-weight: 400;
}
@media not screen and (max-width: 768px), print {
  .hc-post__author .hc-post__name {
    font-size: calc(30 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__author .hc-post__name {
    font-size: calc(45 * var(--font-size-base) * 0.1rem);
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__author .hc-post__name small {
    font-size: calc(16 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__author .hc-post__name small {
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
  }
}
.hc-post__author .hc-post__title {
  font-weight: 400;
  line-height: 1.5;
}
@media not screen and (max-width: 768px), print {
  .hc-post__author .hc-post__title {
    margin-top: 3rem;
    font-size: calc(16 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__author .hc-post__title {
    margin-top: 4.5rem;
    font-size: calc(24 * var(--font-size-base) * 0.1rem);
  }
}
.hc-post__author .hc-post__content {
  margin-top: 5rem;
}
@media not screen and (max-width: 768px), print {
  .hc-post__author .hc-post__content {
    font-size: calc(12.5 * var(--font-size-base) * var(--text-size-scale) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__author .hc-post__content {
    font-size: calc(18.75 * var(--font-size-base) * var(--text-size-scale) * 0.1rem);
  }
}

.hc-post__profile {
  border-top: 1px solid #d9d9d6;
  line-height: 1.733;
  font-weight: 400;
}
@media not screen and (max-width: 768px), print {
  .hc-post__profile {
    margin-top: 3rem;
    padding-top: 3rem;
    width: 100%;
    flex-basis: 100%;
    font-size: calc(15 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__profile {
    margin-top: 4.5rem;
    padding-top: 4.5rem;
    font-size: calc(22.5 * var(--font-size-base) * 0.1rem);
  }
}

@media not screen and (max-width: 768px), print {
  .hc-post__downloads {
    width: 110rem;
    margin: 0 auto 15rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__downloads {
    margin: 0 4rem 22.5rem;
  }
}

.hc-post__download {
  background: #ecebec;
}
@media not screen and (max-width: 768px), print {
  .hc-post__download {
    padding: 5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__download {
    padding: 4rem;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-direction: column;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__download .hc-post__image {
    width: 40rem;
    flex-basis: 40rem;
    flex-shrink: 0;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__download .hc-post__image {
    width: 40rem;
    margin: 0 auto 4rem;
  }
}
.hc-post__download .hc-post__image:empty {
  background: url(../images/common/download.png) no-repeat center center;
}
@media not screen and (max-width: 768px), print {
  .hc-post__download .hc-post__image:empty {
    background-size: cover;
    height: 27rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__download .hc-post__image:empty {
    height: 40.5rem;
    background-size: 100% auto;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__download .hc-post__body {
    width: 54rem;
    flex-basis: 54rem;
  }
}
.hc-post__download .hc-post__title {
  font-weight: 700;
  line-height: 1.455;
}
@media not screen and (max-width: 768px), print {
  .hc-post__download .hc-post__title {
    font-size: calc(22 * var(--font-size-base) * 0.1rem);
    margin-bottom: 1.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__download .hc-post__title {
    font-size: calc(33 * var(--font-size-base) * 0.1rem);
    margin-bottom: 2.25rem;
  }
}
.hc-post__download .hc-post__text {
  font-weight: 400;
  line-height: 1.867;
}
@media not screen and (max-width: 768px), print {
  .hc-post__download .hc-post__text {
    font-size: calc(15 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__download .hc-post__text {
    font-size: calc(22.5 * var(--font-size-base) * 0.1rem);
  }
}
.hc-post__download .c-button {
  font-weight: 500;
  justify-content: flex-start;
}
@media not screen and (max-width: 768px), print {
  .hc-post__download .c-button {
    width: 100%;
    height: 8rem;
    font-size: calc(20 * var(--font-size-base) * 0.1rem);
    padding: 0 4rem;
    margin-top: 3rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__download .c-button {
    width: 100%;
    height: 12rem;
    font-size: calc(30 * var(--font-size-base) * 0.1rem);
    padding: 0 6rem;
    margin-top: 4.5rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__download .c-button img {
    width: 3.6rem;
    margin-right: 2.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__download .c-button img {
    width: 5.4rem;
    margin-right: 3.9rem;
  }
}
.hc-post__download .c-button svg {
  margin-left: auto;
}
@media not screen and (max-width: 768px), print {
  .hc-post__download .c-button svg {
    width: 6.7rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__download .c-button svg {
    width: 10.05rem;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-post__download + .hc-post__download {
    margin-top: 6rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__download + .hc-post__download {
    margin-top: 9rem;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-post__buttons {
    width: 95rem;
    margin: 8rem auto 15rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__buttons {
    margin: 12rem 4rem 22.5rem;
  }
}
.hc-post__buttons .c-button {
  font-weight: 700;
}
@media not screen and (max-width: 768px), print {
  .hc-post__buttons .c-button {
    width: 32rem;
    height: 7rem;
    padding: 0 3rem;
    font-size: calc(18 * var(--font-size-base) * 0.1rem);
    margin: 0 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__buttons .c-button {
    width: 100%;
    height: 10.5rem;
    padding: 0 4.5rem;
    font-size: calc(27 * var(--font-size-base) * 0.1rem);
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__buttons .c-button svg {
    width: 4.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__buttons .c-button svg {
    width: 6.9rem;
  }
}
@media not screen and (max-width: 768px), print {
  .hc-post__buttons .c-button + .c-button {
    margin-top: 4rem;
  }
}

@media not screen and (max-width: 768px), print {
  .hc-post__relation {
    width: 106rem;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__relation {
    margin: 0 4rem;
  }
}
.hc-post__relation .hc-post__title {
  font-weight: 500;
  text-align: center;
  border-bottom: 2px solid #97999b;
}
@media not screen and (max-width: 768px), print {
  .hc-post__relation .hc-post__title {
    font-size: calc(30 * var(--font-size-base) * 0.1rem);
    padding-bottom: 3rem;
    margin-bottom: 5rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__relation .hc-post__title {
    font-size: calc(45 * var(--font-size-base) * 0.1rem);
    padding-bottom: 4.5rem;
    margin-bottom: 7.5rem;
  }
}

.hc-post__interviewee,
.hc-post__content .hc-post__interviewee {
  font-weight: 700;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 2em;
}
@media not screen and (max-width: 768px), print {
  .hc-post__interviewee,
  .hc-post__content .hc-post__interviewee {
    font-size: calc(18 * var(--font-size-base) * var(--text-size-scale) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__interviewee,
  .hc-post__content .hc-post__interviewee {
    font-size: calc(27 * var(--font-size-base) * var(--text-size-scale) * 0.1rem);
  }
}
.hc-post__interviewee::before,
.hc-post__content .hc-post__interviewee::before {
  content: "";
  display: block;
  height: 0;
  border-top: 2px solid #97999b;
  flex-shrink: 0;
  margin-top: 0.8em;
}
@media not screen and (max-width: 768px), print {
  .hc-post__interviewee::before,
  .hc-post__content .hc-post__interviewee::before {
    width: 5rem;
    flex-basis: 5rem;
    margin-right: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .hc-post__interviewee::before,
  .hc-post__content .hc-post__interviewee::before {
    width: 5rem;
    flex-basis: 5rem;
    margin-right: 3rem;
  }
}

.hc-post__interviewee:not(:first-child),
.hc-post__content .hc-post__interviewee:not(:first-child) {
  margin-top: 6rem;
}

@media not screen and (max-width: 768px), print {
  .c-index__link.for-top {
    background: #3b4043;
  }
}

@media not screen and (max-width: 768px), print {
  .c-index__link:not(.for-top)::after {
    background: #3b4043;
  }
}

.c-heading.type-2::after {
  background-color: #00bfb3;
}
@media not screen and (max-width: 768px), print {
  .c-heading.type-2::after small {
    font-size: calc(22 * var(--font-size-base) * 0.1rem);
  }
}
@media only screen and (max-width: 768px) {
  .c-heading.type-2::after small {
    font-size: calc(33 * var(--font-size-base) * 0.1rem);
  }
}

@media not screen and (max-width: 768px), print {
  .c-main__title {
    padding-top: 0;
  }
}
@media only screen and (max-width: 768px) {
  .c-main__title {
    padding-top: 0;
  }
}

@media not screen and (max-width: 768px), print {
  .c-header.is-fixed {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    z-index: 11;
    left: 0;
    top: 0;
    height: 9rem;
    padding-left: 3.6rem;
    padding-right: 2.4rem;
    opacity: 0;
    background-color: rgba(255, 255, 255, 0.8);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    transform: translate(0, -9rem);
  }
  .is-loaded .c-header.is-fixed {
    transition-property: opacity, transform;
    transition-duration: 0.25s;
    transition-timing-function: ease-in-out;
  }
  .is-more-scrolled .c-header.is-fixed {
    transform: translate(0, 0);
    opacity: 1;
  }
  .c-header.is-fixed .c-header__brand {
    width: auto;
    margin-top: auto;
    margin-bottom: auto;
  }
  .c-header.is-fixed .c-header__link {
    color: #53565a;
    font-weight: 700;
    font-size: 1.4rem;
  }
  .c-header.is-fixed .c-header__link.is-current {
    color: #00bfb3;
  }
  .c-header.is-fixed .c-header__link b {
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  .c-header.is-fixed .c-header__link b img {
    width: auto;
    height: 1em;
    padding-top: 0.1em;
    margin-left: 0.5em;
  }
}
@media not screen and (max-width: 768px), print, print, print {
  .c-header.is-fixed .c-header__link + .c-header__link {
    margin-left: 1.9rem;
    padding-left: 1.9rem;
    border-left: 1px solid rgba(0, 0, 0, 0.48);
  }
}
@media only screen and (max-width: 768px) {
  .c-header.is-fixed {
    display: none;
  }
}
.c-header.is-fixed img {
  width: auto;
  height: 7rem;
}
.c-header.is-fixed p {
  font-size: 1.8rem;
}/*# sourceMappingURL=S.css.map */