/* ============================================================
   ** 全体のルート要素 **
   ============================================================ */
html {
  scroll-behavior: smooth;
}
body {
  font-family: Arial, sans-serif;
  line-height: 1.6;
  margin: 0;
  padding: 0;
  background-color: #f8f9fa; /* 背景色 */
}

/* ============================================================
   ** ヘッダーセクション **
   ============================================================ */
header {
  background-color: #DEF3FF; /* ヘッダー背景色 */
  color: #292929; /* ヘッダー文字色 */
  padding: 20px;
  text-align: center;
  color: #0D67BF;
  text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
}

/* ============================================================
   ** メインコンテンツセクション **
   ============================================================ */
main {
  padding: 20px;
}

/* ============================================================
   ** フッターセクション **
   ============================================================ */
footer {
  text-align: center;
  padding: 10px;
  background-color: #DEF3FF; /* フッター背景色 */
  color: #292929;
}

/* ============================================================
   ** セクション全体のスタイル **
   ============================================================ */
.section {
  padding: 20px;
  margin-bottom: 30px; /* セクション間に余白を追加 */
  background-color: #ffffff; /* 明るい背景色を明示 */
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 軽い影を追加 */
}

.section-wrapper {
  width: 80%;
  margin: 0 auto; /* セクション全体を中央に配置 */
  padding: 20px;
  box-sizing: border-box; /* パディング含む幅調整 */
}

.section-title {
  font-size: 24px;
  text-align: left;
  margin-bottom: 20px;
  color: #333; /* タイトル文字色 */
}

/* ============================================================
   ** テキストのスタイル (タイトル/通知等) **
   ============================================================ */
h1{
  display: none;
}
h2 {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  color: #0D67BF; /* 重要な情報に目立つ色を使用 */
  border-bottom: 2px solid #0D67BF; /* タイトル下部にラインを追加 */
  margin-bottom: 15px;
}

h3 {
  font-size: 18px;
  text-decoration: underline;
  margin-bottom: 1rem;
  color: #333;
  margin-bottom: 20px;
}

h4 {
  font-weight: bold;
  margin-top: 0.5rem;
}

.notice {
  padding: 10px;
  background-color: #FFF0CC; /* 黄色背景 */
  margin-top: 15px;
  border-left: 5px solid #FDA503; /* 強調線を左側に追加 */
  color: #555;
  margin-bottom: 10px;
}
.word-red {
  color: red;
  font-weight: bold;
}

.line {
  text-decoration: underline;
  font-weight: 700;
}

.indent {
  text-indent: -1em;
  padding-left: 1em;
}

.ttl_care-tec {
  font-size: 24px;
  text-align: center;
  padding: 0.5em;
}

.snt_care-tec {
  padding: 2em 1em;
  margin: 0.5em 1em;
  background: #FFF;
  border: solid 3px #0D67BF;/*線*/
  border-radius: 10px;/*角の丸み*/
  
}

.indent{
  text-indent
}

.disc{
  padding-left: 40px;
}
.disc li{
  list-style: disc;
}
/* ============================================================
   ** リストとテーブルのスタイル **
   ============================================================ */
ul,
ol {
  padding-left: 40px;
}

ul {
  list-style-type: none; /* リストタイプなし */
  padding: 0;
}

ul li {
  margin-bottom: 0.5rem;
}

ol li {
  margin-bottom: 0.5rem;
}

.schedule-table {
  width: 100%;
  border-collapse: collapse;
}

.schedule-table th,
.schedule-table td {
  border: 1px solid #ddd; /* 表枠線 */
  padding: 0.8rem; /* 表内余白 */
}

.schedule-table th {
  background-color: #eaeaea; /* ヘッダー背景を薄い灰色に変更 */
  font-weight: bold;
  text-align: center;
  padding: 10px;
}


/* ============================================================
   ** ボタンのスタイル **
   ============================================================ */
.apply-button {
  display: inline-block;
  background-color: #018838;
  color: #ffffff;
  padding: 10px 20px;
  font-size: 16px;
  text-align: center;
  border: none;
  border-radius: 5px;
  margin: 20px auto;
  cursor: pointer;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* 軽い影を追加して立体感を強調 */
}

.apply-button:hover {
  background-color: #016c2e;
}
/* ============================================================
   ** アコーディオンのスタイル **
   ============================================================ */
.accordion {
  margin: 20px; /* アコーディオンセクションの余白を追加 */
}

.accordion-item {
  border: 1px solid #ddd; /* アコーディオン枠線 */
  border-radius: 5px;
  margin: 10px 0;
  width: 100%;
  background-color: #fff;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* 軽いシャドウ効果 */
}

.accordion-title {
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  cursor: pointer; /* クリック可能 */
  color: #333;
  text-align: left;
  background-color: #eaeaea; /* タイトル背景色 */
  border-bottom: 2px solid #ccc; /* 下線の設定 */
}

.accordion-content {
  display: none;
  padding: 0 15px 15px 15px;
  font-size: 16px;
  color: #555;
  line-height: 1.6; /* 行間の設定 */
}

.accordion-content ul {
  padding-inline-start: 40px;
}
.accordion-content ul li {
  list-style: disc;
}

.accordion-content p {
  padding-inline-start: 20px;
}

.accordion-item.open .accordion-content {
  display: block;
}

/* ============================================================
   ** 通知セクション **
   ============================================================ */
.notification {
  width: 100%;
  margin: 20px 0;
  padding: 20px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 5px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* 軽い影 */
}

.notification ul {
  list-style-type: none;
  padding: 0;
}

.notification ul li {
  margin-bottom: 10px; /* 通知リスト間の余白を設定 */
}

.notification p {
  padding-inline-start: 20px;
}

/* ============================================================
   ** お問い合わせセクション **
   ============================================================ */

.section-title {
  font-size: 24px;
  font-weight: bold;
  color: #0D67BF; /* 目立つ色 */
  text-align: left; /* セクションタイトルを左揃え */
  margin-bottom: 20px;
}

/* お問い合わせボックス全体 */
.contact-box {
  display: flex; /* Flexbox有効化 */
  gap: 20px; /* 各要素間に適度なスペース */
  justify-content: space-between; /* 子要素を均等配置 */
  align-items: flex-start; /* 子要素を上に揃える */
}

/* 左のカードを完全に削除 */
.card-left {
    display: none; /* 左の要素を非表示にする */
}

/* カード共通のスタイル（枠の復活） */
.card-middle,
.card-right {
    flex: 1; /* 全体の幅を均等にする */
    padding: 20px; /* カード内の余白 */
    border: 1px solid #ccc; /* 枠線を追加 */
    border-radius: 8px; /* 枠の角を少し丸くする */
    background-color: #fff; /* カード背景色を白に設定 */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* 軽い影を付ける */
}

/* タイトルスタイル */
.contact-title {
  font-size: 20px; /* カード内のタイトルを若干大きく */
  font-weight: bold;
  color: #222; /* 明るいダーク色で視認性を向上 */
  margin-bottom: 10px;
}

/* 情報テキストスタイル */
.contact-info {
  font-weight: bold;
  color: #444; /* コントラスト向上 */
}



/* モバイル対応 */
@media screen and (max-width: 768px) {
  .contact-box {
        flex-direction: column; /* 縦並びに変更 */
        gap: 10px;              /* 子要素間の間隔を調整 */
        align-items: center;    /* 中央寄せ */
    }

  .card-middle,
    .card-right {
        flex: none;             /* 均等サイズ解除 */
        width: 100%;            /* 横幅を100%に調整 */
        max-width: none;        /* 最大幅の制限を解除 */
    }

  .contact-title {
    font-size: 18px; /* モバイル時にタイトルを少し小さく */
    margin-bottom: 8px; /* 余白調整 */
  }

  .contact-info {
    font-size: 14px; /* モバイル向けに情報テキストサイズを縮小 */
    line-height: 1.5; /* 行間調整 */
  }
}

.training-section {
    font-family: Arial, sans-serif;
    margin: 20px;
}

.training-section h2 {
    font-size: 28px; /* 大きめのタイトル設定 */
    color: #333;
    margin-bottom: 20px;
    border-bottom: 2px solid #ccc; /* 視覚的な区切り線 */
    padding-bottom: 10px;
}

.training-section h3 {
    font-size: 20px;
    color: #555;
    margin-top: 15px;
    margin-bottom: 10px;
}

.training-section ul {
    padding-left: 20px; /* インデントを調整 */
    margin-bottom: 20px;
}

.training-section ul li {
    font-size: 16px;
    color: #444;
    margin-bottom: 5px;
}

/* 全体セクション */
.workshop-section {
    margin: 20px;
    font-family: Arial, sans-serif;
}

/* 各セクションのデザイン */
.workshop-item {
    margin-bottom: 30px;
    padding: 20px;
    border-radius: 8px;
    background-color: #f9f9f9; /* セクションに薄い背景色を追加 */
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); /* ボックスに影を追加 */
}

/* タイトルデザイン */
.workshop-item h2 {
    font-size: 20px;
    font-weight: bold;
    color: #018838; /* 緑色でタイトル強調 */
    margin-bottom: 15px;
    display: flex;
    align-items: center;
}

/* アイコン付きタイトル */
.workshop-item h2::before {
    content: "📌"; /* アイコンをタイトルに追加 */
    color: #018838;
    font-size: 24px;
    margin-right: 10px;
}



/* ============================================================
   ** モバイル用スタイル (レスポンシブ) **
   ============================================================ */
@media screen and (max-width: 768px) {
  .wrapper,
  .section-wrapper {
    width: 100%; /* モバイル時に幅を100%に設定 */
    padding: 15px; /* 内側余白を調整 */
  }

  .accordion-content {
    padding: 10px; /* アコーディオン内容を縮小 */
  }

  .apply-button {
    font-size: 14px; /* ボタン文字サイズ調整 */
    padding: 8px 15px; /* ボタン内側余白調整 */
  }
}


/* ボタン全般のスタイル */
.btn a {
  color:  #fff;
}

.btn:hover {
    opacity: 0.8;
}

.training-button-group {
    text-align: left; /* コンテンツを左揃えに */
}

.training-button-group h3 {
    font-size: 18px;
    margin-bottom: 10px;
    color: #333; /* タイトルを濃い色で表示 */
}

.training-button-group button {
    font-size: 16px;
    padding: 12px 20px;
    border-radius: 5px;
    border: none;
    cursor: pointer;
    margin-bottom: 5px;
    display: block;
    width: 100%;
    font-weight: bold;
    text-align: center;
    max-width: 300px; /* ボタンの幅を最大300pxに制限 */
}

/* アクティブなボタン（オレンジ色） */
.btn-basic {
    background-color: #FDA503; /* オレンジ色 */
    color: white; /* テキストカラーを白に */
}


/* 非アクティブなグレーボタン */
.btn-disabled {
    background-color: #e0e0e0; /* グレー色で非アクティブ感を出す */
    color: #888; /* テキストカラーを暗いグレーに */
    cursor: not-allowed; /* 非アクティブ状態のカーソル */
    font-weight: bold;
    border: none; /* ボーダーのないすっきりしたデザイン */
}

/* 注意書きスタイル */
.training-button-group .note {
    font-size: 12px;
    color: #666; /* 注意書きの文字色を薄いグレーに */
    margin-top: 5px;
}

.training-button-group button {
    
   } 


/* ============================================================
   ** パソコンとスマートフォンの画像出し分け**
   ============================================================ */
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}


/* ============================================================
   ** タイトル画像の調整**
   ============================================================ */
.ttl_img {
  padding: 0 10%;
}


/* ============================================================
   ** フライヤー画像の調整**
   ============================================================ */
.container {
  display: flex; /* 初期状態はflexで横並び */
  flex-wrap: wrap; /* 必要に応じて折り返し */
}

.cnt-pc15-sp100 {
  width: 15%; /* 初期状態は50%幅で2つ並ぶ */
}

.cnt-pc80-sp100 {
  width: 80%; /* 初期状態は50%幅で2つ並ぶ */
}

@media (max-width: 767px) { /* 例えば、767px以下の幅でスマホ表示 */
  .cnt-pc15-sp100 {
    width: 100%; /* スマホでは100%幅で縦1列 */
  }
  .cnt-pc80-sp100 {
    width: 100%; /* スマホでは100%幅で縦1列 */
  }
}
.flyer_link_txt{
  font-size: small;
}