@charset "UTF-8";
.titleArea_photo-index {
  background: url(/gem/assets/img/research/mv_index.webp) no-repeat 50% 50%;
  background-size: cover;
}

.titleArea_photo-seminar {
  background: url(/gem/assets/img/research/mv_seminar.webp) no-repeat 50% 50%;
  background-size: cover;
}

.titleArea_photo-pickup {
  background: url(/gem/assets/img/research/mv_pickup.webp) no-repeat 50% 50%;
  background-size: cover;
}

.titleArea_photo-support {
  background: url(/gem/assets/img/research/mv_support.webp) no-repeat 50% 50%;
  background-size: cover;
}

.page-research.index #main h2 {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.3;
  text-align: left;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  color: #656154;
  position: relative;
  padding: 0 0 0.7em;
  width: 100%;
}
@media print, screen and (min-width: 769px) {
  .page-research.index #main h2 {
    display: inline-block;
    padding: 0 0 0.5em;
  }
}
.page-research.index #main h2::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: #dedaca;
  z-index: 1;
}
@media print, screen and (min-width: 769px) {
  .page-research.index #main h2::before {
    min-width: 200px;
  }
}
.page-research.index #main h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 60px;
  height: 3px;
  z-index: 2;
  background: #294487;
}
@media print, screen and (min-width: 769px) {
  .page-research.index #main h2 {
    font-size: 2.6rem;
    letter-spacing: 0.1em;
    font-weight: 700;
  }
}
.page-research.index #main h2 > span {
  display: inline-block;
}
.page-research.index #main h2 + * {
  margin-top: 1.5em;
}
.page-research.index #main h2:not(:first-child) {
  margin-top: 3em;
}
.page-research.index table {
  width: 100%;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.4;
  border-top: #e7e4d6 solid 1px;
  border-left: #e7e4d6 solid 1px;
  width: 100%;
  background-color: #fff;
}
@media print, screen and (min-width: 769px) {
  .page-research.index table {
    font-size: 1.5rem;
  }
}
.page-research.index table th, .page-research.index table td {
  padding: 1em 1em;
  border-right: #e7e4d6 solid 1px;
  border-bottom: #e7e4d6 solid 1px;
}
.page-research.index table thead th {
  padding: 0.5em 0;
  background: #e7e4d6;
  text-align: center;
  color: #656154;
  vertical-align: middle;
  font-weight: 700;
}
.page-research.index table thead th:not(:last-child) {
  border-right: #d2cebf solid 1px;
}
.page-research.index table tbody th {
  text-align: left;
  vertical-align: middle;
}
.page-research.index table tbody th span {
  display: inline-block;
}
.page-research.index table td {
  text-align: left;
  overflow-wrap: anywhere; /* URLでも折る */
  word-break: break-word;
  vertical-align: middle;
}
.page-research.index table td:first-child {
  width: 65%;
}
@media print, screen and (min-width: 769px) {
  .page-research.index table td:first-child {
    width: 70%;
  }
}
.page-research.index table td:nth-child(2) {
  width: 35%;
}
@media print, screen and (min-width: 769px) {
  .page-research.index table td:nth-child(2) {
    width: 30%;
  }
}
.page-research.index table thead + tbody th,
.page-research.index table tbody + tbody th {
  background: rgba(255, 255, 255, 0.7);
}

.page-research.seminar #main h2 {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.3;
  text-align: left;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  color: #656154;
  position: relative;
  padding: 0 0 0.7em;
  width: 100%;
}
@media print, screen and (min-width: 769px) {
  .page-research.seminar #main h2 {
    display: inline-block;
    padding: 0 0 0.5em;
  }
}
.page-research.seminar #main h2::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: #dedaca;
  z-index: 1;
}
@media print, screen and (min-width: 769px) {
  .page-research.seminar #main h2::before {
    min-width: 200px;
  }
}
.page-research.seminar #main h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 60px;
  height: 3px;
  z-index: 2;
  background: #294487;
}
@media print, screen and (min-width: 769px) {
  .page-research.seminar #main h2 {
    font-size: 2.6rem;
    letter-spacing: 0.1em;
    font-weight: 700;
  }
}
.page-research.seminar #main h2 > span {
  display: inline-block;
}
.page-research.seminar #main h2 + * {
  margin-top: 1.5em;
}
.page-research.seminar #main h2:not(:first-child) {
  margin-top: 3em;
}
.page-research.seminar table {
  width: 100%;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.4;
  border-top: #e7e4d6 solid 1px;
  border-left: #e7e4d6 solid 1px;
  width: 100%;
  background-color: #fff;
}
@media print, screen and (min-width: 769px) {
  .page-research.seminar table {
    font-size: 1.5rem;
  }
}
.page-research.seminar table th, .page-research.seminar table td {
  padding: 1em 1em;
  border-right: #e7e4d6 solid 1px;
  border-bottom: #e7e4d6 solid 1px;
}
.page-research.seminar table thead th {
  padding: 0.5em 0;
  background: #e7e4d6;
  text-align: center;
  color: #656154;
  vertical-align: middle;
  font-weight: 700;
}
.page-research.seminar table thead th:not(:last-child) {
  border-right: #d2cebf solid 1px;
}
.page-research.seminar table tbody th {
  text-align: left;
  width: 15%;
  font-weight: 700;
  vertical-align: middle;
}
.page-research.seminar table tbody th span {
  display: inline-block;
}
.page-research.seminar table td {
  text-align: left;
  overflow-wrap: anywhere; /* URLでも折る */
  word-break: break-word;
  vertical-align: middle;
}
.page-research.seminar table tr:has(> td:nth-of-type(2)) > td:nth-of-type(1) {
  width: 25%; /* 名前 */
}
.page-research.seminar table tr:has(> td:nth-of-type(2)) > td:nth-of-type(2) {
  width: 60%; /* タイトル */
}
.page-research.seminar table tr:has(> td:only-of-type) > td {
  width: 85%; /* 名前が広く使う */
}

.page-research.support #main h2 {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.3;
  text-align: left;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  color: #656154;
  position: relative;
  padding: 0 0 0.7em;
  width: 100%;
}
@media print, screen and (min-width: 769px) {
  .page-research.support #main h2 {
    display: inline-block;
    padding: 0 0 0.5em;
  }
}
.page-research.support #main h2::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: #dedaca;
  z-index: 1;
}
@media print, screen and (min-width: 769px) {
  .page-research.support #main h2::before {
    min-width: 200px;
  }
}
.page-research.support #main h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 60px;
  height: 3px;
  z-index: 2;
  background: #294487;
}
@media print, screen and (min-width: 769px) {
  .page-research.support #main h2 {
    font-size: 2.6rem;
    letter-spacing: 0.1em;
    font-weight: 700;
  }
}
.page-research.support #main h2 > span {
  display: inline-block;
}
.page-research.support #main h2 + * {
  margin-top: 1.5em;
}
.page-research.support #main h2:not(:first-child) {
  margin-top: 3em;
}
.page-research.support table {
  width: 100%;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.4;
  border-top: #e7e4d6 solid 1px;
  border-left: #e7e4d6 solid 1px;
  width: 100%;
  background-color: #fff;
}
@media print, screen and (min-width: 769px) {
  .page-research.support table {
    font-size: 1.5rem;
  }
}
.page-research.support table th, .page-research.support table td {
  padding: 1em 1em;
  border-right: #e7e4d6 solid 1px;
  border-bottom: #e7e4d6 solid 1px;
}
.page-research.support table tbody th {
  padding: 0.5em 0;
  background: #e7e4d6;
  text-align: center;
  color: #656154;
  vertical-align: middle;
  font-weight: 700;
}
.page-research.support table tbody tr:not(:last-child) th {
  border-bottom: #d2cebf solid 1px;
}
.page-research.support table td {
  text-align: left;
  overflow-wrap: anywhere; /* URLでも折る */
  word-break: break-word;
  vertical-align: middle;
}
.page-research.support table tr:has(> td:nth-of-type(2)) > td:nth-of-type(1) {
  width: 25%; /* 名前 */
}
.page-research.support table tr:has(> td:nth-of-type(2)) > td:nth-of-type(2) {
  width: 60%; /* タイトル */
}
.page-research.support table tr:has(> td:only-of-type) > td {
  width: 80%; /* 名前が広く使う */
}

.page-research.pickup #main .cmn_section-body {
  margin-top: 0;
}