/** TOP **/ 

		.red-text{
			color: #E91518;
		}



		.font-bold{
			font-weight: bold;
		}

		.top-eyecatch {
            max-width: 1200px;
            margin: 130px auto 0;
        }

		.top-eyecatch-text{
			margin: 30px auto;
			font-weight: bold;
			width: 95%;
			max-width: 700px;
		}

		.sec3 {
			padding: 100px 0 0;
		}
        h2 {
			font-size: 1.7em;
            text-align: center;
            color: #333333;
            /* padding-top: 30px; */
			/* padding-bottom:30px; */
			font-weight: bold;
        }
        .grid-container {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 20px;
			width: 95%;
    		max-width: 1000px;
	  		margin: 0 auto;
        }
        .grid-item {
            background-color: #ffd2d8;
            border-radius: 10px;
            padding: 20px;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
            transition: transform 0.3s, box-shadow 0.3s;
            cursor: pointer;
        }
		

		.grid-item-area h4 {
            color: #3498db;
            margin-top: 0;
			font-weight: bold;
        }

        .grid-item:hover {
            transform: translateY(-5px);
            box-shadow: 0 6px 12px rgba(0,0,0,0.15);
        }

	.bg_pink{
		background: #F3E6E5;
	}

	.bg_pink_s{
		background: #fdf5f4;
	}



@media (max-width: 480px) {
	.aw_br_sp{
		display: block;
	}
}

@media (min-width: 481px) {
	.aw_br_sp{
		display: none;
	}
}


/** font-size **/

.fs10{
	font-size:1em;
}

.fs13{
	font-size:1.3em;
}

.fs15{
	font-size:1.5em;
}



/** padding **/

.pt10{
	padding-top: 10px
}

.pt20{
	padding-top: 20px
}

.pt30{
	padding-top: 30px
}

.pt40{
	padding-top: 40px
}

.pt50{
	padding-top: 50px
}


.pb10{
	padding-bottom: 10px
}

.pb20{
	padding-bottom: 20px
}

.pb30{
	padding-bottom: 30px
}


/** margin **/

.mt10{
	margin-top: 10px
}

.mt20{
	margin-top: 20px
}

.mt30{
	margin-top: 30px
}

.mt40{
	margin-top: 40px
}

.mt50{
	margin-top: 50px
}




.mb10{
	margin-bottom: 10px
}

.mb20{
	margin-bottom: 20px
}

.mb30{
	margin-bottom: 30px
}

.mb40{
	margin-bottom: 40px
}

.mb50{
	margin-bottom: 50px
}




/** メニューボタン **/ 

.curriculum_btn_area{
	margin: 10px auto;
	width: 90%;
	max-width: 800px;
}

.curriculum_btn_area h4{
	font-size: 1.5em;
	font-weight: bold;
	color: #333333;
}

@media (max-width: 480px) {
.curriculum_btn_area .grid{
	display: block
}
	a.curriculum_btn {
	display: block;
	/*text-align: center;*/
	vertical-align: middle;
	text-decoration: none;
	width: 100%;
	max-width: 800px;
	margin: auto;
	padding: 1rem 4rem;
		margin-bottom: 10px;
	color: #C47B77;
	font-size: 1.5em;
	font-weight: bold;
	/*border: 2px solid #27acd9;*/
	background: #FFF;
	/*color: #27acd9;*/
	border-radius: 6px;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	z-index: 1;
}
	.curriculum_menu_text{
		font-size:1.2em;
	}
	
	.curriculum_btn-r{
		width: 90%;
		margin: 0 auto;
	}
}

@media (min-width: 481px) {
.curriculum_btn_area .grid{
	display:flex;
}
	
	.curriculum_btn-l{
		width: 40%;
	}
	.curriculum_btn-r{
		width: 60%;
	}
	
	a.curriculum_btn {
	display: block;
	/*text-align: center;*/
	vertical-align: middle;
	text-decoration: none;
	width: 90%;
	max-width: 800px;
	margin: auto;
	padding: 1rem 4rem;
	color: #C47B77;
	font-size: 2em;
	font-weight: bold;
	/*border: 2px solid #27acd9;*/
	background: #FFF;
	/*color: #27acd9;*/
	border-radius: 10px;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	z-index: 1;
}
	
	.curriculum_menu_text{
		font-size:1.5em;
		text-align: center;
	}
}


@media (min-width: 768px) {	
	.curriculum_btn-l{
		width: 30%;
	}
	.curriculum_btn-r{
		width: 70%;
	}
}



a.curriculum_btn::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #C47B77;
	transform: translateX(-100%);
	transition: all .3s;
	z-index: -1;
}
a.curriculum_btn:hover::before {
	transform: translateX(0);
}
a.curriculum_btn:hover {
	color: #fff;
}

.non-a{
	pointer-events: none;
}


        @media (max-width: 768px) {
            .grid-container {
                grid-template-columns: 1fr;
            }
			
			.wysiwyg .sec-ttl .renew_en {
			  position: relative;
			  color: #8a0000;
			  font-size: 3.6rem;
			 width: 95%;
			  max-width: 570px;
			  margin: auto;
			  display: block;
			}
        }


		@media (max-width: 480px) {
			.aw_br_sp{
				display: block !important;
			}
			
			.aw_br_pc{
				display: none !important;
			}
			#eyecatch h2{
				font-size: 1.5em;
	            padding-top: 30px;
				padding-bottom:30px;
			}
			
            .wysiwyg .sec-ttl .renew_en {
			  position: relative;
			  color: #8a0000;
			  font-size: 1.3em;
			  width: 100%;
			  margin: auto;
			  display: block;
			}
			
			.curriculum_btn h4 {
            color: #3498db;
			font-size: 1.2em;
            margin-top: 0;
			font-weight: bold;
        }
			
			.grid-item-area h4 {
            color: #C47B77;
			font-size: 1.2em;
            margin-top: 0;
			font-weight: bold;
        }
			
			.grid-item-area {
            background-color: #F3E6E5;
            border-radius: 10px;
            padding: 20px;
			width: 100%;
			max-width: 650px;
			margin: 0 auto;
        }
			
			#new-curriculum h3{
				font-size: 1.2em;
			}
			
			.text-wrap h2{
				font-size:1.3em;
			}
			
			.text-wrap h4{
				font-size:1.3em;
			}
			
        p {
            margin-bottom: 0;
        }
			
			.text-position{
				text-align: center;
				width: 95%;
				margin: 0 auto;
				font-size: 1em;
			}
			
			.curriculum-threeyear-title{
			font-size: 1.3em;
			font-weight: bold;
			margin: 10px auto;
			width: 95%;
			max-width: 700px;
		}


		.curriculum-fiveyear-title{
			font-size: 1.3em !important;
			font-weight: bold;
			margin: 10px auto;
			width: 95%;
			max-width: 700px;
		}
			
			.start_2025 {
			font-size: 1.3em;
			font-weight: bold;
			color: #DC3033;	
		}
			
			.contents-area{
				width: 95%;
				max-width: 700px;
				margin: 20px auto 0;
				text-align: left;
			}

			.contents-area850{
				width: 95%;
				max-width: 850px;
				margin: 20px auto 0;
				/*text-align: left;*/
			}
			
        }



		@media (min-width: 481px) {
			.aw_br_sp{
				display: none !important;
			}
			.aw_br_pc{
				display:block !important;
			}
			.wysiwyg .sec-ttl .renew_en {
			  position: relative;
			  color: #8a0000;
			  font-size: 1.3em;
			 width: 95%;
			  max-width: 570px;
			  margin: auto;
			  display: block;
			}
			
			.grid-item h4 {
            color: #3498db;
			font-size: 1.5em;
            margin-top: 0;
			font-weight: bold;
        }
			
			.grid-item-area h4 {
            color: #333333;
			font-size: 1.5em;
            margin-top: 0;
			font-weight: bold;
        }
			
			.grid-item-area {
            background-color: #F3E6E5;
            border-radius: 10px;
            padding: 40px;
			width: 100%;
			max-width: 650px;
			margin: 0 auto;
        }
			
        p {
            margin-bottom: 0;
        }
			
		#eyecatch h1 {
			width: 100%;
			padding-top: 50px;
			padding-bottom: 50px;
		}
			
	    #eyecatch h2 {
			padding-top: 30px;
			padding-bottom: 30px;
		}
			
			.curriculum-threeyear-title{
				font-size: 1.5em !important;
				font-weight: bold;
				margin: 10px auto;
				width: 95%;
				max-width: 850px;
			}


			.curriculum-fiveyear-title{
				font-size: 1.5em !important;
				font-weight: bold;
				margin: 10px auto;
				width: 95%;
				max-width: 850px;
			}
			
			.text-position{
				text-align: center;
			}
			
			.start_2025 {
				font-size: 1.5em;
				font-weight: bold;
				color: #DC3033;	
			}
			
			.contents-area{
				width: 95%;
				max-width: 800px;
				margin: 20px auto 70px;
				text-align:center;
			}

			.contents-area850{
				width: 95%;
				max-width: 850px;
				margin: 20px auto 0;
				text-align:center;
			}
		}

		@media (min-width: 769px) {
			.wysiwyg .sec-ttl .renew_en {
			  position: relative;
			  color: #8a0000;
			  font-size: 1.5em;
			 width: 95%;
			  max-width: 600px;
			  margin: auto;
			  display: block;
			}
			
			.start_2025 {
				font-size: 1.5em;
				font-weight: bold;
				color: #DC3033;	
			}
}



		.wysiwyg .sec-ttl .renew_en .sec-ttl-item {
		  position: absolute;
		  top: 0;
		  display: block;
		}

		.wysiwyg .sec-ttl .renew_en .sec-ttl-item:before, .wysiwyg .sec-ttl .renew_en .sec-ttl-item:after {
		  content: "";
		  position: absolute;
		  background: #8a0000;
		}

		.wysiwyg .sec-ttl .renew_en .sec-ttl-item:before {
		  width: 17px;
		  height: 1px;
		}

		.wysiwyg .sec-ttl .renew_en .sec-ttl-item:after {
		  width: 1px;
		  height: 17px;
		}

		.wysiwyg .sec-ttl .renew_en .sec-ttl-item.item1 {
		  left: 0;
		}

		.wysiwyg .sec-ttl .renew_en .sec-ttl-item.item1:before, .wysiwyg .sec-ttl .renew_en .sec-ttl-item.item1:after {
		  left: 0;
		}

		.wysiwyg .sec-ttl .renew_en .sec-ttl-item.item2 {
		  right: 0;
		}

		.wysiwyg .sec-ttl .renew_en .sec-ttl-item.item2:before, .wysiwyg .sec-ttl .renew_en .sec-ttl-item.item2:after {
		  right: 0;
		}

		.wysiwyg .sec-ttl.is-white .jp, .wysiwyg .sec-ttl.is-white .en {
		  color: #fff;
		}

		.wysiwyg .sec-ttl.is-white .renew_en .sec-ttl-item:before, .wysiwyg .sec-ttl.is-white .renew_en .sec-ttl-item:after {
		  background: #fff;
		}




/* 近日公開 */
		.grid-item.coming-soon {
			position: relative;
			background-color: #f0f0f0;
			color: #888;
			cursor: default;
			overflow: hidden;
		}

		.grid-item.coming-soon::before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background-color: rgba(255, 255, 255, 0.5);
			z-index: 1;
		}

		.grid-item.coming-soon h4,
		.grid-item.coming-soon p {
			position: relative;
			z-index: 2;
		}

		.coming-soon-label {
			position: absolute;
			top: 10px;
			right: 10px;
			background-color: #888;
			color: white;
			padding: 5px 10px;
			font-size: 0.8em;
			border-radius: 3px;
			z-index: 3;
		}

		/* 既存のホバーエフェクトを無効化 */
		.grid-item.coming-soon:hover {
			transform: none;
			box-shadow: none;
		}

@media (max-width: 480px) {
	.text-wrap p{
			font-size: 0.8em;
		}
    }

@media (min-width: 481px) {
	.text-wrap p{
			font-size: 1em;
		}
    }

		


/* カリキュラムの全体像 */
.curriculum-fig-area{
	width: 95%;
	margin: 20px auto;
}

@media (max-width: 480px) {
	.curriculum-fig-area img {
        max-width: 100%;
		margin-bottom: 30px;
        height: auto;
    }
}



/* ベーシックスクール生のゴール */
.emphasized-content {
    background-color: #f0f8ff; /* 薄い青色の背景 */
    border: 2px solid #4a90e2; /* 青色の枠線 */
    border-radius: 10px; /* 角を丸く */
    padding: 20px; /* 内側の余白 */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* 影をつけて浮き上がらせる */
}



.blank-space {
    display: inline-block;
    width: 150px; /* 空白の幅 */
    border-bottom: 1px solid #4a90e2; /* 下線 */
    margin: 0 5px; /* 左右の余白 */
}


@media (min-width: 481px) {
	.emphasized-content p {
		font-size: 1.2em; /* フォントサイズを大きく */
		line-height: 1.8; /* 行間を広げる */
	    margin: 15px 0; /* 上下の余白 */
		color: #333; /* テキストの色を濃く */
	}
}

@media (max-width: 768px) {
    .emphasized-content {
        padding: 15px;
    }
    
    .emphasized-content p {
        font-size: 1em;
    }
    
    .blank-space {
        width: 100px;
    }
}




/* 画像部分 */
.image-scroll-container {
    position: relative;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.image-scroll-container::-webkit-scrollbar {
    display: none;
}

.image-scroll-wrapper {
    display: inline-block;
    white-space: nowrap;
}

.image-scroll-wrapper img {
    /*max-width: none;*/
    width: auto;
    height: auto;
    /*max-height: 60vh;*/
}

.image-scroll-wrapper_m {
    display: inline-block;
    white-space: nowrap;
}

.image-scroll-wrapper_m img {
    /*max-width: none;*/
    width: auto;
    height: auto;
    max-height: 60vh;
}

.scroll-indicator {
    position: absolute;
    right: 20px;
    bottom: 20px;
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    padding: 10px 15px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    animation: fadeInOut 2s infinite;
}

.scroll-indicator span {
    margin-right: 10px;
    font-size: 14px;
}

.scroll-indicator svg {
    animation: arrowMove 1s infinite;
}

@keyframes fadeInOut {
    0%, 100% { opacity: 0.7; }
    50% { opacity: 1; }
}

@keyframes arrowMove {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(5px); }
}


.scroll-indicator {
    display: none;
}

/* デフォルトのスタイル（モバイル向け） */
.image-scroll-container {
    width: 100%;
    overflow-x: auto; /* 横スクロールを有効にする */
    -webkit-overflow-scrolling: touch; /* モバイルのスムーズスクロール対応 */
    scrollbar-width: none; /* Firefox用 */
    -ms-overflow-style: none; /* IE用 */
}

.image-scroll-container::-webkit-scrollbar {
    display: none; /* Chromeなどでスクロールバー非表示 */
}

.image-scroll-wrapper {
    white-space: nowrap; /* 画像を横並びに表示 */
}

.image-scroll-wrapper_m {
    white-space: nowrap; /* 画像を横並びに表示 */
}

@media (max-width: 480px) {
.image-scroll-wrapper img {
    max-width: 800px;
    height: auto;
}
	
	.image-scroll-wrapper_m img {
    max-width: 800px;
    height: auto;
	max-height: 40vh;
}
}

/* PC（デスクトップ）用のスタイル */
@media (min-width: 769px) {
    .image-scroll-container {
        overflow-x: hidden; /* 横スクロールを無効にする */
    }

    .image-scroll-wrapper {
        white-space: normal; /* 画像を通常のブロック要素として表示 */
    }

    .image-scroll-wrapper img {
        width: 100%; /* 画像を幅100%で表示 */
        height: auto;
    }
	
	.image-scroll-wrapper_m {
        white-space: normal; /* 画像を通常のブロック要素として表示 */
    }
	
	.image-scroll-wrapper_m img {
        width: 100%; /* 画像を幅100%で表示 */
        height: auto;
    }
}




span.marker {
    background-color: #FFF738;
}

#eyecatch.page-eyecatch .catch-copy {
    position: absolute;
    left: 50%;
    top: 53%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    font-size: 2.7em;
    text-align: center;
    line-height: 1.3;
    color: #8a0000;
    font-weight: bold;
}


@media screen and (max-width: 480px) {
    #eyecatch.page-eyecatch .catch-copy {
        font-size: 2em;
        width: 84%;
		padding: 20px 0;
    }
}