@charset "utf-8";
:root {

	--primary-color: #82BB38;
	--secondary-color: #eee;
	--accent-color: #FF112D;
	--white-color: #fff;
	--black-color: #111;
	--gray-color: #333;

	/*余白の一括管理用*/
	/* --content-space: 2rem; */

	--primary-font-family: "Noto Sans JP", sans-serif;
	--secondary-font-family: "Bookman Old Style", "Noto Serif JP", serif;
}

body * {
  /* ここないと下層真っ暗 */
  opacity: 1 !important;
}

.g-nav-openbtn.active span:nth-of-type(2) {
	opacity: 0 !important;
}

/*hoverしたら表示*/
nav li.has-child:hover > ul,
nav li.has-child ul li:hover > ul,
nav li.has-child:active > ul,
nav li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1 !important;
}

.inner {
  padding: 20px;
}

@media screen and (min-width: 768px) {
  .inner {
  max-width: 1150px;
  padding-right: 25px;
  padding-left: 25px;
  margin: 0 auto;
}
}

.common-header {
  margin-top: 80px;
  margin-bottom: 24px;
  padding: 24px 0;
  background: var(--gray-color);
  text-align: center;
}

.common-header__title {
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
.media {
  margin-top: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
}
}

.common-page-h2 {
  position: relative;
  padding: 0.25em 0;
}
.common-page-h2::after {
  content: "";
  display: block;
  height: 6px;
  background: -webkit-linear-gradient(to right, #82BB38, transparent);
  background: linear-gradient(to right, #82BB38, transparent);
}

.common-page-h3 {
  color: var(--primary-color);
  font-family: var(--secondary-font-family);
  margin-top: 24px;
}

.common-page-h4 {
  margin-top: 24px;
  padding: 0 0.5em;/*上下 左右の余白*/
  background: transparent;/*背景透明に*/
  border-left: solid 2px var(--primary-color);/*左線*/
}

.coming-soon {
  font-family: var(--secondary-font-family);
  font-size: 20px;
}

/* staff */
/* 共通の見た目（テーブル全体に線を揃える） */
.about-profile__table-head,
.about-profile__table-school,
.about-profile__table-career {
  width: 100%;
  border-collapse: collapse; /* ← 余分な線のズレ防止 */
  margin: 1rem auto 0;
  table-layout: fixed;
  letter-spacing: 0.03em;
  text-align: left;
}

/* テーブル内の行線 */
.about-profile__table-head tr,
.about-profile__table-school tr,
.about-profile__table-career tr {
  border-bottom: 1px solid var(--white-color);
}

/* セルのpadding */
.about-profile__table-head th,
.about-profile__table-school th,
.about-profile__table-career th,
.about-profile__table-school td,
.about-profile__table-career td {
  padding: 0.625rem;
  line-height: 1.5;
}

/* 見出しセルだけ背景グレー */
.about-profile__table-school th,
.about-profile__table-career th {
  background: var(--gray-color);
  font-size: 1.125rem;
  text-align: center;
}

.about-profile__table-career td {
  padding: 0.5rem;
  text-align: left;
}

.border-right {
  border-right:1px solid var(--white-color);
}

.about-profile__text {
  margin-top: 1rem;
}

@media screen and (min-width: 768px) {
  .about-profile__img {
    min-width: 20rem;
    max-width: 20rem;
  }
}
.about-profile__img {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .about-message__img,
  .about-conditioning__text,
  .about-profile__img,
  .about-profile__content {
    margin-top: 2rem;
  }
}

/* contact */
.contact-page-text {
  padding-top: 24px;
}

/* about */
#team .about-h2 {
  margin-bottom: 0;
}

.about-list {
  list-style: disc;       /* 丸の箇条書き */
  padding-left: 2em;    /* インデントを適度に付ける */
  margin: 1.5em 0;          /* 上下に余白 */
}
