@charset "utf-8";

@import url(https://fonts.googleapis.com/earlyaccess/mplus1p.css);
@import url(https://fonts.googleapis.com/earlyaccess/roundedmplus1c.css);
@import url(https://fonts.googleapis.com/earlyaccess/hannari.css);
@import url(https://fonts.googleapis.com/earlyaccess/kokoro.css);
@import url(https://fonts.googleapis.com/earlyaccess/sawarabimincho.css);
@import url(https://fonts.googleapis.com/earlyaccess/sawarabigothic.css);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url('https://fonts.googleapis.com/css?family=EB+Garamond:400i|Playfair+Display:400i');


.m-font {
font-family: 'Sawarabi Mincho';
}
.m-font2 {
font-family: 'Hannari';
}
.m-font3 {
font-family: 'Kokoro';
}

.g-font {
font-family: 'Mplus 1p';
}
.g-font2 {
font-family: 'Sawarabi Gothic';
}
.g-font3 {
    font-family: 'Noto Sans Japanese';
}
.ma-font {
font-family: 'Rounded Mplus 1c';
}

.e-font {
	font-family: 'Playfair Display', serif;
　　　　font-family: 'EB Garamond', serif;
}

.thick1 {
	font-weight: 500;
}

/*---------------------
  ALLここから
---------------------*/
.caption1 {
  font-size: 1.9rem;     /* 約30px */
  line-height: 1.6;      /* 推奨：可読性を保つ倍率 */
  font-weight: 500;
  color: #fff;
  text-align: center;
  letter-spacing: 0.2em;
  position: static; /* 通常の表示 */
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
}
@media (max-width: 768px) {
.caption1 {
  font-size: 1.5rem;     /* 約30px */
  line-height: 1.6;      /* 推奨：可読性を保つ倍率 */
  font-weight: 500;
  color: #fff;
  text-align: center;
  letter-spacing: 0.2em;
  position: static; /* 通常の表示 */
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
}	
}

/*---------------------
  新着ここから
---------------------*/

.news-t {
	position: relative;
	font-size: 2rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #333;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 45px;       /* 下に余白を追加 */
	letter-spacing: 0.14em;
	margin-top: 60px;
	text-align: center;
}
.news-t::before {
	content: "";
	display: block;
	width: 32px;                  /* 実際に表示したい幅 */
	height: 32px;                 /* 実際に表示したい高さ */
	background-image: url(../img/item01.webp); /* アイコン画像 */
	background-size: cover;       /* 画像をブロックいっぱいに */
	background-repeat: no-repeat;
	position: absolute;
	top: -50px;                   /* 上から28px */
	left: 50%;                    /* 横中央 */
	transform: translateX(-50%);  /* 中央揃え */
}
.news-p {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
  color: #333;
  text-align: center;
  letter-spacing: 0.14em;
  border-top: 1px solid #D8D8D8; /* 上に線 */
  padding-top: 28px;             /* 線と文字の距離を確保 */
  padding-bottom: 30px;
}
.news-p:last-of-type::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #D8D8D8;
  margin-top: 30px; /* 文字との間隔 */
}

/*---------------------
  TOPコンテンツここから
---------------------*/

.main-title1 {
	position: relative;
	font-size: 2rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #58A1D9;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 45px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
	margin-top: 60px;
}
.main-title2 {
	position: relative;
	font-size: 0.9rem;           /* 文字サイズ */
	line-height: 1.4;          /* 行間は文字サイズの1.5倍 */
	font-weight: 500;          /* 太字 */
	color: #333333;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 8px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
	margin-top: 36px;
}
.main-title3 {
	display: flex;
	align-items: center;   /* 子要素を縦方向に中央揃え */
	justify-content: center; /* 横方向に中央揃え */
	font-size: 1.5rem;
	line-height: 1.5;
	font-weight: 400;
	color: #000000;
	margin-bottom: 45px;
	letter-spacing: 0.08em;
}

.main-title3::before,
.main-title3::after {
	content: "";
	display: block;
	width: 6px;                /* 横線の長さ */
	height: 2px;               /* 線の太さ */
	background-color: #000;    /* 線の色 */
	margin: 0 8px;             /* 文字との余白 */
}

.main-title4 {
	display: flex;
	align-items: center;   /* 子要素を縦方向に中央揃え */
	justify-content: center; /* 横方向に中央揃え */
	font-size: 0.95rem;
	line-height: 1.5;
	font-weight: 500;
	color: #FFFFFF;
	margin-bottom: 32px;
	letter-spacing: 0.08em;
}

.main-title4::before,
.main-title4::after {
	content: "";
	display: block;
	width: 6px;                /* 横線の長さ */
	height: 2px;               /* 線の太さ */
	background-color: #FFF;    /* 線の色 */
	margin: 0 8px;             /* 文字との余白 */
}

.main-title5 {
	position: relative;
	font-size: 2rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #FFFFFF;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 48px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
}
.main-title6 {
	position: relative;
	font-size: 2rem;           /* 文字サイズ */
	line-height: 1.6;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;               /* 文字色 */
	margin-bottom: 36px;       /* 下に余白を追加 */
	letter-spacing: 0.08em;
}
.main-title7 {
	position: relative;
	font-size: 1.625rem;           /* 文字サイズ */
	line-height: 1.6;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;               /* 文字色 */
	margin-bottom: 18px;       /* 下に余白を追加 */
	letter-spacing: 0.08em;
}


.main-title8 {
	position: relative;
	font-size: 2rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #E49B6A;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 45px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
}

.main-title9 {
	position: relative;
	font-size: 1.625rem;           /* 文字サイズ */
	line-height: 1.6;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #58A0D8;               /* 文字色 */
	margin-bottom: 18px;       /* 下に余白を追加 */
	letter-spacing: 0.08em;
}


.main-text1 {
	font-size: 1rem;
	line-height: 2.5;
	font-weight: 500;
	color: #333;
	text-align: center;
	letter-spacing: 0.1em;
	padding-bottom: 115px;
}

.main-text2 {
	font-size: 1rem;
	line-height: 2.4;
	font-weight: 500;
	color: #FFF;
	text-align: center;
	letter-spacing: 0.1em;
}
.main-text3 {
	font-size: 1.3125rem;
	line-height: 1.8;
	font-weight: 500;
	color: #333;
	letter-spacing: 0.06em;
	padding-left: 8px;
}
.main-text4 {
	font-size: 1rem;
	line-height: 2.4;
	font-weight: 500;
	color: #333;
	letter-spacing: 0.1em;
	padding-bottom: 100px;
}
.main-text5 {
	font-size: 1rem;
	line-height: 2.4;
	font-weight: 500;
	color: #333;
	text-align: center;
	letter-spacing: 0.1em;
	padding-bottom: 70px;
}
.main-text6 {
	font-size: 1rem;
	line-height: 2.4;
	font-weight: 500;
	color: #333;
	letter-spacing: 0.1em;
	padding-bottom: 25px;
}
.main-text7 {
	font-size: 0.875rem;
	line-height: 2.1;
	font-weight: 500;
	color: #000;
	text-align: center;
	letter-spacing: 0.1em;
	margin-bottom: 38px;
}
.main-text7 a:link {
	color: #467EBA;
	text-decoration: underline;
}
.main-text7 a:visited {
	color: #467EBA;
	text-decoration: none;
}

.main-text7 a:hover {
	text-decoration: none;
}


.nijiu{
  position: relative;
}
.nijiu::before,
.nijiu::after {
  position: absolute;
  content: "";
  display: block;
  transform: rotate(0);
  background-color: red;
  width: 100%;
  height: 1px;
  left: 0;
}
.nijiu::before {
  top: 55%;
}
.nijiu::after {
  top: 42%;
}

/*---------------------
  ALLここから
---------------------*/
.heading-wrapper {
	display: flex;
	flex-direction: column; /* 上下に並べる */
	gap: 2rem;              /* ブロック間の余白 */
}

/* 各教育目標の背景ブロック */
.heading-bg {
	position: relative;
	background-image: url(../img/item10.png);
	background-size: 24px 80px;    /* 幅320px 高さ192pxに指定可能 */
	background-repeat: no-repeat;
	background-position: left center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #333;
	padding-left: 67px;               /* 左端から67px */
	height: 80px;
		margin-bottom: 58px;
}

.heading-bg2 {
	position: relative;
	background-image: url(../img/item11.png);
	background-size: auto 80px;    /* 幅320px 高さ192pxに指定可能 */
	background-repeat: no-repeat;
	background-position: left center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #333;
	padding-left: 67px;               /* 左端から67px */
	height: 80px;
		margin-bottom: 58px;
}

.heading-bg3 {
	position: relative;
	background-image: url(../img/12.png);
	background-size: auto 80px;    /* 幅320px 高さ192pxに指定可能 */
	background-repeat: no-repeat;
	background-position: left center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #333;
	padding-left: 67px;               /* 左端から67px */
	height: 80px;
	margin-bottom: 58px;
}
/* 各教育目標の背景ブロック */
.heading1-bg {
	position: relative;
	background-image: url(../img/item10.png);
	background-size: 24px 80px;    /* 幅320px 高さ192pxに指定可能 */
	background-repeat: no-repeat;
	background-position: left center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #333;
	padding-left: 67px;               /* 左端から67px */
	height: 80px;
	margin-bottom: 50px;
	margin-left: 70px;
}

.heading2-bg2 {
	position: relative;
	background-image: url(../img/item11.png);
	background-size: auto 80px;    /* 幅320px 高さ192pxに指定可能 */
	background-repeat: no-repeat;
	background-position: left center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #333;
	padding-left: 67px;               /* 左端から67px */
	height: 80px;
	margin-bottom: 50px;
	margin-left: 70px;
}

.heading3-bg3 {
	position: relative;
	background-image: url(../img/12.png);
	background-size: auto 80px;    /* 幅320px 高さ192pxに指定可能 */
	background-repeat: no-repeat;
	background-position: left center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #333;
	padding-left: 67px;               /* 左端から67px */
	height: 80px;
	margin-bottom: 50px;
	margin-left: 70px;
}

/* タイトル */
.heading-title {
	font-size: 1rem; /* 下に29pxの間隔 */
	letter-spacing: 0.1em;
	font-weight: bold;
	margin-bottom: 12px;
}

/* 文章 */
.heading-text {
	font-size: 2rem;         /* 32px */
	letter-spacing: 0.1em;
	font-weight: 400;
}


.t-1 {
	position: relative;
	font-size: 2rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #58A1D9;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 45px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
	margin-top: 60px;
}
.t-2 {
	position: relative;
	font-size: 2rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #58A1D9;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 140px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
}

.t-3 {
	display: flex;
	align-items: center;   /* 子要素を縦方向に中央揃え */
	justify-content: center; /* 横方向に中央揃え */
	font-size: 1.5rem;
	line-height: 1.5;
	font-weight: 400;
	color: #000000;
	margin-bottom: 110px;
	letter-spacing: 0.08em;
}
.t-3::before,
.t-3::after {
	content: "";
	display: block;
	width: 6px;                /* 横線の長さ */
	height: 2px;               /* 線の太さ */
	background-color: #000;    /* 線の色 */
	margin: 0 8px;             /* 文字との余白 */
}
.t-4 {
	position: relative;
	font-size: 1.5rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 27px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
	margin-top: 42px;
}

.t-5 {
	font-size: 1rem;          /* メインタイトルの大きさ */
	font-weight: 500;
	margin-bottom: 40px;
	position: relative;
	color: #333;
	line-height: 2;
	letter-spacing: 0.1em;
}

.t-5 .t-5-sub {
	display: block;            /* 改行して下に表示 */
	font-size: 2rem;         /* 小さい文字 */
	color: #333;               /* サブタイトルの色 */         /* メインタイトルとの間隔 */
	font-weight: 500;
	letter-spacing: 0.05em;
}
.t-6 {
	position: relative;
	font-size: 1.5rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 27px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
	margin-top: 42px;
}
.t-7 {
	position: relative;
	font-size: 1.5rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 63px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
	text-align: center;
}
.t-8 {
	position: relative;
	font-size: 1rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 500;          /* 太字 */
	color: #000000;          /* 左寄せ、必要に応じて center に変更可能 */  
	letter-spacing: 0.09em;
	text-align: center;
}
.t-9 {
	position: relative;
	font-size: 1.6rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 500;          /* 太字 */
	color: #000000;          /* 左寄せ、必要に応じて center に変更可能 */
	letter-spacing: 0.09em;
	margin-bottom: 24px;
}
.t-10 {
	position: relative;
	font-size: 2rem;           /* 文字サイズ */
	line-height: 1.6;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;               /* 文字色 */
	margin-bottom: 36px;       /* 下に余白を追加 */
	letter-spacing: 0.08em;
}
.t-11 {
	font-size: 1.2rem;
	line-height: 1.8;
	font-weight: 500;
	color: #333;
	letter-spacing: 0.06em;
	text-align: center;
	margin-bottom: 40px;
}
.t-12 {
	font-size: 1.2rem;
	line-height: 1.8;
	font-weight: 500;
	color: #333;
	letter-spacing: 0.06em;
	margin-bottom: 15px;
}
.t-13 {
  display: flex;
  align-items: baseline; /* 春とSPRINGの文字下端を揃える */
  gap: 12px; /* 文字間のスペース */
  font-weight: 500;
  color: #93D675;
  text-align: left;
}

.t-13 {
	font-size: 4.83rem; /* 春 */
	line-height: 1.1;
	letter-spacing: 0.05em;
	margin-left: 40px;
}

.t-13 span {
  font-size: 0.89rem; /* SPRING */
  font-weight: 600;
  letter-spacing: 0.2em;
  color: #93D675;
  line-height: 1;
}
.t-14 {
  display: flex;
  align-items: baseline; /* 春とSPRINGの文字下端を揃える */
  gap: 12px; /* 文字間のスペース */
  font-weight: 500;
  color: #7FC5D9;
  text-align: left;
}

.t-14 {
	font-size: 4.83rem; /* 春 */
	line-height: 1.1;
	letter-spacing: 0.05em;
	margin-left: 40px;
}

.t-14 span {
  font-size: 0.89rem; /* SPRING */
  font-weight: 600;
  letter-spacing: 0.2em;
  color: #7FC5D9;
  line-height: 1;
}
.t-15 {
  display: flex;
  align-items: baseline; /* 春とSPRINGの文字下端を揃える */
  gap: 12px; /* 文字間のスペース */
  font-weight: 500;
  color: #F4BB79;
  text-align: left;
}

.t-15 {
	font-size: 4.83rem; /* 春 */
	line-height: 1.1;
	letter-spacing: 0.05em;
	margin-left: 40px;
}

.t-15 span {
  font-size: 0.89rem; /* SPRING */
  font-weight: 600;
  letter-spacing: 0.2em;
  color: #F4BB79;
  line-height: 1;
}
.t-16 {
  display: flex;
  align-items: baseline; /* 春とSPRINGの文字下端を揃える */
  gap: 12px; /* 文字間のスペース */
  font-weight: 500;
  color: #F0ABBF;
  text-align: left;
}

.t-16 {
	font-size: 4.83rem; /* 春 */
	line-height: 1.1;
	letter-spacing: 0.05em;
	margin-left: 40px;
}

.t-16 span {
  font-size: 0.89rem; /* SPRING */
  font-weight: 600;
  letter-spacing: 0.2em;
  color: #F0ABBF;
  line-height: 1;
}
.t-17 {
	display: flex;
	align-items: center;   /* 子要素を縦方向に中央揃え */
	justify-content: center; /* 横方向に中央揃え */
	font-size: 1.5rem;
	line-height: 1.5;
	font-weight: 400;
	color: #000000;
	margin-bottom: 40px;
	letter-spacing: 0.08em;
}
.t-17::before,
.t-17::after {
	content: "";
	display: block;
	width: 6px;                /* 横線の長さ */
	height: 2px;               /* 線の太さ */
	background-color: #000;    /* 線の色 */
	margin: 0 8px;             /* 文字との余白 */
}

.t-18 {
	position: relative;
	font-size: 2rem;           /* 文字サイズ */
	line-height: 1.6;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;               /* 文字色 */
	margin-bottom: 36px;       /* 下に余白を追加 */
	letter-spacing: 0.08em;
	padding-left: 70px;
}
.t-19 {
	position: relative;
	font-size: 2rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #CFA668;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 45px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
	margin-top: 60px;
}
.t-20 {
	position: relative;
	font-size: 1.1rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 600;          /* 太字 */
	color: #000000;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 33px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
	margin-top: 36px;
}
.t-21 {
	position: relative;
	font-size: 2rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 20px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
	margin-top: 60px;
}
.t-22 {
	display: flex;
	align-items: center;   /* 縦中央揃え */
	font-size: 1.2rem;
	line-height: 1.6;
	font-weight: 600;
	color: #000000;
	margin-bottom: 40px;
	letter-spacing: 0.08em;
}

.t-22::before {
	content: "";
	display: block;
	width: 10px;                /* 横線の長さ */
	height: 3px;               /* 線の太さ */
	background-color: #000;    /* 線の色 */
	margin-right: 10px;         /* 文字との余白 */
}
.t-23 {
	position: relative;
	font-size: 2rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 45px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
}
.t-24 {
	position: relative;
	font-size: 1.6rem;
	line-height: 1.5; /* ← 少し詰める */
	font-weight: 500;
	color: #653F24;
	text-align: center;
	margin-bottom: 25px;
}

.t-24 span {
	display: block;
	font-size: 0.89rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	margin-top: -2px; /* ← これで上に近づける（調整値） */
}
.t-25 {
	position: relative;
	font-size: 1.875rem;           /* 文字サイズ */
	line-height: 1.6;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;               /* 文字色 */
	margin-bottom: 36px;       /* 下に余白を追加 */
	letter-spacing: 0.08em;
}
.t-26 {
	position: relative;
	font-size: 2rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #58A1D9;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 120px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
}
.t-27 {
	position: relative;
	font-size: 2rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #E97F5A;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 40px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
}
.t-28 {
	display: flex;
	align-items: center;   /* 子要素を縦方向に中央揃え */
	justify-content: center; /* 横方向に中央揃え */
	font-size: 1.5rem;
	line-height: 1.5;
	font-weight: 400;
	color: #58A1D9;
	margin-bottom: 60px;
	letter-spacing: 0.08em;
}
.t-28::before,
.t-28::after {
	content: "";
	display: block;
	width: 6px;                /* 横線の長さ */
	height: 2px;               /* 線の太さ */
	background-color: #58A1D9;    /* 線の色 */
	margin: 0 8px;             /* 文字との余白 */
}
.t-29 {
	position: relative;
	font-size: 1.5rem;           /* 文字サイズ */
	line-height: 1.7;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;               /* 文字色 */
	margin-bottom: 36px;       /* 下に余白を追加 */
	letter-spacing: 0.08em;
}
.t-30 {
	position: relative;
	font-size: 1.25rem;           /* 文字サイズ */
	line-height: 1.7;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;               /* 文字色 */
	margin-bottom: 20px;       /* 下に余白を追加 */
	letter-spacing: 0.08em;
}

.p-1 {
	font-size: 1rem;
	line-height: 2.5;
	font-weight: 500;
	color: #333;
	letter-spacing: 0.15em;
}

.p-2 {
	font-size: 98%;
	line-height: 30px;
	letter-spacing: 0.15em;
	clear: both;
	margin-right: 40px;
	margin-left: 50px;
	color: #000;
}
.p-3 {
	font-size: 0.875rem;
	line-height: 2;
	font-weight: 500;
	color: #000;
	letter-spacing: 0.15em;
}
.p-4 {
	font-size: 0.875rem;
	line-height: 2;
	font-weight: 500;
	color: #000;
	letter-spacing: 0.15em;
	margin-top: 28px;
	padding-left: 10px;
}

.p-5 {
	font-size: 0.875rem;
	line-height: 2;
	font-weight: 500;
	color: #000;
	letter-spacing: 0.15em;
	border: 1px solid #CFCFCF;
	padding-top: 30px;
	padding-right: 40px;
	padding-bottom: 30px;
	padding-left: 40px;
}
.p-6 {
	max-width: 630px;
	font-size: 0.875rem;
	line-height: 2;
	font-weight: 500;
	color: #000;
	letter-spacing: 0.15em;
	border: 1px solid #CFCFCF;
	padding-top: 30px;
	padding-right: 40px;
	padding-bottom: 30px;
	padding-left: 40px;
	margin-right: auto;
	margin-left: auto;
	margin-top: -40px;
}
.p-7 {
	font-size: 1rem;
	line-height: 2.5;
	font-weight: 500;
	color: #333;
	text-align: center;
	letter-spacing: 0.1em;
	padding-bottom: 80px;
}
.p-8 {
	font-size: 1rem;
	line-height: 2.5;
	font-weight: 500;
	color: #333;
	letter-spacing: 0.15em;
	padding-left: 70px;
	padding-right: 30px;
	margin-bottom: 67px;
}
.p-9 {
	font-size: 1rem;
	line-height: 2.5;
	font-weight: 500;
	color: #333;
	letter-spacing: 0.15em;
	padding-left: 70px;
	padding-right: 30px;
	margin-bottom: 50px;
}
.p-9 a:link {
	color: #58A1D9;
	text-decoration: underline;
	font-weight: 700;
}
.p-9 a:visited {
	color: #58A1D9;
	text-decoration: underline;
	font-weight: 700;
}

.p-9 a:hover {
	text-decoration: none;
	font-weight: 700;
}
.p-10 {
	font-size: 1rem;
	line-height: 1.7;
	font-weight: 500;
	color: #333;
	letter-spacing: 0.15em;
}
.p-11 {
	font-size: 1rem;
	line-height: 2.5;
	font-weight: 500;
	color: #333;
	text-align: center;
	letter-spacing: 0.1em;
	padding-bottom: 120px;
}
.p-12 {
	font-size: 1rem;
	line-height: 2.5;
	font-weight: 500;
	color: #333;
	text-align: center;
	letter-spacing: 0.1em;
	padding-bottom: 120px;
}
.p-13 {
	font-size: 1rem;
	line-height: 2.5;
	font-weight: 500;
	color: #333;
	letter-spacing: 0.15em;
	margin-bottom: 50px;
	padding-left: 70px;
	padding-right: 20px;
}
.p-14 {
	font-size: 1rem;
	line-height: 2.5;
	font-weight: 600;
	color: #333;
	letter-spacing: 0.15em;
	margin-bottom: 40px;
	text-align: center;
}
.p-15 {
	font-size: 1.2rem;
	line-height: 1.6;
	font-weight: 400;
	color: #81725E;
	text-align: center;
}
.p-16 {
	font-size: 1.2rem;
	line-height: 2.5;
	font-weight: 600;
	color: #58A1D9;
	letter-spacing: 0.15em;
	margin-bottom: 20px;
	margin-top: 30px;
	padding-left: 30px;
}
.p-17 {
	font-size: 0.875rem;
	line-height: 2;
	font-weight: 500;
	color: #000;
	letter-spacing: 0.15em;
}
.p-18 {
	font-size: 1rem;
	line-height: 2.5;
	font-weight: 400;
	color: #333;
	letter-spacing: 0.15em;
	text-align: center;
	margin-top: -10px;
}
.p-19 {
	font-size: 1rem;
	line-height: 2.5;
	font-weight: 600;
	color: #333;
	letter-spacing: 0.15em;
}
.p-20 {
	font-size: 1rem;
	line-height: 2.4;
	font-weight: 400;
	color: #333;
	letter-spacing: 0.05em;
	margin-bottom: 50px;
}


.icon1 {
	display: inline-block;
	width: 24px;
	height: 29px;
	background-image: url(../img/i01.png);
	background-repeat: no-repeat;
	padding-right: 16px;
}
.icon2 {
	display: inline-block;
	width: 24px;
	height: 29px;
	background-image: url(../img/i02.png);
	background-repeat: no-repeat;
	padding-right: 20px;
}
.icon3 {
	display: inline-block;
	width: 24px;
	height: 29px;
	background-image: url(../img/i03.png);
	background-repeat: no-repeat;
	padding-right: 20px;
}

.foot-text1 {
	font-size: 1rem;
	line-height: 1.6;
	font-weight: 400;
	color: #FFF;
	letter-spacing: 0.11em;
}

/* 文字リンク */
.footer-link {
	color: #FFF;
	text-decoration: none;
	font-size: 0.9rem;
	line-height: 1.6;
}

.footer-link:hover {
  text-decoration: underline; /* 必要に応じて */
}

.tel-p{
	color: #FFF;
	 font-size: 1.75rem; /* 28px相当 */
	line-height: 2;
	font-weight: 400;
	text-decoration: none;
	letter-spacing: 0.1em;
}
.tel-p a:link {
	color: #FFF;
	text-decoration: none;
}
.tel-p a:visited {
	color: #FFF;
	text-decoration: none;
}

.tel-p a:hover {
	text-decoration: none;
}
.tel-p2{
	color: #467EBA;
	font-size: 2rem; /* 28px相当 */
	line-height: 2;
	font-weight: 400;
	text-decoration: none;
	letter-spacing: 0.1em;
	text-align: center;
}
.tel-p2 a:link {
	color: #467EBA;
	text-decoration: none;
}
.tel-p2 a:visited {
	color: #467EBA;
	text-decoration: none;
}

.tel-p2 a:hover {
	text-decoration: none;
}
.tel-p3{
	color: #E97F5A;
	font-size: 2rem; /* 28px相当 */
	line-height: 2;
	font-weight: 400;
	text-decoration: none;
	letter-spacing: 0.1em;
	text-align: center;
}
.tel-p3 a:link {
	color: #E97F5A;
	text-decoration: none;
}
.tel-p3 a:visited {
	color: #E97F5A;
	text-decoration: none;
}

.tel-p3 a:hover {
	text-decoration: none;
}
@media (max-width: 768px) {
	
.tel-p3{
	color: #E97F5A;
	font-size: 1.8rem; /* 28px相当 */
	line-height: 2;
	font-weight: 400;
	text-decoration: none;
	letter-spacing: 0.1em;
	text-align: center;
}	
}	

.tel-p4{
	color: #000;
	font-size: 1.75rem; /* 28px相当 */
	line-height: 1;
	font-weight: 400;
	text-decoration: none;
	letter-spacing: 0.1em;
}
.tel-p4 a:link {
	color: #000;
	text-decoration: none;
}
.tel-p4 a:visited {
	color: #000;
	text-decoration: none;
}

.tel-p4 a:hover {
	text-decoration: none;
}

.sen-1 {
	padding-right: 10px;
	background-attachment: scroll;
	background-image: url(../img/item07.png);
	background-repeat: no-repeat;
	background-position: left center;
	margin-bottom: 5vw;
	overflow: hidden;
}

.yokosen {
  display: flex;
  align-items: center; /* 垂直中心 */
  justify-content: center; /* 水平中心 */
}
.yokosen:before, .yokosen:after {
	content: "";
	width: 0.5em; /* 線の長さ */
	border-top-width: 5px;
	border-top-style: solid;

}
.yokosen:before {
  margin-right: 0.5em; /* 文字の右隣 */
}
.yokosen:after {
  margin-left: 0.5em; /* 文字の左隣 */
}


.yokosen2 {
  display: flex;
  align-items: center; /* 垂直中心 */
  justify-content: center; /* 水平中心 */
}
.yokosen2:before, .yokosen2:after {
  border-top: 5px solid;
  content: "";
  width: 0.5em; /* 線の長さ */
}
.yokosen2:before {
  margin-right: 0.9em; /* 文字の右隣 */
}
.yokosen2:after {
  margin-left: 0.9em; /* 文字の左隣 */
}


.st-1 {
	color: #8DA725;
	font-weight: 500;
	font-size: 130%;
}
.st-2 {
	color: #000000;
	font-weight: 600;
	font-size: 130%;
}



.small {
	font-size: 0.9em; /* 親要素に対して80%のサイズ */
}
.small2 {
	font-size: 0.55em; /* 親要素に対して80%のサイズ */
	padding-left: 10px;
}
.small3 {
	font-size: 0.45em; /* 親要素に対して80%のサイズ */
	letter-spacing: 0.1em;
	font-weight: 500;
}

.copy-p {
	color: #FFFFFF;
	text-align: center;
	font-size: 0.7rem; /* 12px相当 */
	font-weight: 100;
	padding-top: 80px;
	padding-bottom: 0px;
	letter-spacing: 0.1em;
}


.underline {
  border-bottom: 2px solid #2a9d8f; /* 色と太さを調整 */
  padding-bottom: 2px;
}
.wavy-underline {
  text-decoration: underline wavy #FF6666; /* 色は自由に変更可能 */
  text-underline-offset: 3px; /* テキストからの距離調整 */
}
.wavy-underline2 {
  text-decoration: underline wavy #B2D235; /* 色は自由に変更可能 */
  text-underline-offset: 3px; /* テキストからの距離調整 */
}

/* タブレット横
------------------------------------------------------------*/
@media screen and (max-width: 1024px) {


.p-16 {
	font-size: 1.2rem;
	line-height: 2.5;
	font-weight: 600;
	color: #58A1D9;
	letter-spacing: 0.15em;
	margin-bottom: 20px;
	margin-top: 30px;
	padding-left: 0px;
	text-align: center;
}

}
/* iPhone6 Plus
--------------------------------------------------------------------------------------------------*/
@media (max-width: 768px) {


.main-title1 {
	position: relative;
	font-size: 1.7rem;            /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #58A1D9;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 25px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
	margin-top: 30px;
}
.main-title2 {
	position: relative;
	font-size: 0.9rem;           /* 文字サイズ */
	line-height: 1.4;          /* 行間は文字サイズの1.5倍 */
	font-weight: 500;          /* 太字 */
	color: #333333;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 8px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
	margin-top: 36px;
}
.main-title3 {
	display: flex;
	align-items: center;   /* 子要素を縦方向に中央揃え */
	justify-content: center; /* 横方向に中央揃え */
	font-size: 1.5rem;
	line-height: 1.5;
	font-weight: 400;
	color: #000000;
	margin-bottom: 45px;
	letter-spacing: 0.08em;
}

.main-title3::before,
.main-title3::after {
	content: "";
	display: block;
	width: 6px;                /* 横線の長さ */
	height: 2px;               /* 線の太さ */
	background-color: #000;    /* 線の色 */
	margin: 0 8px;             /* 文字との余白 */
}

.main-title4 {
	display: flex;
	align-items: center;   /* 子要素を縦方向に中央揃え */
	justify-content: center; /* 横方向に中央揃え */
	font-size: 0.95rem;
	line-height: 1.5;
	font-weight: 500;
	color: #FFFFFF;
	margin-bottom: 24px;
	letter-spacing: 0.08em;
}

.main-title4::before,
.main-title4::after {
	content: "";
	display: block;
	width: 6px;                /* 横線の長さ */
	height: 2px;               /* 線の太さ */
	background-color: #FFF;    /* 線の色 */
	margin: 0 8px;             /* 文字との余白 */
}

.main-title5 {
	position: relative;
	font-size: 1.7rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #FFFFFF;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 30px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
}
.main-title6 {
	position: relative;
	font-size: 1.5rem;           /* 文字サイズ */
	line-height: 1.6;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;               /* 文字色 */
	margin-bottom: 16px;       /* 下に余白を追加 */
	letter-spacing: 0.08em;
}
.main-title7 {
	position: relative;
	font-size: 1.4rem;           /* 文字サイズ */
	line-height: 1.6;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;               /* 文字色 */
	margin-bottom: 10px;       /* 下に余白を追加 */
	letter-spacing: 0.08em;
}


.main-title8 {
	position: relative;
	font-size: 1.7rem;           /* 文字サイズ */
	line-height: 1.6;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #E49B6A;               /* 文字色 */
	text-align: left;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 26px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
}

.main-title9 {
	position: relative;
	font-size: 1.5rem;           /* 文字サイズ */
	line-height: 1.6;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #58A0D8;               /* 文字色 */
	margin-bottom: 18px;       /* 下に余白を追加 */
	letter-spacing: 0.07em;
}


.main-text1 {
  font-size: 1rem;
  line-height: 2.4;
  font-weight: 500;
  color: #333;
  text-align: center;
  letter-spacing: 0.1em;
  padding-bottom: 65px;
}

.main-text2 {
	font-size: 1rem;
	line-height: 2.4;
	font-weight: 500;
	color: #FFF;
	text-align: center;
	letter-spacing: 0.05em;
}
.main-text3 {
	font-size: 1.1rem;
	line-height: 1.8;
	font-weight: 500;
	color: #333;
	letter-spacing: 0.05em;
	padding-left: 8px;
}
.main-text4 {
	font-size: 1rem;
	line-height: 2.4;
	font-weight: 500;
	color: #333;
	letter-spacing: 0.05em;
	padding-bottom: 60px;
}
.main-text5 {
	font-size: 1rem;
	line-height: 2.4;
	font-weight: 500;
	color: #333;
	text-align: left;
	letter-spacing: 0.05em;
	padding-bottom: 70px;
}
.main-text6 {
	font-size: 1rem;
	line-height: 2.4;
	font-weight: 500;
	color: #333;
	letter-spacing: 0.05em;
	padding-bottom: 25px;
}
.main-text7 {
	font-size: 0.875rem;
	line-height: 2.1;
	font-weight: 500;
	color: #000;
	text-align: center;
	letter-spacing: 0.1em;
	margin-bottom: 30px;
}

.heading-wrapper {
	display: flex;
	flex-direction: column; /* 上下に並べる */
	gap: 2rem;              /* ブロック間の余白 */
}

/* 各教育目標の背景ブロック */
.heading-bg {
	position: relative;
	background-image: url(../img/item10.png);
	background-size: auto 56px;    /* 幅320px 高さ192pxに指定可能 */
	background-repeat: no-repeat;
	background-position: left center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #333;
	padding-left: 38px;               /* 左端から67px */
	height: 80px;
	margin-bottom: 30px;
}

.heading-bg2 {
	position: relative;
	background-image: url(../img/item11.png);
	background-size: auto 56px;    /* 幅320px 高さ192pxに指定可能 */
	background-repeat: no-repeat;
	background-position: left center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #333;
	padding-left: 38px;               /* 左端から67px */
	height: 80px;
	margin-bottom: 30px;
}

.heading-bg3 {
	position: relative;
	background-image: url(../img/12.png);
	background-size: auto 56px;    /* 幅320px 高さ192pxに指定可能 */
	background-repeat: no-repeat;
	background-position: left center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #333;
	padding-left: 38px;               /* 左端から67px */
	height: 80px;
	margin-bottom: 30px;
}
/* 各教育目標の背景ブロック */
.heading1-bg {
	position: relative;
	background-image: url(../img/item10.png);
	background-size: auto 56px;    /* 幅320px 高さ192pxに指定可能 */
	background-repeat: no-repeat;
	background-position: left center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #333;
	padding-left: 38px;               /* 左端から67px */
	height: 80px;
	margin-bottom: 30px;
	margin-left: 10px;
}

.heading2-bg2 {
	position: relative;
	background-image: url(../img/item11.png);
	background-size: auto 56px;    /* 幅320px 高さ192pxに指定可能 */
	background-repeat: no-repeat;
	background-position: left center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #333;
	padding-left: 38px;               /* 左端から67px */
	height: 80px;
	margin-bottom: 30px;
	margin-left: 10px;
}

.heading3-bg3 {
	position: relative;
	background-image: url(../img/12.png);
	background-size: auto 56px;    /* 幅320px 高さ192pxに指定可能 */
	background-repeat: no-repeat;
	background-position: left center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #333;
	padding-left: 38px;               /* 左端から67px */
	height: 80px;
	margin-bottom: 30px;
	margin-left: 10px;
}
/* タイトル */
.heading-title {
	font-size: 0.9rem; /* 下に29pxの間隔 */
	letter-spacing: 0.1em;
	font-weight: bold;
	margin-bottom: 6px;
}

/* 文章 */
.heading-text {
	font-size: 1.35rem;         /* 32px */
	letter-spacing: 0.03em;
	font-weight: 400;
}



.t-1 {
	position: relative;
	font-size: 1.6rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #58A1D9;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 45px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
	margin-top: 40px;
}
.t-2 {
	position: relative;
	font-size: 1.7rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #58A1D9;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 45px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
}

.t-3 {
	display: flex;
	align-items: center;   /* 子要素を縦方向に中央揃え */
	justify-content: center; /* 横方向に中央揃え */
	font-size: 1.5rem;
	line-height: 1.5;
	font-weight: 400;
	color: #000000;
	margin-bottom: 80px;
	letter-spacing: 0.08em;
}
.t-3::before,
.t-3::after {
	content: "";
	display: block;
	width: 6px;                /* 横線の長さ */
	height: 2px;               /* 線の太さ */
	background-color: #000;    /* 線の色 */
	margin: 0 8px;             /* 文字との余白 */
}
.t-4 {
	position: relative;
	font-size: 1.5rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 27px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
	margin-top: 42px;
}
.t-5 {
	font-size: 0.9rem;          /* メインタイトルの大きさ */
	font-weight: 500;
	margin-bottom: 40px;
	position: relative;
	color: #333;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.t-5 .t-5-sub {
	display: block;            /* 改行して下に表示 */
	font-size: 1.7rem;         /* 小さい文字 */
	color: #333;               /* サブタイトルの色 */         /* メインタイトルとの間隔 */
	font-weight: 500;
	letter-spacing: 0.05em;
}
.t-6 {
	position: relative;
	font-size: 1.5rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 27px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
	margin-top: 42px;
}
.t-7 {
	position: relative;
	font-size: 1.5rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 63px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
	text-align: center;
}
.t-8 {
	position: relative;
	font-size: 1rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 500;          /* 太字 */
	color: #000000;          /* 左寄せ、必要に応じて center に変更可能 */  
	letter-spacing: 0.09em;
	text-align: center;
}
.t-9 {
	position: relative;
	font-size: 1.4rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 500;          /* 太字 */
	color: #000000;          /* 左寄せ、必要に応じて center に変更可能 */
	letter-spacing: 0.09em;
	margin-bottom: 10px;
}
.t-10 {
	position: relative;
	font-size: 1.4rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;               /* 文字色 */
	margin-bottom: 16px;       /* 下に余白を追加 */
	letter-spacing: 0.08em;
}
.t-11 {
	font-size: 1.2rem;
	line-height: 1.8;
	font-weight: 500;
	color: #333;
	letter-spacing: 0.06em;
	text-align: center;
	margin-bottom: 40px;
}

.t-13 {
  display: flex;
  align-items: baseline; /* 春とSPRINGの文字下端を揃える */
  gap: 12px; /* 文字間のスペース */
  font-weight: 500;
  color: #93D675;
  text-align: left;
}

.t-13 {
	font-size: 4rem; /* 春 */
	line-height: 1.1;
	letter-spacing: 0.05em;
	margin-left: 20px;
}

.t-13 span {
  font-size: 0.89rem; /* SPRING */
  font-weight: 600;
  letter-spacing: 0.2em;
  color: #93D675;
  line-height: 1;
}
.t-14 {
  display: flex;
  align-items: baseline; /* 春とSPRINGの文字下端を揃える */
  gap: 12px; /* 文字間のスペース */
  font-weight: 500;
  color: #7FC5D9;
  text-align: left;
}

.t-14 {
	font-size: 4rem; /* 春 */
	line-height: 1.1;
	letter-spacing: 0.05em;
	margin-left: 20px;
}

.t-14 span {
  font-size: 0.89rem; /* SPRING */
  font-weight: 600;
  letter-spacing: 0.2em;
  color: #7FC5D9;
  line-height: 1;
}
.t-15 {
  display: flex;
  align-items: baseline; /* 春とSPRINGの文字下端を揃える */
  gap: 12px; /* 文字間のスペース */
  font-weight: 500;
  color: #F4BB79;
  text-align: left;
}

.t-15 {
	font-size: 4rem; /* 春 */
	line-height: 1.1;
	letter-spacing: 0.05em;
	margin-left: 20px;
}

.t-15 span {
  font-size: 0.89rem; /* SPRING */
  font-weight: 600;
  letter-spacing: 0.2em;
  color: #F4BB79;
  line-height: 1;
}
.t-16 {
  display: flex;
  align-items: baseline; /* 春とSPRINGの文字下端を揃える */
  gap: 12px; /* 文字間のスペース */
  font-weight: 500;
  color: #F0ABBF;
  text-align: left;
}

.t-16 {
	font-size: 4rem; /* 春 */
	line-height: 1.1;
	letter-spacing: 0.05em;
	margin-left: 20px;
}

.t-16 span {
  font-size: 0.89rem; /* SPRING */
  font-weight: 600;
  letter-spacing: 0.2em;
  color: #F0ABBF;
  line-height: 1;
}
.t-17 {
	display: flex;
	align-items: center;   /* 子要素を縦方向に中央揃え */
	justify-content: center; /* 横方向に中央揃え */
	font-size: 1.5rem;
	line-height: 1.5;
	font-weight: 400;
	color: #000000;
	margin-bottom: 40px;
	letter-spacing: 0.08em;
}
.t-17::before,
.t-17::after {
	content: "";
	display: block;
	width: 6px;                /* 横線の長さ */
	height: 2px;               /* 線の太さ */
	background-color: #000;    /* 線の色 */
	margin: 0 8px;             /* 文字との余白 */
}

.t-18 {
	position: relative;
	font-size: 1.35rem;           /* 文字サイズ */
	line-height: 1.6;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;               /* 文字色 */
	margin-bottom: 20px;       /* 下に余白を追加 */
	letter-spacing: 0.08em;
	padding-left: 10px;
}
.t-19 {
	position: relative;
	font-size: 1.6rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #CFA668;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 30px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
	margin-top: 40px;
}
.t-20 {
	position: relative;
	font-size: 1.1rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 600;          /* 太字 */
	color: #000000;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 33px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
	margin-top: 36px;
}
.t-21 {
	position: relative;
	font-size: 1.5rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 20px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
	margin-top: 40px;
}
.t-22 {
  display: flex;
  align-items: flex-start; /* 上揃え */
  font-size: 1.2rem;
  line-height: 1.6;
  font-weight: 600;
  color: #000;
  margin-bottom: 30px;
  letter-spacing: 0.08em;
}

.t-22::before {
  content: "";
  display: block;
  width: 10px;                /* 横線の長さ */
  height: 2px;                /* 線の太さ */
  background-color: #000;     /* 線の色 */
  margin-right: 10px;         /* 文字との余白 */
  margin-top: 0.8em;          /* ← 上の段の中間あたりにくるように調整 */
}
.t-23 {
	position: relative;
	font-size: 1.5rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 30px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
}
.t-24 {
	position: relative;
	font-size: 1.2rem;
	line-height: 1.5; /* ← 少し詰める */
	font-weight: 500;
	color: #653F24;
	text-align: center;
	margin-bottom: 25px;
}

.t-24 span {
	display: block;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	margin-top: -2px; /* ← これで上に近づける（調整値） */
}

.t-25 {
	position: relative;
	font-size: 1.4rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;               /* 文字色 */
	margin-bottom: 20px;       /* 下に余白を追加 */
	letter-spacing: 0.08em;
}
.t-26 {
	position: relative;
	font-size: 1.5rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #58A1D9;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 60px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
}
.t-27 {
	position: relative;
	font-size: 1.5rem;           /* 文字サイズ */
	line-height: 1.5;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #E97F5A;               /* 文字色 */
	text-align: center;          /* 左寄せ、必要に応じて center に変更可能 */
	margin-bottom: 40px;       /* 下に余白を追加 */
	letter-spacing: 0.09em;
}
.t-29 {
	position: relative;
	font-size: 1.4rem;           /* 文字サイズ */
	line-height: 1.6;          /* 行間は文字サイズの1.5倍 */
	font-weight: 400;          /* 太字 */
	color: #000000;               /* 文字色 */
	margin-bottom: 20px;       /* 下に余白を追加 */
	letter-spacing: 0.08em;
}

.p-1 {
	font-size: 1rem;
	line-height: 2.5;
	font-weight: 500;
	color: #333;
	letter-spacing: 0.15em;
}

.p-2 {
	font-size: 98%;
	line-height: 30px;
	letter-spacing: 0.15em;
	clear: both;
	margin-right: 40px;
	margin-left: 50px;
	color: #000;
}
.p-3 {
	font-size: 0.875rem;
	line-height: 2;
	font-weight: 500;
	color: #000;
	letter-spacing: 0.15em;
}
.p-4 {
	font-size: 0.875rem;
	line-height: 2;
	font-weight: 500;
	color: #000;
	letter-spacing: 0.15em;
	margin-top: 28px;
	padding-left: 10px;
}

.p-5 {
	font-size: 0.875rem;
	line-height: 2;
	font-weight: 500;
	color: #000;
	letter-spacing: 0.15em;
	border: 1px solid #CFCFCF;
	padding-top: 30px;
	padding-right: 40px;
	padding-bottom: 30px;
	padding-left: 40px;
}
.p-6 {
	max-width: 630px;
	font-size: 0.875rem;
	line-height: 2;
	font-weight: 500;
	color: #000;
	letter-spacing: 0.15em;
	border: 1px solid #CFCFCF;
	padding-top: 30px;
	padding-right: 40px;
	padding-bottom: 30px;
	padding-left: 40px;
	margin-right: auto;
	margin-left: auto;
	margin-top: -40px;
}
.p-7 {
	font-size: 1rem;
	line-height: 2.5;
	font-weight: 500;
	color: #333;
	text-align: center;
	letter-spacing: 0.1em;
	padding-bottom: 60px;
	padding-right: 10px;
	padding-left: 10px;
}
.p-8 {
	font-size: 1rem;
	line-height: 2.5;
	font-weight: 500;
	color: #333;
	letter-spacing: 0.15em;
	padding-left: 10px;
	padding-right: 6px;
	margin-bottom: 40px;
}
.p-9 {
	font-size: 1rem;
	line-height: 2.5;
	font-weight: 500;
	color: #333;
	letter-spacing: 0.15em;
	padding-left: 10px;
	padding-right: 6px;
	margin-bottom: 30px;
}
.p-10 {
	font-size: 1rem;
	line-height: 1.7;
	font-weight: 500;
	color: #333;
	letter-spacing: 0.15em;
}
.p-11 {
	font-size: 1rem;
	line-height: 2.5;
	font-weight: 500;
	color: #333;
	text-align: center;
	letter-spacing: 0.1em;
	padding-bottom: 60px;
}
.p-12 {
	font-size: 1rem;
	line-height: 2.5;
	font-weight: 500;
	color: #333;
	text-align: center;
	letter-spacing: 0.1em;
	padding-bottom: 60px;
}
.p-13 {
	font-size: 1rem;
	line-height: 2.5;
	font-weight: 500;
	color: #333;
	letter-spacing: 0.15em;
	padding-left: 10px;
	padding-right: 6px;
	margin-bottom: 30px;
}
.p-14 {
	font-size: 1rem;
	line-height: 2.5;
	font-weight: 600;
	color: #333;
	letter-spacing: 0.15em;
	margin-bottom: 40px;
	text-align: center;
}
.p-15 {
	font-size: 0.9rem;
	line-height: 1.5;
	font-weight: 400;
	color: #81725E;
	text-align: center;
}
.p-16 {
	font-size: 1rem;
	line-height: 2.5;
	font-weight: 600;
	color: #58A1D9;
	letter-spacing: 0.15em;
	margin-bottom: 0px;
	margin-top: 20px;
	padding-left: 0px;
	text-align: center;
}
.p-18 {
	font-size: 1rem;
	line-height: 2.5;
	font-weight: 400;
	color: #333;
	letter-spacing: 0.15em;
	text-align: center;
	margin-top: -10px;
}
.p-19 {
	font-size: 1rem;
	line-height: 2.5;
	font-weight: 600;
	color: #333;
	letter-spacing: 0.15em;
}
.p-20 {
	font-size: 1rem;
	line-height: 2.1;
	font-weight: 400;
	color: #333;
	letter-spacing: 0.05em;
	margin-bottom: 50px;
}

.foot-text1 {
	font-size: 1rem;
	line-height: 1.6;
	font-weight: 400;
	color: #FFF;
	letter-spacing: 0.11em;
	margin-bottom: 20px;
}

.tel-p{
	color: #FFF;
	 font-size: 1.75rem; /* 28px相当 */
	line-height: 1;
	font-weight: 400;
	text-decoration: none;
	letter-spacing: 0.1em;
	margin-bottom: 60px;
}
.tel-p2{
	color: #467EBA;
	 font-size: 1.75rem; /* 28px相当 */
	line-height: 2;
	font-weight: 400;
	text-decoration: none;
	letter-spacing: 0.1em;
}

.copy-p {
	color: #FFFFFF;
	text-align: center;
	font-size: 0.6rem; /* 12px相当 */
	font-weight: 200;
	padding-top: 16px;
	padding-bottom: 20px;
	letter-spacing: 0.05em;
}

}
.recruit-form .must {
  background:#e85b5b;
  color:#fff;
  font-size:12px;
  padding:2px 6px;
  margin-left:8px;
}

.recruit-form .note {
  font-size:12px;
  color:#e85b5b;
}

.recruit-form input,
.recruit-form textarea,
.recruit-form select {
  width:100%;

}
.recruit-form input[type="submit"] {
  width: 100%;
  max-width: 300px;
}