:root {
  --content-width: 1280px;
}

html {
  font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "YuMincho", "Yu Mincho", "游明朝体", "Noto Serif JP", "ＭＳ 明朝", "MS Mincho", sans-serif;
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}

.header {
  position: sticky;
  top: 0;
  padding: 1em;
  background-color: #fff;

  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  justify-items: end;
}

.header__menubtn {
  width: fit-content;
  background-color: unset;
  border: none;
  cursor: pointer;
}
.header__menubtn::after {
  display: block;
  content: "";
  background-image: url(../img/menu.svg);
  background-repeat: no-repeat;
  background-size: contain;
  height: 20px;
  width: 20px;
}

.header__links {
  display: none;
  gap: 12px;
}

.header__img {
  object-fit: contain;
}

@media screen and (max-width: 1279px) {
  .header__links.is-open {
    width: 100%;
    display: grid;
    grid-column: span 2;
    justify-content: center;
    padding: 1em 0;
  }
}

@media screen and (min-width: 1280px) {
  #header__menubtn {
    display: none;
  }

  #header__links {
    display: flex;
    position: relative;
    justify-content: right;
  }
}

.header__link {
  color: #000;
  text-decoration: none;
  font-weight: bold;
  text-align: center;
}

.header__link.header__link--here::after,
.header__links.is-open .header__link::after {
  content: "";
  margin: 2px auto;

  display: block;
  width: 70%;
  height: 2px;

  background-color: #ff0000;
}

.mainvisual {
  height: 50vh;
  width: 100%;
  object-fit: contain;
  background-color: #fff2e2;
}

@media screen and (max-width: 511px), (max-aspect-ratio: 1/1) {
  .mainvisual {
    height: auto;
  }
}

.c-pageheader {
  display: grid;
  padding: 2em 12px;
  justify-content: center;
  grid-template-columns: minmax(0, var(--content-width));
}

.c-pageheader__title {
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.c-contents {
  padding: 5em 12px;
  display: grid;
  justify-content: center;
  grid-template-columns: minmax(0, var(--content-width));
  gap: 1em;
  line-height: 2;
}

.c-contents__title {
  text-align: left;
  font-weight: bold;
  font-size: 2em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.c-contents__title::after {
  content: "";

  display: block;
  width: 2em;
  height: 2px;

  background-color: #ff0000;
}

.c-contents__title.c-contents__title--center {
  text-align: center;
}

.c-contents__title.c-contents__title--center::after {
  margin: 0 auto;
}

.c-duallist {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-content: center;
  gap: 1em;
}

.c-duallist--side {
  flex-direction: row;
  max-height: unset;
}

.c-duallist__item {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .c-duallist {
    max-height: 700px;
  }

  .c-duallist__item {
    width: calc(50% - 1em);
  }
}

.c-highlight {
  padding: 1em 1em;
  background-color: #fff;
  border: 2px solid #4472c4;
  border-radius: 16px;
}

.c-link {
  color: #000;
  text-decoration-color: #000;
}

.c-link--external::after {
  content: "\f08e";
  font-family: "FontAwesome";
  padding-left: 0.5em;
  text-decoration: none;
  color: #464646;
}

.c-link--excel::after {
  content: "\f1c3";
  font-family: "FontAwesome";
  padding-left: 0.5em;
  text-decoration: none;
  color: #107c41;
}

.c-link--word::after {
  content: "\f1c2";
  font-family: "FontAwesome";
  padding-left: 0.5em;
  text-decoration: none;
  color: #185abd;
}

.c-link--pdf::after {
  content: "\f1c1";
  font-family: "FontAwesome";
  padding-left: 0.5em;
  text-decoration: none;
  color: #bd1818;
}

.c-largebtn {
  display: block;
  text-decoration: none;
  max-width: 512px;
  padding: 1em 16px;
  margin: 2em auto;
  background-color: #cdcdcd;
  border-radius: 8px;
  color: #000;
  text-align: center;
  font-weight: bold;
  font-size: 1.25em;
}
.c-largebtn::before {
  content: "▶";
  padding-right: 1em;
}

@media screen and (max-width: 544px) {
  .c-largebtn {
    margin: 2em 16px;
  }
}

.footer {
  margin: 0 auto;
  padding: 1em 8px 12px 8px;
  font-size: 0.9em;
  display: grid;
  justify-content: center;
  grid-template-columns: minmax(0, 1490px) minmax(0, 40px);
  border-top: 1px solid #000;
}

.footer__org {
  font-style: normal;
  margin-bottom: 1em;
}

.footer__top {
  display: block;
  background-color: black;
  border-radius: 8px;
  height: fit-content;
  padding: 4px;
}

.footer__top::after {
  display: block;
  content: "";
  background-image: url(../img/arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  height: 32px;
  width: 32px;
}

.footer__info {
  grid-column: span 2;
  display: grid;
  grid-template-rows: 60px;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 8px;
  justify-content: end;
}

.font-bold {
  font-weight: bold;
}

.font-normal {
  font-weight: 400;
}

/*
.serif {
    font-family: 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'YuMincho', 'Yu Mincho', '游明朝体', 'Noto Serif JP', 'ＭＳ 明朝', 'MS Mincho', sans-serif;
}
*/
.sans-serif {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "Noto Sans JP", "ＭＳ ゴシック", sans-serif;
}

.red {
  color: #ff0000;
}

.confirmation .c-pageheader,
.confirmation .c-contents--bg {
  background-color: #e3e9f4;
}

.designation .c-pageheader,
.designation .c-contents--bg {
  background-color: #fdefd7;
}

.consultation .c-pageheader,
.consultation .c-contents--bg {
  background-color: #e3efe8;
}

.faq .c-pageheader,
.faq .c-contents--bg {
  background-color: #cdcdcd;
}

.news-wrap {
  background-color: #fff2e2;
  border: 1px solid #ff0000;
  border-radius: 10px;
  padding: 1em 1em;
  margin-top: 1em;
}

.news-list {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px 2em;

  height: 10rem;
  overflow-y: auto;
  scrollbar-gutter: stable;
  /* 幅 */
  ::-webkit-scrollbar {
    width: 1em;
    height: 1em;
  }
  /* 幅（Firefox用） */
  scrollbar-width: thin;
}

.home-links {
  display: grid;
  /* margin: 0 57px 5em 12px; */
  /* grid-template-columns: 1fr; */
  /* justify-content: center; */
  margin: auto;
  gap: 0 3em;
  justify-content: center;
  width: 90%;
}

@media screen and (min-width: 768px) {
  .home-links {
    grid-template-columns: repeat(3, minmax(0, 420px));
  }
}

.home-links__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  color: #000;
  text-decoration: none;
  border: 1px solid #cdcdcd;
  border-radius: 0 0 12px 12px;
  margin-bottom: 5em;
}

.home-links__item.home-links__item--faq {
  border-radius: 12px;
}

@media screen and (min-width: 768px) {
  .home-links__item.home-links__item--faq {
    grid-column: span 3;
  }
}

.home-links__title,
.home-links__desc {
  padding: 12px 1rem;
}

.home-links__title {
  display: grid;
  place-items: center;

  text-align: center;
  font-size: 1.5em;
  font-weight: bold;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.home-links__item--window .home-links__title {
  background-color: #a1b7dc;
}

.home-links__item--mikanri .home-links__title {
  background-color: #f7ca7a;
}

.home-links__item--hosyo .home-links__title {
  background-color: #a3c9b2;
}

.home-links__item--faq {
  background-color: #cdcdcd;
}
