@charset "utf-8";

/* スタイルシート
作成者：Hirama Inc.
作成日：R4.12.23
-------------------------------------------------------------------------------------*/

.custom {}

.custom #main {}

.custom #main .column__inner {
 width: 100%;
 margin: 0 auto;
}
@media (min-width: 1051px) {
 .custom #main .column__inner {
  max-width: 1000px;
 }
}
@media (max-width: 1050px) {
 .custom #main .column__inner {
  padding-right: 2rem;
  padding-left: 2rem;
 }
}

.custom #main {}

.custom #main .block {}

.coaches{
  --em:#D93035; 
		--ink:#3b2f26; 
		--muted:#6b5a4d; 
		--gold:#cfb287; 
		--gold-light:#D3B489;
  /*background: #f8f4ec;*/
		--ph: 120px;
  /*padding: clamp(24px,4vw,48px) 0 0;*/
  padding: 0 0;
}

@media (max-width:700px){
  .coaches{ --ph: 96px; }
}


.coaches__ttl{
  text-align: center;
  margin: 0 0 clamp(18px,3vw,28px);
}

.coaches__bg {}
@media (min-width:701px) {
  .coaches__bg {
		  /*background-color: #f8f4ec;*/
			 padding: 4rem 0;
    background-size: cover;
    background-position: top left;
    background-repeat: repeat-x;
    /* フォールバック */
    background-image: url('../images/certified_coach_bg.jpg');
    /* WebP優先（1xだけ） */
    background-image: -webkit-image-set(
      url('../images/certified_coach_bg.webp') type('image/webp') 1x,
      url('../images/certified_coach_bg.jpg')  type('image/jpeg') 1x
    );
    background-image: image-set(
      url('../images/certified_coach_bg.webp') type('image/webp') 1x,
      url('../images/certified_coach_bg.jpg')  type('image/jpeg') 1x
    );
  }
}
@media (max-width:700px) {
  .coaches__bg {
			 padding: 3rem 0;
    background-size: cover;
    background-position: top right;
    background-repeat: repeat-x;
    /* フォールバック */
    background-image: url('../images/certified_coach_bg.jpg');
    /* WebP優先（1xだけ） */
    background-image: -webkit-image-set(
      url('../images/certified_coach_bg.webp') type('image/webp') 1x,
      url('../images/certified_coach_bg.jpg')  type('image/jpeg') 1x
    );
    background-image: image-set(
      url('../images/certified_coach_bg.webp') type('image/webp') 1x,
      url('../images/certified_coach_bg.jpg')  type('image/jpeg') 1x
    );
  }
}

/* 2列（SP1列） */
.coach-grid{
  display: grid;
  gap: clamp(16px,2.4vw,24px);
}
@media (min-width:551px){
  .coach-grid{ grid-template-columns: 1fr 1fr; }
}

/* カード */
.coach-card{
  /*border: 1px solid var(--gold-light);*/
  background: #fff;
}
.coach-card__inner{
  padding: clamp(16px,2.6vw,24px);
  background:
    linear-gradient(#CEC08E,#CEC08E) 0 0/100% 6px no-repeat; /* 上ライン風（任意） */
  text-align: left;
}

/* ヘッダー：左テキスト／右写真（1行グリッドで“縦中央”を保証） */
.coach-card__head{
  display: grid;
  grid-template-columns: 1fr var(--ph);   /* 左=テキスト／右=写真幅固定 */
  align-items: center;                    /* ← 行内の縦中央 */
  justify-items: start;                   /* 左側は常に左寄せ */
  column-gap: clamp(12px,2vw,20px);
  min-height: var(--ph);                  /* ← 行高を写真径以上にしてズレ防止 */
}
.coach-card__meta{
  text-align: left;
  align-self: center;                     /* ← 念のためテキスト塊も縦中央 */
}

/* 左側テキスト */
.coach-card__en{
  color: var(--em);
  letter-spacing: .18em;
  font-size: .75rem;
  margin: 0 0 .2rem;
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  font-style: normal;
  text-transform: uppercase;
  text-align: left;
}
.coach-card__jp{
  font-size: clamp(1.4rem,2.5vw,1.6rem);
  margin: 0;
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.08em;
  text-align: left;
}
.coach-card__role{
  color: #999999;
  margin: .35rem 0 0;
  font-size: .85rem;
  text-align: left;
		line-height: 1.5;
		letter-spacing: 0.01em;
}

/* 右側写真（常に右列・正円） */
.coach-card__thumb{
  grid-column: 2 / 3;                     /* 右カラム固定 */
  /*grid-row: 1 / span 3; ← 使わない！1行グリッドで中央揃えするため削除 */
  grid-row: 1;                             /* 自動でも可（auto） */
  justify-self: end;                       /* 右端に寄せる */
  width: var(--ph);
  height: var(--ph);
  align-self: center;                      /* 画像ブロックも縦中央 */
}
.coach-card__thumb img,
.coach-card__thumb .noimg{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  display: block;
  background: #eee;
}

/* 本文 */
.coach-card__body{
  color: var(--ink);
  line-height: 2;
  margin-top: clamp(12px,1.8vw,16px);
  text-align: left;
}
.coach-card__body p{ font-size: .9rem; }

/* 以前の 481–550px の Flex 切替は不要なので削除してください */


/* 481–550px：テキスト＋写真を横中央＆縦中央／テキストは左揃えのまま */
@media (min-width:481px) and (max-width:550px){

  /* 写真の固定径（必要なら数値調整） */
  .coaches{ --ph: 110px; }

  /* ヘッダーを Grid → Flex に切替してセンタリングを安定化 */
  .coach-card__head{
    display: flex;                 /* ← ここで上書き */
    justify-content:space-between;/* セット全体を横中央 */
    align-items: center;           /* アイテムを縦中央 */
    gap: 16px;
    min-height: var(--ph);         /* 行高を写真径以上にして縦中央を確実に */
  }

  /* 左：テキスト塊は内容幅に。左揃えのまま＆縦中央 */
  .coach-card__meta{
    flex: 0 0 auto;                /* 伸びない＝内容幅 */
    display: flex;
    flex-direction: column;
    justify-content: center;       /* テキスト群を縦中央 */
    text-align: left;
  }
  .coach-card__en,
  .coach-card__jp,
  .coach-card__role{ text-align:left; }

  /* 右：写真は固定幅で右側に */
  .coach-card__thumb{
    flex: 0 0 var(--ph);
    width: var(--ph);
    height: var(--ph);
    margin-left: 16px;             /* テキストとの間隔（任意） */
    align-self: center;            /* 念のため */
  }
  .coach-card__thumb img,
  .coach-card__thumb .noimg{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    display: block;
  }
}

