@charset "UTF-8";


/* ==========================================================================
   Course Page - Main Visual (Precision Update)
   ========================================================================== */

.p-course-mv {
    position: relative;
    width: 100%;
    height: 380px; /* 画像の比率に合わせ調整 */
    background-image: url('../images/course/hero-img.jpg'); /* コース一覧0.jpgの背景 */
    background-size: cover;
    background-position: 60% center;
    align-items: center;
    overflow: hidden;
}

    /* 透過白ボックス: 左端から配置し、右だけ角丸 */
.p-course-mv__box {
	width: 310px;
	text-align:center;
	margin: 120px 0 0 15vw;
    background-color: rgba(255, 255, 255, 0.82);
    padding: 30px;
    border-radius: 3px;
    box-shadow: 5px 0 20px rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(2px); /* わずかなボケで高級感を演出 */
}

/* 明朝体 H1 */
.p-course-mv__title {
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "MS PMincho", serif;
    color: #193e97; /* 濃い紺色 */
    font-size: 36px;
    line-height: 1.2;
    font-weight: 600;
    margin: 0;
    letter-spacing: 0.1em;
}

.p-course-mv__title-sub {
    display: block;
    font-family: var(--font-base); /* ゴシック体に戻す */
    font-size: 20px;
    color: #193e97;
    margin-bottom: 15px;
    font-weight: bold;
    letter-spacing: 0.05em;
}

/* 親コンテナの調整 */
.p-course-benefits-wrap {
    /* PCでは絶対配置の土台、スマホでは余白を確保 */
    padding-bottom: 0px; 
}

.p-course-benefits-wrap div.l-container {
    position: relative;
}

/* カードの並び（PC/スマホ共通の基本設定） */
.p-course-benefits {
    display: flex;
    justify-content: center;
    gap: 10px;
    /* absoluteをやめ、ネガティブマージンで浮かせるのが保守性が高い */
    margin-top: -30px; 
    position: relative;
    z-index: 10;
}

/* カード単体のスタイル */
.c-benefit-card {
    width:220px;
    min-height: 70px; /* 高さを揃えるための最低値 */
    background-color: #fffeec;
    border: 2px solid #f9ec8e;
    border-radius: 6px;
    padding: 10px 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
}

/* ラベル全体の配置コンテナ */
.c-benefit-card__label {
    display: flex;
    align-items: center; /* これが上下中央の肝 */
    color: #d3a543;
    font-weight: bold;
    line-height: 1.1;
    /* PC時のデフォルトサイズ */
    font-size: 24px;
}

/* 縦書きのsmall */
.c-benefit-card__label small {
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 14px;
    letter-spacing: 0.1em;
    margin-right: 4px;
    line-height: 1;
    flex-shrink: 0; /* 縦書き部分が潰れないように固定 */
}

/* 横書きのspan */
.c-benefit-card__label span {
    display: block;
    white-space: nowrap; /* 勝手に改行させない */
}
/*------------コースの紹介-------------*/

.u-bg-grid {
    background-image: 
        linear-gradient(rgba(0, 65, 133, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 65, 133, 0.05) 1px, transparent 1px);
    background-size: 20px 20px;
}



.sec5{
	padding:0 0 30px;
	} 
.sec5 .tab-wrap {
	width:100%;
	max-width:600px;
	margin:auto;
	 display: flex;
  	-webkit-justify-content:center;
	justify-content:center;
  flex-wrap: wrap;
}
.sec5 .tab-label {
	display:inline-block;
	color:#fff;
	font-weight: bold;
	white-space: nowrap;
	text-align: center;
	padding: 20px .2em 0;
	order: -1;
	position: relative;
	z-index: 1;
	cursor: pointer;
	width:125px;
	border-radius: 5px 5px 0 0;
	}
				
.sec5 .tab-label:not(:last-of-type) {
  margin-right: 5px;
}

.sec5 label.no1{
	background:#9dd841;
}
.sec5 label.no2{
	background:#4679fb;
}
.sec5 label.no3{
	background:#293ac0;
}
.sec5 label.no4{
	padding: 5px 0 0;
	background:#ffaa9c;
}

.sec5 label.no4 span.htk{
	display:block;
	letter-spacing:0.2em;
}

.sec5 label.no4 span.ld{
	display:block;
}

.sec5 .tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
/* タブがアクティブ時*/ 
.sec5 .tab-switch:checked+.tab-label {
transform: scaleX(1.1) scaleY(1.2   );
z-index:99;
} 
.sec5 .tab-switch:checked+.tab-label+.tab-content {
  height: auto;
  overflow: auto;
  padding:15px;
  opacity: 1;
  transition: .5s opacity;
  box-shadow: 0 0 3px rgba(0,0,0,.2);
  border-radius:20px;
}

.sec5 .tab-content ul{
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		-webkit-justify-content:left;
		justify-content: left;
		box-sizing: border-box;
		}
		
.sec5 .tab-content ul li{
    letter-spacing: 0.2em;
    padding: 1px 10px 0;
    border-radius: 50px;
    background: #fff;
    line-height: 28px;
    margin: 10px 7px 21px 0;
	}
	
.sec5 div.year{
	width: fit-content;
	padding:3px 12px 0;
	border-radius:50px;
	color:#fff;
	}
	
	
.sec5 .tab-switch:checked+.tab-label+div.no1 {
 background:#9dd841;
}
.sec5 div.no1 div.year{
	background:#009a1b;
	}
	
.sec5 div.no1 ul li{
 color:#009a1b;
	}
.sec5 div.no1 ul li .check-icon {
    background-color: #009a1b;
}
    

.sec5 .tab-switch:checked+.tab-label+div.no2 {
background:#4679fb;
}
.sec5 div.no2 div.year{
	background:#002384;
	}
.sec5 div.no2 ul li{
 color:#0335b5;
	}
.sec5 div.no2 ul li .check-icon {
    background-color: #0335b5;
}


.sec5 .tab-switch:checked+.tab-label+div.no3 {
 background:#293ac0;
}
.sec5 div.no3 div.year{
	background:#293ac0;
	}
	
.sec5 div.no3 ul{
	margin:5px 0 0;
	}
	
.sec5 div.no3 ul li{
	line-height:19px;
 	color:#293ac0;
	margin:0 5px 20px 0;
	}
    
.sec5 div.no3 ul li .check-icon {
    background-color: #293ac0;
}

div ul li span{
	font-size:13px;
	}

.sec5 div ul li.sub{
	margin:0 15px 5px 0;
}


.sec5 .tab-switch:checked+.tab-label+div.no4 {
background:#ffaa9c;
}

.sec5 div.no4 ul{
	margin:5px 0 0;
	}

.sec5 div.no4 div.year{
	background:#ff6c54;
}

.sec5 div.no4 ul li{
 color:#ff6c54;
 line-height:19px;
 margin:0 5px 5px 0;
}

.sec5 div.no4 ul li .check-icon {
    background-color: #ff6c54;
}


/* ラジオボタン非表示 */
.tab-switch {
  display: none;
}

/*---------------タブ切り替えの設定ここまで----------------*/

.sec5 div.flex{
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		box-sizing: border-box;
	}
.sec5 img{
	display: block;
	width: 100%;
	object-fit: cover;
	}

.sec5  div.textarea{
	width:100%;
	background:#fff;
    padding:10px;
    border-radius:0 0 10px 10px;
    font-weight:bold;
    box-sizing: border-box;
   }

 .sec5  div.textarea ul{
    margin: 0 !important;
    width:100%;
    padding:0 !important;
}  
  .sec5  div.textarea ul li{
    padding:0;
    margin:10px 0 0;
    letter-spacing:normal;
    width:32%;
     box-sizing: border-box;
} 

.sec5 div.textarea a{
    position:relative;
    background: linear-gradient(to bottom, #ffb300, #ff8f00);
    color: var(--color-white);
    font-size: 22px;
    font-weight: bold;
    padding-top: 18px;
    padding-bottom: 18px;
    border-radius: 50px;
    box-shadow: 0 6px 0 #e67e00;
    display: block;
    width: 65%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 35px;
    margin-bottom: 15px;
    text-align: center;
	}



/* 事例の背景斜め分割と人物はみ出し */
.p-course-cases {
    background: linear-gradient(170deg, #fff 48%, #eef6ff 48%);
    overflow: visible;
}

.c-case-item {
    position: relative;
    margin-bottom: 90px;
}

.c-case-item__tag {
    display: inline-block;
    background: #fff;
    border: 2px solid #3fb2ca;
    padding: 6px 20px;
    border-radius: 50px;
    color: var(--color-main);
    font-weight: bold;
    font-size: 20px;
    margin-bottom: -15px;
    margin-left: 15px;
    position: relative;
    z-index: 10;
    box-shadow: 0 3px 6px rgba(0,0,0,0.1);
}

.c-case-card__tag b{
	font-size:24px;
	color:#FFEB3B;
	}
	
.c-case-card__tag b span{
	font-size:32px;
	}	

.c-case-item .bubble {
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    width: 82%;
    font-size: 14px;
    line-height: 1.7;
    position: relative;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

.c-case-item .bubble::after {
    content: "";
    position: absolute;
    bottom: -14px;
    left: 35px;
    border-top: 14px solid #fff;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
}

.c-case-item .student-img {
    position: absolute;
    right: -10px;
    bottom: -35px;
    width: 125px;
    z-index: 5;
}

/* 学年別ナビ */
.c-nav-card {
    display: flex;
    align-items: center;
    background: #fff;
    margin-bottom: 12px;
    border-radius: 10px;
    border: 1px solid #ddd;
    text-decoration: none;
    overflow: hidden;
    width:800px;
}

.c-nav-card img { width: 90px; height: 90px; object-fit: cover; }
.c-nav-card p {
    flex: 1;
    padding: 0 15px;
    font-weight: bold;
    color: var(--color-main);
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.p-case-section {
    padding-top: 20px;
    padding-bottom: 100px;
    /* デザインの背景：斜めのグラデーション */
    background: linear-gradient(130deg, #e5f1ff 40%, #d3e6ff 40%);
    overflow: visible; /* 人物のはみ出しを許容 */
	  clip-path: polygon(
    0 0, 
    100% 0, 
    100% calc(100% - 100px), 
    50% 100%, 
    0 calc(100% - 100px)
  );
  
  padding-bottom: 100px;
  position: relative;
  z-index: 3;
    
}

.p-case-list {
    margin-top: 40px;
}

/* カード全体の基本設定 */
.c-case-card {
    position: relative;
    width:550px;
    margin:50px 0 50px;
}

/* 吹き出しタグ */
.c-case-card__tag {
    display: inline-block;
    position: relative;
    z-index: 10;
    padding: 10px 20px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    margin-left: 100px; /* 人物との重なり用 */
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

/* 吹き出しのしっぽ */
.c-case-card__tag::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -10px;
	transform: translateY(25%);
	border-top: 9px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 10px solid currentColor;
	border-right: 0;
}

/* カラーバリエーション */
.c-case-card--sky .c-case-card__tag { background-color: #5ec0d8;}
.c-case-card--pink .c-case-card__tag { background-color: #df6985; }
.c-case-card--blue .c-case-card__tag { 	background-color: #5885de; }
.c-case-card--green .c-case-card__tag { background-color: #7fd066; }

.c-case-card--sky .c-case-card__tag::after {
	content: "";
    position: absolute;
    top: 50%;
    left: -10px; 
    right: auto;
    transform: translateY(25%);
    
    border-top: 9px solid transparent;
    border-bottom: 4px solid transparent;
    /* ここ！currentColor をやめて直接色を指定する */
    border-right: 10px solid #5ec0d8; 
    border-left: 0;
}

.c-case-card--blue .c-case-card__tag::after {
	content: "";
    position: absolute;
    top: 50%;
    left: -10px; 
    right: auto;
    transform: translateY(25%);
    
    border-top: 9px solid transparent;
    border-bottom: 4px solid transparent;
    /* ここ！currentColor をやめて直接色を指定する */
    border-right: 10px solid #5885de; 
    border-left: 0;
}

/* ピンク（しっぽ） */
.c-case-card--pink .c-case-card__tag::after {
    border-left-color: #df6985;
}

/* グリーン（しっぽ） */
.c-case-card--green .c-case-card__tag::after {
    border-left-color: #7fd066;
}


/* カード本体 */
.c-case-card__inner {
    background-color: #fff;
    padding: 45px 20px 20px;
    margin-top: -25px; /* タグと重ねる */
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    position: relative;
    z-index: 1;
}

.c-case-card__text {
    line-height: 1.8;
    color: #333;
}

.c-case-card__name {
    display: block;
    text-align: right;
    margin-top: 15px;
    font-size: 14px;
    color: #666;
}

/* 人物画像のはみ出し */
.c-case-card__img {
    position: absolute;
    z-index: 5;
    bottom: -55px;
    width: 120px; /* スマホサイズ */
}

/* 画像が左側のパターン */
.c-case-card:not(.c-case-card--reverse) .c-case-card__img {
    left: -15px;
}
.c-case-card:not(.c-case-card--reverse) .c-case-card__inner {
    padding-left: 100px; /* 画像を避けるパディング */
}

/* 画像が右側のパターン (reverse) */
.c-case-card--reverse .c-case-card__img {
    right: -15px;
}
.c-case-card--reverse .c-case-card__inner {
    padding-right: 100px;
}
.c-case-card--reverse .c-case-card__tag {
    margin-left: 125px;
    margin-right: 50px;
}

.c-case-card--reverse{
	margin-left:450px;
	}


.sec4{
 	margin-top: -100px;
    padding: 100px 0 60px;
    background-color: #fdfae2; /* 画像の淡いベージュ背景 */
}

.sec4 .p-course-nav-list {
    width:800px;
    margin: 40px auto 0;
    display: flex;
    flex-direction: column;
    gap: 25px;
    padding: 0 15px;
}

/* カード本体 */
.sec4 .c-nav-panel {
    display: flex;
    background-color: #fff;
    border-radius: 10px; /* 大きめの角丸 */
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08); /* 柔らかく深い影 */
    transition: transform 0.3s ease;
}

.sec4 .c-nav-panel:active {
    transform: scale(0.98);
}

/* 左側：画像エリア */
.c-nav-panel__img {
    width: 35%;
    flex-shrink: 0;
}

.c-nav-panel__img img {
    width: 200px;
    height: auto;
    object-fit: cover;
}

/* 右側：テキストエリア */
.c-nav-panel__content {
    flex: 1;
    padding: 20px 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.c-nav-panel__title {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 40px;
    line-height: 1.4;
}

/* ボタン：グラデーションと角丸 */
.c-btn-round {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 280px;
    padding: 10px 15px;
    border-radius: 50px;
    color: #fff;
    font-weight: bold;
    font-size: 18px;
    text-decoration: none;
    position: relative;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

/* ボタン内の再生アイコン風の丸 */
.c-btn-round__icon {
    width: 18px;
    height: 18px;
    background-color: #fff;
    border-radius: 50%;
    margin-left: 10px;
    position: relative;
}

.c-btn-round__icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 55%;
    transform: translate(-50%, -50%);
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    /* 親の背景色を引き継ぐための指定は個別クラスで行う */
}

/* ボタン色バリエーション */
.c-btn-round--cyan   { background: linear-gradient(to right, #3fb2ca, #2d9fb6); }
.c-btn-round--blue   { background: linear-gradient(to right, #304ba4, #253a81); }
.c-btn-round--navy   { background: linear-gradient(to right, #192888, #111b5e); }
.c-btn-round--orange { background: linear-gradient(to right, #ff8c77, #f37055); }

/* アイコン内の三角形の色 */
.c-btn-round--cyan .c-btn-round__icon::after   { border-left: 6px solid #3fb2ca; }
.c-btn-round--blue .c-btn-round__icon::after   { border-left: 6px solid #304ba4; }
.c-btn-round--navy .c-btn-round__icon::after   { border-left: 6px solid #192888; }
.c-btn-round--orange .c-btn-round__icon::after { border-left: 6px solid #ff8c77; }

/* タイトル色バリエーション */
.u-color-blue-light  { color: #3fb2ca; }
.u-color-blue-deep   { color: #304ba4; }
.u-color-blue-navy   { color: #192888; }
.u-color-orange-light { color: #ff8c77; }



/* ==========================================================================
   Mobile Optimization
   ========================================================================== */


/* スマホ最適化 (max-width: 599px) */
@media screen and (max-width: 599px) {


.p-course-mv {
    width: 100%;
    height:350px; /* 画像の比率に合わせ調整 */
    background-position: 40% center;
}

    /* 透過白ボックス: 左端から配置し、右だけ角丸 */
.p-course-mv__box {
	width: 70%;
	margin: 35vw 0 0 0;
    padding: 15px;

}

/* 明朝体 H1 */
.p-course-mv__title {
    font-size: 28px;
}

.p-course-mv__title-sub {
    font-size: 16px;
    margin-bottom: 10px;
    letter-spacing: 0.05em;
}

/* 親コンテナの調整 */
.p-course-benefits-wrap {
    /* PCでは絶対配置の土台、スマホでは余白を確保 */
    padding-bottom: 0px; 
}

.p-course-benefits-wrap div.l-container {
    position: relative;
}

/* カードの並び（PC/スマホ共通の基本設定） */
.p-course-benefits {
    gap:normal;
    /* absoluteをやめ、ネガティブマージンで浮かせるのが保守性が高い */
    margin-top: -30px; 
    justify-content: space-between;
}

/* カード単体のスタイル */
.c-benefit-card {
    width:fit-content;
    min-height: 40px; /* 高さを揃えるための最低値 */
    padding:6px;
    box-sizing: border-box;
}

/* ラベル全体の配置コンテナ */
.c-benefit-card__label {
    font-size: 18px;
    
}

/* 縦書きのsmall */
.c-benefit-card__label small {
    font-size: 9px;
    margin-right: 2px;
}

/* 横書きのspan */
.c-benefit-card__label span {
	vertical-align: middle;
	line-height: 26px;
    display: block;
    white-space: nowrap; /* 勝手に改行させない */
}

    
/*------------コースの紹介-------------*/
.sec5{
	padding:0 0 50px;
	} 
.sec5 .tab-wrap {
	width:90%;
    }

.sec5 .tab-label {
	padding: 15px .2em 0;
    width: 70px;
    margin: 10px 0 0;
    font-size:14px;
	}
				
.sec5 label.no4 span.htk{
    line-height: 10px;
    margin: 10px 0 0;
}

/* タブがアクティブ時*/ 
.sec5 .tab-switch:checked+.tab-label {
    transform: scaleX(1.1) scaleY(1.2   );
    z-index:99;
    } 

.sec5 .tab-content ul{
    font-size: 12px;
	}
		
.sec5 .tab-content ul li{
    padding: 1px 8px 0;
    line-height: 18px;
    margin: 10px 5px 10px 0;
    }
	
.sec5 div.year{
    font-size:14px;
	}
	
.sec5  div.textarea ul li{
    font-size: 14px;
    width:48%;
} 

.sec5 div.textarea a{
    position:relative;
    font-size: 1rem;
    font-weight: bold;
    padding-top: 8px;
    padding-bottom: 8px;
    box-shadow: 0 6px 0 #e67e00;
    width: 80%;
    }

/*---------------タブ切り替えの設定ここまで----------------*/
/* 事例の背景斜め分割と人物はみ出し */
.p-course-cases {
    background: linear-gradient(170deg, #fff 48%, #eef6ff 48%);
    overflow: visible;
}

.c-case-item {
    position: relative;
    margin-bottom: 90px;
}

.c-case-item__tag {
    display: inline-block;
    background: #fff;
    border: 2px solid #3fb2ca;
    padding: 6px 20px;
    border-radius: 50px;
    color: var(--color-main);
    font-weight: bold;
    font-size: 20px;
    margin-bottom: -15px;
    margin-left: 15px;
    position: relative;
    z-index: 10;
    box-shadow: 0 3px 6px rgba(0,0,0,0.1);
}



.c-case-item .bubble {
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    width: 82%;
    font-size: 14px;
    line-height: 1.7;
    position: relative;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

.c-case-item .bubble::after {
    content: "";
    position: absolute;
    bottom: -14px;
    left: 35px;
    border-top: 14px solid #fff;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
}

.c-case-item .student-img {
	bottom: -30px;
}

/* 学年別ナビ */
.c-nav-card {
    display: flex;
    align-items: center;
    background: #fff;
    margin-bottom: 12px;
    border-radius: 10px;
    border: 1px solid #ddd;
    text-decoration: none;
    overflow: hidden;
    width:800px;
}

.c-nav-card img { width: 90px; height: 90px; object-fit: cover; }
.c-nav-card p {
    flex: 1;
    padding: 0 15px;
    font-weight: bold;
    color: var(--color-main);
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.p-case-section {
    padding: 0 0 100px;
    background: linear-gradient(110deg, #e5f1ff 40%, #d3e6ff 40%);
    overflow: visible; /* 人物のはみ出しを許容 */
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 50px), 50% 100%, 0 calc(100% - 50px));
	z-index: 3;
    
}

.p-case-list {
    margin-top: 40px;
}

/* カード全体の基本設定 */
.c-case-card {
    width:94%;
    margin:50px auto 50px;
}

.c-case-card--reverse{
    width:94%;
    margin:50px auto 50px;
	}


/* 吹き出しタグ */
.c-case-card__tag {
	display: block;
	height:55px;
	width: fit-content;
    padding: 5px 10px 5px 15px;
    margin-left:15%; /* 人物との重なり用 */
}

.c-case-card__tag b{
	font-size:18px;
	color:#FFEB3B;
	}
	
.c-case-card__tag b span{
	font-size:28px;
	}	

.c-case-card--reverse .c-case-card__tag {
	display: block;
	padding: 5px 10px 5px 15px;
	width: fit-content;
	margin-right: 15%;
	margin-left: auto;  /* 左側の余白を自動で最大にする＝右寄せ */
	
}


/* カード本体 */
.c-case-card__inner {
	font-size:14px;
    padding: 45px 15px 15px;
    margin-top: -25px; /* タグと重ねる */
    border-radius: 10px;
}

.c-case-card__text {
    line-height: 1.8;
}

.c-case-card__name {
    margin-top: 15px;
    font-size: 12px;
}

/* 人物画像のはみ出し */
.c-case-card__img {
    position: absolute;
    z-index: 5;
    bottom: -40px;
    width: 120px; /* スマホサイズ */
}

/* 画像が左側のパターン */
.c-case-card:not(.c-case-card--reverse) .c-case-card__img {
    left: -50px;
}
.c-case-card:not(.c-case-card--reverse) .c-case-card__inner {
    padding-left: 20%; /* 画像を避けるパディング */
}

/* 画像が右側のパターン (reverse) */
.c-case-card--reverse .c-case-card__img {
    right: -50px;
}
.c-case-card--reverse .c-case-card__inner {
    padding-right:  20%;
}




.sec4{
 	margin-top: -100px;
    padding: 100px 0 60px;
}

.sec4 .p-course-nav-list {
    width:100%;
    margin: 40px auto 0;
    display: flex;
    flex-direction: column;
    gap: 25px;
    padding: 0;
}

/* カード本体 */
.sec4 .c-nav-panel {
    display: flex;
    background-color: #fff;
    border-radius: 10px; /* 大きめの角丸 */
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08); /* 柔らかく深い影 */
    transition: transform 0.3s ease;
}

.sec4 .c-nav-panel:active {
    transform: scale(0.98);
}

/* 左側：画像エリア */
.c-nav-panel__img {
    width: 30%;
}

.c-nav-panel__img img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* 右側：テキストエリア */
.c-nav-panel__content {
    flex: 1;
    padding: 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.c-nav-panel__title {
    font-size: 18px;
    margin-bottom: 15px;
    line-height: 1.4;
}

/* ボタン：グラデーションと角丸 */
.c-btn-round {
	width: fit-content;
    max-width:100%;
    padding: 8px 15px;
    border-radius: 50px;
    font-size: 14px;
    position: relative;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

/* ボタン内の再生アイコン風の丸 */
.c-btn-round__icon {
    width: 15px;
    height: 15px;
    margin-left: 5px;
}


}

