@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* 青いヘッダー背景を #E96464 に変更 */
.wp-block-cover,
.swell-block-heading,
[style*="background-color:#2196f3"],
[style*="background-color: #2196f3"],
[style*="background-color:#1976d2"],
[style*="background-color: #1976d2"] {
    background-color: #E96464 !important;
}

.page-id-110 .wp-block-cover {
    background-color: #E96464 !important;
}

.post_content h2.has-background {
    background: #E96464 !important;
}

.post_content h2.has-background {
    background-color: #E96464 !important;
    background-image: none !important;
    background: #E96464 !important;
}

/* カバーブロックの背景フラッシュ防止 */
.wp-block-cover__background.has-black-background-color {
  background-color: #000 !important;
}

span.wp-block-cover__background.has-black-background-color {
  background-color: #000 !important;
}

.wp-block-cover.u-mb-ctrl {
  background-color: transparent !important;
}

/* メディアテキストブロック下部の余白を縮める */
.swell-block-fullWide.pc-py-20.sp-py-20 {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
  min-height: unset !important;
}

/* =============================
   ページID:1709 タブ・ボタンスタイル
   ============================= */

/* 通常時：白背景・緑枠・黒テキスト（green_クラス除外） */
.page-id-1709 .swell-block-button:not(.green_) .swell-block-button__link {
    background-color: #ffffff !important;
    border-color: #62CE5F !important;
    color: #000000 !important;
    transition: all 0.25s !important;
}

/* ホバー時：緑背景・白テキスト */
.page-id-1709 .is-style-more_btn a.swell-block-button__link:hover,
.page-id-1709 .is-style-more_btn a.swell-block-button__link:focus,
.page-id-1709 .is-style-more_btn a.swell-block-button__link:active {
    background-color: #62CE5F !important;
    border-color: #62CE5F !important;
    box-shadow: 0 0 0 1px #62CE5F !important;
    color: #ffffff !important;
}

/* =============================
   ページID:1738 タブ・ボタン・見出しスタイル
   ============================= */

/* 通常時：白背景・オレンジ枠・黒テキスト */
.page-id-1738 .swell-block-button .swell-block-button__link {
    background-color: #ffffff !important;
    border-color: #F09F4D !important;
    color: #000000 !important;
    transition: all 0.25s !important;
}

/* ホバー時：オレンジ背景・白テキスト */
.page-id-1738 .is-style-more_btn a.swell-block-button__link:hover,
.page-id-1738 .is-style-more_btn a.swell-block-button__link:focus,
.page-id-1738 .is-style-more_btn a.swell-block-button__link:active {
    background-color: #F09F4D !important;
    border-color: #F09F4D !important;
    box-shadow: 0 0 0 1px #F09F4D !important;
    color: #ffffff !important;
}

/* 見出し背景をオレンジに */
.page-id-1738 .post_content h2.has-background,
.page-id-1738 .has-swl-deep-04-background-color {
    background-color: #F09F4D !important;
    background-image: none !important;
    background: #F09F4D !important;
}

/* ページID:1738 見出し線をオレンジに */
.page-id-1738 .wp-block-cover.u-mb-ctrl,
.page-id-1738 .wp-block-cover {
    background-color: #F09F4D !important;
}

.page-id-1738 .post_content {
    --color_htag: #F09F4D !important;
}

/* ページID:1738 ボーダーカラーをオレンジに */
.page-id-1738 .has-border.-border01 {
    --border01: #F09F4D !important;
    border-color: #F09F4D !important;
}

/* =============================
   ページID:1741 タブ・ボタンスタイル
   ============================= */

/* 通常時：白背景・オレンジ枠・黒テキスト */
.page-id-1741 .swell-block-button .swell-block-button__link {
    background-color: #ffffff !important;
    border-color: #F09F4D !important;
    color: #000000 !important;
    transition: all 0.25s !important;
}

/* ホバー時：オレンジ背景・白テキスト */
.page-id-1741 .is-style-more_btn a.swell-block-button__link:hover,
.page-id-1741 .is-style-more_btn a.swell-block-button__link:focus,
.page-id-1741 .is-style-more_btn a.swell-block-button__link:active {
    background-color: #F09F4D !important;
    border-color: #F09F4D !important;
    box-shadow: 0 0 0 1px #F09F4D !important;
    color: #ffffff !important;
}

/* ページID:1741 見出し・背景をオレンジに */
.page-id-1741 .post_content {
    --color_htag: #F09F4D !important;
}

.page-id-1741 .post_content h2.has-background,
.page-id-1741 .has-swl-deep-04-background-color {
    background-color: #F09F4D !important;
    background-image: none !important;
    background: #F09F4D !important;
}

/* ページID:1741 カバー背景・ボーダーをオレンジに */
.page-id-1741 .wp-block-cover,
.page-id-1741 .wp-block-cover.u-mb-ctrl {
    background-color: #F09F4D !important;
}

.page-id-1741 .has-border.-border01 {
    --border01: #F09F4D !important;
    border-color: #F09F4D !important;
}

/* page-id-108 ボタンホバー時青 */
.page-id-108 .is-style-more_btn a.swell-block-button__link:hover,
.page-id-108 .is-style-more_btn a.swell-block-button__link:focus,
.page-id-108 .is-style-more_btn a.swell-block-button__link:active {
    background-color: #3D79D5 !important;
    border-color: #3D79D5 !important;
    box-shadow: 0 0 0 1px #3D79D5 !important;
    color: #ffffff !important;
}

/* page-id-239 ボタンホバー時青 */
.page-id-239 .is-style-more_btn a.swell-block-button__link:hover,
.page-id-239 .is-style-more_btn a.swell-block-button__link:focus,
.page-id-239 .is-style-more_btn a.swell-block-button__link:active {
    background-color: #3D79D5 !important;
    border-color: #3D79D5 !important;
    box-shadow: 0 0 0 1px #3D79D5 !important;
    color: #ffffff !important;
}

/* page-id-247 ボタンホバー時青 */
.page-id-247 .is-style-more_btn a.swell-block-button__link:hover,
.page-id-247 .is-style-more_btn a.swell-block-button__link:focus,
.page-id-247 .is-style-more_btn a.swell-block-button__link:active {
    background-color: #3D79D5 !important;
    border-color: #3D79D5 !important;
    box-shadow: 0 0 0 1px #3D79D5 !important;
    color: #ffffff !important;
}

/* 講師紹介グリッド */
.teacher-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

.teacher-card {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
}

.teacher-card .teacher-img-wrap {
  padding: 24px 24px 0 24px;
}

.teacher-card img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  border-radius: 4px;
}

.teacher-info {
  padding: 35px 20px 20px 20px;
}

.teacher-name {
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  margin-top: 0 !important;
  margin-bottom: 2px !important;
}

.teacher-role {
  color: #4a90d9;
  text-align: center;
  font-size: 0.95rem;
  margin-bottom: 12px;
}

.teacher-desc {
  font-size: 0.9rem;
  line-height: 1.7;
  color: #333;
}

@media (max-width: 768px) {
  .teacher-grid {
    grid-template-columns: 1fr;
  }
}