* {
   box-sizing: border-box;
}

body {
   margin: 0;
   padding: 0;
   font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial, sans-serif;
   background-color: #e6e6e6;
   color: #3d3d3d;
}
/* ------------header----------------- */

a {
   text-decoration: none;
   color: #4b4b4b;
}
/* ------------btn----------------- */
header .head_btn{
  background: #d60051 !important;
  padding: 8px 3px;
  margin: 0 auto;
  color: #fff !important;
  border-radius: 60px;
  width: 100% !important;
  min-width: 130px;
  text-align: center;
  display: block;
  letter-spacing: 2px;
}
header .head_btn:hover{ opacity: 0.6;}
header .head_btn a:before{ content:"> ";}
header .head_btn a{
  display: block;
  color: #fff;
  font-size: 12px;
}

/* ------------ メインビジュアルの調整（左右分割版） ------------ */
#mv {
   display: flex;
   justify-content: center;
   align-items: center; 
   min-height: 500px; 
   padding-top: 120px; 
   padding-bottom: 50px;
   background: url("../img/mv2026.jpg") center 20% / cover no-repeat;
}

/* 左右を並べるためのコンテナ */
.mv_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  gap: 40px; 
  margin-bottom: 50px; 
}

/* 左側（キャッチコピーエリア） */
.mv_left {
  flex: 1;
  text-align: left; 
  padding-left: 5%; /* ★左に余白を設けて、右に押し出します */
}
#mv h2 {
   display: inline-block; 
   margin: 0 0 20px 0;
   font-size: clamp(14px, 1.4vw, 22px);
   letter-spacing: 2px;
   font-weight: normal;
   color: #fff;
   background-color: #d60051;
   padding: 12px 20px 10px;
   filter: drop-shadow(1px 1px 5px rgba(0,0,0,0.5));
}
#mv .mv_left p {
  color: #fff;
  font-size: clamp(22px, 2vw, 36px);
  line-height: 1.6;
  font-weight: bold; 
  margin: 0;
  padding-bottom: 30px;
  filter: drop-shadow(0px 2px 5px rgba(0,0,0,0.8));
}

/* 右側（ロゴ・事業名エリア） */
.mv_right {
  flex: 1;
  text-align: center; 
  display: flex;
  flex-direction: column;
  align-items: center;
}
#mv img {
  width: 100%;
  max-width: 340px; 
  height: auto;
  margin-bottom: 5px;
  filter: drop-shadow(0px 2px 4px rgba(0,0,0,0.5));
}
#mv p.texts {
  color: #fff;
  font-size: clamp(12px, 1.0vw, 16px);
  line-height: 1.4;
  letter-spacing: 1px;
  margin: 0;
  filter: drop-shadow(0px 2px 4px rgba(0,0,0,0.8));
}
.jizen_moviebox{
  position: relative;
}
/* 再生ボタン */
.play_btn {
  position: absolute;
  top: 35%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50px;
  height: 50px;
  background: rgba(214, 0, 81, 0.9);
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

.play_btn::after {
  content: "";
  position: absolute;
  left:18px;
  top: 13px;
  border-style: solid;
  border-width: 12px 0 12px 18px;
  border-color: transparent transparent transparent #fff;
}

p.boshu{

    text-align: center;
    padding: 20px 0px 20px;
    border: 1px solid #ef427f;
    margin-bottom: 20px;
    color: #ef427f;
    font-size: 1.2rem;
}
/* ホバー */
.video_card:hover .play_btn {
  transform: translate(-50%, -50%) scale(1.1);
  background: #d60051;
}
/* スマホ用レスポンシブ（縦並びに変更） */
@media screen and (max-width: 959px) {
  #mv {
    padding-top: 80px;
    align-items: flex-start;
  }
  .mv_inner {
    flex-direction: column;
    text-align: center;
    gap: 30px;
  }
  .mv_left {
    text-align: center; 
    padding-left: 0; /* ★スマホ時は余白をリセットします */
  }
}

/* ------------ 2事業分岐エリア（アドバイザー＆コーディネーター） ------------ */
#dual_programs {
  padding: 0 0 60px 0; /* 上部のパディングをなくす */
  position: relative;
  z-index: 10; /* メインビジュアルより前面に出す */
}
.dual_programs_inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

/* 2カラムレイアウト（メインビジュアルに食い込ませる） */
.programs_columns {
  display: flex;
  gap: 30px;
  justify-content: space-between;
  margin-top: -100px; /* ★ここでメインビジュアルに食い込ませる */
  margin-bottom: 60px; /* 下の画像との余白 */
}
.program_col {
  flex: 1;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(0,0,0,0.12); /* 浮き出ているように影を少し強く */
  display: flex;
  flex-direction: column;
}

/* 各ヘッダー（事業名） */
.program_head {
  padding: 20px;
  text-align: center;
  color: #fff;
}
.advisor .program_head { background-color: #ef427f; }
.coordinator .program_head { background-color: #3b6ae2; }
.program_head h3 {
  margin: 0;
  font-size: clamp(16px, 1.5vw, 22px);
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 1px;
}
.program_head h3 span {
  font-size: clamp(11px, 1vw, 13px);
  font-weight: normal;
  display: block;
  margin-top: 5px;
}

/* コンテンツ部分 */
.program_body {
  padding: 30px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.program_body .sub_copy {
  font-size: clamp(16px, 1.4vw, 20px);
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}
.advisor .program_body .sub_copy { color: #ef427f; }
.coordinator .program_body .sub_copy { color: #3b6ae2; }
.program_body .desc {
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 30px;
  flex-grow: 1;
  color: #3d3d3d;
}

/* ボタン */
.btn_detail {
  display: block;
  text-align: center;
  padding: 15px;
  border-radius: 50px;
  color: #fff !important;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  transition: opacity 0.3s, box-shadow 0.3s;
}
.advisor .btn_detail {
  background-color: #ef427f;
  box-shadow: 0 4px 10px rgba(239, 66, 127, 0.3);
}
.coordinator .btn_detail {
  background-color: #3b6ae2;
  box-shadow: 0 4px 10px rgba(59, 106, 226, 0.3);
}
.btn_detail:hover {
  opacity: 0.8;
  box-shadow: none;
}

/* 目標図のスタイル（下に配置） */
.programs_strategy_img {
  text-align: center;
}
.programs_strategy_img img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.08); 
}

/* スマホ用レスポンシブ（縦並び） */
@media screen and (max-width: 959px) {
  .programs_columns {
    flex-direction: column;
    gap: 40px;
    margin-top: -60px; /* スマホ時は食い込みを少し浅くする */
  }
  .program_body {
    padding: 20px;
  }
}


p.mv_oubo{
  background: #d60051;
  border-radius: 8px;
  box-shadow: 0 5px 15px 0 rgba(0, 0, 0, .5);
  position: relative;
}
p.mv_oubo:hover{
  opacity: 0.8;
}
p.mv_oubo a{
  display: block;
  padding: 10px 0;
  color: #fff;
  font-size: clamp(14px,1.5vw,35px);
}
p.mv_oubo a:before {
    content: "> ";
}
.free{ position: absolute; right: -70px; top:-20px; width: 20%; }
@media screen and (max-width: 959px) {
  #mv div{width: 80%;}
  #mv h2 {padding: 12px;}
  #mv p{ margin: 0 0 30px; font-size:clamp(16px,2vw,20px); letter-spacing: 0;}
    #mv img{ width: 100%; margin: auto;}
    #mv p.texts{ font-size: 10px; letter-spacing: 1px;}
    #mv .free{ position: absolute; right: -20px; top:-10px; width: 20%; }

}

/* ------------background----------------- */
#background{
  background: linear-gradient(90deg, #eaf6fb 0%, #eaf6fb 67%, #d0eaf5 67%, #d0eaf5 100%);
  padding: 50px 0 150px;
}
#background div{
  width: 80%;
  max-width: 1300px;
  margin: auto;
  display: flex;
  justify-content: space-around;
  height: auto;
  align-items: flex-start;
}

#background h3{
  background: #fff;
  color: #2a2a2a;
  padding: 10px 10px;
  display: inline-block;
  font-weight: bold;
  font-size: clamp(20px,1vw,24px);
  letter-spacing: 3px;
}
#background article{
  width: 100%;
  padding-right: 5%;
}
#background img{ width: 40%; }
#background p{
  padding: 30px 10px;
  margin-bottom: 60px;
  line-height: 190%;
  letter-spacing: 1px;
  font-size: clamp(18px,1vw,24px);
}
.mb0{ margin-bottom: 0;}

section {padding: 70px 0;}
section h2{
  font-size: clamp(20px,2vw,48px);
  font-weight: bold;
  text-align: center;
  letter-spacing: 6px;
  padding: 50px 0;
  color: #2a2a2a;
}
section h2 span{
  display: block;
  font-size: clamp(14px,1.3vw,20px);
  font-weight: normal;
  letter-spacing: 5px;
  color: #707070;
  padding: 20px 0;
}
@media screen and (max-width: 959px) {
  #background article{
    width: 100%;
    padding-right: 0%;
  }
  #background div{
    flex-direction: column-reverse;
  }
  #background img{ width: 100%; }
  #background article{padding-top: 50px;}
  section h2{letter-spacing: 6px;}

}


/* ------------jizen----------------- */
.jizen_thum img{
  max-width: 600px;
  width: 100%;
  border-radius: 6px;
}
.jizen_box{
  border: 1px solid #fff;
  padding: 10px 20px;
  background: rgba(255, 255, 255, 0.2);
}
p.jizen_box{
    font-size: 1.4rem !important;
  }
#mv .jizen_thum p{ margin: 0;
    letter-spacing: 0;
    font-size: 26px;}
#mv .yokoku{
  border:1px solid #ededed;
  padding: 10px 10px;
  font-size: 18px;
  background: rgba(255, 255, 255, 0.1);
  margin: 0;
}
#mv h3{
  font-size: clamp(15px, 1.6vw, 20px);
  color: #fff;
  padding: 5px 0;
  filter: drop-shadow(1px 1px 2px #555);
}
#mv .yokoku p{
  font-size: clamp(14px, 1.5vw, 18px);
  margin: 10px auto;
  filter: drop-shadow(1px 1px 2px #555);
  line-height: 130%;
}
#mv .boshu_box{
  display: flex;
  justify-content: flex-start;
  text-align: left;
  align-items: flex-start;
  flex-direction: column;
  padding: 20px;
  color: #fff;
  filter: drop-shadow(1px 1px 2px #555);
}
#mv .boshu_box li{
  margin-bottom: 15px;
}
#mv .boshu_box li:last-child{ margin-bottom:0; }
#mv .boshu_box li a{ color:#fff; font-weight: bold; text-decoration:underline; font-size:13px; padding:5px 0; }
#mv .jizen{
  border-radius:60px;
  padding:5px;
  letter-spacing:0px;
  font-size:16px; color:#fff;
  filter: drop-shadow(1px 1px 1px black);
}
/* リンクバージョン
#mv p.jizen{ border-radius:60px; padding:5px; letter-spacing:0px; font-size:16px; color:#d60051; background:#fff; }
*/
    #mv p.jizen a{ color:#d60051; }
.caution{
  color: #fff;
  position: absolute;
  font-size: 12px;
  font-weight: bold;
  width: 100%;
  left: 0;}
  .caution br,#mv p.jizen br{ display: none;}
  #mv p.jizen a span{ font-weight:bold; text-decoration:underline;}
@media screen and (max-width: 959px){
  .caution br,#mv p.jizen br{display: block;}
  #mv .jizen_thum img{ width: 80% !important; margin: 0px auto 10px !important;}
  #mv .jizen_thum p{ margin: 60px auto 5px;
    letter-spacing: 0;
    font-size: 18px;}
}
  .border{
  display: inline-block;
  position: relative;
}
 
.border::before {
  content: '';
  width: 100%;
  height: 1px;
  border-top: solid 1px #000;
  position: absolute;
  left: 0 ;
  top: calc(50% - 3px);
}
 
.border::after {
  content: '';
  width: 100%;
  height: 1px;
  border-bottom: solid 1px #000;
  position: absolute;
  left: 0 ;
  bottom: calc(50% - 3px);
}
/* ------------program----------------- */
#program {background: #fff;}
#program div{
  width: 90%;
  max-width: 1400px;
  margin: auto;
  padding: 4%;
}
#program p.program_figure{ text-align: center; padding: 30px 0;}

#program h3{
  border-left: 5px solid #d60051;
  padding: 5px 0 5px 10px;
  margin: 0 0 30px;
  font-size: clamp(14px,2vw,24px);
  font-weight: bold;
}
#program p{
  line-height: 190%;
  letter-spacing: 1px;
  font-size: clamp(18px,1vw,24px);
}
#program ul.curriculum{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#program ul.curriculum li{
  width: 24%;
  position: relative;
}
#program ul.curriculum li p{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* 垂直方向と水平方向に中央揃え */
  background: rgba(255, 255, 255, 0.9);
  width: max-content;
  padding: 3px 10px;
}
#program tr.bdt{
  border-top: 5px solid #ccc;
}
.caution{ font-size:12px; }
#program li img{ width: 100%; margin: auto;}
.pc{display: inline-block;}
.sp{display: none;}
@media screen and (max-width: 959px) {
  #program p.program_figure{ text-align: center; padding: 0;}
  #program p.program_figure img{width: 100%;}
  #program ul.curriculum{ flex-wrap: wrap;}
  #program ul.curriculum li p{ font-size: 12px;}
  #program ul.curriculum li{
    width: 49%;
    padding-bottom: 5px;
  }
  .pc{display: none;}
  .sp{display: block;}
}
#program table{
  border: 3px solid #c4c4c4;
  background: #fff;
}
#program td,#program th{
  font-size: clamp(14px,0.9vw,18px);
  line-height: 160%;
}
#program th{
  white-space: nowrap;
  background: #f3f3f3;
  color: #363636;
  padding: 10px;
  border-right: 1px solid #c4c4c4;
}
#program td{
  border-top: 1px solid #c4c4c4;
  border-left: 1px solid #c4c4c4;
  padding: 10px;
  vertical-align: middle;
}
#program td span{ color: red; line-height: 18px;}
#program td:nth-child(1){
  white-space: nowrap;
  text-align: center;
}
#program td:nth-child(2){
  text-align: center;
}
#program td:nth-child(3){
  white-space: nowrap;
  text-align: center;
}
#program td:nth-child(5){
  white-space: nowrap;
  text-align: center;
}
#program div.scroll-table{
 width: 100%;
 padding: 0;
 margin: 0;
}
td.fst{ background:#e7f1f5; font-weight:bold; }

/* ===== スケジュール表：ヘッダー固定スクロール ===== */
.scroll-table {
  max-height: 520px;
  overflow-y: auto;
  overflow-x: auto;
  border: 1px solid #c9c9c9;
}

/* tableの外枠が二重になる場合は調整 */
.scroll-table table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

/* 見出し行を固定 */
.scroll-table table tr:first-child th {
  position: sticky;
  top: 0;
  z-index: 5;
  background: #f2f2f2;
}

/* 固定時に線が消えないように */
.scroll-table th {
  box-shadow: 0 1px 0 #c9c9c9;
}

/* スマホ時は高さを少し低めに */
@media screen and (max-width: 959px) {
  .scroll-table {
    max-height: 420px;
  }
}

@media screen and (max-width: 959px) {
  #youkou div,#program div{ padding: 0; width: 90%;}
  .scroll-table {
      overflow-x: scroll;
      white-space: nowrap;
  }
}

#program ul{
  padding: 30px 0 0;
}
#program li{
  padding-bottom: 12px;
}
#program .attention{ font-size: 12px; line-height: 20px;}
#program .attention .info_box{
    width: auto;
    padding: 10px 30px;
    background: #ededed;
    border-radius: 10px;
    margin: 10px 25px 0;
    font-weight: bold;    
    font-size: clamp(12px,0.9vw,18px);
}
/* ------------youkou----------------- */
#youkou{
  background: #eaf6fb;
}
#youkou div{
  background: #fcffff;
  width: 90%;
  max-width: 1300px;
  margin: auto;
  padding: 5%;
}
#youkou div.simekiri{
  text-align: center;
  padding: 5% 0 0;
}
#youkou ul li{
  display: flex;
  border-bottom: 1px solid #cecece;
  padding: 30px 0 20px 20px;
  line-height: 20px;
  align-items: center;
}
#youkou ul li h3{ width: 15%; min-width: 120px; font-weight: bold;}
#youkou .taishou{ padding: 0 0 0 20px; width: 100% !important}
#youkou .taishou p{ padding-top: 20px;}
#youkou ul#point{ margin: 0;}
#youkou ul#point li{
    display: list-item;
    list-style: disc;
    border-bottom: 0;
    margin-left: 20px;
    padding: 0;
    line-height: 160%;
  }
.mb30{ margin-bottom: 30px !important;}
#youkou ul#point div{ width: 100% !important;}
#youkou p {line-height: 160%;}
#youkou .inner{padding: 0 0 20px 17px; width: 87%;}
#youkou .box{
  padding: 0;
  width: 87%;
}
.youkou2024{ margin:0; padding:0 !important; width:100% !important; }
.youkou2024 .lead span{ font-size:12px; }
.youkou2024 .flex{
  width: 100% !important;
  padding: 0 !important;
  display: flex;
  justify-content: space-around;
  align-items: normal;
}
.youkou2024 .flex p{ width:48%; border:1px solid #ccc; border-radius:6px; padding:20px; }
.youkou2024 .flex p strong{ text-align:center; color: #d60051;
    line-height: 35px; }
.youkou2024 .caution{ position:static; color:#555; text-align:center; font-size:14px; padding:15px 0; }
.youkou2024 .caution br{display: block;}
.youkou2024 .date{ text-align:center; width:100%; font-size:22px; padding:20px 0 50px 0; font-weight:bold; }
#youkou h3.ttl{ background:#ededed; padding:20px; }
#youkou .need{ padding:35px 10px; width:100%; }
#youkou .lead_tex{ padding:20px 10px; }
@media screen and (max-width: 959px) {
  #youkou ul#point{ margin-top: 20px;}
  #youkou ul li{
    flex-wrap: wrap;
  }
  #youkou li p{ margin: 10px 0 0;}
  #youkou div{ width: 90%;}
  #youkou .taishou{padding: 0px;}
  #youkou .taishou .inner{ margin-bottom: 20px;}
  #youkou .box{ width: 100%;}
  #youkou .flex{ flex-direction:column;  }
  .youkou2024 .flex p { width:90%; margin:15px auto; }
}
.coution{
  font-size: 14px;
  text-align: center;
  margin-bottom: 60px;
}
/* ------------btn----------------- */
.btn{
  background: #d60051 !important;
  padding: 30px;
  margin: 50px auto 20px ;
  color: #fff !important;
  border-radius: 60px;
  width: 45% !important;
  min-width: 400px;
  text-align: center;
  display: block;
  letter-spacing: 0px;
}
.btn:hover{ opacity: 0.6;}
.btn a{
  background: url(../img/btn_cursol.png) no-repeat left center;
  display: block;
  color: #fff;
  font-size: clamp(15px,2vw,24px);
}
a:hover{opacity: 0.6;}
@media screen and (max-width: 959px) {
  #youkou div{ margin-bottom: 30px;}
  .btn{
    letter-spacing: 1px;
    padding: 20px;
    min-width: 380px;
    margin: 0 auto 50px;
  }
}
.btn_oubo{
  color: #fff;
  background: #d60051;
  padding: 10px 15px;
  margin: 0 20px;
  border-radius: 20px;
  font-size: 14px;
}
@media screen and (max-width: 767px){
  .btn_oubo{ margin: 20px auto 0;}
}

.aidc_label {
  display: inline-block;
  margin-bottom: 16px;
  color: #fff;
  font-size: clamp(13px, 1.1vw, 16px);
  letter-spacing: .12em;
  line-height: 1.6;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.65));
}

.close{
  background: #9a9a9a !important;
  padding: 20px !important;
  margin: 50px auto !important;
  color: #fff !important;
  border-radius: 60px;
  width: 45% !important;
  min-width: 400px;
  text-align: center;
  display: block;
  letter-spacing: 0px;
}
.close p{
  display: block;
  color: #fff;
  font-size: clamp(16px,2vw,24px);
}
@media screen and (max-width: 959px) {
  .close{
    width: 100% !important;
    padding: 10px;
    margin: 0 auto;
    min-width: 0;
  }
}

/* ------------lecturer----------------- */
#lecturer{
  background: #eaf6fb;
}
#lecturer ul{display: flex; flex-wrap: wrap; width: 100%;  margin: auto;}
#lecturer li{display: flex; width: 50%; padding: 0 0 100px; align-items: flex-start;}
#lecturer li p{ padding: 15px 0 0; line-height: 150%; font-size: 90%;}
#lecturer li p.keireki{ font-size:80%; text-align:left; }
#lecturer div{ background: #f8fdfe; padding: 30px; width: 90%; max-width: 1300px; margin: auto;}
#lecturer img{ width: 154px;}
#lecturer h3{
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 5px;
  padding: 20px 0 10px;
  margin: 0 0 30px;
  border-bottom: 1px solid #d2d2d2;
}
#lecturer h4{
  font-size: 18px;
  font-weight: bold;
  color: #535353;
}
#lecturer h4 span{
  font-size: 14px;
}

#advisor,#cooperation{
  text-align: center;
}
.gaibu_caution{ text-align:right; line-height:18px; padding:0 20px 30px; font-size:12px; }
#cooperation img{ width:100%; max-width:400px; }
@media screen and (max-width: 959px) {
  #lecturer li{
    display: flex;
    flex-direction: column;
    align-items:stretch;
    width: 50%; padding: 0 0 100px;
    align-self: flex-start;
  }
  #lecturer div{
    text-align: center;
    width: 95%;
    padding: 2%;
  }
  #lecturer li img{ width: 70%; margin: auto;}
  #lecturer h4{ margin-top:10px; }
  #lecturer h4 span{
    display: block;
    text-align: center;
    font-size: 12px;
    margin-top: 10px;
  }
  #lecturer ul.fas li p.keireki{ text-align:center; }
  #cooperation ul{ flex-direction:column; }
  #cooperation li{ width:100%; text-align:center; }
}

/* ------------corporate----------------- */
#corporate{ background: #fff; padding-bottom: 130px;}
#corporate div{
  display: flex;
  justify-content: space-around;
  width: 80%;
  max-width: 1300px;
  margin: auto;
  height: auto;
align-items: flex-start;
}
#corporate div p{
  padding: 0 0 0 50px;
  line-height: 160%;
}
@media screen and (max-width: 959px) {
  #corporate img{ margin: auto; width: 50%;}
#corporate div{
  flex-direction:column;
  text-align: center;
  }
#corporate div p{padding: 10px; text-align: left;}
}

/* ------------footer----------------- */
footer {
   padding: 50px 0;
   top: 0;
   width: 100%;
   background: #6D9BAE;
}
footer div{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 90%;
  margin: auto;
}
footer h1 {
   margin: 0; padding: 0;
   font-size: 20px;
}
footer h1 img{ max-width: inherit; width: 80%;}
footer nav {
   margin: 0 0 0 auto;
}
footer ul {
   list-style: none;
   margin: 0;
   display: flex;
}
footer li {
   margin: 0 0 0 15px;
   font-size: 14px;
}
footer li a{color: #fff;}
footer li a:before{
  content:"> ";
}
footer p.contact{
    width: 90%;
    margin: auto;
    text-align: right;
    font-weight: normal;
    color: #fff;
    font-size: 12px;
}
footer p.contact a{color: #fff;
    font-size: 16px;}
footer p.contact a:before{
  content:"";
}
.footerlink{
  display: flex;
  justify-content: flex-start;
  text-align: center;
}
.footerlink a{ display: inline-block;}
@media screen and (max-width: 959px) {
  footer ul { display: none;}
  footer div{ justify-content: center;}
  footer p.contact { text-align: center; padding: 20px 0 0 !important;}
  footer img{ width: 80%;}
  .footerlink{
    display: flex;
    justify-content: center;
  }
  .footerlink a:nth-child(1){text-align: center;}
  .footerlink a:nth-child(2){text-align: left;}
}


/* ------------ 事前説明会バナー（更新版） ------------ */
.jizen_bnr {
  background-color: #fff;
  padding: 60px 0;
}
.jizen_bnr_inner {
  width: 90%;
  max-width: 1100px; /* 少し横幅を広げて画像を大きく見せます */
  margin: 0 auto;
  background: #f8fdfe;
  border: 2px solid #d0eaf5;
  border-radius: 12px;
  padding: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

/* 画像エリアを大きく設定 */
.jizen_bnr_img {
  width: 50%; 
  text-align: center;
}
.jizen_thum_box p {
  font-weight: bold;
  color: #d60051;
  font-size: clamp(16px, 1.6vw, 22px);
  margin-bottom: 12px;
  letter-spacing: 2px;
}
.jizen_thum_box img {
  width: 100%;
  max-width: 500px; /* 画像の最大サイズ */
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  display: block;
  margin: 0 auto;
}

/* テキストエリア */
.jizen_bnr_text {
  width: 46%; /* 余白を考慮して調整 */
}
.jizen_lead {
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.8;
  font-weight: bold;
  margin-bottom: 25px;
  color: #333;
}
.jizen_info_list {
  background: #fff;
  padding: 20px;
  border-radius: 8px;
  margin-bottom: 25px;
}
.jizen_info_list dl {
  display: grid;
  grid-template-columns: 6.5em 1fr;
  gap: 10px 0;
  margin: 0;
}
.jizen_info_list dt {
  font-weight: bold;
  color: #d60051;
}
.jizen_info_list dd {
  margin: 0;
  line-height: 1.6;
}
.btn_peatix {
  display: block;
  background: #d60051;
  color: #fff !important;
  text-align: center;
  padding: 15px 20px;
  border-radius: 50px;
  font-size: clamp(16px, 1.5vw, 20px);
  font-weight: bold;
  text-decoration: none;
  letter-spacing: 1px;
  box-shadow: 0 4px 10px rgba(214, 0, 81, 0.3);
  transition: 0.3s;
}
.btn_peatix:hover {
  opacity: 0.7;
}

/* スマホ用レスポンシブ */
@media screen and (max-width: 959px) {
  .jizen_bnr_inner {
    flex-direction: column;
    padding: 30px 20px;
    gap: 30px;
  }
  .jizen_bnr_img,
  .jizen_bnr_text {
    width: 100%;
  }
  .jizen_info_list dl {
    grid-template-columns: 1fr;
  }
}

/* スマホ用（ハンバーガーメニュー内）の微調整 */
@media screen and (max-width: 959px) {
  /* ナビゲーション全体の整理 */
  .header__nav {
    display: flex;
    flex-direction: column;
    padding-top: 60px; /* 閉じるボタンとの重なり防止 */
  }
  
  .header__nav ul.nav-items {
    display: block;
    width: 100%;
    padding: 0;
  }

  /* 研修・応募メニュー（下段）をスマホでは上に配置 */
  .nav-bottom { order: 1; }
  .nav-top { order: 2; margin-bottom: 0 !important; }
  
  /* リスト項目の調整：幅を80%にして中央寄せ、上下の間隔を均等に */
  .header__nav li {
    display: block;
    width: 80%; /* ★幅を80%に制限 */
    margin: 0 auto !important; /* ★中央に配置 */
    border-bottom: 1px solid #ededed; /* ★境界線をここに設定 */
    text-align: left;
  }

  /* 最後の項目の線は消す */
  .header__nav ul.nav-items li:last-child {
    border-bottom: none;
  }

/* リンクエリアの調整：flexを使って記号と文字を綺麗に横並びにする */
  .header__nav li a {
    display: flex; /* ★flexに変更 */
    align-items: center; /* ★縦方向の中央揃え */
    padding: 15px 0;
    font-weight: normal !important;
    font-size: 16px !important;
    color: #333;
    line-height: 1.4;
    text-decoration: none;
  }
  
  /* 前の ">" 記号のスタイルを上書きして被りを防ぐ */
  .header__nav li a:before {
    content: "> "; /* 記号を表示 */
    display: inline-block;
    position: static; /* ★他のCSS（絶対配置など）の干渉をリセット */
    margin-right: 10px; /* ★文字との間隔 */
    font-size: 14px;
    color: #888; /* 記号の色を少し薄くしてスッキリ見せる */
    flex-shrink: 0; /* ★記号が潰れないようにする */
  }
}

/* ------------ ヘッダーナビゲーションの2段化（PC用） ------------ */
@media screen and (min-width: 960px) {
  /* ナビゲーション全体を縦並び（2段）にして右寄せにする */
  .header__nav {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end; 
    height: 100%;
  }
  
  /* 上段と下段のリスト共通の横並び設定 */
  .header__nav ul.nav-items {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  
  /* 上段メニューのスタイル */
  .nav-top {
    margin-bottom: 8px !important; /* 下段との隙間 */
  }
  .nav-top li {
    margin-left: 20px;
  }
  .nav-top li a {
    font-size: 12px; /* 少し小さめ */
    color: #666; /* 色も少し控えめに */
    text-decoration: none;
    transition: opacity 0.3s;
  }
  
  /* 下段メニューのスタイル */
  .nav-bottom li {
    margin-left: 20px;
  }
  .nav-bottom li a {
    font-size: 14px; /* 上段より2px大きく */
    font-weight: bold; /* 少し太字にして目立たせる */
    color: #333;
    text-decoration: none;
    transition: opacity 0.3s;
  }
  
  /* ホバー時の挙動 */
  .header__nav li a:hover {
    opacity: 0.6;
  }

  /* PC表示では記号（>）を非表示にする（お好みで） */
  .header__nav li a:before {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .year-tab-arrow {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  #achievement .tab-group-wrap {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    position: relative;
    padding-bottom: 4px;
  }

  #achievement .tab-group {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: max-content !important;
    min-width: 100%;
    gap: 6px;
  }

  #achievement .tab {
    flex: 0 0 132px !important;
    width: 132px !important;
    min-width: 132px !important;
    margin: 0 !important;
  }

  #achievement .tab p {
    padding: 9px 8px 8px;
    font-size: 18px;
    line-height: 1.1;
    text-align: center;
  }

  #achievement .tab p span {
    font-size: 10px;
  }

  #achievement .tab.is-active {
    order: 0;
  }

  .year-tab-area {
    position: relative;
  }

  .year-tab-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    color: #3b6ae2 !important;   /* ← 強制的に青にする */
    width: 22px;          /* 小さく */
    height: 64px;         /* 縦長に */
    border: none;
    border-radius: 4px;

    background: linear-gradient(
      to right,
      rgba(255,255,255,0.9),
      rgba(255,255,255,0.6)
    );

    font-size: 16px;      /* 矢印小さめ */
    font-weight: bold;

    display: flex;
    align-items: center;
    justify-content: center;

    box-shadow: 0 1px 4px rgba(0,0,0,0.12); /* 軽めに */
    cursor: pointer;
  }
  .year-tab-arrow.prev {
    left: -6px;   /* ← 少し外に出す（-4〜-10で調整） */
    display: none;
  }
  .year-tab-arrow:hover {
    background: rgba(255,255,255,1);
  }
  .year-tab-arrow.next {
    right: -6px;  /* 右もバランス取ると綺麗 */
  }

  .year-tab-arrow.is-show {
    display: block;
  }

}