/* 共通
-------------------------------------*/
main {
  padding-top: 100px;
}

.l-content {
  background-color: #F3EEDF;
}

h1 {
  font-size: 45px;
  line-height: 1.3;
}

.parent-slug {
  font-size: 25px;
  font-weight: 600;
}

#content-wrap {
  width: 90%;
  max-width: 1400px;
  min-height: 1000px;
  padding: 115px 200px 300px;
  margin: 0 auto;
  background-color: #FFF;
}

#content-wrap h2,
#content-wrap h3,
#content-wrap h4,
#content-wrap h5 {
  color: var(--base-color);
}

#content-wrap h4 {
  margin-top: 100px;
}

#content-wrap h6 {
  margin-bottom: 5px;
  font-size: 20px;
}

#content-wrap p a,
#content-wrap li a {
  color: var(--base-color);
  text-decoration: underline;
  text-underline-offset: 3px;
}

table {
  margin-bottom: 10px !important;
}

table tbody tr:first-of-type,
table tbody tr td:first-of-type {
  background-color: #F5F5F4;
  font-weight: 600;
}

table tbody tr td {
  font-size: 20px;
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

table tbody tr:first-of-type td {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}

h2.fukidashi {
  position: relative;
  padding: 12px 30px 10px;
  margin: 150px 0 35px;
  background: #fff;
  color: var(--base-color);
  font-size: 24px;
  text-align: center;
  border: 1px solid var(--base-color);
}

h2.fukidashi::before {
  content: '';
  position: absolute;
  bottom: -14px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 15px 10px 0;
  border-style: solid;
  border-color: #FFF transparent transparent transparent;
  z-index: 1;
}

h2.fukidashi::after {
  content: '';
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 15px 10px 0;
  border-style: solid;
  border-color: var(--base-color) transparent transparent transparent;
}

@media screen and (max-width:1280px) {
  #content-wrap {
    padding: 80px 100px 200px;
  }
}

@media screen and (max-width:1000px) {
  main {
    padding-top: 50px;
  }

  h1 {
    font-size: 30px;
    line-height: 1.5;
  }

  #content-wrap h4 {
    margin-top: 40px;
  }

  #content-wrap h6 {
    font-size: 16px;
  }

  .parent-slug {
    font-size: 20px;
  }

  #content-wrap {
    width: 95%;
    min-height: auto;
    padding: 40px 20px 100px;
  }

  table tbody tr td {
    font-size: 14px;
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }

  table tbody tr:first-of-type td {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  h2.fukidashi {
    margin-left: 10px;
    margin-right: 10px;
    font-size: 22px;
  }
}

/* head-area-common
-------------------------------------*/
#head-area-common {
  margin-bottom: 100px;
  font-family: var(--mincho-font_family);
}

#head-area-common .inner {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}

@media screen and (max-width:1000px) {
  #head-area-common {
    margin-bottom: 50px;
  }
}

/* page-menu-wrap
-------------------------------------*/
.page-menu-wrap {
  width: 90%;
  max-width: 1400px;
  margin: 0 auto;
}

.page-menu-wrap ul {
  display: flex;
  max-width: 1000px;
  margin: 0 auto;
}

.page-menu-wrap ul li {
  width: fit-content;
  min-width: 150px;
  margin: 0 5px;
  background-color: var(--base-color);
  color: #FFF;
  text-align: center;
}

.page-menu-wrap ul li.current {
  background-color: #FFF;
  color: var(--base-color);
}

.page-menu-wrap ul li a {
  display: block;
  padding: 5px 12px;
  transition: all .5s ease;
  font-weight: 600;
}

.page-menu-wrap ul li a:hover {
  background-color: #666;
  color: #FFF;
}

@media screen and (max-width:768px) {
  .page-menu-wrap ul {
    flex-wrap: wrap;
    margin: 0 -5px;
  }

  .page-menu-wrap ul li {
    width: calc((100% - 20px) / 2);
    margin: 0 5px 10px;
  }

  .page-menu-wrap ul li a {
    padding: 8px 0;
    font-size: 12px;
  }
}