/* 「理念について」ページ用CSS */
.page_title{
	width:100%;
	margin:30px auto;
	background:#ccc;
	padding:100px 10%;
}
.page_title h1{font-size:36px; font-weight:600; color:#fff;}
.page_contents{
	width:87%;
	max-width:1200px;
	margin:0 auto;
}
.page_ptb80{padding:80px 0}
.page_ptb100{padding:100px 0}
.philosophy_container {
	position: relative;
	margin:100px auto 0;
}
.philosophy_container::before {
	content: "";
	position: absolute;
	right: 0;
	top: 10%;
	width: 60%;
	height: 60%;
	background: #f4f7f8;
	z-index: 0;
}
.philosophy_container > * {
	position: relative;
	z-index: 10;
}
.philosophy_topbk{
	width:100%;
	padding:50px 0 100px;
}
.philosophy_topbk::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 70px;
	left: 60%;
	background: url("../images/philosophy/philosophy_bkimg.jpg") no-repeat center;
	background-size: cover;
	 border-radius: 40px 0 0 40px;
}
.philosophy_wp{
	width:87%;
	max-width:1150px;
	margin:0 auto;
	position:relative;
	z-index:10;
	display:flex;
	justify-content: space-between;
	align-items: center;
}
.inner_text{width:43%;}
.inner_img{width:52%;}
.inner_img img{width:90%; height:auto}
.lead_text{width:100%; margin:35px 0}
.lead_text p{margin-bottom:1.5em}
.purpose_wp{
	width:100%;
	margin:20px auto 50px;
	display:flex;
	align-items: center;
	gap:100px;
}
.purpose_img{ flex:0 0 50%;}
.purpose_img img{
	width: 100%;
	height: 530px;
	object-fit: cover;
	border-radius:0 40px 40px 0;
}
.purpose_text{
	flex:1;
	max-width:530px;
	min-width:0;
}
.purpose_text h2{
	font-size:30px;
	font-weight:600;
	line-height:1.7em;
}
@media screen and (max-width: 1200px) {
	.purpose_img{ flex:0 0 45%;}
	.purpose_text{padding-right:5%}
}
.mission_bk{
	width:100%;
	background: linear-gradient(to bottom, transparent 38%, #f3f3f3 38%);
	padding:80px 0 100px;
}
.mission_wp{
	width:100%;
	margin:150px auto 0;
	display:flex;
	justify-content: space-between;
}
.mission_inner{
	width:32%;
	background:#fff;
	padding:120px 40px 40px;
	border-radius:10px;
	position:relative;
	text-align:center;
}
.mission_inner img{
	width:190px;
	max-width:70%;
	height:auto;
	border-radius:50%;
	position:absolute;
	top:-95px;
	left: 0;
	right: 0;
	margin: auto;
}
.mission_inner h3{
	font-size:20px;
	font-weight:700;
	color:#c01d25;
	margin-bottom:0.7em;
}
.mission_inner p{text-align:left; line-height:1.6em; margin-bottom:0.5em}

.msg_wp{
	width:87%;
	max-width:1200px;
	margin:50px auto;
	display:flex;
	justify-content: space-between;
}
.msg_wp_01_text{width:52%; text-align: justify; padding-top:70px}
.msg_wp_01_img{width:38%; padding-top:50px}
.msgimg_left img{
	width:100%;
	height:450px;
	object-fit: cover;
	border-radius:15px;
	margin-bottom:25px;
}
.msgimg_right img{
	width:100%;
	height:280px;
	object-fit: cover;
	border-radius:15px;
}
.msg_wp_02_text{
	width:60%;
	padding-top:20px;
	padding-bottom:40px;
	text-align: justify;
}
.msg_wp_02_img{width:32%}
img.msg_02_img{
	width:100%;
	height:470px;
	object-fit: cover;
	border-radius:15px;	
}
.book_info{
	margin:40px auto 30px;
	display:flex;
	justify-content: space-between;
}
.book_img{width:25%;}
.book_text{width:70%}
.book_text p.book_tl{
	font-size:13px;
	color:#c01d25;
	letter-spacing:0.3em;
}
.book_text h3{
	font-size:14px;
	font-weight:600;
}
.msg_wp_02_text h3{
	font-size:26px;
	font-weight:600;
	line-height:1.7em;
}
.msg_name{margin-top:20px; text-align:right;}
.msg_name p{font-size:14px;}
.msg_name p span{font-size:18px; margin-right:0.7em; letter-spacing:0.1em;}
.vision_wp{
	width:100%;
	margin:70px auto;
    display:flex;
    flex-wrap:wrap;
    gap:70px 35px;
	justify-content: center;
}
.vision_card{
    width:calc((100% - 70px) / 3);
    background:#fff;
    padding:40px 40px 30px;
	border-radius:10px;
    position:relative;
	text-align:center;
}
.vision_card h3{
	font-size:20px;
	font-weight:600;
	color:#c01d25;
	margin-bottom:0.7em;
}
.vision_card p{text-align:left; line-height:2.0em; margin-bottom:0.5em}
img.number{
	width:60px;
	height:auto;
	position:absolute;
	top:-15px;
	left:0;
	right:0;
	margin:auto;
}
img.icon{
	width:50px;
	height:auto;
	margin-bottom:15px;
}
.pagelink_wp{
	width:100%;
	max-width:1200px;
	margin:60px auto;
	display:flex;
	justify-content: space-between;
	align-items: center;
}
.pagelink_text{width:47%; padding:20px 50px}
/* NS下に追記202608
.pagelink_img{width:50%;}
*/
/* NS下に追記202608
img.link_img{width:100%; height:auto; border-radius:10px}
*/
.pagelink_text h3{
	font-size:23px;
	font-weight:600;
	margin-bottom:1em;
}
.pagelink_text h3 span{font-size:26px; margin-right:0.2em}

@media screen and (max-width: 1300px) {
	.pagelink_wp{max-width:100%}
	.pagelink_text{width:600px; padding:0 70px}
	/* NS下に追記202608
	.pagelink_img{width:calc(100% - 620px);}
	*/
	/* NS下に追記202608
	.flex_forward img.link_img{
		width:100%;
		height:350px;
		object-fit: cover;
		border-radius:0 15px 15px 0;
	}
	*/
	/* NS下に追記202608
	.flex_reverse img.link_img{
		width:100%;
		height:350px;
		object-fit: cover;
		border-radius:15px 0 0 15px;
	}
	*/
}
@media screen and (max-width: 1200px) {
	.pagelink_text{width:500px;}
	/* NS下に追記202608
	.pagelink_img{width:calc(100% - 520px);}
	*/
}
/* ▼ スマホ(767px以下)の場合 */ 
@media screen and (max-width: 767px) {
	.page_ptb80{padding:50px 0 25px}
	.page_ptb100{padding:50px 0 30px}
	.philosophy_container {
		margin:50px auto 50px;
	}
	.philosophy_container::before {
		right: 0;
		top: 0;
		width: 80%;
		height: 75%;
	}
	.philosophy_topbk{
		padding:30px 0 30px;
	}
	.philosophy_topbk::before {
		background: none;
	}
	.philosophy_wp{
		width:100%;
		display:block;
	}	
	.inner_text{width:87%; margin:0 auto}
	.inner_img{	width:100%; position:relative; padding:10px 0;}
	.inner_img::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 40%;
		background: url("../images/philosophy/philosophy_bkimg.jpg") no-repeat center;
		background-size: cover;
		border-radius: 30px 0 0 30px;
		z-index:-1;
	}
	.inner_img img{
		width:85%;
		max-width:450px;
		display:block;
		margin:25px auto;
	}
	.lead_text{width:100%; margin:20px 0}
	.lead_text p{margin-bottom:1.5em}
	.purpose_wp{
		margin:0 auto 20px;
		display:block;
		gap:0;
	}
	.purpose_img{ flex: none; width: 90%;}
	.purpose_img img{
		height: 200px;
		object-fit: cover;
		border-radius:0 30px 30px 0;
	}
	.purpose_text{
		flex: none;
	 	 max-width:85%;
	  	margin:25px auto;
		padding-right:0;
	}
	.purpose_text h2{font-size:20px}
	.mission_bk{
		background: #f3f3f3;
		padding:40px 0 20px;
	}
	.mission_wp{
		margin:50px auto 0;
		display:block;
	}
	.mission_inner{
		width:100%;
		padding:100px 30px 30px;
		margin-bottom:50px;
	}
	.mission_inner img{
		width:120px;
		height:auto;
		top:-35px;
	}
	.mission_inner h3{
		font-size:18px;
		font-weight:600;
	}
	.msg_wp{
		width:87%;
		margin:50px auto;
	}
	.msg_wp_01_text{width:100%; padding-top:0;}
	.msg_wp_01_img{width:100%; padding-top:0}
	.sp_flex{
		display:flex;
		justify-content: space-between;	
		}
	.msgimg_left{width:62%;}
	.msgimg_right{width:35%;}
	.msgimg_left img{
		width:100%;
		height:170px;
		border-radius:10px;
		margin-bottom:0;
	}
	.msgimg_right img{
		width:100%;
		height:170px;
		object-position: right center;
		border-radius:10px;
	}
	.msg_wp_02_text{
		width:100%;
		padding-top:0;
		padding-bottom:20px;
	}
	.msg_wp_02_img{width:100%}
	img.msg_02_img{
		width:100%;
		height:auto;
		object-fit: contain;
		border-radius:10px;	
	}
	.book_info{	margin:20px auto 10px; }
	.book_text p.book_tl{ font-size:12px; }
	.book_text h3{ font-size:13px; }
	.msg_wp_02_text h3{	font-size:17px;	}
	.msg_name p{font-size:13px;}
	.msg_name p span{font-size:16px; margin-right:0.5em;}
	.vision_wp{
		margin:40px auto;
		display:block;
		gap:0;
	}
	.vision_card{
		width:100%;
		padding:30px;
		border-radius:10px;
		margin-bottom:40px;
	}
	.vision_card h3{
		font-size:18px;
		font-weight:600;
	}
	.vision_card p{line-height:1.8em; margin-bottom:0.5em}
	img.number{	width:50px;	}
	img.icon{
		width:50px;
		height:auto;
		margin-bottom:15px;
	}
	.pagelink_wp{
		width:87%;
		margin:30px auto;
	}
	.pagelink_text{width:100%; padding:15px 0 30px; text-align:center;}
	/* NS下に追記202608
	.pagelink_img{width:100%;}
	*/
	.pagelink_text h3{
		font-size:18px;
		margin-bottom:0.3em;
	}
	.pagelink_text h3 span{font-size:20px; margin-right:0.2em}
	/* NS下に追記202608
	.flex_forward img.link_img,
	.flex_reverse img.link_img{
		width:100%;
		height:auto;
		object-fit: contain;
		border-radius:10px;
	}
	*/
	.flex_forward{flex-direction: column;}
	.flex_reverse{flex-direction: column-reverse;}
}

/* 202608NS追加 */
/* ==================================================
  下層ページ共通 キービジュアル
================================================== */
.dk-page-kv {
  position: relative;
  width: 100%;
  min-height: 360px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #f5f5f5;
}

/* 背景画像レイヤー */
.dk-page-kv::before {
  content: "";
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  z-index: 0;
}

/* 背景を暗くするレイヤー */
.dk-page-kv::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    rgba(0, 0, 0, 0.291),
    rgba(0, 0, 0, 0.246)
  );
  z-index: 0;
}

.dk-page-kv__inner {
  width: 87%;
  max-width: 950px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 70px;
  position: relative;
  z-index: 2;
}

.dk-page-kv__title {
  width: 32%;
  color: #fff;
}

.dk-page-kv__title h1 {
  margin: 0 0 18px;
  color: #fff;
  font-size: 32px;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin-bottom: 0.3em;
  text-align: left;
}

.dk-page-kv__title p {
  margin: 0;
  color: #fff;
  font-size: 15px;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-align: left;
}

/* 空のpがある場合は非表示 */
.dk-page-kv__title p:empty {
  display: none;
}

.dk-page-kv__lead {
  flex: 1;
  color: #fff;
}

.dk-page-kv__lead p {
  margin: 0;
  color: #fff;
  font-size: 18px;
  line-height: 2.2;
  letter-spacing: 0.08em;
  text-align: left;
}

/* スマホ */
@media screen and (max-width: 768px) {
  .dk-page-kv {
    min-height: auto;
    padding: 70px 0;
  }

  .dk-page-kv__inner {
    display: block;
    width: 86%;
  }

  .dk-page-kv__title {
    width: 100%;
    margin-bottom: 35px;
  }

  .dk-page-kv__title h1 {
    font-size: 24px;
  }

  .dk-page-kv__title p {
    font-size: 13px;
  }

  .dk-page-kv__lead p {
    font-size: 15px;
    line-height: 2;
  }

  .dk-page-kv__lead p br {
    display: none;
  }
}


/* ==================================================
   「理念を、学びと実践へ」画像サイズ統一
================================================== */

.pagelink_img {
	width: 50%;
	height: 350px;
	display: block;
	overflow: hidden;
	border-radius: 10px;
}

/* 画像の表示サイズを統一 */
.pagelink_img img.link_img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;

	/* 画像の右側を優先して表示 */
	object-position: right center;

	border-radius: 0;
}


/* 画面幅1300px以下 */
@media screen and (max-width: 1300px) {

	.pagelink_img {
		width: calc(100% - 620px);
		height: 350px;
	}

	/* 左側に配置される画像 */
	.pagelink_wp.flex_forward .pagelink_img {
		border-radius: 0 15px 15px 0;
	}

	/* 右側に配置される画像 */
	.pagelink_wp.flex_reverse .pagelink_img {
		border-radius: 15px 0 0 15px;
	}
}


/* 画面幅1200px以下 */
@media screen and (max-width: 1200px) {

	.pagelink_img {
		width: calc(100% - 520px);
	}
}


/* スマートフォン */
@media screen and (max-width: 767px) {

	.pagelink_img {
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 9;
		border-radius: 10px !important;
	}

	.pagelink_img img.link_img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: right center;
	}
}