@charset "UTF-8";
/* CSS Document */

.w-49 {
	width: 49%
}

#pageimg {
	clear: both;
	max-width: 1400px;
	overflow: hidden;
	margin: 0 auto;
}
.slideshow {
	overflow: hidden;
	width: 100%;
	max-width: 1400px;
	height: auto;
}

.slideshow img {
display: none;
position: absolute;
/*left: 50%;
margin-left: -700px;*/
}

.btns,
a.btns,
button.btns {
  line-height: 1.5;
  position: relative;
  display: inline-block;
  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;
  border-radius: 0.5rem;
}

a.btn01 {
  color: #fff;
  background-color: #00A394;
}

a.btn01:hover {
  color: #fff;
  background: #00B8A7;
}

a.btn-a {
  padding:0.6em 1em;
  color: #FFF;
  background: #00A394;
  box-sizing:border-box;
  text-transform: uppercase;     
  font-weight: bold; 
}
a.btn-a:hover {
  background: #008175;
}

a.btn-a i.fa-solid {
  font-family: "Font Awesome 6 Pro";
  font-style: normal;
  padding-right: 0.2em;
	font-size: 2.4rem;
}

a.btn-b {
	font-weight: 700;
  font-size: 1.6rem;
  padding: 1.5rem 3rem 1.5rem 1rem;
}

a.btn-b i.fa {
  margin-right: 1rem;
}

a.btn-b:before {
  font-family: "Font Awesome 6 Pro";
  font-size: 1.6rem;
  line-height: 1;
  position: absolute;
  top: calc(50% - .8rem);
  right: 1rem;
  margin: 0;
  padding: 0;
  content: '\f054';
}

a.btn-c {
	font-family: 'Noto Serif JP', serif;
  font-size: 1.6rem;
  padding: 1.2rem 5rem;
	line-height: 1;
}

a.btn-c i.fa {
  margin-right: 1rem;
}

/* 表示領域が767.98px以下の場合に適用するスタイル
---------------------------------------------------------------------------*/
@media screen and (max-width:767.98px){
	a.btn-c {
		padding: 0.8rem 2rem;
	}
}

.bn_area {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 20px; 
}
.bn_area a {
	margin: 10px;
}

.sec01,
.sec02,
.sec03,
.sec04,
.sec05 {
	box-sizing: border-box;
	margin: 0 auto;
}
.sec01 {
	line-height: 1.8em;
	width: 75%;
}
.sec04 {
	line-height: 1.8em;
	max-width: 992px;
}
.sec05 {
	width: 75%;
}
.sec01_flex {
	line-height: 1.8em;
	margin: 0 auto;
	display: flex;
	width: 100%;
}
.sec01_flex div.fb {
	margin-left: 20px;
	min-width: 250px;
}

.block01 {
	padding: 1em 2em;
	border-radius: 5px;
	background: repeating-linear-gradient(135deg, #EBF3D9, #EBF3D9 10px, #F6FAF0 10px, #F6FAF0 12px);
}

.block02 {
	padding: 1em;
	border-radius: 5px;
	background: #FFFCEA;
	border: 5px solid #FFCD85;
}

.block03 {
	padding: 1em;
	border-radius: 5px;
	background: #FFCD85;
}

.block04a {
	padding: 1em 0 0;
	display: flex;
	justify-content: space-around;
}
.block04a div {
	width: 350px;
}
.block04a h3 {
	padding: 0.5em;
	margin-top: 0.2em;
}
.block04b {
	width: 100%;
	border: 1px solid #999;
	padding: 1.5em;
	border-radius: 5px;
}

.block04c {
	border: 2px solid #0070C0;
	padding: 0.2em 3em;
	border-radius: 5px;
	display: inline-block;
}

.block05 {
	display: flex;
	justify-content: space-around;
}

.block_nl01 {
	display: flex;
	margin: 1em 0;
	justify-content: space-between;
}
.block_nl01 div:first-of-type {
	width: 350px;
	text-align: center;
	padding-right: 1.5em;
	margin-right: 1em;
	border-right: 1px dotted #999;
}
.block_nl01 div:last-of-type {
	width: calc(100% - 370px);
}
.block_nl01 img:hover {
	opacity: 0.7;
}

/* 学修コンテンツ */
.block_rp_cont01 {
	display: flex;
	margin: 1em 0;
	justify-content: center;
	gap: 35px;
	flex-wrap: wrap;
}
.block_rp_cont01 div {
	width: 350px;
	text-align: center;
	position: relative;
  display: block;
	line-height: 1.3em;
	font-size: 1.4rem;
}
.block_rp_cont01 div span.time {
	font-size: 1.3rem;
}
.block_rp_cont01 img {
	border: 1px solid;
	border-color: #c4c4c4 #d1d1d1 #d4d4d4;
	border-radius: 2px;
	outline: 5px solid #eff4f7;
	-moz-outline-radius: 3px;
	-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.12);
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.12);
	margin-bottom: 8px;
	/*max-width: inherit;*/
}
.block_rp_cont01 div:before {
  position: absolute;
  content: "";
  display: block;
  top: 95px;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 6px solid #FBC000;
  width: 70px;
  height: 70px;
	opacity: 0.8;
}
.block_rp_cont01 div:after {
  position: absolute;
  content: "";
  display: block;
  top: 95px;
  left: 50%;
  transform: translate(-40%, -50%);
  border-style: solid;
  border-color: transparent transparent transparent #FBC000;
  border-width: 20px 0 20px 30px;
	opacity: 0.8;
}
.block_rp_cont01 div:hover {
	opacity: 0.7;
}
.block_rp_cont01 div:hover:after {
	opacity: 0.7;
}
.block_rp_cont01 div a {
	color: #343435;
}

/* 詳細ページ　写真並び */
.block_rp_pht01,
.block_rp_pht02,
.block_rp_pht03,
.block_rp_pht04 {
	display: flex;
	margin: 0 0 1em;
	justify-content: center;
	gap: 15px;
	flex-wrap: wrap;
}
.block_rp_pht01 div {
	max-width: 50%;
}
.block_rp_pht01 div img {
	width: 100%;
	max-width: 350px;
	height: auto;
}
/* 詳細ページ　写真2つ並び 幅広 */
.block_rp_pht02 {
	justify-content: center;
	gap: 30px 60px;
	flex-wrap: nowrap;
}
.block_rp_pht02 div img {
	width: 100%;
	max-width: 570px;
	height: auto;
}
/* 詳細ページ　写真2つ並び 幅広2 */
.block_rp_pht03 div img {
	width: 100%;
	max-width: 450px;
	height: auto;
}

/* 詳細ページ　写真3つ並び */
.block_rp_pht04 {
	justify-content: space-between;
	gap: 30px;
}
.block_rp_pht04 div img {
	width: 100%;
	max-width: 350px;
	height: auto;
}

/* 選択必修 詳細ページ 写真3つ並び */
.block_rp_pht_selective {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 15px;
	margin: 0 0 1em;
}
.block_rp_pht_selective div img {
	display: block;
	width: 100%;
	height: auto;
}

.block_or01 {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.block_or01 div:last-of-type {
	width: 300px;
	text-align: center;
}
.block_or01 div:first-of-type {
	width: calc(100% - 320px);
}

/* 事業の運営体制（評価報告書） */
.block_out01 {
	display: flex;
	margin: 1em 0;
	justify-content: space-between;
	gap: 0 10px;
}
.block_out01 div {
	flex-grow: 1;
	text-align: center;
	border: 1px solid #999;
}

.triangle01 {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 50px 100px 0 100px;
	border-color: #49BD8B transparent transparent transparent;
}

.triangle02 {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 50px 100px 0 100px;
	border-color: #FFCD85 transparent transparent transparent;
}

.box01 {
    position: relative;
    margin: 1.5em 0;
    padding: 1em 1em;
    border: solid 3px #94CF7A;
    border-radius: 8px;
}
.box01 .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 1.8rem;
    background: #FFF;
    font-weight: bold;
		color: #80BD52;
}
.box01 ul.ul02 > li::before {
		color: #80BD52;
}

area:hover {
	opacity: 0.5 ;
}

.element {
  /* 最初は非表示 */
  opacity: 0;
  visibility: hidden;
  transform: translateY(50px);
  transition: opacity 1s, visibility 1s, transform 1s;
}
/* フェードイン時に入るクラス */
.is-fadein {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

.anim-box {
  background: url("../images/logo02_w200.png") top center no-repeat;
  border-radius: 5px;
  max-width: 200px;
  height: 250px;
	padding-top: 150px;
	text-align: center;
	color: red;
	font-size: 2.2rem;
	letter-spacing: 0.1em;
	margin: 100px auto 20px;
}
.anim-box.slide-skew.is-animated {
  animation: slide-skew 0.8s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}
 
@keyframes slide-skew {
  0% {
    transform: translate(280px,30px);
    opacity: 0;
  }
  100% {
    transform: translate(0,0);
  }
  20%,100% {
    opacity: 1;
  }
}

.anim-box01.slidein.is-animated {
  animation: slideIn 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
 
@keyframes slideIn {
  0% {
    transform: translateX(180px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  40%,100% {
    opacity: 1;
  }
}

.anim-box02.fadeup.is-animated {
  animation: fadeup 1.5s cubic-bezier(0.2, 1, 0.8, 1) forwards;
}
 
@keyframes fadeup {
  0% {
    transform: translateY(50px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.anim-box03.fadein.is-animated {
  animation: fadeIn 1.7s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
 
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* 表示領域が991.98px以下の場合に適用するスタイル
---------------------------------------------------------------------------*/
@media screen and (max-width:991.98px) {
	.sec01 {
		width: 90%;
	}
	.sec05 {
		width: 100%;
	}
	.block_or01 {
		flex-direction: column;
		justify-content: center;
		width: 100%;
	}
	.block_or01 div:first-of-type,
	.block_or01 div:last-of-type {
		width: inherit;
	}
	.block_or01 div:first-of-type {
		margin-bottom: 1em;
	}
}

/* 表示領域が767.98px以下の場合に適用するスタイル
---------------------------------------------------------------------------*/
@media screen and (max-width:767.98px) {
	.sec01,
	.sec03,
	.sec04 {
		width: 95%;
	}
	.sec01 {
		margin-top: 2em;
	}
	.sec02 {
		width: 100%;
	}

	.sec01_flex {
		flex-direction: column;
		width: 95%;
	}
	.sec01_flex div.fb {
		display: none;
	}
	.block05 {
		flex-direction: column;
		justify-content: center;
		max-width: 500px;
		margin: 0 auto;
	}
	.block_nl01 {
		flex-direction: column;
		justify-content: center;
	}
	.block_nl01 div:first-of-type,
	.block_nl01 div:last-of-type {
		width: inherit;
	}
	.block_nl01 div:first-of-type {
		padding-bottom: 1em;
		margin-bottom: 1em;
		border-bottom: 1px dotted #999;
	}
	.block_rp_pht01 div {
		max-width: inherit;
	}
	.block_rp_pht02 {
		flex-wrap: wrap;
	}
	.block_rp_pht_selective {
		grid-template-columns: 1fr;
		max-width: 600px;
		margin-right: auto;
		margin-left: auto;
	}
}