@charset "utf-8";

/* ==========================================================================
   全端末（PC・タブレット・スマホ）共通のリセット設定
   ========================================================================== */
* {
	/* 要素の幅にパディングとボーダーを含める設定（レイアウト崩れ防止） */
	box-sizing: border-box;
	/* ブラウザ固有の余白をゼロにする */
	margin: 0;
	padding: 0;
}

html {
	/* ページ内リンクをクリックした際、スルスルと滑らかに移動させる */
	scroll-behavior: smooth;
}

/* 全体の基本デザイン（タイポグラフィ・背景など）
---------------------------------------------------------------------------*/
body {
	/* サイト全体の文字色 */
	color: #333;
	/* 使用するフォントの優先順位（日本語環境に適した設定） */
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
	/* 基本の文字サイズ */
	font-size: 18px;
	/* 行間を広く取って読みやすくする（文字の高さの2倍） */
	line-height: 2;
	/* サイト全体の背景色（薄いクリーム色） */
	background: #fffef3;
}



/* 各要素のデフォルトスタイルをリセット
---------------------------------------------------------------------------*/
h1,
h2,
h3,
h4,
h5,
p,
ul,
ol,
li,
dl,
dt,
dd,
form,
figure,
select,
input,
textarea {
	/* ブラウザ独自のサイズ設定をリセットし、親要素に合わせる */
	font-size: 100%;
	/* 太字を解除して標準の太さにする */
	font-weight: normal;
}

ul {
	/* 箇条書きの「・」を消す */
	list-style-type: none;
}

img {
	/* 画像の枠線を消す */
	border: none;
	/* 親要素の幅を超えないようにし、レスポンシブ対応にする */
	max-width: 100%;
	/* 縦横比を維持して高さを自動調整 */
	height: auto;
	/* 画像の下にできる隙間を解消する */
	vertical-align: middle;
}

table {
	/* セル同士の隙間をなくして隣接させる */
	border-collapse: collapse;
	font-size: 100%;
	border-spacing: 0;
}

/* カスタムクラス（特定の配置用） */
th_ct {
	text-align: center;
}

/* 見出しセルの文字中央揃え */
td_ct {
	text-align: center;
}

/* データセルの文字中央揃え */

iframe {
	/* 埋め込み動画や地図を横幅いっぱいに表示 */
	width: 100%;
}

video,
audio {
	/* 動画・音声プレイヤーが画面からはみ出さないようにする */
	max-width: 100%;
}

/* 連絡先情報のテーブル（住所など）の装飾
---------------------------------------------------------------------------*/
address table {
	width: 150px;
	margin: 10px auto;
	/* 上下に10px、左右中央に配置 */
}

address table td {
	/* 1文字分インデント（字下げ）を入れる */
	text-indent: 1em;
}

/* 汎用クラス：文字を中央寄せにする */
.txt_ct {
	text-align: center;
}

/* 共通の余白設定
---------------------------------------------------------------------------*/
.jm_app_p {
	padding: 50px;
	/* 四方に50pxの余白 */
}

/* モバイル対応（画面幅480px以下の場合に適用）
---------------------------------------------------------------------------*/
@media (max-width: 480px) {
	.jm_app_p {
		/* スマホでは余白を狭くし、文字サイズと行間を調整して見やすくする */
		padding: 10px;
		line-height: 25px;
		font-size: 14px;
	}
}

/* リンク（全般）設定
--------------------------------------------------------------------------- */
a {
	color: #333;
	/* リンクテキストの標準の色 */
	/* 色の変化を0.5秒かけて滑らかにする（アニメーション効果） */
	transition: 0.5s;
	/* リンクの下線を消す */
	text-decoration: none;
}

a:hover {
	color: #000000;
	/* マウスを乗せた時の色 */
	text-decoration: none;
	/* マウスオン時も下線は表示しない */
}

/* サイト全体を包むコンテナ（外枠）
--------------------------------------------------------------------------- */
#container {
	max-width: 1400px;
	/* 画面が大きくても1400px以上には広がらない */
	margin: 0 auto;
	/* 左右中央に配置 */
	position: relative;
	padding: 0;
	/* 背景画像の設定 */
	background-image: url(../images/backimg.png);
	background-repeat: repeat-y;
	/* 背景画像を縦方向に繰り返す */
	/* 背景色を白の75%透過で重ねる（背景画像が透けて見える） */
	background-color: rgba(255, 255, 255, 0.75);
	/* 背景色と画像をブレンドして明るく見せる */
	background-blend-mode: lighten;
}

@media (max-width: 480px) {
	#container {
		/* スマホ時は位置固定の基準をリセット */
		position: static;
	}
}

/* メニューブロック
--------------------------------------------------------------------------- */
.mainmenu {
	overflow: hidden;
	/* 子要素のはみ出しを防ぐ */
	border-radius: 10px;
	/* メニュー全体の角を丸める */
	border: 5px solid #f56270;
	/* ピンクの太い枠線 */
	margin-bottom: 20px;
	/* 下にスペースを空ける */
}

.mainmenu li {
	text-align: center;
	/* 文字を中央揃え */
	border-top: 1px solid #ccc;
	/* メニュー同士の区切り線（グレー） */
	font-size: 18px;
}

.mainmenu li a {
	display: block;
	/* リンクをボタンのように広げる（クリックしやすくする） */
	text-decoration: none;
	padding: 15px 5px;
	/* ボタン内の上下左右の余白 */
	background: #fff;
	/* メニューの背景色（白） */
}

/* メニューの項目にマウスを乗せた時 */
.mainmenu li a:hover {
	background: #fbf6cc;
	/* 背景を薄い黄色に変える */
}

/* 最初のメニュー項目だけは上の線を消す（二重線を防ぐ） */
.mainmenu li:first-child {
	border: none;
}

/* メニュー内のサブタイトルや補足文字（飾り文字） */
.mainmenu li span {
	display: block;
	/* 改行して表示 */
	font-size: 11px;
	font-weight: normal;
	letter-spacing: 0.2em;
	/* 文字の間隔を広げてオシャレに見せる */
	color: #f56270;
}

/* PC用表示ではスマホ専用のメニューやアイコンを隠しておく */
#menubar-s,
#menubar_hdr {
	display: none;
}

/* スマホ用コンテンツエリア（sp_contents）
--------------------------------------------------------------------------- */
.sp_contents {
	clear: both;
	overflow: hidden;
	padding: 0 5%;
	/* 左右に5%の余白を作る */
	margin-top: 20px;
}

/* 480px以上の画面（PCなど）では、このエリア自体を非表示にする */
@media screen and (min-width: 480px) {
	.sp_contents {
		display: none;
	}
}

/* info1.htmlやstaff.html等で使用する装飾ボックス
--------------------------------------------------------------------------- */
.sp_contents .box {
	overflow: hidden;
	border: 0.5px solid #f56270;
	/* 細いピンクの枠線 */
	padding: 20px;
	/* ボックス内の余白 */
	border-radius: 30px;
	/* 角を大きく丸める */
	margin-bottom: 20px;
	/* ボックス同士の間隔 */
	background: #fff;
}

.sp_contents .box h4 {
	color: #f56270;
	font-size: 65%;
	/* PC基準ではかなり小さめに設定（ただし下記スマホ設定で上書き） */
}

@media (max-width: 480px) {

	/* スマホで見るときはh4の文字サイズを18pxに大きくする */
	.sp_contents .box h4 {
		font-size: 18px;
	}
}

.sp_contents .box p {
	padding: 0 !important;
	/* 他のスタイルに影響されないよう強制的に余白0 */
	font-size: 11px;
}

@media (max-width: 480px) {

	/* スマホで見るときは文章を読みやすく調整 */
	.sp_contents .box p {
		font-size: 13px;
		line-height: 20px;
		/* 行間を調整 */
	}
}

/* ボックス内の画像の回り込み（fl=左, fr=右）の余白リセット */
.sp_contents .box .fr,
.sp_contents .box .fl {
	margin-bottom: 0;
}

@media (max-width: 480px) {

	/* スマホ時の見出しサイズ調整 */
	.sp_contents h3 {
		font-size: 13px;
	}
}

/*contentsコンテンツ
---------------------------------------------------------------------------*/
/*contentsブロック全体の設定*/
#contents {
	/* background-color: #f56270; */
	position: absolute;
	top: 550px;
	left: 350px;
	/* margin-right: 70px; */
	width: 70%;
}

@media (max-width: 480px) {
	#contents {
		position: static;
		display: none;
	}
}

/*トップページでのcontentsコンテンツへの追加設定*/
.home #contents {
	margin-top: 30%;
	/*上に空けるスペース。スライドショーとのバランスをとって設定して下さい。*/
}

/*contentsコンテンツのh2タグ設定*/
#contents h2 {
	clear: both;
	font-size: 22px;
	margin-bottom: 20px;
	padding: 20px 20px 20px 60px;
	/*上、右、下、左への見出し内の余白*/
	color: #fff;
	/*文字色*/
	background: #f56270;
	/*背景色（古いブラウザ用）*/
	/*背景色、背景画像の読み込み。左から20pxの場所に配置。画像の幅を25pxに。*/
	border-radius: 0px;
	/*角丸のサイズ*/
}

/*contentsコンテンツのh3タグ設定*/
/* #contents h3 {
	margin-top: 0;
	margin-bottom: 10px;
	padding: 10px;
	color: #ebf5cd;
	font-size: 20px;
	font-weight: normal;
	background: url(../images/h2-ribbon.png) repeat-y left top;
	font-weight: 700;
}

#contents h3::first-letter {
	border-left: 3px solid #f56270;
	padding-left: 15px;
} */

/*-- h3見出し -- */
.heading1 {
	background-color: #ffffff;
	padding: 5px;
	margin: 15px;
	box-shadow: 0 0 0 1px #66cdaa, -12px -12px 0 0 #66cdaa, -12px -12px 0 0 #66cdaa;
	border: solid 1px #FFF;
	color: #000000;
	font-weight: 200;
	/* color: #000000; */
	text-indent: 1em;
	/* -webkit-text-stroke: 0.1px rgb(255, 255, 255); */
	/* text-shadow:
		0.5px 0.5px 0 #000,
		-0.5px -0.5px 0 #000,
		0.5px -0.5px 0 #000,
		-0.5px 0.5px 0 #000,
		0.5px 0.5px 0 #000; */
}

@media (max-width: 480px) {
	.heading1 {
		margin: 40px 15px;
	}
}



.heading1 p {
	padding: 3px;
	color: #FFF;
}

/*他。微調整。*/
#contents p+p {
	margin-top: -5px;
}

#contents h2+p,
#contents h3+p {
	margin-top: -10px;
}

#contents section+section {
	margin-top: 30px;
}

/*box（info1.htmlやstaff.htmlで使っている枠色がついたタイプのボックス）
---------------------------------------------------------------------------*/
/*box*/
#contents .box {
	overflow: hidden;
	border: 3px solid #f56270;
	/*枠線の幅、線種、色*/
	padding: 20px;
	/*ボックス内の余白*/
	border-radius: 10px;
	/*角丸のサイズ。この１行を削除すれば角のとれた長方形になります。*/
	margin: 50px 50px;
	/*ボックスの下に空けるスペース*/
	background: #fff;
	/*背景色*/
}

/*box内のh4タグ*/
#contents .box h4 {
	color: #f56270;
	/*文字色*/
	font-size: 120%;
	/*文字サイズ*/
}

box内のpタグ #contents .box p {
	padding: 0 !important;
}

/*box内のfrとflスタイルのリセット*/
#contents .box .fr,
#contents .box .fl {
	margin-bottom: 0;
}

/*menuコンテンツ
---------------------------------------------------------------------------*/
/*menuブロック全体の設定*/
#menu {
	/* float: left; */
	/*左に回り込み*/
	font-size: 14px;
	/*文字サイズ*/
	line-height: 1.5;
	/* width: 20%; */
	/*ブロックの幅*/
}

#menu h2 {
	font-size: 18px;
	/*文字サイズ*/
}

#menu h2::first-letter {
	border-left: 3px solid #f56270;
	padding-left: 10px;
}

#menu .box h2::first-letter {
	border-left: 3px solid #fff;
}

/*menuコンテンツ内のbox
---------------------------------------------------------------------------*/
#menu .box {
	background: #f56270;
	/*背景色*/
	color: #fff;
	/*文字色*/
	padding: 20px;
	/*ボックス内の余白*/
	border-radius: 10px;
	/*角丸の指定*/
	/* margin-bottom: 20px; */
	/*ボックスの下(外側)に空けるスペース*/
}

/*リンクテキストの文字色*/
#menu .box a {
	color: #fff;
}

/*menuコンテンツ内のaddress
---------------------------------------------------------------------------*/
#menu address {
	font-style: normal;
	/*デフォルトで斜体になるのでノーマルに*/
}

/*フッター設定
---------------------------------------------------------------------------*/
footer {
	clear: both;
	/* padding-top: 40px; */
	text-align: center;
	font-size: 70%;
}

footer .pr {
	display: block;
	font-size: 80%;
}

/*フッターメニュー
---------------------------------------------------------------------------*/
/*ボックス全体*/
#footermenu {
	padding: 10px;
}

/*メニュー１個あたり*/
#footermenu li {
	display: inline-block;
	/*横並びにさせる*/
	padding: 2px 10px;
	/*上下、左右への余白*/
}

/*コピーライト
---------------------------------------------------------------------------*/
#copyright {
	clear: both;
	background: #494747;
	/*背景色*/
	color: #fff;
	/*文字色*/
}

#copyright a {
	text-decoration: none;
	color: #fff;
	/*文字色*/
}







/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
/*アニメーションのキーグレーム設定（変更不要）*/
@keyframes scroll {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

/*デフォルトでは非表示に*/
body .nav-fix-pos-pagetop a {
	display: none;
}

/*ボタンの設定*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a {
	display: block;
	z-index: 100;
	position: fixed;
	width: 50px;
	/*幅*/
	bottom: 55px;
	/*下からの配置場所指定*/
	right: 3%;
	/*右からの配置場所指定*/
	animation-name: scroll;
	/*上のアニメーションで指定しているkeyframesの名前（scroll）*/
	animation-duration: 0.5S;
	/*アニメーションの実行時間*/
	animation-fill-mode: forwards;
	/*アニメーションの完了後、最後のキーフレームを維持する*/
	border-radius: 50%;
	border: 3px solid #f56270;
	/*枠線の幅、線種、色*/
	background: #fff;
	/*背景色（古いブラウザ用）*/
	background: rgba(255, 255, 255, 0.5);
	/*背景色。255,255,255は白のことで0.3は色が30%出た状態のこと。*/
}

/*マウスオン時*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a:hover {
	background: #fff;
}


/*CSSスライドショー設定
---------------------------------------------------------------------------*/
/*１枚目*/
@keyframes slide1 {
	0% {
		opacity: 0;
	}

	10% {
		opacity: 1;
	}

	30% {
		opacity: 1;
	}

	40% {
		opacity: 0;
	}

	100% {
		opacity: 0;
	}
}

/*２枚目*/
@keyframes slide2 {
	0% {
		opacity: 0;
	}

	20% {
		opacity: 0;
	}

	30% {
		opacity: 1;
	}

	60% {
		opacity: 1;
	}

	70% {
		opacity: 0;
	}

	100% {
		opacity: 0;
	}
}

/*３枚目*/
@keyframes slide3 {
	0% {
		opacity: 0;
	}

	50% {
		opacity: 0;
	}

	60% {
		opacity: 1;
	}

	85% {
		opacity: 1;
	}

	95% {
		opacity: 0;
	}

	100% {
		opacity: 0;
	}
}

/*mainimg
---------------------------------------------------------------------------*/
/*画像ブロック*/
.mainimg {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
}

.mainimg .inner {
	padding: 0;
	width: 100%;
	height: auto;
	position: relative;
}

/*３枚画像の共通設定*/
.home .slide1,
.home .slide2,
.home .slide3 {
	position: absolute;
	left: 0px;
	top: 0px;
	animation-fill-mode: both;
	animation-duration: 12s;
	/*実行する時間。「s」は秒の事。*/
	animation-iteration-count: infinite;
	/*実行する回数。「infinite」は無限に繰り返す意味。*/
	animation-delay: 1s;
	/*アニメーションを１秒だけ遅れてスタートさせる。少しでも初動のガタつきを防ぐためです。*/
}

/*土台画像*/
.slide0 {
	position: relative;
	width: 100%;
	height: auto;
}

/*１枚目*/
.slide1 {
	animation-name: slide1;
	/*上で設定しているキーフレーム（keyframes）の名前*/
}

/*２枚目*/
.slide2 {
	animation-name: slide2;
	/*上で設定しているキーフレーム（keyframes）の名前*/
}

/*３枚目*/
.slide3 {
	animation-name: slide3;
	/*上で設定しているキーフレーム（keyframes）の名前*/
}

/*imgタグ設定*/
.mainimg img {
	position: absolute;
	left: 0px;
	top: -5px;
	z-index: 0;
	width: 100%;
}

.mainimg img.kazari {
	z-index: 1;
}

.message {
	background-color: #f56270;
	width: 100%;
	height: 200px;
	position: absolute;
	top: 300px;
	/* padding: 3%; */
	padding-left: 20%;
	color: #fff
}

/* .message h2 {
	padding: 5% 0;
} */

@media (max-width: 480px) {
	.message {
		/* display: none; */
		top: 120px;
		padding-left: 0;
		padding: 3%;
		height: 100px;
	}

	.index-ms-back {
		/* display: none; */
		top: 220px;
		padding-left: 0;
		padding: 3%;
		height: 180px;
	}

	.learn_pc-ms-back {
		/* display: none; */
		top: 220px;
		padding-left: 0;
		padding: 3%;
		height: 150px;
	}


	.digisoro-ms-back {
		/* display: none; */
		top: 220px;
		padding-left: 0;
		padding: 3%;
		height: 130px;
	}


	.course-ms-back {
		/* display: none; */
		top: 220px;
		padding-left: 0;
		padding: 3%;
		height: 110px;
	}

	.pg-ms-back {
		/* display: none; */
		top: 220px;
		padding-left: 0;
		padding: 3%;
		height: 120px;
	}

	.typing-ms-back {
		/* display: none; */
		top: 220px;
		padding-left: 0;
		padding: 3%;
		height: 120px;
	}


	.learn_certification-ms-back {
		/* display: none; */
		top: 220px;
		padding-left: 0;
		padding: 3%;
		height: 145px;
	}

	.students-ms-back {
		/* display: none; */
		top: 220px;
		padding-left: 0;
		padding: 3%;
		height: 150px;
	}


	.voice-ms-back {
		/* display: none; */
		top: 220px;
		padding-left: 0;
		padding: 3%;
		height: 80px;
	}


	.daiei-ms-back {
		/* display: none; */
		top: 220px;
		padding-left: 0;
		padding: 3%;
		height: 190px;
	}


	.access-ms-back {
		/* display: none; */
		top: 220px;
		padding-left: 0;
		padding: 3%;
		height: 70px;
	}


	.jimu-ms-back {
		/* display: none; */
		top: 220px;
		padding-left: 0;
		padding: 3%;
		height: 165px;
	}

	.contact-ms-back {
		/* display: none; */
		top: 220px;
		padding-left: 0;
		padding: 3%;
		height: 80px;
	}

	.jimu2-ms-back {
		/* display: none; */
		top: 220px;
		padding-left: 0;
		padding: 3%;
		height: 110px;
	}


	.j_complete-ms-back {
		top: 220px;
		padding-left: 0;
		padding: 3%;
		height: 100px;
	}

	.contact-ms-back {
		top: 220px;
		padding-left: 0;
		padding: 3%;
		height: 100px;
	}


	.math-ms-back {
		/* display: none; */
		top: 220px;
		padding-left: 0;
		padding: 3%;
		height: 165px;
	}

	/* 	
	.daiei-sp_contents {
		margin-top: 50px;
	}
 */






	.message h2 {
		font-size: 14px;
		line-height: 23px;
	}


}

.top-h2 {
	padding: 40px 30px 0px 90px;
}

.daiei-h2 {
	padding: 45px 20px 0px 90px;
}

.access-h2 {
	padding: 80px 20px 0px 90px;
}

.contact-h2 {
	padding: 80px 20px 80px 0;
}

.voice-h2 {
	padding: 80px 20px 80px 90px;
}

.course-h2 {
	padding: 65px 20px 15px 90px;
}

.typing-h2 {
	padding: 10px 20px 15px 25px;
}

@media (max-width: 480px) {
	.typing-h2 {
		padding: 0;
	}
}

.learning-h2 {
	padding: 65px 40px 65px 40px;
}

.comp-h2 {
	padding: 70px 15px 30px 70px;
}

.learn_pc-h2 {
	padding: 60px 0 0 90px;
}

.contact-h2 {
	padding: 80px 0 0 90px;
}

.confirm-h2 {
	padding: 70px 0 0 90px;
}

.conplete-h2 {
	padding: 80px 0 0 0;
}

.learn_certification-h2 {
	padding: 65px 0 65px 15px;
}

.students-h2 {
	padding: 65px 0 65px 15px;
}

.jimu-h2 {
	padding: 10px 20px 15px 25px;
}

.jimu_apply-h2 {
	padding: 65px 0 65px 90px;
}

.digisoro-h2 {
	padding: 45px 40px 0 15px;
}

.pg-h2 {
	padding: 45px 40px 0 15px;
}

.math-h2 {
	padding: 10px 20px 15px 25px;
}


@media (max-width: 480px) {
	.top-h2 {
		padding: 0;
	}

	.learning-h2 {
		padding: 1px 0;
	}

	.course-h2 {
		padding: 0;
	}

	.voice-h2 {
		padding: 0 0 0 0;
	}

	.daiei-h2 {
		padding: 0 0 0 0;
	}

	.access-h2 {
		padding: 0 0 0 0;
	}

	.learn_pc-h2 {
		padding: 2px 0 0 0;
	}

	.contact-h2 {
		padding: 0 0 0 0;
	}

	.confirm-h2 {
		padding: 0 0 0 0;
	}

	.conplete-h2 {
		padding: 0 0 0 0;
	}

	.learn_certification-h2 {
		padding: 15px 0 0 10px;
	}

	.digisoro-h2 {
		padding: 0px 0 0px 10px;
	}

	.pg-h2 {
		padding: 0px 10px 0 10px;
	}

	.students-h2 {
		padding: 0;
	}

	.jimu-h2 {
		padding: 0;
	}

	.jimu_apply-h2 {
		padding: 0 0 0 0;
	}

	.comp-h2 {
		padding: 0 0 0 0;
	}
}

.logo {
	/* background-color: #000000; */
	width: 500px;
	height: 250px;
	position: absolute;
	top: 10px;
	left: 0px;
}

@media (max-width: 480px) {
	.logo {
		/* display: none; */
		width: 320px;
		height: 110px;
		/* position: absolute; */
		top: 60px;
		left: 10px;
	}
}


.menu_box {
	/* background-color: #000000; */
	width: 250px;
	position: absolute;
	top: 250px;
	left: 80px;
}

@media (max-width: 480px) {
	.menu_box {
		display: none;
	}
}


.home_top {
	width: 100%;
	height: 3000px;
}

@media (max-width: 480px) {
	.home_top {
		height: 380px;
		/* margin-bottom: 3%; */
	}
}

.learning_top {
	width: 100%;
	height: 1200px;
}

@media (max-width: 480px) {
	.learning_top {
		height: 270px;
		margin-bottom: 3%;
	}
}

.course_top {
	width: 100%;
	height: 1500px;
}

@media (max-width: 480px) {
	.course_top {
		height: 300px;
		margin-bottom: 3%;
	}
}

.voice_top {
	width: 100%;
	height: 2300px;
}

@media (max-width: 480px) {
	.voice_top {
		height: 270px;
		margin-bottom: 3%;
	}
}

.daiei_top {
	width: 100%;
	height: 1500px;
}

@media (max-width: 480px) {
	.daiei_top {
		height: 400px;
		margin-bottom: 3%;
	}
}

.access_top {
	width: 100%;
	height: 2500px;
}

@media (max-width: 480px) {
	.access_top {
		height: 270px;
		margin-bottom: 3%;
	}
}

.contact_top {
	width: 100%;
	height: 2300px;
}

@media (max-width: 480px) {
	.contact_top {
		height: 320px;
		margin-bottom: 3%;
	}
}

.confirm_top {
	width: 100%;
	height: 1500px;
}

@media (max-width: 480px) {
	.confirm_top {
		height: 300px;
		margin-bottom: 3%;
	}
}

.learn_pc_top {
	width: 100%;
	height: 2850px;
}

@media (max-width: 480px) {
	.learn_pc_top {
		height: 380px;
		/* margin-bottom: 3%; */
	}
}

.learn_certification_top {
	width: 100%;
	height: 2600px;
}

@media (max-width: 480px) {
	.learn_certification_top {
		height: 300px;
		margin-bottom: 3%;
	}
}

.typing_top {
	width: 100%;
	height: 2150px;
}

@media (max-width: 480px) {
	.typing_top {
		height: 310px;
		margin-bottom: 3%;
	}
}

.jimu_top {
	width: 100%;
	height: 2950px;
}

@media (max-width: 480px) {
	.jimu_top {
		height: 320px;
		margin-bottom: 3%;
	}
}

.jimu_apply_top {
	width: 100%;
	height: 2300px;
}

@media (max-width: 480px) {
	.jimu_apply_top {
		height: 300px;
		margin-bottom: 3%;
	}
}



@media (max-width: 480px) {
	.jimu_apply_top {
		height: 300px;
		margin-bottom: 3%;
	}
}


.digisoro_top {
	width: 100%;
	height: 1600px;
}

@media (max-width: 480px) {
	.digisoro_top {
		height: 350px;
		margin-bottom: 3%;
	}
}

.pg_top {
	width: 100%;
	height: 1200px;
}

@media (max-width: 480px) {
	.pg_top {
		height: 330px;
		margin-bottom: 3%;
	}
}

.students_top {
	width: 100%;
	height: 2000px;
}

@media (max-width: 480px) {
	.students_top {
		height: 310px;
		margin-bottom: 3%;
	}
}

.conplete_top {
	width: 100%;
	height: 1600px;
}

@media (max-width: 480px) {
	.conplete_top {
		width: 100%;
		height: 300px;
	}
}

.math_top {
	width: 100%;
	height: 3400px;
}

@media (max-width: 480px) {

	.math_top {
		height: 300px;
		margin-bottom: 3%;
	}
}


/*その他*/

.w40p {
	width: 40%;
}

.w30p {
	width: 30%;
}

.fl {
	float: left;
	margin-right: 2%;
	margin-top: 30px;
}



/* 学べるもの紹介ページ*/
.learning_flex {
	display: flex;
}

.learning_flex img {
	width: 100%;
	height: 300px;
}

#contents .learning_flex h2 {
	background: #66cdaa;
	padding: 0;
	margin-top: 20px;
}

.learning_flex-item1 {
	width: 50%;
	/* text-align: center; */
	padding: 10px;
}

.learning_flex-item2 {
	width: 50%;
	/* text-align: center; */
	padding: 10px;
}

.learning_flex-item3 {
	width: 50%;
	/* text-align: center; */
	padding: 10px;
}

.learning_flex-item4 {
	width: 50%;
	/* text-align: center; */
	padding: 10px;
}

.learning_flex .lmsg {
	margin: 50px 0;
	height: 250px;
	background: #fff;
}


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

	.learning_flex img {
		width: 100%;
		height: 250px;
	}

	.learning_flex h2 {
		background: #64d360;
		padding: 0;
		/* margin: 20px auto; */
		color: #FFF;
		text-indent: 1em;
	}

	.learning_flex-item1 {
		width: 100%;
		/* text-align: center; */
		padding: 10px;
	}

	.learning_flex-item2 {
		width: 100%;
		/* text-align: center; */
		padding: 10px;
	}

	.learning_flex-item3 {
		width: 100%;
		/* text-align: center; */
		padding: 10px;
	}

	.learning_flex-item4 {
		width: 100%;
		/* text-align: center; */
		padding: 10px;
	}

	.learning_flex .lmsg {
		margin: 50px 0;
		height: 160px;
		background: #fff;
	}

	.learning_flex .pcmsg {
		padding: 0;
		text-align: right;
		height: 50px;
		font-size: 25px;
	}

	.learning_flex .pcmsg a {
		color: #fff;
		text-decoration: none;
	}

	.learning_flex .dsmsg {
		padding: 0;
		text-align: right;
		height: 50px;
	}

	.learning_flex .dsmsg a {
		color: #fff;
		text-decoration: none;
	}

	.learning_flex .pgmsg {
		padding: 0;
		text-align: right;
		height: 50px;
		font-size: 16px;
	}

	.learning_flex .pcspan {
		background: #eb7161;
		padding: 0;
		text-align: right;
		height: 50px;
		font-size: 16px;
		border: #333 1px solid;
	}

	.learning_flex .dgspan {
		background: #5fd03c;
		padding: 0;
		text-align: right;
		height: 50px;
		font-size: 16px;
		border: #333 1px solid;
	}

	.learning_flex .pgspan {
		background: #56b4eb;
		padding: 0;
		text-align: right;
		height: 50px;
		font-size: 16px;
		border: #333 1px solid;
	}

	.learning_flex .pgmsg a {
		color: #fff;
		text-decoration: none;
	}

	.learning_flex p {
		height: 180px;
		font-size: 18px;
		line-height: 23px;
		padding: 10px;
	}
}



#contents .learning_flex .pcmsg {
	padding: 0;
	text-align: right;
	height: 50px;
	font-size: 25px;
}

#contents .learning_flex .pcmsg a {
	color: #fff;
	text-decoration: none;
}

#contents .learning_flex .dsmsg {
	padding: 0;
	text-align: right;
	height: 50px;
}

/* #contents .learning_flex .dsmsg a {
	color: #fff;
	text-decoration: none;
} */

#contents .learning_flex .pgmsg {
	padding: 0;
	text-align: right;
	height: 50px;
	font-size: 25px;
}

#contents .learning_flex .pcspan {
	background: #eb7161;
	padding: 0;
	text-align: right;
	height: 50px;
	font-size: 21px;
	border: #333 1px solid;
}

#contents .learning_flex .dgspan {
	background: #5fd03c;
	padding: 0;
	text-align: right;
	height: 50px;
	font-size: 21px;
	border: #333 1px solid;
}

#contents .learning_flex .pgspan {
	background: #56b4eb;
	padding: 0;
	text-align: right;
	height: 50px;
	font-size: 21px;
	border: #333 1px solid;
}

#contents .learning_flex .pgmsg a {
	color: #fff;
	text-decoration: none;
}

#contents .learning_flex p {
	height: 222px;
	font-size: 20px;
	background: #fff;
	padding: 6%;
}

/*learn_certification.html
------------------------------------------------------------------------------------------------------------*/
.learn_certification_table {
	border-collapse: collapse;
	width: 75%;
	/* font-weight: bold; */
	/* text-align: center; */
	margin: 0 auto;
	/* table-layout: fixed; */
	/* table要素に指定することで、幅を固定 */
}

.learn_certification_table td {
	padding: .3em 1.5em;
	border: 1px solid #000000af;
	background: #ffffff;
	font-size: 18px;
}



.learn_certification_table th {
	padding: 0.1em 1.0em;
	background: #fff;
	color: #000000;
	border: 1px solid #000000af;
	font-weight: 400;
}


.learn_certification_table thead th {
	background: #ffd5d0;
	color: #000000;
	border-right: 1px solid #000000af;
	border-top: 1px solid #000000af;
	padding: 0.1em 0.1em;

}

.learn_certification_table .cell_pink {
	background: #ffffff;
}


.learn_certification_table th .cell_center {
	text-align: center;
}

.learn_certification_table .extd {
	text-align: center;
}



.learn_certification p {
	font-size: 16px;
	line-height: 40px;
}


.learn_certification h4 {
	position: relative;
	/*相対位置*/
	padding: 0.5em 0.5em 0.5em 1.5em;
	/*アイコン分のスペース*/
	line-height: 1.4;
	/*行高*/
	color: #000000;
	/*文字色*/
	background: #fff;
	/* border-bottom: 3px solid #ff8138; */
	border: solid 1px #ff7c80;
	font-size: 15px;
	margin: 20px 5px;
}


.learn_certification .certification_h4_ano {
	position: relative;
	/*相対位置*/
	padding: 0.5em 0.5em 0.5em 6.5em;
	/*アイコン分のスペース*/
	line-height: 1.4;
	/*行高*/
	color: #000000;
	/*文字色*/
	background: #fffff4;
	border-bottom: 3px solid #ff8138;
	font-size: 15px;
	margin: 30px 0;
}

@media (max-width: 480px) {
	.learn_certification .certification_h4_ano {
		position: relative;
		/*相対位置*/
		padding: 1em;
		/*アイコン分のスペース*/
		line-height: 1.4;
		/*行高*/
		color: #000000;
		/*文字色*/
		background: #fffff4;
		border-bottom: 3px solid #ff8138;
		font-size: 15px;
		margin: 30px 0;
	}
}

.learn_certification h5 {
	background: #92D050;
	font-size: 20px;
	margin: 30px 0;
	color: #fff;
	text-indent: 2%;
}

@media (max-width: 480px) {
	.learn_certification h5 {
		margin: 0;
		margin-top: 10px;
		margin-bottom: 10px;
		font-size: 19px
	}

	.learn_certification_table .extd {
		padding-left: 18px;
	}
}

.learn_certification p span {
	border: solid 1px #454545;
}

.learn_certification a {
	text-decoration: none;
}

.button-2 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 250px;
	margin: 0 auto;
	padding: .9em 2em;
	border: none;
	border-radius: 25px;
	background-color: #ff887a;
	color: #fff;
	font-weight: 600;
	font-size: 1em;
}

.button-2:hover {
	background-color: #ef786a;
}


.learn_certification_table .th_design1 {
	/*文字色*/
	background: #ffffff;
	border: solid 1px #ff7c80;
	padding: 0;
	text-align: left;
	text-indent: 1em;
	width: 30%;
}

.learn_certification_table .td_design1 {
	/*文字色*/
	background: #ffffff;
	border: solid 1px #000000af;
	padding: 0.1em 0.1em;
	text-align: center;
	width: 70%;
}

.learn_certification_table .td_design2 {
	text-align: left;
}


@media screen and (max-width: 480px) {
	.learn_certification_table {
		border-collapse: collapse;
		min-width: 300px;
		/* font-weight: bold; */
		/* text-align: center; */
		margin: 10px auto;

	}

	.learn_certification_table th,
	.learn_certification_table td {
		padding: 0.5em 0.5em;
		border: 1px solid #000000af;
		background: #ffffff;
		font-size: 9px;
	}

	.learn_certification_table th {
		background: #ffffff;
		color: #000000;
		border-right: 1px solid #000000af;
		border-top: 1px solid #000000af;
		font-size: 12px;
		line-height: 14px;
	}

	.learn_certification_table th:last-of-type {
		border-right: 1px solid #000000af;
	}

	.learn_certification p {
		font-size: 12px;
		line-height: 20px;
	}


	.learn_certification h4 {
		position: relative;
		/*相対位置*/
		padding: 0.5em 0.5em 0.5em 1.5em;
		/*アイコン分のスペース*/
		line-height: 1.4;
		/*行高*/
		color: #000000;
		/*文字色*/
		background: #fff;
		/* border-bottom: 3px solid #ff8138; */
		border: solid 1px #ff7c80;
		font-size: 15px;
		margin: 10px 5px;
	}

}




.learn_certification h5 {
	background: #89c997;
	font-size: 20px;
	margin: 30px 0;
	color: #fff;
	text-indent: 2%;
}

@media (max-width: 480px) {
	.learn_certification h5 {
		margin: 0;
		margin-top: 10px;
	}
}


/*students.html
------------------------------------------------------------------------------------------------------------*/
.students_table {
	border-collapse: collapse;
	width: 70%;
	/* font-weight: bold; */
	/* text-align: center; */
	margin: 0 auto;
	/* table-layout: fixed; */
	/* table要素に指定することで、幅を固定 */
	/* margin-bottom: 20px; */
}

.students_table td {
	padding: .3em 0.5em;
	border: 1px solid #000000af;
	background: #ffffff;
	font-size: 18px;
	text-align: center;
}

.students_table .ltd {
	text-align: left;
}

.students_table th {
	padding: 0.1em 0.1em;
	background: #fff;
	color: #000000;
	border: 1px solid #000000af;
}


.students_table thead th {
	background: #ffd5d0;
	color: #000000;
	border-right: 1px solid #000000af;
	border-top: 1px solid #000000af;
	padding: 0.1em 0.1em;

}

.students_table .cell_pink {
	background: #ffd5d0;
}

.students_table2 {
	border-collapse: collapse;
	width: 70%;
	/* font-weight: bold; */
	text-align: center;
	margin: 0 auto;
	/* table-layout: fixed; */
	/* table要素に指定することで、幅を固定 */
	margin-bottom: 100px;
	background: #fff;
	margin-top: 100px;
	padding: 20px;
	font-size: 12px;
}




.students_table2 td {
	padding: .3em 0.5em;
	/* border: 1px solid #000000af; */
	/* background: #ffffff; */
	font-size: 18px;
	text-align: center;
	border-bottom: 1px solid #ff9b44;
}

@media (max-width: 480px) {
	.students_table2 {
		border-collapse: collapse;
		width: 70%;
		/* font-weight: bold; */
		text-align: center;
		margin: 0 auto;
		/* table-layout: fixed; */
		/* table要素に指定することで、幅を固定 */
		margin-bottom: 0px;
		/* background: #fff9e5; */
		margin-top: 0px;
		padding: 20px;
		font-size: 12px;
	}


	.students_table2 td {
		padding: 10px;
		/* border: 1px solid #000000af; */
		/* background: #ffffff; */
		font-size: 14px;
		text-align: center;
		border-bottom: 1px solid #ff9b44;
	}
}

.students_table2 th {
	padding: 0.1em 0.1em;
	/* background: #fff; */
	color: #000000;
	/* border: 1px solid #000000af; */
	border-bottom: 1px solid #ff9b44;
}


.students_table2 thead th {
	/* background: #ffd5d0; */
	color: #000000;
	/* border-right: 1px solid #000000af; */
	/* border-top: 1px solid #000000af; */
	padding: 0.1em 0.1em;

}

.students p {
	font-size: 16px;
	line-height: 40px;
}


.students h4 {
	position: relative;
	/*相対位置*/
	padding: 0.5em 0.5em 0.5em 1.5em;
	/*アイコン分のスペース*/
	line-height: 1.4;
	/*行高*/
	color: #000000;
	/*文字色*/
	background: #fffff4;
	border-bottom: 3px solid #ff8138;
	font-size: 15px;
	margin: 30px 0;
}


.students .certification_h4_ano {
	position: relative;
	/*相対位置*/
	padding: 0.5em 0.5em 0.5em 6.5em;
	/*アイコン分のスペース*/
	line-height: 1.4;
	/*行高*/
	color: #000000;
	/*文字色*/
	background: #fffff4;
	border-bottom: 3px solid #ff8138;
	font-size: 15px;
	margin: 30px 0;
}

@media (max-width: 480px) {
	.students .certification_h4_ano {
		position: relative;
		/*相対位置*/
		padding: 1em;
		/*アイコン分のスペース*/
		line-height: 1.4;
		/*行高*/
		color: #000000;
		/*文字色*/
		background: #fffff4;
		border-bottom: 3px solid #ff8138;
		font-size: 15px;
		margin: 30px 0;
	}
}

.students h5 {
	background: #92D050;
	font-size: 20px;
	margin: 30px 0;
	color: #fff;
	text-indent: 2%;
}

@media (max-width: 480px) {
	.students h5 {
		margin: 0;
		margin-top: 10px;
		margin-bottom: 10px;
		font-size: 19px
	}
}

.students p {
	/* background-color: #FFF; */
	/* padding: 20px; */
	margin-left: 145px;
}

.students p span {
	border: solid 1px #454545;
}

.students a {
	text-decoration: none;
}

.button-2 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 250px;
	margin: 0 auto;
	padding: .9em 2em;
	border: none;
	border-radius: 25px;
	background-color: #ff887a;
	color: #fff;
	font-weight: 600;
	font-size: 1em;
}

.button-2:hover {
	background-color: #ef786a;
}


.students_table .th_design1 {
	/*文字色*/
	background: #ffffff;
	border: solid 1px #ff7c80;
	padding: 0;
	text-align: left;
	text-indent: 1em;
	width: 30%;
}

.students_table .td_design1 {
	/*文字色*/
	background: #ffffff;
	border: solid 1px #000000af;
	padding: 0.1em 0.1em;
	text-align: center;
	width: 70%;
}

.students_table .td_design2 {
	text-align: left;
}


@media screen and (max-width: 480px) {
	.students_table {
		border-collapse: collapse;
		width: 100%;
		/* font-weight: bold; */
		/* text-align: center; */
		margin: 0 auto;

	}

	.students_table th,
	.students_table td {
		/* padding: .3em .9em; */
		border: 1px solid #000000af;
		background: #ffffff;
		font-size: 10px;
	}

	.students_table th {
		background: #ffd5d0;
		color: #000000;
		border-right: 1px solid #000000af;
		border-top: 1px solid #000000af;
		font-size: 8px;
		line-height: 14px;
	}

	.students_table th:last-of-type {
		border-right: 1px solid #000000af;
	}

	.students p {
		font-size: 12px;
		line-height: 28px;
		margin: 0;
	}

}



.students h4 {
	position: relative;
	/*相対位置*/
	padding: 0.5em 0.5em 0.5em 1.5em;
	/*アイコン分のスペース*/
	line-height: 1.4;
	/*行高*/
	color: #000000;
	/*文字色*/
	background: #fff;
	/* border-bottom: 3px solid #ff8138; */
	border: solid 1px #ff7c80;
	font-size: 15px;
	margin: 20px 5px;
}

.students h5 {
	background: #89c997;
	font-size: 20px;
	margin: 30px 0;
	color: #fff;
	text-indent: 2%;
}

@media (max-width: 480px) {
	.students h5 {
		margin: 0;
		margin-top: 10px;
	}
}

/*jimu.html
------------------------------------------------------------------------------------------------------------*/
.jimu_table {
	border-collapse: collapse;
	width: 82%;
	/* font-weight: bold; */
	/* text-align: center; */
	margin: 0 auto;
	/* table-layout: fixed; */
	/* table要素に指定することで、幅を固定 */
	/* margin-bottom: 20px; */
}

.jimu_table td {
	padding: .3em 1.5em;
	border: 1px solid #000000af;
	background: #ffffff;
	font-size: 18px;
	/* text-align: center; */
}

.jimu_table th {
	padding: 0.1em 0.1em;
	background: #ffd5d0;
	color: #000000;
	border: 1px solid #000000af;
	/* padding: 1em 1em; */
	line-height: 1.2;
	/* デフォルトより小さい値（例: 1.0～1.2）に設定 */
	padding: 5px;
	/* 上下のパディングを小さくする */
}


.jimu_table thead th {
	background: #c3e1ff;
	color: #000000;
	border-right: 1px solid #000000af;
	border-top: 1px solid #000000af;
	padding: 0.1em 0.1em;

}

.jimu_table .cell_blue {
	background: #c3e1ff;
}


.jimu_table2 {
	border-collapse: collapse;
	width: 70%;
	/* font-weight: bold; */
	/* text-align: center; */
	margin: 0 auto;
	/* table-layout: fixed; */
	/* table要素に指定することで、幅を固定 */
	margin-bottom: 20px;
}

.jimu_table2 td {
	padding: .3em 1.5em;
	border: 1px solid #000000af;
	background: #ffffff;
	font-size: 18px;
	text-align: center;
}

.jimu_table2 th {
	padding: 0.1em 0.1em;
	background: #ffd5d0;
	color: #000000;
	border: 1px solid #000000af;
	/* padding: 1em 1em; */
}


.jimu_table2 thead th {
	background: #c3e1ff;
	color: #000000;
	border-right: 1px solid #000000af;
	border-top: 1px solid #000000af;
	padding: 0.1em 0.1em;

}

.jimu_table2 .cell_blue {
	background: #c3e1ff;
}

.jimu_table3 {
	border-collapse: collapse;
	width: 82%;
	/* font-weight: bold; */
	/* text-align: center; */
	margin: 0 auto;
	/* table-layout: fixed; */
	/* table要素に指定することで、幅を固定 */
	margin-bottom: 20px;
	border: 2px solid #000000af;
}




.jimu_table3 td {
	padding: 0.5em 0.5em;
	border: 1px solid #000000af;
	background: #ffffff;
	font-size: 18px;
	text-align: center;
	/* width: 35%; */
}



.jimu_table3 th {
	padding: 0.1em 0.1em;
	/* background: #ffd5d0; */
	color: #000000;
	border: 1px solid #000000af;
	/* padding: 1em 1em; */
	/* width: 30%; */
}

.jimu_table3 thead th {
	background: #c3e1ff;
	color: #000000;
	border-right: 1px solid #000000af;
	border-top: 1px solid #000000af;
	padding: 0.1em 0.1em;

}

.jimu_table3 .cell_blue {
	background: #c3e1ff;
}

.jimu_table3 .cell_pink {
	background: #ffd5d0;
	text-align: left;
	padding-left: 20px;
}


/* スマホ対応 */
@media screen and (max-width: 480px) {
	.jimu_table3 .cell_pink {
		background: #ffd5d0;
		text-align: left;
		padding-left: 4px;
		font-size: 12px;
		line-height: 12px;
	}

}

.jimu_table3 .cell_pink_center {
	background: #ffd5d0;
	text-align: center;
	padding-left: 20px;
}

.jimu_table3 .cell_green {
	background: #c0ffcc;
	text-align: center;
}

.jimu_table3 .ltd {
	text-align: left;
}


.jimu_table3 td:empty {
	background-image: linear-gradient(to left bottom, transparent calc(50% - 1px), #878787 calc(50% - .5px), #878787 calc(50% + .5px), transparent calc(50% + 1px), #fff);
	background-repeat: no-repeat;
}

.jimu_table3 th:empty {
	background-image: linear-gradient(to left bottom, transparent calc(50% - 1px), #878787 calc(50% - .5px), #878787 calc(50% + .5px), transparent calc(50% + 1px), #fff);
	background-repeat: no-repeat;
}



@media (max-width: 480px) {
	.jimu_table3 {
		border-collapse: collapse;
		width: 100%;
		/* font-weight: bold; */
		/* text-align: center; */
		margin: 0 auto;
		/* table-layout: fixed; */
		/* table要素に指定することで、幅を固定 */
		margin-bottom: 20px;
		border: 2px solid #000000af;
	}

	.jimu_table3 td {
		padding: 0.5em 0.5em;
		border: 1px solid #000000af;
		background: #ffffff;
		font-size: 12px;
		text-align: center;
	}

	.jimu_table3 .cell_pink_center {
		background: #ffd5d0;
		text-align: center;
		padding-left: 20px
	}
}


.jimu p {
	font-size: 16px;
	line-height: 40px;
}


.jimu h4 {
	position: relative;
	/*相対位置*/
	padding: 0.5em 0.5em 0.5em 1.5em;
	/*アイコン分のスペース*/
	line-height: 1.4;
	/*行高*/
	color: #000000;
	/*文字色*/
	background: #fffff4;
	border-bottom: 3px solid #ff8138;
	font-size: 15px;
	margin: 30px 0;
}


.jimu .certification_h4_ano {
	position: relative;
	/*相対位置*/
	padding: 0.5em 0.5em 0.5em 6.5em;
	/*アイコン分のスペース*/
	line-height: 1.4;
	/*行高*/
	color: #000000;
	/*文字色*/
	background: #fffff4;
	border-bottom: 3px solid #ff8138;
	font-size: 15px;
	margin: 30px 0;
}

@media (max-width: 480px) {
	.jimu .certification_h4_ano {
		position: relative;
		/*相対位置*/
		padding: 1em;
		/*アイコン分のスペース*/
		line-height: 1.4;
		/*行高*/
		color: #000000;
		/*文字色*/
		background: #fffff4;
		border-bottom: 3px solid #ff8138;
		font-size: 15px;
		margin: 30px 0;
	}
}

.jimu h5 {
	background: #92D050;
	font-size: 20px;
	margin: 30px 0;
	color: #fff;
	text-indent: 2%;
}

@media (max-width: 480px) {
	.jimu h5 {
		margin: 0;
		margin-top: 10px;
		margin-bottom: 10px;
		font-size: 19px
	}
}

.jimu p {
	/* background-color: #FFF; */
	padding: 20px;
}

.jimu p span {
	border: solid 1px #454545;
}

.jimu a {
	text-decoration: none;
}

.button-2 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 250px;
	margin: 0 auto;
	padding: .9em 2em;
	border: none;
	border-radius: 25px;
	background-color: #ff887a;
	color: #fff;
	font-weight: 600;
	font-size: 1em;
}

.button-2:hover {
	background-color: #ef786a;
}


.jimu_table .th_design1 {
	/*文字色*/
	background: #ffffff;
	border: solid 1px #ff7c80;
	padding: 0;
	text-align: left;
	text-indent: 1em;
	width: 30%;
}

.jimu_table .td_design1 {
	/*文字色*/
	background: #ffffff;
	border: solid 1px #000000af;
	padding: 0.1em 0.1em;
	text-align: center;
	width: 70%;
}

.jimu_table .td_design2 {
	text-align: left;
}


@media screen and (max-width: 480px) {
	.jimu_table {
		border-collapse: collapse;
		min-width: 320px;
		/* font-weight: bold; */
		/* text-align: center; */
		margin: 0 auto;

	}

	.jimu_table th,
	.jimu_table td {
		padding: 7px .1em;
		border: 1px solid #000000af;
		background: #ffffff;
		font-size: 10px;
	}

	.jimu_table th {
		background: #ffd5d0;
		color: #000;
		border-right: 1px solid #000000af;
		border-top: 1px solid #000000af;
		font-size: 14px;
		line-height: 14px;
	}

	.jimu_table th:last-of-type {
		border-right: 1px solid #000000af;
	}

}

.jimu p {
	font-size: 15px;
	line-height: 40px;
}


.jimu h4 {
	position: relative;
	/*相対位置*/
	padding: 0.5em 0.5em 0.5em 1.5em;
	/*アイコン分のスペース*/
	line-height: 1.4;
	/*行高*/
	color: #000000;
	/*文字色*/
	background: #fff;
	/* border-bottom: 3px solid #ff8138; */
	border: solid 1px #ff7c80;
	font-size: 20px;
	margin: 30px 0;
}

.jimu h5 {
	background: #89c997;
	font-size: 20px;
	margin: 30px 0;
	color: #fff;
	text-indent: 2%;
}

@media (max-width: 480px) {
	.jimu h5 {
		margin: 0;
		margin-top: 10px;
	}
}

a.btn--red {
	background-color: #e0e0e0;
	border: 1px solid #303030;
}

a.btn-c {
	font-size: 1.8rem;
	position: relative;
	padding: 2rem 4rem 2rem 2rem;
	color: #fff;
	border-radius: 100vh;
	-webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, .2);
	box-shadow: 0 10px 10px rgba(0, 0, 0, .2);
}

a.btn-c:before {
	/* font-family: 'Font Awesome 5 Free'; */
	font-size: 1.6rem;
	line-height: 1;
	position: absolute;
	top: calc(50% - .8rem);
	right: 1rem;
	margin: 0;
	padding: 0;
	/* content: '\f30b'; */
}

.jimu_apply {
	/* text-align: center; */
	margin: 50px auto;
}

.agree_box {
	padding: 0px;
	padding-left: 10em;
	text-indent: -4em;
	margin: 50px auto;
}

@media (max-width: 480px) {
	.agree_box {
		padding: 0px;
		padding-left: 5em;
		margin: 50px auto;
		font-size: 16px;
	}

}


input[type=checkbox] {
	-ms-transform: scale(1.5, 1.5);
	-webkit-transform: scale(1.5, 1.5);
	transform: scale(1.5, 1.5);
}

/*course.html
------------------------------------------------------------------------------------------------------------*/
.course_table {
	border-collapse: collapse;
	width: 70%;
	/* font-weight: bold; */
	text-align: center;
	margin: 0 auto;
	table-layout: fixed;
	/* margin-left: 70px; */
	/* table要素に指定することで、幅を固定 */
}

.course_table th,
.course_table td {
	/* padding: .3em .3em; */
	border: 1px solid #00000040;
	border-right: 1px solid #00000040;
	border-bottom: 1px solid #00000040;
	background: #ffffff;
	font-size: 18px;
}

.course_table th {
	/* background: #fff6b09d; */
	color: #000000;
	border-right: 1px solid #00000040;
	border-top: 1px solid #00000040;
	font-weight: 400;
}

/* .course_table th:last-of-type {
	border-right: 1px solid #ff7c80;
} */

.course_table thead th {
	background: #ffd5d0;
	color: #000000;
	border-right: 1px solid #00000040;
	border-top: 1px solid #00000040;
}

.course_table .border-lr {
	border-right: 1px solid #00000040;
	border-left: 1px solid #00000040;
}

.course_table .fonts-16 {
	font-size: 16px;
}





.course_table .th_design1 {
	/*文字色*/
	background: #ffffff;
	border: solid 1px #ff7c80;
	font-weight: 300;
}

.course_table .td_design1 {
	/*文字色*/
	background: #ffffff;
	border: solid 1px #00000040;
}

@media screen and (max-width: 480px) {
	.course_table {
		border-collapse: collapse;
		min-width: 300px;
		/* font-weight: bold; */
		text-align: center;
		margin: 0 auto;

	}

	.course_table th,
	.course_table td {
		padding: .3em .3em;
		border: 1px solid #00000040;
		background: #ffffff;
		font-size: 10px;
	}

	.course_table th {
		/* background: #fff6b086; */
		color: #000000;
		border-right: 1px solid #00000040;
		border-top: 1px solid #00000040;
		font-size: 12px;
		line-height: 14px;
	}

	.course_table th:last-of-type {
		border-right: 1px solid #00000040;
	}

}

.course p {
	font-size: 16px;
	line-height: 25px;
	padding: 10px 0 15px 150px;
	/* margin: 10px 0 30px 150px; */
}




@media (max-width: 480px) {
	.course p {
		font-size: 11px;
		line-height: 20px;
		padding: 10px 0 15px 15px;
		/* margin: 10px 30px 30px 30px; */
	}

}


.course h4 {
	position: relative;
	/*相対位置*/
	padding: 0.5em 0.5em 0.5em 1.5em;
	/*アイコン分のスペース*/
	line-height: 1.4;
	/*行高*/
	color: #000000;
	/*文字色*/
	/* background: #ffffff; */
	/* border-bottom: 3px solid #ff8138; */
	/* border: solid 1px #ff7c80; */
	font-size: 20px;
	margin: 30px 0;
	text-align: center;
}


/* .course h4 { */
/* position: relative; */
/*相対位置*/
/* padding: 0.5em 0.5em 0.5em 1.5em; */
/*アイコン分のスペース*/
/* line-height: 1.4; */
/*行高*/
/* color: #000000; */
/*文字色*/
/* background: #ffffff; */
/* border-bottom: 3px solid #ff8138; */
/* border: solid 1px #ff7c80; */
/* font-size: 20px; */
/* margin: 30px 0; */
/* } */

/* .course h4:before { */
/* font-family: "Font Awesome 5 Free"; */
/*忘れずに*/
/* content: "\f138"; */
/*アイコンのユニコード*/
/* font-weight: 900;
	position: absolute; */
/*絶対位置*/
/* font-size: 1em; */
/*サイズ*/
/* left: 0.25em; */
/*アイコンの位置*/
/* top: 0.5em; */
/*アイコンの位置*/
/* color: #93ee31; */
/*アイコン色*/
/* } */


.course h5 {
	background: #89c997;
	font-size: 20px;
	margin: 30px 0;
	color: #fff;
	text-indent: 2%;
}

@media (max-width: 480px) {
	.course h5 {
		margin: 0;
		margin-top: 10px;
	}
}


.jikan {
	margin-top: 70px;
}

/*voice.html
------------------------------------------------------------------------------------------------------------*/

/*1段目*/
.voice_flex {
	display: flex;
}

.voice p {
	line-height: 24px;
}

.voice img {
	width: 100%;
	height: 260px;
	padding: 15px 20px;
}

.voice .voice_flex-item1 {
	width: 33%;
	/* text-align: center; */
	height: 520px;
	padding: 10px;
	margin: 10px 10px 0px 10px;
	background-color: #ffffff;
	box-shadow: 2px 2px 4px #e2e2e2;
}

.voice .voice_flex-item2 {
	width: 33%;
	/* text-align: center; */
	height: 520px;
	padding: 10px;
	margin: 10px;
	background-color: #ffffff;
	box-shadow: 2px 2px 4px #e2e2e2;
}

.voice .voice_flex-item3 {
	width: 33%;
	/* text-align: center; */
	height: 520px;
	padding: 10px;
	margin: 10px;
	background-color: #ffffff;
	box-shadow: 2px 2px 4px #e2e2e2;
}

.voice .sd_name {
	color: #ff7c80;
	font-weight: bold;
	margin-bottom: 15px;
	text-align: center;
}


.voice .sd_message {
	padding: 0 10px;
}

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

	.voice img {
		width: 80%;
	}

	.voice h2 {
		background: #64d360;
		padding: 0;
		margin-top: 20px;
	}

	.voice .voice_flex-item1 {
		width: 100%;
		/* text-align: center; */
		padding: 10px;
		margin-bottom: 100px;
		margin-left: 0;
		margin-right: 0;
	}

	.voice .voice_flex-item2 {
		width: 100%;
		/* text-align: center; */
		padding: 10px;
		margin-bottom: 100px;
		margin-left: 0;
		margin-right: 0;
	}

	.voice .voice_flex-item3 {
		width: 100%;
		/* text-align: center; */
		padding: 10px;
		margin-bottom: 70px;
		margin-left: 0;
		margin-right: 0;
	}

	.voice .voice_flex-item4 {
		width: 100%;
		/* text-align: center; */
		padding: 10px;
		margin-left: 0;
		margin-right: 0;
	}
}

/*スタッフメッセージ*/
.staff_flex {
	display: flex;
}

.voice .staff_flex-item1 {
	width: 33%;
	/* text-align: center; */
	padding: 10px;
	margin: 0px 10px 10px 10px;
}

.voice .staff_flex-item2 {
	width: 33%;
	/* text-align: center; */
	padding: 10px;
	margin: 0px 10px 10px 10px;
}

.voice .staff_flex-item3 {
	width: 33%;
	/* text-align: center; */
	padding: 10px;
	margin: 0px 10px 10px 10px;
}

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

	.voice .staff_flex-item1 {
		width: 100%;
		/* text-align: center; */
		padding: 10px;
	}

	.voice .staff_flex-item2 {
		width: 100%;
		/* text-align: center; */
		padding: 10px;
	}

	.voice .staff_flex-item3 {
		width: 100%;
		/* text-align: center; */
		padding: 10px;
	}

	.voice .staff_flex-item4 {
		width: 100%;
		/* text-align: center; */
		padding: 10px;
	}
}




/*2段目以降*/

.voice_flex_xx {
	display: flex;
}



.new_img {
	width: 100%;
}

.new_img img {
	margin-left: 700px;
	width: 150px;
	text-align: right;
}

@media (max-width: 480px) {
	.new_img {
		width: 100%;
	}

	.new_img img {
		margin-left: 70%;
		width: 100px;
		text-align: right;
	}
}

/*吹き出し
------------------------------------------------------------------------------------------------------------------------------------------------------*/

.balloon1-top {
	position: relative;
	display: inline-block;
	margin: 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	color: #ffffff;
	font-size: 16px;
	background: #ff7c80;
	border-radius: 15px;
	margin-top: auto;
}

.balloon1-top:before {
	content: "";
	position: absolute;
	top: -25px;
	left: 70%;
	margin-left: -15px;
	border: 15px solid transparent;
	border-bottom: 15px solid #ff7c80;
}

.balloon1-top p {
	margin: 0;
	padding: 0;
}

.balloon2-top {
	position: relative;
	display: inline-block;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	color: #555;
	font-size: 16px;
	background: #FFF;
	border: solid 3px #cfffc6;
	box-sizing: border-box;
}

.balloon2-top:before {
	content: "";
	position: absolute;
	top: -24px;
	left: 50%;
	margin-left: -15px;
	border: 12px solid transparent;
	border-bottom: 12px solid #FFF;
	z-index: 2;
}

.balloon2-top:after {
	content: "";
	position: absolute;
	top: -30px;
	left: 50%;
	margin-left: -17px;
	border: 14px solid transparent;
	border-bottom: 14px solid #cfffc6;
	z-index: 1;
}

.balloon2-top p {
	margin: 0;
	padding: 0;
}

.speechBubble {
	position: relative;
	display: inline-block;
	/* margin-top: 20px; */
	padding: 16px;
	border-radius: 10px;
	background-color: #ff7c80;
	text-align: left;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: #ffffff;
}

@media (max-width: 480px) {
	.speechBubble {
		margin-top: 30px;
	}
}


.speechBubble::after {
	content: "";
	position: absolute;
	top: 0;
	left: 70%;
	border-style: solid;
	border-width: 0 0 30px 20px;
	border-color: transparent transparent #ff7c80;
	translate: calc(-50% + 0.4px) -100%;
}


.staff_message {
	position: relative;
	display: inline-block;
	margin: 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	color: #555;
	font-size: 16px;
	/* background: #FFF; */
	margin-top: auto;
}


/* ボタン*/
.btn {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	padding: 1rem 4rem;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	letter-spacing: 0.1em;
	color: #212529;
	border-radius: 0.5rem;
}

a.btn-border {
	margin: 0 0 10em 0;
	border: 1px solid #000;
	border-radius: 0;
	background: #ff6565;
	color: #ffffff;
	border-radius: 0.5rem;
	left: 60%;
}

a.btn-border:hover {
	color: #000000;
	background: #ffa0a0;
}


.txt-hide {
	display: none;
}

button.more {
	width: 240px;
	height: 80px;
	margin: 20px auto;
	display: block;
	background-color: #ffa0a0;
	color: #000000;
	padding: 10px 15px;
	border: none;
	outline: 0;
	/* transition: .5s;
	-erbkit-transition: .5s; */
	border-radius: 5px;
	font-weight: 700;
	font-size: 20px;
}

button.more:hover {
	background-color: #ff6565;
	color: #ffffff;
}

button.more::after {
	content: "もっと見る";
	transition: .2s;
	-erbkit-transition: .2s;
}

button.more.on-click::after {
	content: "閉じる";
}

/*daiei.html
------------------------------------------------------------------------------------------------------------*/

.daiei_img img {
	margin: 20px;
	border: solid 1px #797979;
}




.daiei_img a {
	display: inline-block;
	padding: 3px 10px;
	color: #FFF;
	border-radius: 5px;
	text-decoration: none;
}

.daiei_img a:hover {
	opacity: 0.7;
	/*値は0〜1まで指定可能。0に近いほど透明度が高い。*/
}


@media screen and (max-width: 480px) {
	.daiei_img img {
		margin: 20px auto;
	}


}


/*digisoro.html
------------------------------------------------------------------------------------------------------------*/

.digisoro h4 {
	position: relative;
	/*相対位置*/
	padding: 0.5em 0.5em 0.5em 1.5em;
	/*アイコン分のスペース*/
	line-height: 1.4;
	/*行高*/
	color: #000000;
	/*文字色*/
	background: #fffff4;
	/* border-bottom: 3px solid #ff8138; */
	border: solid 1px #ff7c80;
	font-size: 15px;
	margin: 30px 0;
}

.digisoro_img {
	display: flex;
	margin: 0 auto;
}


.digisoro_img img {
	margin: 20px;
	border: solid 1px #797979;
	max-width: 400px;
}

.digisoro_img a {
	display: inline-block;
	padding: 3px 10px;
	color: #FFF;
	border-radius: 5px;
	text-decoration: none;
}

.digisoro_img a:hover {
	opacity: 0.7;
	/*値は0〜1まで指定可能。0に近いほど透明度が高い。*/
}

.digisoro_img2 img {
	display: block;
	text-align: center;
	margin: 20px;
	border: solid 1px #797979;
	max-width: 400px;
	margin: 0 auto;
}



@media screen and (max-width: 480px) {
	.digisoro_img img {
		margin: 20px auto;
		width: 50%;
	}


}

@media screen and (max-width: 480px) {
	.digisoro_img2 img {
		margin: 20px auto;
		width: 80%;
	}

	.digisoro_img2 img a:hover {
		opacity: 0.7;
		/*値は0〜1まで指定可能。0に近いほど透明度が高い。*/
	}

}

.bosyu {
	font-size: 38px;
	color: #ff0000;
	text-align: center;
	background: #ffffff;
}

/*pg.html
------------------------------------------------------------------------------------------------------------*/

.pg h4 {
	position: relative;
	/*相対位置*/
	padding: 0.5em 0.5em 0.5em 1.5em;
	/*アイコン分のスペース*/
	line-height: 1.4;
	/*行高*/
	color: #000000;
	/*文字色*/
	background: #fff;
	/* border-bottom: 3px solid #ff8138; */
	border: solid 1px #ff7c80;
	font-size: 15px;
	margin: 30px 0;
}

.pg_img {
	display: flex;
	margin: 0 auto;
}


.pg_img img {
	margin: 20px;
	border: solid 1px #797979;
	max-width: 400px;
}

.pg_img a {
	display: inline-block;
	padding: 3px 10px;
	color: #FFF;
	border-radius: 5px;
	text-decoration: none;
}

.pg_img a:hover {
	opacity: 0.7;
	/*値は0〜1まで指定可能。0に近いほど透明度が高い。*/
}

.pg_img2 img {
	display: block;
	text-align: center;
	margin: 20px;
	border: solid 1px #797979;
	max-width: 250px;
	margin: 0 auto;
}

.pg_img2 a:hover {
	opacity: 0.7;
	/*値は0〜1まで指定可能。0に近いほど透明度が高い。*/
}



@media screen and (max-width: 480px) {
	.pg_img2 img {
		margin: 20px auto;
	}


}


/*access.html
------------------------------------------------------------------------------------------------------------*/


.access_table {
	border-collapse: collapse;
	/* font-weight: bold; */
	/* text-align: center; */
	/* margin: 0 auto; */
	table-layout: fixed;
	/* table要素に指定することで、幅を固定 */
	margin: 50px;
}

.access_table th,
.access_table td {
	padding: .3em .3em;
	border: 1px solid #000000af;
	background: #ffffff;
	font-size: 20px;
}

.access_table td {
	width: 700px;
}

.access_table th {
	/* background: #f56270; */
	border-right: 1px solid #000000af;
	border-top: 1px solid #000000af;
	width: 250px;
}

.access_table th:last-of-type {
	border-right: 1px solid #000000af;
}

.access_table thead th {
	border-right: 1px solid #000000af;
	border-top: 1px solid #000000af;
}

.img_center {
	text-align: center;
	margin: 50px 0;
}

.access p {
	font-size: 25px;
}

@media screen and (max-width: 480px) {
	.access p {
		font-size: 14px;
		padding: 40px;
	}

	.access .box img {
		width: 90%;
		padding-left: 3%;
	}

}

@media screen and (max-width: 480px) {
	.access_table {
		margin: 5px;
	}
}

.access_table th,
.access_table td {
	padding: 6px;
	border: 1px solid #000000af;
	background: #ffffff;
	font-size: 14px;
}

.access_table th {
	/* background: #f56270; */
	color: #000000;
	border-right: 1px solid #000000af;
	border-top: 1px solid #000000af;
}

.access_table th:last-of-type {
	border-right: 1px solid #000000af;
}


.access-box-p1 {
	padding-top: 40px;
}

.access-box-p2 {
	padding-top: 45px;
}

.access-box-p3 {
	padding-top: 55px;
}

.access-box-p4 {
	padding-top: 45px;
}

@media screen and (max-width: 480px) {
	.access-box-p1 {
		padding-top: 0px;
		font-size: 14px;
	}



	.access-box-p2 {
		padding-top: 0px;
	}



	.access-box-p3 {
		padding-top: 0px;
	}


	.access-box-p4 {
		padding-top: 0px;
	}



	.sp_contents .access .access_p {
		font-size: 18px;
		line-height: 23px;
	}
}

/*contact.html
------------------------------------------------------------------------------------------------------------*/


.contact_table {
	border-collapse: collapse;
	/* font-weight: bold; */
	/* text-align: center; */
	/* margin: 0 auto; */
	/* table-layout: fixed; */
	/* table要素に指定することで、幅を固定 */
	margin-bottom: 50px;
	width: 100%;
}

.contact_table th,
.contact_table td {
	padding: .3em .3em;
	border: 0px solid #000000af;
	background: #ffffff;
	font-size: 20px;
}

.contact_table th {
	/* background: #f56270; */
	/* border-right: 2px solid #000000af;
	border-top: 2px solid #000000af; */
	width: 250px;
	text-align-last: justify;
}


.img_center {
	text-align: center;
	margin: 10px 0;
}



@media screen and (max-width: 480px) {
	.contact_table {
		border-collapse: collapse;
		min-width: 300px;
		/* font-weight: bold; */
		text-align: center;
		margin: 0 auto;

	}

	.contact_table th,
	.contact_table td {
		padding: .3em .3em;
		border: 1px solid #000000af;
		background: #ffffff;
		font-size: 15px;
	}

	.contact_table th {
		background: #f56270;
		color: #fff;
		border-right: 1px solid #000000af;
		border-top: 1px solid #000000af;
	}

	.contact_table th:last-of-type {
		border-right: 1px solid #000000af;
	}

}


input[type="submit"],
input[type="text"],
select,
textarea,
button {
	/* -moz-appearance: none;
	-webkit-appearance: none; */
	-webkit-box-shadow: none;
	box-shadow: none;
	outline: none;
	border: none;
}


input[type="text"],
textarea {
	background: #f8f8f8;
	display: block;
	font-size: 16px;
	padding: 12px 15px;
	width: 480px;
	transition: 0.8s;
	border-radius: 0;
}

input[type="text"]:focus,
textarea:focus {
	background: #e9f5fb;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

textarea[name="content"] {
	display: inline-block;
	width: 100%;
	height: 200px;
}

input::placeholder,
textarea::placeholder {
	color: #ccc;
}

::-webkit-input-placeholder {
	color: #ccc;
	opacity: 1;
}

::-moz-placeholder {
	color: #ccc;
	opacity: 1;
}

:-ms-input-placeholder {
	color: #ccc;
	opacity: 1;
}

.form-table1 {
	width: 100%;
	background: #ffffff;
	margin: 50px auto;
}

.form-table1 th,
.form-table1 td {
	/* border-top: 1px solid #d7d7d7;
	border-bottom: 1px solid #d7d7d7; */
	border: 1px solid #d7d7d7;
	padding: 20px;
}

.form-table1 th {
	/* background: #ffecea; */
	padding-left: 50px;
	position: relative;
	text-align: left;
	width: 300px;
}



.form-table2 {
	width: 100%;
	background: #ffffff;
	margin: 50px auto;
}

.form-table2 th,
.form-table2 td {
	/* border-top: 1px solid #d7d7d7;
	border-bottom: 1px solid #d7d7d7; */
	border: 1px solid #d7d7d7;
	padding: 20px;
}

.form-table2 th {
	/* background: #ffecea; */
	padding-left: 50px;
	position: relative;
	text-align: left;
	width: 300px;
}

.Form-Item-Input {
	border: 1px solid #ddd;
	border-radius: 6px;
	margin-left: 5px;
	padding-left: 1em;
	padding-right: 1em;
	height: 48px;
	flex: 1;
	width: 100%;
	max-width: 200px;
	background: #eaedf2;
	font-size: 18px;
}

@media screen and (max-width: 480px) {
	.form-table1 {
		width: 90%;
		background: #ffffff;
		margin: 50px auto;
	}

	.form-table1 th,
	.form-table1 td {
		border-top: 1px solid #d7d7d7;
		border-bottom: 1px solid #d7d7d7;
		padding: 0;
		padding: 10px;
		font-size: 16px;
	}

	.form-table1 th {
		/* background: #ffecea; */
		padding-left: 10px;
		position: relative;
		text-align: left;
		width: 30%;
		font-size: 13px;
	}

	.form-table2 {
		width: 90%;
		background: #ffffff;
		margin: 50px auto;
	}

	.form-table2 th,
	.form-table2 td {
		border-top: 1px solid #d7d7d7;
		border-bottom: 1px solid #d7d7d7;
	}

	.form-table2 th {
		/* background: #ffecea; */
		padding: 5px;
		position: relative;
		text-align: left;
		font-size: 13px;
		line-height: 20px;
	}

	.form-table2 td {
		background: #ffffff;
		position: relative;
		text-align: left;
		padding: 5px;
		font-size: 12px;
		line-height: 20px;
	}
}


@media screen and (max-width: 480px) {
	.Form-Item-Input {
		border: 1px solid #ddd;
		border-radius: 6px;
		margin-left: 5px;
		padding-left: 1em;
		padding-right: 1em;
		height: 30px;
		flex: 1;
		width: 100%;
		max-width: 200px;
		background: #eaedf2;
		font-size: 14px;
	}

	input[type="submit"],
	input[type="text"],
	select,
	textarea,
	button {
		/* -moz-appearance: none;
		-webkit-appearance: none; */
		-webkit-box-shadow: none;
		box-shadow: none;
		outline: none;
		border: none;
	}


	input[type="text"],
	textarea {
		background: #f8f8f8;
		display: block;
		font-size: 14px;
		padding: 12px 15px;
		width: 210px;
		transition: 0.8s;
		border-radius: 0;
	}

	input[type="text"]:focus,
	textarea:focus {
		background: #e9f5fb;
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
	}

	textarea[name="content"] {
		display: inline-block;
		width: 100%;
		height: 200px;
	}

	input::placeholder,
	textarea::placeholder {
		color: #ccc;
	}

	::-webkit-input-placeholder {
		color: #ccc;
		opacity: 1;
	}

	::-moz-placeholder {
		color: #ccc;
		opacity: 1;
	}

	:-ms-input-placeholder {
		color: #ccc;
		opacity: 1;
	}
}


.checkbox-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	max-width: 1000px;
}

.Form-Btn {
	border-radius: 6px;
	margin-top: 32px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 20px;
	padding-bottom: 20px;
	width: 280px;
	display: block;
	letter-spacing: 0.05em;
	background: #a0a0a0;
	color: #000000;
	/* font-weight: bold; */
	font-size: 25px;
	opacity: 0.7;
}

.Form-Btn:hover {
	opacity: 1.0;
	color: #ffffff;
}

@media screen and (max-width: 480px) {
	.Form-Btn {
		margin: 24px auto;
		padding-top: 8px;
		padding-bottom: 8px;
		width: 160px;
		font-size: 16px;
	}
}

.send-button {
	display: inline-block;
	border-radius: 5%;
	/* 角丸       */
	font-size: 19pt;
	/* 文字サイズ */
	text-align: center;
	/* 文字位置   */
	cursor: pointer;
	/* カーソル   */
	padding: 12px 29px;
	/* 余白       */
	background: #ff7f7f;
	/* 背景色     */
	color: #ffffff;
	/* 文字色     */
	line-height: 1em;
	/* 1行の高さ  */
	transition: .3s;
	/* なめらか変化 */
	/* box-shadow    : 6px 6px 3px #666666;  影の設定 */
	border: 2px solid #ff7f7f;
	/* 枠の指定 */
}

.send-button:hover {
	box-shadow: none;
	/* カーソル時の影消去 */
	color: #ff7f7f;
	/* 背景色     */
	background: #ffffff;
	/* 文字色     */
}

.return-button {
	display: inline-block;
	border-radius: 5%;
	/* 角丸       */
	font-size: 19pt;
	/* 文字サイズ */
	text-align: center;
	/* 文字位置   */
	cursor: pointer;
	/* カーソル   */
	padding: 12px 29px;
	/* 余白       */
	background: #ff7f7f;
	/* 背景色     */
	color: #ffffff;
	/* 文字色     */
	line-height: 1em;
	/* 1行の高さ  */
	transition: .3s;
	/* なめらか変化 */
	/* box-shadow    : 6px 6px 3px #666666;  影の設定 */
	border: 2px solid #ff7f7f;
	/* 枠の指定 */
}

@media screen and (max-width: 480px) {
	.return-button {
		display: inline-block;
		border-radius: 5%;
		/* 角丸       */
		font-size: 19pt;
		/* 文字サイズ */
		text-align: center;
		/* 文字位置   */
		cursor: pointer;
		/* カーソル   */
		padding: 12px 29px;
		/* 余白       */
		background: #ff7f7f;
		/* 背景色     */
		color: #ffffff;
		/* 文字色     */
		line-height: 1em;
		/* 1行の高さ  */
		transition: .3s;
		/* なめらか変化 */
		/* box-shadow    : 6px 6px 3px #666666;  影の設定 */
		border: 2px solid #ff7f7f;
		/* 枠の指定 */
		margin: 30px auto;
	}
}

.return-button:hover {
	box-shadow: none;
	/* カーソル時の影消去 */
	color: #ff7f7f;
	/* 背景色     */
	background: #ffffff;
	/* 文字色     */
}

.comp_p {
	background-color: #fff;
	padding: 70px;
}

@media screen and (max-width: 480px) {
	.comp_p {
		background-color: #fff;
		padding: 0 8%;
	}

}

/*typing.html
------------------------------------------------------------------------------------------------------------*/

.typing_table {
	border-collapse: collapse;
	width: 82%;
	/* font-weight: bold; */
	text-align: center;
	margin: 0 auto;
	table-layout: fixed;
	/* table要素に指定することで、幅を固定 */
	margin-bottom: 50px;
	margin-top: 50px;


}



.typing_table th,
.typing_table td {
	padding: .3em .3em;
	border: 1px solid #000000af;
	background: #ffffff;
	font-size: 18px;
}

.typing_table th {
	background: #ffd5d0;
	color: #000000;
	border-right: 1px solid #000000af;
	border-top: 1px solid #000000af;
}


.typing_table thead th {
	background: #ffd5d0;
	color: #000000;
	border-right: 1px solid #000000af;
	border-top: 1px solid #000000af;
}


.typing_table .th_design1 {
	/*文字色*/
	background: #ffffff;
	border: solid 1px #ffd5d0;
}

.typing_table .td_design1 {
	/*文字色*/
	background: #ffffff;
	border: solid 1px #000000af;
}


.catchphrase {
	font-size: 50px;
	line-height: 40px;
	font-family: "Dela Gothic One", serif;
	font-weight: 400;
	font-style: normal;
	color: #2fb200;
	-webkit-text-stroke: 1.5px rgb(255, 255, 255);
}

/* 文字の周りの枠と背景色 */
.text-box {
	display: inline-block;
	/* 枠の幅を安定させる */
	/* width: 100%;           均等割り付けの幅いっぱいに広げる */
	background-color: #ebff6c;
	/* 薄い黄色 */
	border: 1px solid #ff4848;
	/* 濃い黄色の枠 */
	padding: 1px 0;
	/* 上下の余白 */
	border-radius: 4px;
	/* 角を少し丸く */
	line-height: 50px;
	color: #000;
	font-size: 35px;
}

.catchimg {
	margin-bottom: 50px;
}

@media screen and (max-width: 480px) {
	.catchphrase {
		font-size: 18px;
		line-height: 5px;
	}


	/* 文字の周りの枠と背景色 */
	.text-box {
		display: inline-block;
		/* 枠の幅を安定させる */
		/* width: 100%;           均等割り付けの幅いっぱいに広げる */
		background-color: #ebff6c;
		/* 薄い黄色 */
		border: 1px solid #ff4848;
		/* 濃い黄色の枠 */
		padding: 1px 0;
		/* 上下の余白 */
		border-radius: 4px;
		/* 角を少し丸く */
		line-height: 25px;
		color: #000;
		font-size: 13px;
	}
}

@media screen and (max-width: 480px) {
	.typing_table {
		border-collapse: collapse;
		min-width: 300px;
		text-align: center;
		margin: 0 auto;

	}

	.typing_table th,
	.typing_table td {
		padding: .3em .3em;
		border: 1px solid #000000af;
		background: #ffffff;
		font-size: 11px;
	}

	.typing_table th {
		background: #ffd5d0;
		color: #000000;
		border-right: 1px solid #000000af;
		border-top: 1px solid #000000af;
		font-size: 14px;
		line-height: 14px;
	}

	.typing_table th:last-of-type {
		border-right: 1px solid #000000af;
	}

}

.typing p {
	font-size: 16px;
	line-height: 23px;
	padding-left: 30px;
	margin-bottom: 50px
}

@media screen and (max-width: 480px) {
	.typing p {
		font-size: 11px;
		line-height: 15px;
		padding: 20px;
		margin-bottom: 0px
	}
}


.typing h4 {
	position: relative;
	/*相対位置*/
	padding: 0.5em 0.5em 0.5em 1.5em;
	/*アイコン分のスペース*/
	line-height: 1.4;
	/*行高*/
	color: #000000;
	/*文字色*/
	background: #fff;
	/* border-bottom: 3px solid #ff8138; */
	border: solid 1px #ff7c80;
	font-size: 15px;
	margin: 30px 20px;
}

.typing h5 {
	background: #89c997;
	font-size: 20px;
	margin: 30px 0;
	color: #fff;
	text-indent: 2%;
}

@media (max-width: 480px) {
	.typing h5 {
		margin: 0;
		margin-top: 10px;
	}
}

.td_left {
	text-align: left;
}








/*画面幅900px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:900px) {




	/*スマホ用メニューブロック*/
	#menubar-s {
		display: block;
		overflow: hidden;
		position: absolute;
		top: 0px;
		left: 0px;
		border-top: 1px solid #fff;
		/*上の線の幅、線種、色*/
		width: 100%;
		z-index: 10;
		animation-name: menu1;
		/*上のkeyframesの名前*/
		animation-duration: 0.5S;
		/*アニメーションの実行時間。0.5秒。*/
		animation-fill-mode: both;
		/*アニメーションの完了後、最後のキーフレームを維持する*/
	}


	/*３本バーアイコン設定
---------------------------------------------------------------------------*/
	/*３本バーブロック*/
	#menubar_hdr {
		display: block;
		position: absolute;
		z-index: 11;
		top: 50px;
		/*上からの配置場所指定*/
		right: 3%;
		/*右からの配置場所指定*/
		border: 1px solid #fff;
		/*枠線の幅、線種、色*/
	}

	/*アイコン共通設定*/
	#menubar_hdr.close,
	#menubar_hdr.open {
		width: 50px;
		/*幅*/
		height: 50px;
		/*高さ*/
		border-radius: 50%;
	}

	/*三本バーアイコン*/
	#menubar_hdr.close {
		background: #f56270 url(../images/icon_menu.png) no-repeat center top/50px;
	}

	/*閉じるアイコン*/
	#menubar_hdr.open {
		background: #f56270 url(../images/icon_menu.png) no-repeat center bottom/50px;
	}


}

.header {
	position: relative;
	padding: 20px;
}

.hamburger {
	position: fixed;
	display: none;
	top: 20px;
	right: 20px;
	z-index: 100;
	width: 48px;
	height: 48px;
	border: none;
	background: transparent;
	cursor: pointer;
}

@media screen and (max-width:900px) {

	.hamburger {
		display: block;
	}

}

.hamburger__line {
	position: absolute;
	left: 11px;
	width: 26px;
	height: 2px;
	background-color: #000000;
	transition: all .4s;
}

.hamburger__line:nth-of-type(1) {
	top: 52px;
}

.hamburger__line:nth-of-type(2) {
	top: 61px;
}

.hamburger__line:nth-of-type(3) {
	top: 70px;
}

/* メニューオープン時 */
.hamburger.active .hamburger__line:nth-of-type(1) {
	transform: translateY(9px) rotate(-45deg);
}

.hamburger.active .hamburger__line:nth-of-type(2) {
	opacity: 0;
}

.hamburger.active .hamburger__line:nth-of-type(3) {
	transform: translateY(-9px) rotate(45deg);
}

.nav {
	position: fixed;
	top: 0;
	left: 0;
	width: 300px;
	height: 100vh;
	background-color: #fff;
	box-shadow: 2px 0 4px rgba(0, 0, 0, .1);
	transform: translateX(-100%);
	transition: transform .4s;
	z-index: 90;
}

.nav.active {
	transform: translateX(0);
}

.nav__list {
	margin: 0;
	padding: 10px 0 0;
	list-style: none;
}

.nav__item {
	padding: 0 20px;
}

.nav__link {
	display: block;
	padding: 7px 0;
	color: #333;
	text-decoration: none;
	border: 1px solid #ff5f5f;
	text-align: center;
}

/*learn_pc.html
------------------------------------------------------------------------------------------------------------------------------------------------------*/
.learn_pc p {
	background-color: #FFF;
	/* padding: 20px; */
}

.learn_pc p span {
	border: solid 1px #454545;
}

.learn_pc a {
	text-decoration: none;
}

.button-2 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 250px;
	margin: 0 auto;
	padding: .9em 2em;
	border: none;
	border-radius: 25px;
	background-color: #f56270;
	color: #fff;
	font-weight: 600;
	font-size: 1em;
}

.button-2:hover {
	background-color: #f56270;
}

.learn_pc_table {
	border-collapse: collapse;
	width: 100%;
	margin-bottom: 50px;
	/* font-weight: bold; */
	/* text-align: center; */
	/* margin: 0 auto; */
	/* table-layout: fixed; */
	/* table要素に指定することで、幅を固定 */
}

.learn_pc_table th,
.learn_pc_table td {
	padding: 20px;
	border: 1px solid #000000af;
	background: #ffffff;
	font-size: 18px;

}

.learn_pc_table th {
	border-right: 1px solid #000000af;
	border-top: 1px solid #000000af;
	width: 20%;
}

.learn_pc_table th:last-of-type {
	border-right: 1px solid #000000af;
}

.learn_pc_table thead th {
	background: #92D050;
	color: #fff;
	border-right: 1px solid #000000af;
	border-top: 1px solid #000000af;
}

#contents .learn_pc h3 {
	font-size: 16px;
}

.learn_pc h5 {
	background: #f56270;
	font-size: 20px;
	margin: 30px 0;
	color: #fff;
	text-indent: 2%;
}

@media (max-width: 480px) {
	.learn_pc h5 {
		background: #92D050;
		font-size: 20px;
		margin: 30px 0;
		color: #fff;
		text-indent: 2%;
	}
}



@media screen and (max-width: 480px) {
	.learn_pc_table {
		border-collapse: collapse;
		min-width: 300px;
		/* font-weight: bold; */
		/* text-align: center; */
		/* margin: 0 auto; */

	}

	.learn_pc_table th,
	.learn_pc_table td {
		border: 1px solid #000000af;
		background: #ffffff;
		font-size: 12px;
	}

	.learn_pc_table th {
		border-right: 1px solid #000000af;
		border-top: 1px solid #000000af;
		font-size: 14px;
		line-height: 14px;
	}

	.learn_pc_table td {
		padding: 20px;
		border-right: 1px solid #000000af;
		border-top: 1px solid #000000af;
		font-size: 16px;
		line-height: 35px;
	}

	.learn_pc_table th:last-of-type {
		border-right: 1px solid #000000af;
	}

}

/*----------ボタン-----------*/

.sample_btn1 {
	display: inline-block;
	width: 250px;
	text-align: center;
	text-decoration: none;
	line-height: 60px;
	outline: none;
	color: #FFFFFF;
	background: linear-gradient(to right, #1B85FB, #FB4D8A);
	background-position: 0% 50%;
	background-size: 200% auto;
	transition: all 0.3s ease-out;
}

.sample_btn1:hover {
	color: #fff;
	background-position: 100% 51%;
}

a.sample_btn2 {
	display: inline-block;
	width: 250px;
	text-align: center;
	text-decoration: none;
	line-height: 60px;
	color: #fff;
	background-color: #1B85FB;
}

a.sample_btn2:hover {
	background-position: right center;
	background-size: 200% auto;
	-webkit-animation: pulse 2s infinite;
	animation: ripple 1.5s infinite;
	color: #fff;
}

@keyframes ripple {
	0% {
		box-shadow: 0 0 0 0 #1B85FB;
	}

	70% {
		box-shadow: 0 0 0 10px rgb(27 133 251 / 0%);
	}

	100% {
		box-shadow: 0 0 0 0 rgb(27 133 251 / 0%);
	}
}

.sample_btn3 {
	display: inline-block;
	width: 400px;
	text-align: center;
	text-decoration: none;
	line-height: 60px;
	outline: none;
	color: #581818;
	background-color: #fff;
	position: relative;
	border: 1px solid #22c465;
	transition: color 0.5s ease;
	margin-top: 40px;
}

.sample_btn3:hover {
	color: #000000;
}

.sample_btn3:hover::before {
	transform: scaleX(1);
	transform-origin: left;
}

.sample_btn3::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #78ff91;
	transform: scaleX(0);
	transform-origin: right;
	transition: all 0.5s ease;
	transition-property: transform;
}

.text {
	position: relative;
}

.sample_btn4 {
	display: inline-block;
	width: 250px;
	line-height: 60px;
	text-align: center;
	text-decoration: none;
	color: #fff;
	background-color: #4aa631;
	box-shadow: 5px 5px 0px #1567C3;
	transition: .3s;
}

.sample_btn4:hover {
	color: #fff;
	box-shadow: unset;
	transform: translate(4px, 4px);
}

.sample_btn5 {
	display: inline-block;
	width: 250px;
	text-align: center;
	text-decoration: none;
	line-height: 60px;
	outline: none;
	color: #1B85FB;
	border: 1px solid #1B85FB;
	background-color: #fff;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.sample_btn5:hover {
	color: #fff;
	border: 1px solid #1B85FB;
	background-color: #1B85FB;
}

.border_btn08 {
	position: relative;
	text-decoration: none;
	display: inline-block;
	text-align: center;
	width: 100%;
	max-width: 350px;
	/* ボタンの最大幅 */
}

.border_btn08::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 4px;
	left: 4px;
	width: 100%;
	height: 100%;
	-moz-border-radius: 100vh;
	-webkit-border-radius: 100vh;
	border-radius: 100vh;
	background-color: #4D9BC1;
	/* 後ろの背景色 */
}

.border_btn08 span {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-weight: bold;
	/* 文字の太さ */
	border-radius: 10px;
	border: solid 1px #ff0000;
	/* 線の色 */
	color: #ffffff;
	/* 文字色 */
	/* padding: 1em 2em; */
	background-color: #ff8080;
	/* 背景色 */
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	margin: 40px auto;
}

/* マウスオーバーした際のデザイン */
.border_btn08:hover span {
	background-color: #ff74e8;
	/* 背景色 */
	transform: translate(4px, 4px);
	transition: all 0.3s ease-in-out;
}

.btn,
a.btn,
button.btn {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	padding: 1rem 4rem;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	letter-spacing: 0.1em;
	color: #212529;
	border-radius: 0.5rem;
}

.btn-radius-gradient-wrap {
	display: inline-block;

	padding: 0.5rem;

	border-radius: 100vh;
	background: #f2f5f6;
	background: -webkit-linear-gradient(to top,
			#f2f5f6 0%,
			#e3eaed 37%,
			#96a1a5 100%);
	background: -webkit-gradient(linear,
			left top,
			left bottom,
			from(#f2f5f6),
			color-stop(37%, #e3eaed),
			to(#96a1a5));
	background: -webkit-linear-gradient(top,
			#f2f5f6 0%,
			#e3eaed 37%,
			#96a1a5 100%);
	background: linear-gradient(to bottom, #f2f5f6 0%, #e3eaed 37%, #96a1a5 100%);

	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f2f5f6', endColorstr='#96a1a5', GradientType=0);
}

a.btn-radius-gradient {
	border-radius: 100vh;
	background: #e3eaed;
	background: -webkit-gradient(linear,
			left top,
			left bottom,
			from(#e3eaed),
			to(#f2f5f6));
	background: -webkit-linear-gradient(top, #e3eaed 0%, #f2f5f6 100%);
	background: linear-gradient(to bottom, #e3eaed 0%, #f2f5f6 100%);

	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e3eaed', endColorstr='#f2f5f6', GradientType=0);
}

a.btn-radius-gradient:hover {
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
}



/*list-grid1（３カラムボックス）
---------------------------------------------------------------------------*/
.list-grid1 .list * {
	margin: 0;
	padding: 0;
}

/*ボックス１個あたり*/
.list-grid1 .list {
	display: grid;
	margin-bottom: 30px;
	/*下に空けるスペース*/
}

/*ボックス内のp要素*/
.list-grid1 .list p {
	font-size: 0.85rem;
	/*文字サイズを85%に*/
	line-height: 1.8;
	/*行間を狭くする*/
}

/*ボックス内のp要素*/
.list-grid1 h2 {
	background-color: #fff93847;
}

/*ボックス１個あたり*/
.list-grid1 .list {
	padding: 1rem;
	/*ボックス内の余白。１文字分。*/
	background: #fff;
	/*背景色*/
	color: #111;
	/*文字色*/
	grid-template-rows: 0.1fr 0.1fr 1fr;
	/*１つ目（この場合はfigure要素のサイズ）と「詳しくみる」ボタンの高さは自動に、２つ目（この場合はtextブロック））を残った幅で使う*/
	box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.1);
	/*ボックスの影。右へ、下へ、ぼかし幅、0,0,0は黒の事で0.1は色が10%出た状態。*/
}


@media screen and (max-width: 480px) {

	/*ボックス１個あたり*/
	.list-grid1 .list {
		padding: 1rem;
		/*ボックス内の余白。１文字分。*/
		background: #fff;
		/*背景色*/
		color: #111;
		/*文字色*/
		grid-template-rows: 0.1fr 0.1fr 0.1fr;
		/*１つ目（この場合はfigure要素のサイズ）と「詳しくみる」ボタンの高さは自動に、２つ目（この場合はtextブロック））を残った幅で使う*/
		box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.1);
		/*ボックスの影。右へ、下へ、ぼかし幅、0,0,0は黒の事で0.1は色が10%出た状態。*/
	}


}

/*ボックス内のfigure画像*/
.list-grid1 .list figure {
	/* margin: -1rem; */
	/*画像を枠いっぱいに表示させる為に上の「.list-grid1 .list」のpadding分をネガティブマーインで指定*/
	margin-bottom: 0.5rem;
	/*画像の下に空けるスペース*/
}

/*画面幅800px以上の追加指定*/
@media screen and (min-width:800px) {

	/*listブロック全体を囲むブロック*/
	.list-grid1 {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		/*3列にする指定。4列にしたければrepeat(4, 1fr)とする。*/
		gap: 3vw;
		/*ブロックの間に空けるマージン的な指定*/
	}

	/*ボックス１個あたり*/
	.list-grid1 .list {
		margin-bottom: 15px;
		grid-template-rows: -0.9fr 0.1fr 1fr;

		/*下に空けるスペースをなくす*/
	}

}

@media screen and (max-width: 480px) {

	/*ボックス１個あたり*/
	.list-grid1 .list {
		margin-bottom: 15px;
		grid-template-rows: -0.9fr 0.1fr 1fr;

		/*下に空けるスペースをなくす*/
	}
}

/*list-grid2（３カラムボックス）
---------------------------------------------------------------------------*/
.list-grid2 .list * {
	margin: 0;
	padding: 0;
}

/*ボックス１個あたり*/
.list-grid2 .list {
	display: grid;
	margin-bottom: 30px;
	/*下に空けるスペース*/
}

.list-grid2 .list:hover {
	opacity: 0.7;
}

/*ボックス内のp要素*/
.list-grid2 .list p {
	font-size: 0.85rem;
	/*文字サイズを85%に*/
	line-height: 1.8;
	/*行間を狭くする*/
	padding-left: 10px;
}

/*ボックス内のp要素*/
.list-grid2 h2 {
	background-color: #fff93847;
}

/*ボックス１個あたり*/
.list-grid2 .list {
	padding: 1rem;
	/*ボックス内の余白。１文字分。*/
	background: #fff;
	/*背景色*/
	color: #111;
	/*文字色*/
	grid-template-rows: 0.1fr 0.1fr 0.1fr;
	/*１つ目（この場合はfigure要素のサイズ）と「詳しくみる」ボタンの高さは自動に、２つ目（この場合はtextブロック））を残った幅で使う*/
	box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.1);
	/*ボックスの影。右へ、下へ、ぼかし幅、0,0,0は黒の事で0.1は色が10%出た状態。*/
}

/*ボックス内のfigure画像*/
.list-grid2 .list figure {
	/* margin: -1rem; */
	/*画像を枠いっぱいに表示させる為に上の「.list-grid1 .list」のpadding分をネガティブマーインで指定*/
	margin-bottom: 0.5rem;
	/*画像の下に空けるスペース*/
}

/*画面幅800px以上の追加指定*/
@media screen and (min-width:800px) {

	/*listブロック全体を囲むブロック*/
	.list-grid2 {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		/*3列にする指定。4列にしたければrepeat(4, 1fr)とする。*/
		gap: 1vw;
		/*ブロックの間に空けるマージン的な指定*/
	}

	/*ボックス１個あたり*/
	.list-grid2 .list {
		margin-bottom: 15px;
		grid-template-rows: 1fr 0.1fr 0.7fr;
		/*下に空けるスペースをなくす*/
	}

}


/*追加指定ここまで*/


/*ボタン（btn）
---------------------------------------------------------------------------*/
.btn a {
	display: block;
	text-decoration: none;
	font-size: 1rem;
	text-align: center;
	/*テキストをセンタリング*/
	background: #66d49a;
	/*背景色。css冒頭のvar(accent-color)を読み込みます*/
	color: var(--accent-inverse-color);
	/*文字色。css冒頭で指定しているaccent-inverse-colorを読み込みます*/
	padding: 0.5rem !important;
	/*ボタン内の余白*/
	margin-top: 1px !important;
	/*ボタンの外（上）に空けるスペース*/
}

.btn a:hover {
	background: #77d5525f;
}

.scroll-space {
	box-sizing: border-box;
	padding-top: 300px;
	height: 1600px;
	color: #fff;
	overflow: hidden;

	.blue {
		background: #77BBCF;
		width: 200px;
		height: 200px;
		padding: 30px;
		margin: 0 auto 50px;
	}

	.pink {
		background: #FFB4B4;
		width: 200px;
		height: 200px;
		padding: 30px;
		margin: 0 auto 50px;
	}

	.yellow {
		background: #F8913C;
		width: 200px;
		height: 200px;
		padding: 30px;
		margin: 0 auto 50px;
	}

	.green {
		background: #26AA5A;
		width: 200px;
		height: 200px;
		padding: 30px;
		margin: 0 auto 50px;
	}
}

.Btn1 {
	border-radius: 6px;
	margin-top: 32px;
	margin-left: auto;
	margin-right: auto;
	/* padding-top: 20px;
	padding-bottom: 20px; */
	width: 350px;
	display: block;
	letter-spacing: 0.05em;
	background: #66d49a;
	color: #000000;
	/* font-weight: bold; */
	font-size: 25px;
	text-align: center;

}

.Btn1:hover {
	background: #77d5525f;
	color: #000000;
}

.Btn1 a {
	text-decoration: none;
}

@media screen and (max-width: 480px) {
	.Btn1 {
		margin: 24px auto;
		padding-top: 8px;
		padding-bottom: 8px;
		width: 250px;
		font-size: 16px;
	}
}

.marker-stripe-pink {
	background: repeating-linear-gradient(-45deg,
			transparent 0 2px,
			#faa2b1 2px 4px);
	font-weight: bold;
}

.marker-stripe-soft-pink {
	background: repeating-linear-gradient(-45deg,
			rgba(250, 162, 177, 0.2) 0,
			rgba(250, 162, 177, 0.8) 2px,
			rgba(250, 162, 177, 0.2) 4px);
	font-weight: bold;
}

.marker-wide-stripe-pink {
	background: repeating-linear-gradient(-45deg,
			transparent 0 2px,
			#faa2b1 2px 4px);
	font-weight: bold;
}

.marker-wide-stripe-soft-pink {
	background: repeating-linear-gradient(-45deg,
			rgba(250, 162, 177, 0.2) 0,
			rgba(250, 162, 177, 0.8) 2px,
			rgba(250, 162, 177, 0.2) 4px);
	font-weight: bold;
}

[class^=marker-stripe-] {
	background-size: 100% .4em;
	padding-bottom: .9em;
	background-position: 0 center;
	background-repeat: no-repeat;
}

[class^=marker-wide-stripe-] {
	background-size: 100% .6em;
	padding-bottom: .6em;
	background-position: 0 center;
	background-repeat: no-repeat;
}

/*ハンバーガーメニュー*/

.menu-icon {
	width: 40px;
	height: 30px;
	position: fixed;
	/* ← fixedにして常に左上固定 */
	top: 20px;
	left: 20px;
	cursor: pointer;
	z-index: 3;
	display: inline-block;
}


.menu-icon {
	display: none;
}

@media screen and (max-width:900px) {

	.menu-icon {
		display: block;
	}

}



.menu-wrapper {
	position: relative;
}


.menu-icon span {
	display: block;
	height: 4px;
	margin: 6px 0;
	background: #333;
	border-radius: 2px;
	transition: 0.4s;
}

/* ハンバーガーがXに変形 */
#menu-toggle:checked+.menu-icon span:nth-child(1) {
	transform: translateY(10px) rotate(45deg);
}

#menu-toggle:checked+.menu-icon span:nth-child(2) {
	opacity: 0;
}

#menu-toggle:checked+.menu-icon span:nth-child(3) {
	transform: translateY(-10px) rotate(-45deg);
}

/* オーバーレイ背景 */
.overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	opacity: 0;
	pointer-events: none;
	transition: 0.4s;
	z-index: 1;
}

#menu-toggle:checked~.overlay {
	opacity: 1;
	pointer-events: auto;
}

/* メニュー本体（左から出す） */
.menu {
	position: fixed;
	top: 0;
	left: -250px;
	/* ← 初期位置を左へ */
	width: 250px;
	height: 100%;
	background: #fff;
	box-shadow: 2px 0 8px rgba(0, 0, 0, 0.2);
	transition: left 0.4s ease;
	z-index: 2;
}

#menu-toggle:checked~.menu {
	left: 0;
	/* ← 開いたときは左0へ */
}

.menu ul {
	list-style: none;
	padding: 60px 20px;
}

.menu li {
	margin: 20px 0;
}

.menu a {
	text-decoration: none;
	color: #333;
	font-size: 1.2rem;
	transition: color 0.3s;
}

.menu a:hover {
	color: #ff4c3c;
}

.tel {
	color: #ff4c3c;
	text-decoration: underline;
}

.guidance_table {
	border-collapse: collapse;
	width: 70%;
	/* font-weight: bold; */
	/* text-align: center; */
	margin: 0 auto;
	table-layout: fixed;
	/* table要素に指定することで、幅を固定 */
	margin-top: 10px;
	background-image: url("images/table_frame.png");
	/* 額縁のような画像 */
	background-size: 100% 100%;
}



.highlight_red {
	color: red;
	font-weight: bold;
}

@media screen and (max-width: 480px) {
	.highlight_red {
		font-size: 8px;
		color: red;
		font-weight: bold;
	}
}

.highlight_blue {
	color: rgb(0, 179, 255);
	font-weight: bold;
	font-size: 20px;
}

@media (max-width: 480px) {
	.highlight_blue {
		color: rgb(0, 179, 255);
		font-weight: bold;
		font-size: 12px;
	}

}

.font_small {
	font-size: 11px;
}

@media screen and (max-width: 480px) {
	.font_small {
		font-size: 5px;
	}
}

.guidance_table th,
.guidance_table td {
	padding: .3em .3em;
	background: #ffffff;
	font-size: 18px;
}

.guidance_table th {
	color: #000000;
	width: 160px;
	/* セルの幅を指定 */
	/* text-align: justify;
	text-align-last: justify; */
	/* 最後の行（1行のみの場合も含む）を均等にする */
	background: #ffd5d0;
}

@media (max-width: 480px) {
	.guidance_table th {
		color: #000000;
		width: 90px;
		/* セルの幅を指定 */
		text-align: justify;
		text-align-last: justify;
		/* 最後の行（1行のみの場合も含む）を均等にする */
	}
}

.guidance_table td {
	padding-left: 2.0em;
}


.guidance_table thead th {
	color: #000000;
}

.guidance_table tr {
	color: #000000;
	border-bottom: 3px solid #ffa0be;
}



.guidance_table .th_design1 {
	/*文字色*/
	background: #ffffff;
	border: solid 1px #ffd5d0;
}

.guidance_table .td_design1 {
	/*文字色*/
	background: #ffffff;
	border: solid 1px #000000af;
}

@media screen and (max-width: 480px) {
	.guidance_table {
		border-collapse: collapse;
		min-width: 300px;
		/* text-align: center; */
		margin: 0 auto;

	}

	.guidance_table th,
	.guidance_table td {
		padding: .3em .3em;
		/* border: 1px solid #000000af; */
		background: #ffffff;
		font-size: 8px;
		padding-left: 5px;
	}

	.guidance_table th {
		background: #ffd5d0;
		color: #000000;
		/* border-right: 1px solid #000000af;
		border-top: 1px solid #000000af; */
		font-size: 10px;
		line-height: 14px;
	}

}

.msg1 {
	font-size: 16px;
	line-height: 40px;
	padding: 20px;
	margin-left: 120px;
}

@media (max-width: 480px) {
	.msg1 {
		font-size: 11px;
		line-height: 13px;
		padding: 10px;
		margin-left: 0px;
	}
}

.msg_red {
	font-size: 16px;
	line-height: 40px;
	margin-left: 120px;
	color: #F00;
}

.msg_bl {
	font-size: 16px;
	margin-left: 120px;
	color: #000;
}

@media (max-width: 480px) {
	.msg_red {
		padding: 0px;
		margin-left: 10px;
		color: #F00;
	}
}

.cell_center {
	text-align: center;
}

/*math.html*/

/* 子供向け3色ブロックのデザイン */
.math-features-colorful {
	padding: 40px 10px;
	max-width: 1000px;
	margin: 0 auto;
}

.feature-container {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	/* スマホで縦並びにするため */
}

.feature-card {
	flex: 1;
	min-width: 280px;
	/* スマホ時の最小幅 */
	padding: 30px 20px;
	border-radius: 20px;
	/* 角を大きく丸く */
	text-align: center;
	box-shadow: 0 8px 0 rgba(0, 0, 0, 0.05);
	/* 下に厚みを出してボタンっぽく */
	position: relative;
	transition: transform 0.3s ease;
}

.feature-card:hover {
	transform: translateY(-5px);
	/* マウスを乗せると少し動く */
}

/* 数字のアイコン */
.icon-circle {
	width: 40px;
	height: 40px;
	background: #fff;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto 15px;
	font-weight: bold;
	font-size: 1.2em;
}

/* 各カラーの設定（パステル調） */
.yellow-card {
	background-color: #fff9c4;
	border: 3px solid #fbc02d;
}

.yellow-card .icon-circle {
	color: #fbc02d;
}

.yellow-card h4 {
	color: #827717;
}

.green-card {
	background-color: #e8f5e9;
	border: 3px solid #66bb6a;
}

.green-card .icon-circle {
	color: #66bb6a;
}

.green-card h4 {
	color: #1b5e20;
}

.pink-card {
	background-color: #fce4ec;
	border: 3px solid #f06292;
}

.pink-card .icon-circle {
	color: #f06292;
}

.pink-card h4 {
	color: #880e4f;
}

.feature-card h4 {
	margin-bottom: 15px;
	font-size: 1.25em;
	line-height: 1.4;
	font-weight: bold;
}

.feature-card p {
	font-size: 0.95em;
	line-height: 1.6;
	color: #333;
	text-align: left;
	/* 文章は左揃えが読みやすい */
}

/* スマホ対応：横並びを解除 */
@media (max-width: 768px) {
	.feature-container {
		flex-direction: column;
	}

	.feature-card {
		margin-bottom: 20px;
	}
}

/* 特徴セクション専用の見出しデザイン */
.math-feature-header {
	text-align: center;
	/* margin: 40px auto 30px; */
	padding: 0 10px;
	margin-top: 20px;
	margin-bottom: 20px;
}


/* スマホ対応 */
@media screen and (max-width: 600px) {
	.trial-copy {
		font-size: 15px;
		font-weight: bold;
		color: #d35400;
		margin-bottom: 10px;
	}

	.trial-message {
		font-size: 13px;
		color: #666;
		line-height: 1.5;
	}
	.math-feature-header {
	margin-top: 0px;
}

}

/* ぴょこぴょこ動くサブテキスト */
.math-jump-text {
	display: block;
	color: #fff;
	/* 白 */
	font-weight: bold;
	font-size: 1.1em;
	margin-bottom: 10px;
	animation: math-bounce 2s infinite;
}

/* ふきだし・カプセル型のメインタイトル */
.math-title-bubble {
	display: inline-block;
	position: relative;
	background: #ffeb3b;
	/* パソコン教室の青系と対照的な黄色 */
	padding: 15px 45px;
	border-radius: 50px;
	box-shadow: 0 6px 0 #fbc02d;
	/* 立体感を出す影 */
	border: 3px solid #333;
	/* 輪郭をはっきりさせて目立たせる */
	margin-bottom: 10px;
	width: 900px;
}

/* スマホ対応 */
@media screen and (max-width: 600px) {
	.math-title-bubble {
		max-width: 100%;
	}
}


/* ふきだし・カプセル型のメインタイトル */
.math-title-bubble2 {
	display: inline-block;
	position: relative;
	background: #ffeb3b;
	/* パソコン教室の青系と対照的な黄色 */
	padding: 15px 45px;
	border-radius: 50px;
	box-shadow: 0 6px 0 #fbc02d;
	/* 立体感を出す影 */
	border: 3px solid #333;
	/* 輪郭をはっきりさせて目立たせる */
	margin-bottom: 10px;
	width: 700px;
}


/* タイトル内のテキスト */
.math-title-main {
	color: #333;
	font-size: 1.6em;
	font-weight: 900;
	/* 極太 */
	letter-spacing: 1px;
}

/* 左右のキラキラ飾り */
.math-title-bubble::before,
.math-title-bubble::after {
	content: "✨";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.4em;
}

.math-title-bubble::before {
	left: 15px;
}

.math-title-bubble::after {
	right: 15px;
}

/* アニメーション：上下に少し跳ねる */
@keyframes math-bounce {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-8px);
	}
}

/* スマホ用のサイズ調整 */
@media screen and (max-width: 480px) {
	.math-title-main {
		font-size: 1.2em;
	}

	.math-title-bubble {
		padding: 10px 30px;
	}

	.math-title-bubble::before,
	.math-title-bubble::after {
		display: none;
		/* スマホではキラキラを消してスッキリさせる */
	}
}

/* Q&Aセクション全体の調整 */
.math-qa-section {
	padding: 40px 10px;
	max-width: 900px;
	margin: 0 auto;
}

.math-qa-container {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

/* 質問（Q）のデザイン */
.qa-question {
	position: relative;
	background: #4cc9f0;
	/* 爽やかな水色 */
	color: white;
	padding: 15px 20px 15px 60px;
	border-radius: 15px 15px 15px 0;
	/* 左下だけ角を尖らせて吹き出し風に */
	margin-bottom: 10px;
	font-weight: bold;
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.1);
}

.q-icon {
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.4em;
	font-style: italic;
	opacity: 0.8;
}

/* 回答（A）のデザイン */
.qa-answer {
	position: relative;
	background: #fff;
	border: 3px solid #f0f0f0;
	padding: 20px 20px 20px 60px;
	border-radius: 0 15px 15px 15px;
	line-height: 1.7;
	color: #444;
}

.a-icon {
	position: absolute;
	left: 20px;
	top: 20px;
	color: #ff6b6b;
	/* ピンク赤 */
	font-size: 1.6em;
	font-weight: bold;
	font-family: 'Arial', sans-serif;
}

/* 注意書きや強調 */
.caution-text {
	display: block;
	margin-top: 10px;
	font-size: 0.9em;
	color: #888;
	border-left: 3px solid #ddd;
	padding-left: 10px;
}

.qa-answer strong {
	color: #d35400;
	background: linear-gradient(transparent 70%, #fff9c4 70%);
}

/* スマホ用調整 */
@media screen and (max-width: 480px) {

	.qa-question,
	.qa-answer {
		padding-left: 50px;
		font-size: 0.95em;
	}

	.q-icon,
	.a-icon {
		left: 10px;
	}
}

/* コース概要セクション */
.math-summary-section {
	padding: 40px 10px;
	max-width: 800px;
	margin: 0 auto;
}

.math-summary-card {
	background: #fff;
	border: 3px solid #66bb6a;
	/* 特徴ブロックの緑色とリンク */
	border-radius: 30px;
	padding: 30px;
	box-shadow: 0 10px 0 #e8f5e9;
}

.math-info-list {
	list-style: none;
	padding: 0;
	margin: 0 0 30px 0;
}

.math-info-list li {
	display: flex;
	padding: 20px 0;
	border-bottom: 2px dashed #e8f5e9;
	align-items: center;
}

.math-info-list li:last-child {
	border-bottom: none;
}

.info-label {
	flex: 0 0 120px;
	background: #66bb6a;
	color: white;
	padding: 5px 10px;
	border-radius: 10px;
	text-align: center;
	font-weight: bold;
	font-size: 0.9em;
	margin-right: 20px;
}

.info-content {
	flex: 1;
	line-height: 1.6;
}

.price-item {
	display: block;
	margin-bottom: 5px;
}

.info-content strong {
	color: #2e7d32;
	font-size: 1.1em;
}


/* スマホ用調整 */
@media screen and (max-width: 480px) {

	.info-content {
		flex: 1;
		line-height: 1.6;
		font-size: 14px;
	}
}



/* 体験案内ボックス */
.trial-info-box {
	background: #fff9c4;
	/* 黄色 */
	padding: 20px;
	border-radius: 20px;
	text-align: center;
	margin-bottom: 30px;
}

.trial-copy {
	font-size: 1.4em;
	font-weight: bold;
	color: #d35400;
	margin-bottom: 10px;
}

.trial-message {
	font-size: 0.9em;
	color: #666;
	line-height: 1.5;
}

/* スマホ対応 */
@media screen and (max-width: 600px) {
	.trial-copy {
		font-size: 15px;
		font-weight: bold;
		color: #d35400;
		margin-bottom: 10px;
	}

	.trial-message {
		font-size: 13px;
		color: #666;
		line-height: 1.5;
	}
}



/* お申込みボタン（以前のパターン4の流用・さらに強調） */
.math-contact-btn-area {
	text-align: center;
}

.math-shiny-btn {
	display: inline-block;
	background: #ff6b6b;
	/* ピンク赤 */
	color: white;
	padding: 20px 50px;
	font-size: 1.3em;
	font-weight: bold;
	text-decoration: none;
	border-radius: 50px;
	box-shadow: 0 6px 0 #d32f2f;
	transition: all 0.3s;
}

.math-shiny-btn:hover {
	transform: translateY(3px);
	box-shadow: 0 3px 0 #d32f2f;
}

/* スマホ対応 */
@media screen and (max-width: 600px) {
	.math-info-list li {
		flex-direction: column;
		align-items: flex-start;
	}

	.info-label {
		margin-bottom: 10px;
		flex: none;
		width: 110px;
	}

	.math-summary-card {
		padding: 20px 15px;
	}

	.math-shiny-btn {
		padding: 15px 30px;
		font-size: 1.1em;
	}
}

/* アイキャッチ全体のコンテナ */
.math-eyecatch {
	background: linear-gradient(135deg, #fff9e6 0%, #ffedbc 100%);
	/* 温かいグラデーション */
	/* padding: 40px 20px; */
	margin: 5px auto;
	border-radius: 30px;
	border: 4px solid #ff9f1c;
	text-align: center;
	position: relative;
	max-width: 800px;
	overflow: hidden;
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
	margin-bottom: 50px;
	margin-left: 100px;
}


/* スマホ対応 */
@media screen and (max-width: 480px) {
	.math-eyecatch {
		margin-top: 70px;
		margin-left: 0px;
	}
}

/* 「解答を見ても…」の部分 */
.catch-sub {
	font-size: 1.2rem;
	color: #666;
	margin-bottom: 10px;
	font-weight: bold;
}

/* 「そんな子が…」の部分 */
.catch-main {
	font-size: 1.8rem;
	color: #333;
	font-weight: bold;
	margin-bottom: 15px;
	line-height: 1.4;
}

/* 「あ、解けた！」の強調 */
.highlight-yellow {
	display: inline-block;
	background: #ffff00;
	color: #d35400;
	padding: 5px 20px;
	border-radius: 10px;
	border: 3px solid #333;
	transform: rotate(-3deg);
	/* 少し傾けて躍動感を出す */
	font-size: 2.2rem;
	box-shadow: 5px 5px 0 #333;
	margin: 0 10px;
	animation: pulse 2s infinite;
}

/* 「と笑顔になるコース！」 */
.catch-copy {
	font-size: 1.6rem;
	color: #e67e22;
	font-weight: bold;
}

/* キラキラ装飾 */
.kira {
	position: absolute;
	font-size: 1.5rem;
}

.kira-1 {
	top: 20%;
	left: 10%;
	animation: blink 1.5s infinite;
}

.kira-2 {
	bottom: 20%;
	right: 10%;
	animation: blink 2s infinite;
}

/* 動きのアニメーション */
@keyframes pulse {
	0% {
		transform: rotate(-3deg) scale(1);
	}

	50% {
		transform: rotate(-3deg) scale(1.05);
	}

	100% {
		transform: rotate(-3deg) scale(1);
	}
}

@keyframes blink {

	0%,
	100% {
		opacity: 0.3;
		transform: scale(0.8);
	}

	50% {
		opacity: 1;
		transform: scale(1.2);
	}
}

/* スマホ対応 */
@media screen and (max-width: 480px) {
	.catch-sub {
		font-size: 1rem;
	}

	.catch-main {
		font-size: 1.3rem;
	}

	.highlight-yellow {
		font-size: 1.5rem;
		padding: 5px 10px;
	}

	.catch-copy {
		font-size: 1.2rem;
	}

	.kira {
		display: none;
	}
}

/* メガバナー全体のコンテナ */
.math-mega-banner {
	margin: 40px 10px;
	border: 4px double #ff9f1c;
	background: #fff;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
	font-family: "Noto Sans JP", sans-serif;
}

/* 上部オレンジラベル */
.banner-header-label {
	background: linear-gradient(90deg, #ff9f1c 0%, #ffbf69 100%);
	color: #fff;
	padding: 15px;
	text-align: center;
}

.banner-header-label span {
	font-size: 2.2em;
	font-weight: bold;
	letter-spacing: 2px;
}

/* スマホ対応 */
@media screen and (max-width: 480px) {
	.banner-header-label span {
		font-size: 1.2em;
	}

}

/* メインコンテンツエリア */
.banner-body {
	padding: 30px 20px;
	text-align: center;
}

.sub-message {
	font-size: 1.2em;
	color: #333;
	font-weight: bold;
	margin-bottom: 5px;
}

.main-title {
	font-size: 2.8em;
	/* 視認性の高いサイズに調整 */
	color: #d35400;
	line-height: 1.2;
	margin-bottom: 20px;
	font-weight: 900;
	text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.05);
}

/* 「あ、解けた！」の笑顔フレーズ */
.smile-phrase {
	font-size: 1.2em;
	background: #ffffd2;
	padding: 15px;
	display: inline-block;
	border-radius: 10px;
	line-height: 1.6;
	margin-bottom: 25px;
	border: 1px dashed #ff9f1c;
}

.pop-text {
	display: inline-block;
	background: #ffeb3b;
	color: #d35400;
	padding: 2px 10px;
	border-radius: 5px;
	font-weight: bold;
	border: 2px solid #d35400;
	transform: rotate(-2deg);
	font-size: 1.3em;
}

/* 3つの円形ポイント */
.point-circles {
	display: flex;
	justify-content: center;
	gap: 50px;
	flex-wrap: wrap;
	margin-bottom: 30px;
}

.circle-item {
	background: #fff0f0;
	border: 2px solid #ff9f1c;
	border-radius: 50%;
	width: 100px;
	height: 100px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	box-shadow: 0 4px 0 #ff9f1c;
}

.circle-item .label {
	font-size: 0.7em;
	color: #666;
}

.circle-item .value {
	font-size: 1.5em;
	font-weight: bold;
	color: #d35400;
}

/* ボタンとアクション */
.math-illust {
	display: block;
	margin: 0 auto 15px;
	max-width: 150px;
}

.math-btn-shine {
	display: inline-block;
	background: #e67e22;
	color: #fff;
	padding: 20px 40px;
	font-size: 1.4em;
	font-weight: bold;
	text-decoration: none;
	border-radius: 50px;
	box-shadow: 0 4px 15px rgba(230, 126, 34, 0.4);
	position: relative;
	overflow: hidden;
}

.math-btn-shine:hover {
	background: #d35400;
	transform: scale(1.05);
}

.note {
	font-size: 0.8em;
	margin-top: 10px;
	color: #666;
}

/* スマホ用調整 */
@media screen and (max-width: 480px) {
	.main-title {
		font-size: 1.8em;
	}

	.circle-item {
		width: 85px;
		height: 85px;
	}

	.math-btn-shine {
		font-size: 1.1em;
		padding: 15px 25px;
	}
}

/* 画像とボタンを横並びにする設定 */
.cta-flex-container {
	display: flex;
	align-items: center;
	/* 垂直方向の中央揃え */
	justify-content: center;
	/* 水平方向の中央揃え */
	gap: 30px;
	/* 画像とボタンの間隔 */
	margin-top: 30px;
	padding: 0 20px;
}

.cta-image {
	flex: 0 1 180px;
	/* 画像の幅を固定ぎみに設定 */
}

.math-illust-side {
	width: 100%;
	height: auto;
	display: block;
}

.cta-button-group {
	flex: 0 1 auto;
	text-align: left;
	/* テキストとボタンを左寄せにしてバランスを取る */
}

/* ボタン自体のスタイル（以前のものを継承） */
.math-btn-shine {
	display: inline-block;
	background: #e67e22;
	color: #fff;
	padding: 20px 40px;
	font-size: 1.4em;
	font-weight: bold;
	text-decoration: none;
	border-radius: 50px;
	box-shadow: 0 4px 15px rgba(230, 126, 34, 0.4);
	position: relative;
	overflow: hidden;
	white-space: nowrap;
	/* ボタン内で改行させない */
}

/* スマホ対応：画面が狭くなったら縦並びに切り替え */
@media screen and (max-width: 650px) {
	.cta-flex-container {
		flex-direction: column;
		/* 縦並びに変更 */
		gap: 15px;
	}

	.cta-image {
		flex: 0 1 120px;
		/* スマホでは画像を少し小さく */
	}

	.cta-button-group {
		text-align: center;
		/* スマホでは中央揃え */
	}

	.math-btn-shine {
		font-size: 1.1em;
		padding: 15px 25px;
	}
}

.intro-box {
	margin-bottom: 20px;
}

.intro-surprise {
	font-size: 1.4em;
	color: #0077b6;
	/* パソコン教室らしい知的な青 */
	font-weight: 900;
	background: #fff;
	display: inline-block;
	padding: 5px 15px;
	border-radius: 5px;
	box-shadow: 2px 2px 0 #0077b6;
	margin-bottom: 10px;
	transform: rotate(-1deg);
}

.intro-leader {
	font-size: 1.1em;
	color: #333;
	font-weight: bold;
	border-bottom: 2px solid #ff6f00;
	display: inline-block;
}

/* タイトルの上のサブタイトル（”つまずき”を〜） */
.title-sub-impact {
	font-size: 0.45em;
	/* メインタイトルに対するサイズ */
	display: block;
	color: #ff6f00;
	margin-bottom: -5px;
	letter-spacing: 2px;
}

/* ボタンのアニメーションを少し強調 */
.math-btn-shine-impact {
	/* 既存のスタイルを継承 */
	border: 3px solid #fff;
	/* 白い縁取りを追加してさらに目立たせる */
}

/* スマホ用の微調整 */
@media screen and (max-width: 480px) {
	.intro-surprise {
		font-size: 1em;
	}

	.intro-leader {
		font-size: 0.9em;
	}

	.title-sub-impact {
		font-size: 0.5em;
	}
}

/* 外側のコンテナ */
.math-intro-container {
	/* padding: 20px 0; */
	text-align: center;
}

/* ボックス全体 */
.intro-box-stylish {
	display: inline-block;
	position: relative;
	/* padding: 10px 20px; */
}

/* 「パソコン教室で〜」の部分：洗練された問いかけ */
.intro-surprise-stylish {
	font-size: 1.5em;
	font-weight: 700;
	color: #003049;
	/* 深みのある紺色で知性を演出 */
	letter-spacing: 0.05em;
	margin-bottom: 15px;
	position: relative;
	display: inline-block;
}

.quote-mark {
	color: #ff9f1c;
	/* アクセントのオレンジ */
	font-size: 1.4em;
	font-family: serif;
	line-height: 0;
	vertical-align: middle;
}

/* 「代表が直接教える」の部分：信頼感のラインデザイン */
.intro-leader-stylish {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	font-size: 1.1em;
}

/* 「元・学習塾経営」のタグ風デザイン */
.leader-tag {
	background: #333;
	/* 黒で引き締める */
	color: #fff;
	font-size: 0.75em;
	padding: 2px 12px;
	border-radius: 4px;
	letter-spacing: 0.1em;
	font-weight: 600;
}

.leader-text {
	color: #444;
	font-weight: 600;
	position: relative;
}

/* 下の細い装飾ライン */
.leader-text::after {
	content: '';
	position: absolute;
	bottom: -4px;
	left: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(to right, #ff9f1c, transparent);
}

/* スマホ表示の調整 */
@media screen and (max-width: 480px) {
	.intro-surprise-stylish {
		font-size: 1.15em;
	}

	.intro-leader-stylish {
		flex-direction: column;
		gap: 5px;
	}

	.leader-tag {
		display: inline-block;
	}
}

/* 外側のコンテナ */
.math-change-container {
	text-align: center;
	/* padding: 15px 0; */
	/* margin-bottom: 20px; */
}

/* ボックス全体 */
.change-box-stylish {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
}

/* ”つまずき”：少し抑えめの色と細いフォント */
.text-neg {
	font-size: 1.3em;
	color: #888;
	font-weight: 500;
	position: relative;
	padding: 0 5px;
}

/* 矢印アイコン風 */
.text-arrow {
	font-size: 1.1em;
	color: #ff9f1c;
	font-weight: bold;
	margin: 0 5px;
}

/* ”できたー！”：太字・明るい色・浮き出す装飾 */
.text-pos {
	font-size: 1.8em;
	font-weight: 900;
	color: #e63946;
	/* 情熱的な赤 */
	background: linear-gradient(transparent 60%, #fff9c4 60%);
	/* マーカー風 */
	letter-spacing: 0.1em;
	text-shadow: 2px 2px 0 #fff, 4px 4px 0 rgba(0, 0, 0, 0.05);
}

.text-tail {
	font-size: 1.2em;
	font-weight: 700;
	color: #333;
}

/* 算数・数学コースのバッジ */
.course-name-badge {
	display: block;
	width: 100%;
	/* 改行させる */
	margin-top: 10px;
	font-size: 3.1em;
	font-weight: bold;
	color: #003049;
	letter-spacing: 0.2em;
	border-top: 2px solid #003049;
	padding-top: 5px;
}

/* スマホ対応 */
@media screen and (max-width: 480px) {
	.text-neg {
		font-size: 1.1em;
	}

	.text-pos {
		font-size: 1.4em;
	}

	.text-tail {
		font-size: 1em;
	}

	.course-name-badge {
		font-size: 0.9em;
	}
}

/* キャンペーンボックスの調整 */
.math-campaign-box {
    background: #fff;
    border: 4px solid #ff0000; /* 太い赤枠 */
    border-radius: 20px;
    padding: 20px;
    margin-bottom: 35px;
    position: relative;
    box-shadow: 0 10px 0 #ffebee; /* 影を薄い赤にして立体感を出す */
}

/* 期限のテキスト */
.math-campaign-limit {
    font-size: 1.2rem;
    color: #333;
    font-weight: bold;
    display: inline-block;
    margin-bottom: 5px;
}

/* 赤字メイン部分：アンダーラインなし */
.math-campaign-main-red {
    color: #ff0000;
    font-size: 1.8rem;
    font-weight: 900; /* 極太 */
    display: block;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

/* 「無料」をさらに強調 */
.math-mega-free {
    font-size: 2.2rem;
    color: #ff0000;
    margin: 0 5px;
    display: inline-block;
    vertical-align: middle;
}

/* 注意を引くアニメーション（ふわっと拡大） */
.math-campaign-box {
    animation: attentionGrow 2s infinite ease-in-out;
}

@keyframes attentionGrow {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.02); }
}

/* スマホ対応 */
@media screen and (max-width: 480px) {
    .math-campaign-limit { font-size: 0.9rem; }
    .math-campaign-main-red { font-size: 1.2rem; }
    .math-mega-free { font-size: 1.8rem; }
    .math-campaign-box { padding: 15px 10px; }
}