/*
 * site-custom.css — WordPress管理画面「追加CSS」からの移設（2026-07-10）
 * 内容: トップページ著書カードの上書き ＋ 研究室ページ(/lab/)用の旧静的サイト由来スタイル ＋ 個別調整群
 * 移設時の変更: 完全重複していた「lab page styles」ブロック2つを1つに統合・余分な閉じ括弧5個を除去（挙動不変）
 * 原文バックアップ: 02_output/WordPressサイト管理/追加CSSバックアップ_2026-07-10.css
 * 読み込み順: style.css の後（旧・追加CSSと同じカスケード位置。functions.phpのenqueue参照）
 */

/* =====  ===== */
.books-grid {
	    display: flex !important;
	    grid-template-columns: unset !important;
	    max-width: 980px;
	    margin: 0 auto;
	    overflow-x: auto;
	    align-items: stretch;
}
.book-card {
	    flex: 1 !important;
	    width: auto !important;
	    margin-right: 30px !important;
	    border: 4px solid #5dc07c !important;
	    border-radius: 30px !important;
	    padding: 40px 30px !important;
	    text-align: center;
	    display: flex !important;
	    flex-direction: column !important;
	    align-items: center !important;
	    background: #fff;
}
.book-card:last-child {
	    margin-right: 0 !important;
}
.book-cover {
	    max-width: 132px;
	    width: auto;
	    height: auto;
	    margin: 0 auto 30px !important;
	    display: block;
}
.book-title {
	    color: #5dc07c !important;
	    font-size: 1.1rem !important;
	    letter-spacing: 0.05em;
	    line-height: 1.6;
	    font-weight: 500;
}

/* ===== lab page styles ===== */

.c-link {
  color: #5DC07C;
  text-decoration: underline; }
  .c-link::after {
    content: " ＞"; }

.c-content-column {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto; }
  .c-content-column.is-narrow {
    max-width: 800px; }
  @media screen and (max-width: 980px) {
    .c-content-column {
      padding-left: 30px;
      padding-right: 30px; } }

.c-page-header .c-page-header__title {
  padding-top: 55px;
  padding-bottom: 55px;
  text-align: center; }
  @media screen and (max-width: 760px) {
    .c-page-header .c-page-header__title {
      padding-top: 70px;
      padding-bottom: 55px; } }
  .c-page-header .c-page-header__title .c-page-header__title-link .c-page-header__logo {
    width: 260px;
    height: 48px; }
    @media screen and (max-width: 760px) {
      .c-page-header .c-page-header__title .c-page-header__title-link .c-page-header__logo {
        width: 166px;
        height: 37px; } }

@media screen and (min-width: 761px) {
  .c-global-nav-button {
    display: none; }
  .c-global-nav {
    margin-bottom: 110px;
    height: 70px; }
    .c-global-nav.is-top {
      margin-bottom: 54px; }
    .c-global-nav.is-fixed .c-global-nav__list {
      position: fixed;
      top: 5px;
      z-index: 3;
      left: 30px;
      right: 30px;
      width: auto;
      margin: 0 auto; }
    .c-global-nav .c-global-nav__list {
      background: white;
      border: 3px solid;
      color: #5DC07C;
      display: flex;
      height: 70px;
      border-radius: 35px;
      list-style-type: none;
      padding: 16.5px 10px;
      width: 100%;
      max-width: 980px; }
      .c-global-nav .c-global-nav__list .c-global-nav__item {
        flex: 1 1 auto;
        height: 100%;
        text-align: center;
        border-right: 2px solid #5DC07C; }
        .c-global-nav .c-global-nav__list .c-global-nav__item:last-child {
          border-right: 0; }
        .c-global-nav .c-global-nav__list .c-global-nav__item .c-global-nav__link {
          display: block;
          width: 100%;
          height: 100%; }
  .c-global-nav__footer {
    display: none; } }

@media screen and (max-width: 760px) {
  .c-global-nav-button {
    position: fixed;
    top: 30px;
    right: 0px;
    z-index: 4;
    width: 60px;
    height: 60px;
    background: #5DC07C;
    padding: 18px 16px 17px; }
    .c-global-nav-button:focus {
      outline: none; }
    .c-global-nav-button.is-hidden {
      -webkit-transform: translate(80%, 0);
              transform: translate(80%, 0); } }
  @media screen and (max-width: 760px) and (max-width: 365px) {
    .c-global-nav-button {
      top: 20px; } }

@media screen and (max-width: 760px) {
    .c-global-nav-button span {
      content: " ";
      display: block;
      width: 28px;
      height: 5px;
      background: #fff;
      margin-bottom: 5px; }
  .c-global-nav-shadow {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    display: none; }
    .c-global-nav-shadow.is-open {
      display: block; }
  .c-global-nav {
    overflow: auto;
    position: fixed;
    top: 108px;
    right: 0;
    bottom: 0px;
    z-index: 3;
    -webkit-transform: translate(110%, 0);
            transform: translate(110%, 0);
    transition: -webkit-transform .5s;
    transition: transform .5s;
    transition: transform .5s, -webkit-transform .5s; }
    .c-global-nav.is-open {
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); }
    .c-global-nav .c-global-nav__inner {
      margin: 0 0 5px 5px;
      background: rgba(93, 192, 124, 0.95);
      box-shadow: -3px 3px 3px rgba(0, 0, 0, 0.16); }
      .c-global-nav .c-global-nav__inner .c-global-nav__list {
        text-align: left;
        list-style-type: none;
        padding: 30px 65px;
        display: inline-flex;
        flex-direction: column;
        font-size: 1.6rem; } }
      @media screen and (max-width: 760px) and (max-width: 365px) {
        .c-global-nav .c-global-nav__inner .c-global-nav__list {
          padding: 20px 65px; } }

@media screen and (max-width: 760px) {
        .c-global-nav .c-global-nav__inner .c-global-nav__list .c-global-nav__item {
          flex: 1 1 auto;
          line-height: 1;
          display: flex;
          align-items: center;
          height: 55px; }
          .c-global-nav .c-global-nav__inner .c-global-nav__list .c-global-nav__item.is-sp-sub {
            font-size: 1.4rem;
            padding-left: 13px; }
          .c-global-nav .c-global-nav__inner .c-global-nav__list .c-global-nav__item .c-global-nav__link {
            align-items: center;
            color: #fff;
            display: flex;
            height: 100%;
            width: 100%; }
            .c-global-nav .c-global-nav__inner .c-global-nav__list .c-global-nav__item .c-global-nav__link::before {
              content: "＞"; }
      .c-global-nav .c-global-nav__inner .c-global-nav__footer {
        background: #fff;
        padding: 17px; } }

.c-page-footer .c-page-footer__inner {
  overflow: hidden;
  margin: 0 auto;
  max-width: 655px; }
  .c-page-footer .c-page-footer__inner .c-page-footer__buttons {
    display: flex;
    flex-wrap: wrap;
    margin-left: -25px;
    margin-right: -25px;
    padding-top: 100px;
    padding-bottom: 120px; }
    .c-page-footer .c-page-footer__inner .c-page-footer__buttons.is-reverse {
      flex-direction: row-reverse; }
    .c-page-footer .c-page-footer__inner .c-page-footer__buttons .c-page-footer__button {
      flex: 0 0 auto;
      width: calc((100% - 2 * 50px) / 2);
      margin-left: 25px;
      margin-right: 25px; }
      @media screen and (max-width: 760px) {
        .c-page-footer .c-page-footer__inner .c-page-footer__buttons .c-page-footer__button {
          flex: 0 0 auto;
          width: calc((100% - 1 * 50px) / 1);
          margin-left: 25px;
          margin-right: 25px;
          margin-bottom: 25px; } }
  .c-page-footer .c-page-footer__inner .c-page-footer__contact {
    color: #5DC07C;
    border: 3px solid;
    border-radius: 30px;
    padding: 40px;
    display: flex;
    margin-bottom: 104px; }
    @media screen and (max-width: 760px) {
      .c-page-footer .c-page-footer__inner .c-page-footer__contact {
        flex-direction: column;
        padding: 30px 20px;
        margin-bottom: 78px; } }
    .c-page-footer .c-page-footer__inner .c-page-footer__contact .c-page-footer__contact-portrait {
      margin-right: 40px;
      flex: 1 1 auto;
      text-align: center; }
      .c-page-footer .c-page-footer__inner .c-page-footer__contact .c-page-footer__contact-portrait img {
        width: auto;
        max-height: 154px; }
      @media screen and (max-width: 760px) {
        .c-page-footer .c-page-footer__inner .c-page-footer__contact .c-page-footer__contact-portrait {
          flex-direction: column;
          margin-right: 0;
          margin-bottom: 40px; } }
    .c-page-footer .c-page-footer__inner .c-page-footer__contact .c-page-footer__contact-content {
      flex: 1 1 auto; }
      .c-page-footer .c-page-footer__inner .c-page-footer__contact .c-page-footer__contact-content .c-page-footer__contact-text {
        font-size: 2.4rem;
        line-height: 1.38;
        letter-spacing: 0.18 em;
        margin-bottom: 20px;
        text-align: center;
        white-space: nowrap; }
        @media screen and (max-width: 760px) {
          .c-page-footer .c-page-footer__inner .c-page-footer__contact .c-page-footer__contact-content .c-page-footer__contact-text {
            font-size: 1.8rem;
            margin-bottom: 32px; } }
      .c-page-footer .c-page-footer__inner .c-page-footer__contact .c-page-footer__contact-content .c-page-footer__contact-button {
        text-align: center;
        margin-bottom: 7px; }
      .c-page-footer .c-page-footer__inner .c-page-footer__contact .c-page-footer__contact-content .c-page-footer__contact-caution {
        color: #707070;
        font-size: .9rem;
        letter-spacing: 0;
        text-align: center;
        white-space: nowrap; }

.c-page-footer .c-page-footer__footer {
  height: 96px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: #5DC07C;
  color: #fff;
  font-size: 1.7rem; }
  @media screen and (max-width: 760px) {
    .c-page-footer .c-page-footer__footer {
      height: 109px;
      font-size: 1.2rem;
      line-height: 1.16667; } }

.c-page-footer-links {
  text-align: center; }
  .c-page-footer-links .c-page-footer-links__title {
    font-size: 3.4rem;
    color: #5DC07C;
    text-align: center;
    margin-bottom: 62px; }
    @media screen and (max-width: 760px) {
      .c-page-footer-links .c-page-footer-links__title {
        font-size: 2.4rem;
        margin-bottom: 40px; } }
  .c-page-footer-links .c-page-footer-links__list {
    display: inline-flex;
    margin: 0 auto 100px; }
    @media screen and (max-width: 760px) {
      .c-page-footer-links .c-page-footer-links__list {
        display: flex;
        flex-direction: column;
        margin: 0 auto 40px; } }
    @media screen and (min-width: 761px) {
      .c-page-footer-links .c-page-footer-links__list .c-page-footer-links__item {
        flex: 0 1 auto;
        color: #5DC07C;
        white-space: nowrap; }
        .c-page-footer-links .c-page-footer-links__list .c-page-footer-links__item:last-child .c-page-footer-links__link::after {
          content: "";
          display: inline-block;
          border-left: 3px solid;
          height: 37px;
          margin-left: 2em;
          margin-right: 2em; }
        .c-page-footer-links .c-page-footer-links__list .c-page-footer-links__item .c-page-footer-links__link {
          display: flex;
          align-items: center;
          font-size: 1.7rem;
          line-height: 1.53;
          text-align: center;
          height: 100%; }
          .c-page-footer-links .c-page-footer-links__list .c-page-footer-links__item .c-page-footer-links__link::before {
            content: "";
            display: inline-block;
            border-left: 3px solid;
            height: 37px;
            margin-left: 2em;
            margin-right: 2em; } }
    @media screen and (max-width: 760px) {
      .c-page-footer-links .c-page-footer-links__list .c-page-footer-links__item {
        margin-bottom: 24px;
        color: #5DC07C; }
        .c-page-footer-links .c-page-footer-links__list .c-page-footer-links__item .c-page-footer-links__link {
          display: block;
          border-radius: 10px;
          border: 2px solid;
          padding: 23px;
          padding-right: 56px;
          font-size: 12px;
          text-align: left;
          position: relative; } }
    @media screen and (max-width: 760px) and (max-width: 365px) {
      .c-page-footer-links .c-page-footer-links__list .c-page-footer-links__item .c-page-footer-links__link {
        padding-right: 35px; } }
    @media screen and (max-width: 760px) {
          .c-page-footer-links .c-page-footer-links__list .c-page-footer-links__item .c-page-footer-links__link::after {
            content: "＞";
            font-size: 1.4rem;
            height: 1em;
            line-height: 1;
            position: absolute;
            top: 0;
            right: 18px;
            bottom: 0;
            margin: auto 0; } }
      @media screen and (max-width: 760px) and (max-width: 365px) {
        .c-page-footer-links .c-page-footer-links__list .c-page-footer-links__item .c-page-footer-links__link::after {
          right: 10px; } }

.c-sub-kv {
  display: flex;
  margin-bottom: 120px; }
  @media screen and (max-width: 760px) {
    .c-sub-kv {
      flex-direction: column;
      margin-bottom: 30px; } }
  .c-sub-kv .c-sub-kv__illust {
    margin-right: 57px; }
    @media screen and (max-width: 760px) {
      .c-sub-kv .c-sub-kv__illust {
        max-width: 150px;
        margin: 0 auto; } }
  .c-sub-kv .c-sub-kv__text {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center; }
    .c-sub-kv .c-sub-kv__text .c-sub-kv__title {
      color: #5DC07C;
      font-size: 5.2rem;
      line-height: 1;
      letter-spacing: 0.31923em;
      margin-bottom: 2.6rem;
      margin-top: -1em;
      white-space: nowrap; }
      @media screen and (max-width: 760px) {
        .c-sub-kv .c-sub-kv__text .c-sub-kv__title {
          font-size: 2.4rem;
          line-height: 1.70833;
          margin-top: 0; } }
    .c-sub-kv .c-sub-kv__text .c-sub-kv__description {
      font-size: 1.4rem;
      line-height: 1.71429;
      letter-spacing: 0.32143em;
      color: #707070; }
      @media screen and (max-width: 760px) {
        .c-sub-kv .c-sub-kv__text .c-sub-kv__description {
          font-size: 1.6rem;
          line-height: 2;
          letter-spacing: .1em; } }

.c-section {
  border-top: 20px solid #F7F8F7;
  border-bottom: 20px solid #F7F8F7;
  padding-top: 130px;
  padding-bottom: 120px; }
  .c-section.is-bottom-none {
    border-bottom: 0; }
  .c-section .c-section__title {
    color: #5DC07C;
    font-size: 3.4rem;
    letter-spacing: .18em;
    text-align: center;
    margin-bottom: 85px; }
    @media screen and (max-width: 760px) {
      .c-section .c-section__title {
        font-size: 2.4rem;
        margin-bottom: 75px; } }



.lab-taisetsu {
  display: flex;
  flex-wrap: wrap;
  margin-left: -25px;
  margin-right: -25px; }
  .lab-taisetsu.is-reverse {
    flex-direction: row-reverse; }
  .lab-taisetsu .lab-taisetsu__image {
    flex: 0 0 auto;
    width: calc((100% - 3 * 50px) / 3);
    margin-left: 25px;
    margin-right: 25px; }
    @media screen and (max-width: 760px) {
      .lab-taisetsu .lab-taisetsu__image {
        flex: 0 0 auto;
        width: calc((100% - 1 * 50px) / 1);
        margin-left: 25px;
        margin-right: 25px;
        text-align: center; }
        .lab-taisetsu .lab-taisetsu__image > img {
          width: 80%; } }
  .lab-taisetsu .lab-taisetsu__content {
    flex: 0 0 auto;
    width: calc((100% - 1.5 * 50px) / 1.5);
    margin-left: 25px;
    margin-right: 25px; }
    @media screen and (max-width: 760px) {
      .lab-taisetsu .lab-taisetsu__content {
        flex: 0 0 auto;
        width: calc((100% - 1 * 50px) / 1);
        margin-left: 25px;
        margin-right: 25px; } }
    .lab-taisetsu .lab-taisetsu__content .lab-taisetsu__list {
      list-style-type: none; }
      @media screen and (max-width: 760px) {
        .lab-taisetsu .lab-taisetsu__content .lab-taisetsu__list {
          text-align: center;
          margin-left: -30px;
          margin-right: -30px; } }
      .lab-taisetsu .lab-taisetsu__content .lab-taisetsu__list .lab-taisetsu__item {
        font-size: 1.8rem;
        line-height: 2.11111;
        letter-spacing: .38em;
        margin-left: 1em;
        text-indent: -1em; }
        @media screen and (max-width: 760px) {
          .lab-taisetsu .lab-taisetsu__content .lab-taisetsu__list .lab-taisetsu__item {
            font-size: 1.4rem;
            letter-spacing: .1em;
            line-height: 2.5;
            margin-left: 0;
            text-indent: 0; } }
        .lab-taisetsu .lab-taisetsu__content .lab-taisetsu__list .lab-taisetsu__item::before {
          content: "・"; }

.lab-profile .lab-profile__portrait {
  max-width: 274px;
  margin: 0 auto 40px; }

.lab-profile .lab-profile__title {
  font-size: 2.4rem;
  line-height: 1.41667;
  text-align: center;
  margin-bottom: 40px; }

.lab-profile .lab-profile__content {
  max-width: 534px;
  margin: 0 auto 51px;
  line-height: 2; }
  @media screen and (max-width: 760px) {
    .lab-profile .lab-profile__content {
      padding-left: 30px;
      padding-right: 30px; } }
  @media screen and (max-width: 760px) {
    .lab-profile .lab-profile__content {
      padding-left: 10px;
      padding-right: 10px; } }
  .lab-profile .lab-profile__content > p {
    margin-bottom: 2em; }

.lab-profile-info {
  border: 4px solid #5DC07C;
  border-radius: 30px;
  display: flex;
  padding: 60px;
  flex-wrap: wrap; }
  @media screen and (max-width: 760px) {
    .lab-profile-info {
      flex-direction: column;
      padding: 30px; } }
  @media screen and (min-width: 761px) {
    .lab-profile-info .lab-profile-info__group {
      flex: 1 1 auto;
      width: 50%;
      display: flex;
      flex-direction: column; }
      .lab-profile-info .lab-profile-info__group:first-child {
        border-right: 2px solid #5DC07C;
        padding-right: 53px; }
      .lab-profile-info .lab-profile-info__group:last-child {
        padding-left: 53px; } }
  @media screen and (max-width: 760px) {
    .lab-profile-info .lab-profile-info__group .lab-profile-info__section {
      padding-bottom: 22px;
      margin-bottom: 38px;
      border-bottom: 1px solid #707070; }
      .lab-profile-info .lab-profile-info__group .lab-profile-info__section.is-no-border {
        border-bottom: 0;
        padding-bottom: 0;
        margin-bottom: 0; } }
  .lab-profile-info .lab-profile-info__group .lab-profile-info__section + .lab-profile-info__section {
    padding-top: 50px; }
    @media screen and (max-width: 760px) {
      .lab-profile-info .lab-profile-info__group .lab-profile-info__section + .lab-profile-info__section {
        padding-top: 0px; } }
  .lab-profile-info .lab-profile-info__group .lab-profile-info__section .lab-profile-info__title {
    font-size: 2.2rem;
    margin-bottom: 39px; }
    @media screen and (max-width: 760px) {
      .lab-profile-info .lab-profile-info__group .lab-profile-info__section .lab-profile-info__title {
        font-size: 2rem;
        text-align: center;
        letter-spacing: .32em; } }
  .lab-profile-info .lab-profile-info__group .lab-profile-info__section .lab-profile-info__content {
    font-size: 1.4rem; }
    @media screen and (max-width: 760px) {
      .lab-profile-info .lab-profile-info__group .lab-profile-info__section .lab-profile-info__content .lab-profile-info__content-hidden {
        overflow: hidden;
        height: 0; }
        .lab-profile-info .lab-profile-info__group .lab-profile-info__section .lab-profile-info__content .lab-profile-info__content-hidden.is-shown {
          height: auto; } }
    .lab-profile-info .lab-profile-info__group .lab-profile-info__section .lab-profile-info__content .lab-profile-info__show-button {
      text-align: center;
      padding-top: 1em; }
      .lab-profile-info .lab-profile-info__group .lab-profile-info__section .lab-profile-info__content .lab-profile-info__show-button.is-hidden {
        display: none; }
      @media screen and (min-width: 761px) {
        .lab-profile-info .lab-profile-info__group .lab-profile-info__section .lab-profile-info__content .lab-profile-info__show-button {
          display: none; } }

.lab-researches {
  display: flex;
  flex-wrap: wrap;
  margin-left: -18px;
  margin-right: -18px; }
  .lab-researches.is-reverse {
    flex-direction: row-reverse; }
  .lab-researches .lab-researches__item {
    border: 4px solid #5DC07C;
    border-radius: 30px;
    padding: 60px;
    flex: 0 0 auto;
    width: calc((100% - 2 * 36px) / 2);
    margin-left: 18px;
    margin-right: 18px; }
    @media screen and (max-width: 760px) {
      .lab-researches .lab-researches__item {
        padding: 30px;
        flex: 0 0 auto;
        width: calc((100% - 1 * 36px) / 1);
        margin-left: 18px;
        margin-right: 18px;
        margin-bottom: 30px; } }
    .lab-researches .lab-researches__item .lab-researches__icon {
      text-align: center;
      margin-bottom: 20px; }
      .lab-researches .lab-researches__item .lab-researches__icon img {
        max-height: 241px; }
        @media screen and (max-width: 760px) {
          .lab-researches .lab-researches__item .lab-researches__icon img {
            max-height: 151px; } }
    .lab-researches .lab-researches__item .lab-researches__title {
      font-size: 3.2rem;
      text-align: center;
      margin-bottom: 67px; }
      .lab-researches .lab-researches__item .lab-researches__title::before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - 2) * .5em);
        content: ""; }
      .lab-researches .lab-researches__item .lab-researches__title::after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - 2) * .5em);
        content: ""; }
      @media screen and (max-width: 760px) {
        .lab-researches .lab-researches__item .lab-researches__title {
          font-size: 2.4rem;
          margin-bottom: 40px; } }
    .lab-researches .lab-researches__item .lab-researches__content .lab-researches__sub-title {
      color: #5DC07C;
      font-size: 2.3rem;
      line-height: 1.47826;
      margin-bottom: 27px; }
      .lab-researches .lab-researches__item .lab-researches__content .lab-researches__sub-title::before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - 1.47826) * .5em);
        content: ""; }
      .lab-researches .lab-researches__item .lab-researches__content .lab-researches__sub-title::after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - 1.47826) * .5em);
        content: ""; }
      @media screen and (max-width: 760px) {
        .lab-researches .lab-researches__item .lab-researches__content .lab-researches__sub-title {
          text-align: center;
          font-size: 5.86667vw;
          line-height: 1.45455;
          margin-bottom: 19px;
          letter-spacing: .2em; }
          .lab-researches .lab-researches__item .lab-researches__content .lab-researches__sub-title::before {
            display: block;
            width: 0;
            height: 0;
            margin-top: calc((1 - 1.45455) * .5em);
            content: ""; }
          .lab-researches .lab-researches__item .lab-researches__content .lab-researches__sub-title::after {
            display: block;
            width: 0;
            height: 0;
            margin-bottom: calc((1 - 1.45455) * .5em);
            content: ""; } }
      @media screen and (max-width: 365px) {
        .lab-researches .lab-researches__item .lab-researches__content .lab-researches__sub-title {
          letter-spacing: .1em; } }
      .lab-researches .lab-researches__item .lab-researches__content .lab-researches__sub-title .lab-researches__sub-title-small {
        font-size: 1.7rem; }
        @media screen and (max-width: 760px) {
          .lab-researches .lab-researches__item .lab-researches__content .lab-researches__sub-title .lab-researches__sub-title-small {
            font-size: 1.6rem; } }
    .lab-researches .lab-researches__item .lab-researches__content .lab-researches__description {
      font-size: 1.8rem;
      line-height: 1.77778;
      margin-bottom: 49px; }
      .lab-researches .lab-researches__item .lab-researches__content .lab-researches__description::before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - 1.77778) * .5em);
        content: ""; }
      .lab-researches .lab-researches__item .lab-researches__content .lab-researches__description::after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - 1.77778) * .5em);
        content: ""; }
      @media screen and (max-width: 760px) {
        .lab-researches .lab-researches__item .lab-researches__content .lab-researches__description {
          font-size: 1.4rem;
          line-height: 1.92857; } }
      .lab-researches .lab-researches__item .lab-researches__content .lab-researches__description:last-child {
        margin-bottom: 0px; }

.lab-class-header {
  display: flex;
  flex-wrap: wrap;
  margin-left: -30px;
  margin-right: -30px;
  align-items: center; }
  .lab-class-header.is-reverse {
    flex-direction: row-reverse; }
  .lab-class-header .lab-class-header__image {
    flex: 0 0 auto;
    width: calc((100% - 2.4 * 60px) / 2.4);
    margin-left: 30px;
    margin-right: 30px; }
    @media screen and (max-width: 760px) {
      .lab-class-header .lab-class-header__image {
        flex: 0 0 auto;
        width: calc((100% - 1 * 60px) / 1);
        margin-left: 30px;
        margin-right: 30px;
        text-align: center; }
        .lab-class-header .lab-class-header__image img {
          max-width: 253px; } }
  .lab-class-header .lab-class-header__content {
    flex: 0 0 auto;
    width: calc((100% - 1.71429 * 60px) / 1.71429);
    margin-left: 30px;
    margin-right: 30px; }
    @media screen and (max-width: 760px) {
      .lab-class-header .lab-class-header__content {
        flex: 0 0 auto;
        width: calc((100% - 1 * 60px) / 1);
        margin-left: 30px;
        margin-right: 30px; } }
    .lab-class-header .lab-class-header__content .lab-class-header__title {
      font-size: 2.5rem;
      text-align: center;
      margin-bottom: 20px; }
      @media screen and (max-width: 760px) {
        .lab-class-header .lab-class-header__content .lab-class-header__title {
          font-size: 2.4rem;
          line-height: 1.41667;
          letter-spacing: .32em;
          margin-bottom: 45px; } }
    .lab-class-header .lab-class-header__content .lab-class-header__desc {
      line-height: 2; }

.lab-class-title {
  font-size: 2.1rem;
  margin-bottom: 57px;
  text-align: center; }
  @media screen and (max-width: 760px) {
    .lab-class-title {
      font-size: 1.8rem;
      letter-spacing: .32em;
      margin-bottom: 39px; } }
  .lab-class-title .lab-class-title-small {
    font-size: 1.4rem; }

.lab-class-items {
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
  margin-bottom: 80px; }
  .lab-class-items.is-reverse {
    flex-direction: row-reverse; }
  @media screen and (max-width: 760px) {
    .lab-class-items {
      display: flex;
      flex-wrap: wrap;
      margin-left: -8.5px;
      margin-right: -8.5px;
      margin-bottom: 53px; }
      .lab-class-items.is-reverse {
        flex-direction: row-reverse; } }
  .lab-class-items .lab-class-items__item {
    flex: 0 0 auto;
    width: calc((100% - 3 * 20px) / 3);
    margin-left: 10px;
    margin-right: 10px;
    border: 4px solid #5DC07C;
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    flex-wrap: wrap;
    height: 60px;
    margin-bottom: 20px; }
    @media screen and (max-width: 760px) {
      .lab-class-items .lab-class-items__item {
        flex: 0 0 auto;
        width: calc((100% - 2 * 17px) / 2);
        margin-left: 8.5px;
        margin-right: 8.5px;
        border-radius: 15px;
        height: 120px; } }
    @media screen and (max-width: 365px) {
      .lab-class-items .lab-class-items__item {
        font-size: 1.3rem; } }
    .lab-class-items .lab-class-items__item .lab-class-items__item-main {
      display: block;
      line-height: 1; }
      @media screen and (max-width: 760px) {
        .lab-class-items .lab-class-items__item .lab-class-items__item-main {
          margin: 9px 0 0; } }
    .lab-class-items .lab-class-items__item .lab-class-items__item-sub {
      display: block;
      font-size: 1rem;
      line-height: 1;
      margin: -12px 0 0; }
      @media screen and (max-width: 760px) {
        .lab-class-items .lab-class-items__item .lab-class-items__item-sub {
          font-size: 1.2rem;
          line-height: 1.2;
          margin: -36px 0 0; } }

.lab-clinic {
  display: flex;
  flex-wrap: wrap;
  margin-left: -30px;
  margin-right: -30px;
  align-items: center;
  margin-bottom: 55px; }
  .lab-clinic.is-reverse {
    flex-direction: row-reverse; }
  .lab-clinic .lab-clinic__image {
    flex: 0 0 auto;
    width: calc((100% - 2 * 60px) / 2);
    margin-left: 30px;
    margin-right: 30px; }
    @media screen and (max-width: 760px) {
      .lab-clinic .lab-clinic__image {
        flex: 0 0 auto;
        width: calc((100% - 1 * 60px) / 1);
        margin-left: 30px;
        margin-right: 30px; } }
  .lab-clinic .lab-clinic__content {
    flex: 0 0 auto;
    width: calc((100% - 2 * 60px) / 2);
    margin-left: 30px;
    margin-right: 30px;
    line-height: 2; }
    @media screen and (max-width: 760px) {
      .lab-clinic .lab-clinic__content {
        flex: 0 0 auto;
        width: calc((100% - 1 * 60px) / 1);
        margin-left: 30px;
        margin-right: 30px; } }

.lab-clinic-title {
  font-size: 2.5rem;
  letter-spacing: .32em;
  line-height: 1.32;
  text-align: center;
  margin-bottom: 25px; }
  @media screen and (max-width: 760px) {
    .lab-clinic-title {
      font-size: 2.4rem;
      line-height: 1.41667; } }

.lab-clinic-desc {
  line-height: 2; }


/* ===== lab page layout fix ===== */
/* page.phpのh1タグを非表示 */
.page-content > h1 {
  display: none !important;
}
/* page-content幅制限を解除 */
.page-content {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box;
}
/* c-content-column でセンタリング */
.c-content-column {
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* c-sub-kv__illust の幅を設定 */
.c-sub-kv .c-sub-kv__illust {
  flex: 0 0 auto;
}
.c-sub-kv .c-sub-kv__illust img {
  width: auto;
  max-width: 100%;
  height: auto;
}
/* c-sub-kv__title: 1行表示 */
.c-sub-kv .c-sub-kv__text .c-sub-kv__title {
  white-space: nowrap !important;
  font-size: 42px !important;
  letter-spacing: 0.32em !important;
  line-height: 1 !important;
  margin-top: 0 !important;
  margin-bottom: 26px !important;
}

/* ===== セクションタイトルの下線を除去（post-content h2スタイルを上書き） ===== */
.c-section .c-section__title {
  font-size: 34px !important;
  letter-spacing: 0.18em !important;
  text-align: center !important;
  color: #5DC07C !important;
  border: none !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 85px !important;
  background: none !important;
}

/* ===== 大切にしていること 箇条書き: 本番と同じ18px ===== */
.lab-taisetsu .lab-taisetsu__content .lab-taisetsu__list .lab-taisetsu__item {
  font-size: 18px !important;
  letter-spacing: 0.38em !important;
  line-height: 2.11111 !important;
}

/* ===== プロフィール情報（経歴・受賞等） ===== */
.lab-profile-info .lab-profile-info__group .lab-profile-info__section .lab-profile-info__title {
  font-size: 22px !important;
  letter-spacing: 0.18em !important;
  border: none !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
.lab-profile-info .lab-profile-info__group .lab-profile-info__section .lab-profile-info__content {
  font-size: 14px !important;
}

/* ===== 研究内容: 本番値に修正 ===== */
.lab-researches .lab-researches__item .lab-researches__title {
  font-size: 32px !important;
  border: none !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
.lab-researches .lab-researches__item .lab-researches__content .lab-researches__sub-title {
  font-size: 23px !important;
  border: none !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
.lab-researches .lab-researches__item .lab-researches__content .lab-researches__description {
  font-size: 18px !important;
}

/* ===== 授業 ===== */
/* 授業セクションタイトルの下線除去 */
.lab-class-header .lab-class-header__content .lab-class-header__title {
  font-size: 25px !important;
  border: none !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
.lab-class-title {
  font-size: 21px !important;
  border: none !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
/* 授業項目: はみ出し防止 */
.lab-class-items .lab-class-items__item {
  font-size: 16px !important;
  word-break: break-all !important;
  overflow-wrap: break-word !important;
  height: auto !important;
  min-height: 60px !important;
  padding: 8px 4px !important;
}
.lab-class-items .lab-class-items__item .lab-class-items__item-main {
  font-size: inherit !important;
  white-space: normal !important;
  word-break: break-all !important;
  line-height: 1.4 !important;
}

/* ===== 臨床 ===== */
.lab-clinic-title {
  font-size: 25px !important;
  border: none !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
.lab-clinic-desc {
  font-size: 16px !important;
}

/* ===== h2要素全般の下線を除去（post-content h2スタイルの影響を排除） ===== */
.page-content h2,
.post-content h2 {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
