
/* --------------------------　メインスライダー　-------------------------- */

.fv {
	background: url("../../images/fvbg.png") no-repeat;
	background-size: cover;
	width: 100%;
	background-position: center top;
	padding-top: 100px;
	padding-bottom: 20px;
}
.fv-title {
	max-width: 1400px;
	margin: auto;
}
.fv-title img {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 768px) {
	
.fv {
	background: url("../../images/fvbg.png") no-repeat;
	background-size: cover;
	width: 100%;
	background-position: center top;
	padding-top: 100px;
	padding-bottom: 20px;
}
.fv-title {
	max-width: 1400px;
	margin: auto 10px;
}
.fv-title img {
	width: 100%;
	height: auto;
}

}


figure {
	padding: 0;
	margin: 0;
}

/* --------------------------　content01　-------------------------- */

.content01 {
	background: #006814;
	padding: 60px 0;
}

.content-wrap {
	max-width: 1120px;
	margin: auto;
}


.title_v01 {
	text-align: center;
	margin-bottom: 50px;
	color:#fff;
}
.title_v01 h2 {
font-weight: 700;
	font-size: clamp(2.4rem, 1.527rem + 4.36vw, 4.8rem);
	line-height: 1.2;
	padding: 0;
	margin: 0;
	text-align: center;
	
}
.title_v01 .sub {
	font-size: clamp(0.875rem, 0.684rem + 0.95vw, 1.8rem);
	font-weight: bold;
	line-height: 1.2;
	margin-bottom: 20px;
}
.title_v01 img {
	width: 100px;
	height: auto;
}

.content01 p {
	font-size: 1.8rem;
	line-height: 1.7;
	color:#fff;
	text-align: center;
}



/* --------------------------　content02　-------------------------- */

.content02 {
	background: url("../../images/bg02.png") no-repeat;
	background-size: cover;
	width: 100%;
	background-position: right top;
	padding: 60px 0;
}


.content02 .title_v01 h2 img {
width: 250px;
	
}


.group-school {
	display: flex;
	justify-content: space-between;
	margin-bottom: 50px;
}

.group-school li {
	width: 32%;
	background: #fff;
	border-radius: 20px;
	padding: 15px;
	box-sizing: border-box;
	border: 7px solid #2a61bb;
}
.group-school li figure img {
	width: 100%;
	height: auto;
	margin-bottom: 5px;
}
.group-school li h3 {
	font-size: 2rem;
	text-align: center;
	line-height: 1.5;
	padding: 0;
	margin: 0;
}
.group-school li:first-child {
	border: 7px solid #e04b03;
}
.group-school li:last-child {
	border: 7px solid #ffde00;
}
.book {
	
}
.book img {
	width: 100%;
	height: auto;
}



/* --------------------------　content03　-------------------------- */

.content03 {
	background: #312819;
	padding: 30px 0;
	position: relative;
}


/* --------------------------　content04　-------------------------- */



.content04 {
	background: url("../../images/bg03.jpg") no-repeat;
	background-attachment: fixed;
	background-size: cover;
	width: 100%;
	background-position: center top;
	padding: 60px 0;
}


.content04 .title_v01 h2 {
	color:#312819;
	font-family: 'Noto Sans JP', sans-serif;
}

.wai {
	font-size: 1.8rem;
	color:#312819;
	font-weight: bold;
}

.slider li {
	background: #fff;
	border: 8px solid #c9bc9c;
	padding: 15px;
	box-sizing: border-box;
	margin: 10px !important;
}
.slider li h3 {
	font-size: 2.4rem;
	border-bottom: 3px solid #312819;
	padding-bottom: 10px;
	margin-bottom: 15px;
	line-height: 1.6;
}
.slider li .box {
	display: flex;
	justify-content: space-between;

}
.slider li .box .boxL {
	width: 60%;
}
.slider li .box .koumoku {
	display: flex;
		flex-wrap: wrap;
	margin-bottom: 10px;
	
}
.slider li .box .koumoku .title {
	background: #312819;
	text-align: center;
	color:#fff;
	font-size: 1.6rem;
	font-weight: bold;
	width: 30%;
	margin-bottom: 5px;
	margin-right: 10px;
}
.slider li .box .koumoku .cont {
	font-size: 1.6rem;
	width: 65%;
	margin-bottom: 5px;
	font-weight: bold;
}
.slider li .box .boxR {
	width: 40%;
}

.slider li .box .boxR img {
	width: 100%;
	height: auto;
}

.modal-content h4,
.modal-content02 h4,
.modal-content03 h4,
.modal-content04 h4 {
	background: #008c00;
	padding: 5px 15px;
	color:#fff;
	font-size: 1.8rem !important;
	margin-bottom: 10px !important;
	border-left: 10px solid #312819; 
}
.modal-content p,
.modal-content02 p,
.modal-content03 p,
.modal-content04 p {
	font-size: 1.6rem;
	padding: 0;
	margin: 0;
	margin-bottom: 20px;
}




/* --------------------------　content05　-------------------------- */



.content05 {
	background: url("../../images/bg04.jpg") no-repeat;
	background-size: cover;
	width: 100%;
	background-position: center top;
	padding: 60px 0 100px 0;
}

.content05 .title_v01 h2 {
	color:#312819;
	font-family: 'Noto Sans JP', sans-serif;
}


/*タブ切り替え全体のスタイル*/
.tabs {
  margin-top: 50px;
  padding-bottom: 40px;
  width: auto;
  margin: 0 auto;
  box-sizing: border-box;
}


/*タブのスタイル*/
.tab_item {
  width: calc(100%/2);
  text-align: center;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
	box-sizing: border-box;
	background: none !important;
}
.tab_item:hover {
  opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  padding: 30px 40px;
  clear: both;
  
	
}


/*選択されているタブのコンテンツのみを表示*/
#all:checked ~ #all_content,
#programming:checked ~ #programming_content,
#design:checked ~ #design_content {
  display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
  color: #fff;
	
}

#all_content {
	background: #fff;
	border: 10px solid #2a61bb;
	border-radius: 20px;
	position: relative;
	top:60px;
}
#programming_content {
	background: #fff;
	border: 10px solid #2b9537;
	border-radius: 20px;
	position: relative;
	top:60px;
}


#all_content .sankaku {
	text-align: center;
	color: #2a61bb;
	font-size: 5rem;
	position: absolute;
	top:-80px;
	left: 250px;
	z-index: 1;
	display: block;
}
#programming_content .sankaku {
	text-align: center;
	color: #2b9537;
	font-size: 5rem;
	position: absolute;
	top:-80px;
	right: 250px;
	z-index: 1;
	display: block;
}



#all_content h3 {
	color:#2a61bb;
	font-size: 4.2rem;
	text-align: center;
}
#programming_content h3 {
	color:#2b9537;
	font-size: 4.2rem;
	text-align: center;
}

#all_content h4 {
	color:#2a61bb;
	font-size: 2.4rem;
	text-align: center;
	border-bottom: 4px solid #2a61bb;
	padding-bottom: 20px;
	margin-bottom: 30px;
}
#programming_content h4 {
	color:#2b9537;
	font-size: 2.4rem;
	text-align: center;
	border-bottom: 4px solid #2b9537;
	padding-bottom: 20px;
	margin-bottom: 30px;
}

.osusume {
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 20px;
}
.osusume-img {
	margin-bottom: 20px;
}
.osusume-img img {
	width: 100%;
	height: auto;
}
.tab_content p {
	line-height: 1.8;
	margin-bottom: 20px;
}
#all_content .point-title {
	background: #2a61bb;
	text-align: center;
	color:#fff;
	font-size: 3.2rem;
	font-weight: bold;
	margin-top: 40px;
	padding: 5px 10px;
	box-sizing: border-box;
	margin-bottom: 40px;
}
#programming_content .point-title {
	background: #2b9537;
	text-align: center;
	color:#fff;
	font-size: 3.2rem;
	font-weight: bold;
	margin-top: 40px;
	padding: 5px 10px;
	box-sizing: border-box;
	margin-bottom: 40px;
}
.pointbox {
	display: flex;
	justify-content: space-between;
	border-bottom: 2px dotted #d0d0d0;
	padding-bottom: 30px;
	margin-bottom: 30px;
}
.pointboxL {
	width: 70%;
}
.pointboxR {
	width: 28%;
}
.pointboxR img {
	width: 100%;
	height: auto;
}
#all_content .pointboxL h5 {
	color:#2a61bb;
	font-size: 2.6rem;
	font-weight: bold;
	margin-bottom: 10px;
}
#programming_content .pointboxL h5 {
	color:#2b9537;
	font-size: 2.6rem;
	font-weight: bold;
	margin-bottom: 10px;
}

.tool {
	display: flex;
	justify-content: space-between;
}
.tool li {
	width: 32%;
	padding: 15px;
	border-radius: 10px;
	box-sizing: border-box;
	box-shadow: 0 0 15px rgba(70,70,70,0.1);
}
.tool li img {
	width: 100%;
	height: auto;
	margin-bottom: 10px;
}
.tool li p {
	font-size: 1.5rem;
	line-height: 1.6;
}



.schoollist {
	display: flex;
	margin-bottom: 40px;
	flex-wrap: wrap;
}
.schoollist_item {
	background: #eeeeee;
	border-radius: 10px;
	display: flex;
	width: 32.3%;
	box-sizing: border-box;
	margin-bottom: 10px;
	margin: 0 5px 10px 5px;
}
.schoollist_item a {
	display: block;
	padding: 10px;

}
.schoollist_item img {
	width: 80px;
	height: 80px;
	margin-right: 0px;
	border-radius: 6px;
}
.schoollist_item .listtxt {
	
}
.schoollist_item .listtxt h3 {
	font-size: 1.6rem;
	color:#1362ae;
	line-height: 1.3;
	padding: 0;
	margin: 0;
	margin-bottom: 0px;
}
.schoollist_item .listtxt p {
	font-size: 1.2rem;
	line-height: 1.5;
	
}

.profile {
	margin-bottom: 50px;
}

.profileph {
	float: left;
	margin-bottom: 40px;
	margin-right: 40px;
}
.profileph img {
	width: 320px;
	height: auto;
	border-radius: 15px;
}
.name {
	margin-bottom: 30px;
}
.name img {
	width: 500px;
	height: auto;
}
.profile p {
	margin-bottom: 16px;
	line-height: 1.7;
}






@media (max-width: 1200px) {


/* --------------------------　content01　-------------------------- */

.content01 {
	background: #006814;
	padding: 30px 0;
}

.content-wrap {
	max-width: 1120px;
	margin: auto 15px;
}


.title_v01 {
	text-align: center;
	margin-bottom: 20px;
	color:#fff;
}
.title_v01 h2 {
font-weight: 700;
	font-size: 2.4rem;
	line-height: 1.4;
	padding: 0;
	margin: 0;
	text-align: center;
}
.title_v01 .sub {
	font-size: clamp(0.875rem, 0.684rem + 0.95vw, 1.8rem);
	font-weight: bold;
	line-height: 1.2;
	margin-bottom: 10px;
}
	
.title_v01 img {
	width: 80px;
	height: auto;
	top: -10px;
	position: relative;

}

.content01 p {
	font-size: 1.4rem;
	line-height: 1.7;
	color:#fff;
}



/* --------------------------　content02　-------------------------- */

.content02 {
	background: url("../../images/bg02.png") no-repeat;
	background-size: cover;
	width: 100%;
	background-position: right top;
	padding: 30px 0;
}


.content02 .title_v01 h2 img {
width: 150px;
	
}


.group-school {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin-bottom: 15px;
}

.group-school li {
	width: 100%;
	background: #fff;
	border-radius: 15px;
	padding: 15px;
	box-sizing: border-box;
	border: 5px solid #2a61bb;
	margin-bottom: 10px;
}
.group-school li figure img {
	width: 100%;
	height: auto;
	margin-bottom: 10px;
}
.group-school li h3 {
	font-size: 1.8rem;
	text-align: center;
	line-height: 1.5;
	padding: 0;
	margin: 0;
}
.group-school li:first-child {
	border: 7px solid #e04b03;
}
.group-school li:last-child {
	border: 7px solid #ffde00;
}
.book {
	
}
.book img {
	width: 100%;
	height: auto;
}



/* --------------------------　content03　-------------------------- */

.content03 {
	background: #312819;
	padding: 15px 0;
	position: relative;
}


/* --------------------------　content04　-------------------------- */



.content04 {
	background: url("../../images/bg03.jpg") no-repeat;
	background-attachment: fixed;
	background-size: cover;
	width: 100%;
	background-position: center top;
	padding: 30px 0;
}


.content04 .title_v01 h2 {
	color:#312819;
	font-family: 'Noto Sans JP', sans-serif;
}

.wai {
	font-size: 1.4rem;
	color:#312819;
	font-weight: bold;
}

.slider li {
	background: #fff;
	border: 6px solid #c9bc9c;
	padding: 15px;
	box-sizing: border-box;
	margin: 10px !important;
}
.slider li h3 {
	font-size: 1.8rem;
	border-bottom: 3px solid #312819;
	padding-bottom: 10px;
	margin-bottom: 15px;
	line-height: 1.6;
}
.slider li .box {
	display: flex;
	justify-content: space-between;

}
.slider li .box .boxL {
	width: 60%;
}
.slider li .box .koumoku {
	display: flex;
	flex-direction: column;
		flex-wrap: wrap;
	margin-bottom: 10px;
	
}
.slider li .box .koumoku .title {
	background: #312819;
	text-align: center;
	color:#fff;
	font-size: 1.4rem;
	font-weight: bold;
	width: auto;
	margin-bottom: 0px;
	margin-right: 10px;
}
.slider li .box .koumoku .cont {
	font-size: 1.4rem;
	width: auto;
	margin-bottom: 0px;
	font-weight: bold;
}
.slider li .box .boxR {
	width: 40%;
}

.slider li .box .boxR img {
	width: 100%;
	height: auto;
}

.modal-content h4,
.modal-content02 h4,
.modal-content03 h4,
.modal-content04 h4 {
	background: #008c00;
	padding: 5px 15px;
	color:#fff;
	font-size: 1.5rem;
	margin-bottom: 8px;
	border-left: 10px solid #312819; 
	line-height: 1.5;
}
.modal-content p,
.modal-content02 p,
.modal-content03 p,
.modal-content04 p {
	font-size: 1.3rem;
	padding: 0;
	margin: 0;
	margin-bottom: 15px;
}




/* --------------------------　content05　-------------------------- */



.content05 {
	background: url("../../images/bg04.jpg") no-repeat;
	background-size: cover;
	width: 100%;
	background-position: center top;
	padding: 30px 0 60px 0;
}

.content05 .title_v01 h2 {
	color:#312819;
	font-family: 'Noto Sans JP', sans-serif;
}


/*タブ切り替え全体のスタイル*/
.tabs {
  margin-top: 50px;
  padding-bottom: 40px;
  width: auto;
  margin: 0 auto;
  box-sizing: border-box;
}


/*タブのスタイル*/
.tab_item {
  width: calc(100%/2);
  text-align: center;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
	box-sizing: border-box;
	background: none !important;
}
.tab_item:hover {
  opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  padding: 15px 20px;
  clear: both;
  
	
}


/*選択されているタブのコンテンツのみを表示*/
#all:checked ~ #all_content,
#programming:checked ~ #programming_content,
#design:checked ~ #design_content {
  display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
  color: #fff;
	
}

#all_content {
	background: #fff;
	border: 6px solid #2a61bb;
	border-radius: 20px;
	position: relative;
	top:60px;
}
#programming_content {
	background: #fff;
	border: 6px solid #2b9537;
	border-radius: 20px;
	position: relative;
	top:60px;
}


#all_content .sankaku {
	text-align: center;
	color: #2a61bb;
	font-size: 5rem;
	position: absolute;
	top:-75px;
	left: 15%;
	z-index: 1;
	display: block;
}
#programming_content .sankaku {
	text-align: center;
	color: #2b9537;
	font-size: 5rem;
	position: absolute;
	top:-75px;
	right: 15%;
	z-index: 1;
	display: block;
}



#all_content h3 {
	color:#2a61bb;
	font-size: 2.4rem;
	text-align: center;
	line-height: 1.5;
	margin-bottom: 5px;
}
#programming_content h3 {
	color:#2b9537;
	font-size: 2.4rem;
	text-align: center;
	line-height: 1.5;
	margin-bottom: 5px;
}

#all_content h4 {
	color:#2a61bb;
	font-size: 1.7rem;
	text-align: center;
	border-bottom: 2px solid #2a61bb;
	padding-bottom: 10px;
	margin-bottom: 15px;
	line-height: 1.6;
}
#programming_content h4 {
	color:#2b9537;
	font-size: 1.7rem;
	text-align: center;
	border-bottom: 2px solid #2b9537;
	padding-bottom: 10px;
	margin-bottom: 15px;
		line-height: 1.6;
}

.osusume {
	text-align: center;
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 20px;
}
.osusume-img {
	margin-bottom: 20px;
}
.osusume-img img {
	width: 100%;
	height: auto;
}
.tab_content p {
	line-height: 1.7;
	margin-bottom: 15px;
}
#all_content .point-title {
	background: #2a61bb;
	text-align: center;
	color:#fff;
	font-size: 1.7rem;
	font-weight: bold;
	margin-top: 20px;
	padding: 10px 10px;
	box-sizing: border-box;
	margin-bottom: 20px;
	line-height: 1.5;
}
#programming_content .point-title {
	background: #2b9537;
	text-align: center;
	color:#fff;
	font-size: 1.7rem;
	font-weight: bold;
	margin-top: 20px;
	padding: 10px 10px;
	box-sizing: border-box;
	margin-bottom: 20px;
	line-height: 1.5;
}
.pointbox {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border-bottom: 2px dotted #d0d0d0;
	padding-bottom: 15px;
	margin-bottom: 20px;
}
.pointboxL {
	width: auto;
}
.pointboxR {
	width: auto;
}
.pointboxR img {
	width: 100%;
	height: auto;
}
#all_content .pointboxL h5 {
	color:#2a61bb;
	font-size: 1.7rem;
	font-weight: bold;
	margin-bottom: 5px;
	line-height: 1.6;
}
#programming_content .pointboxL h5 {
	color:#2b9537;
	font-size: 1.7rem;
	font-weight: bold;
	margin-bottom: 5px;
	line-height: 1.6;
}

.tool {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.tool li {
	width: auto;
	padding: 15px;
	border-radius: 10px;
	box-sizing: border-box;
	box-shadow: 0 0 15px rgba(70,70,70,0.1);
	margin-bottom: 10px;
}
.tool li img {
	width: 100%;
	height: auto;
	margin-bottom: 10px;
}
.tool li p {
	font-size: 1.4rem;
	line-height: 1.6;
}
	
	.tab_item img{
		width: 100%;
		height: auto;
	}



.schoollist {
	display: flex;
flex-direction: column;
	justify-content: space-between;
	margin-bottom: 40px;
	flex-wrap: wrap;
}
.schoollist_item {
	background: #eeeeee;
	border-radius: 10px;
	padding: 0px;
	display: flex;
	width: auto;
	box-sizing: border-box;
	margin-bottom: 5px;
}
.schoollist_item img {
	width: 60px;
	height: 60px;
	margin-right: 10px;
	border-radius: 6px;
}
.schoollist_item .listtxt {
	
}
.schoollist_item .listtxt h3 {
	font-size: 1.4rem;
	color:#1362ae;
	line-height: 1.3;
	padding: 0;
	margin: 0;
	margin-bottom: 0px;
}
.schoollist_item .listtxt p {
	font-size: 1rem;
	line-height: 1.5;
}
	
	
.profile {
	margin-bottom: 30px;
}


.profileph {
	float: none;
	width: 50%;
	margin: 0 auto 20px;
	
}
.profileph img {
	width: 100%;
	height: auto;
	border-radius: 15px;
}
.name {
	margin: 0 auto 20px;
	width: 80%;
}
.name img {
	width: 100%;
	height: auto;
}
.profile p {
	margin-bottom: 16px;
	line-height: 1.7;
}


}


.floating-banner {
  position: fixed; /* バナーを追従させる */
  z-index: 99999; /* 他の要素の下に隠れないように */
  bottom: 20px; /* バナーの上下の位置 */
right:20px;
display:block;
width:200px;
margin:10px;
	
}
.floating-banner image {
  width: 100%; /* 画像の最大幅 */
}

@media screen and (max-width: 768px) {
.pcimg {
			display:none;
		}
.spimg {
			display:block;
		}
.floating-banner {
  position: fixed; /* バナーを追従させる */
  z-index: 99999; /* 他の要素の下に隠れないように */
  bottom: 0px; /* バナーの上下の位置 */
right:0px;
display:block;
width:auto;
margin:0px;
	background: #006837;
	padding: 5px;
}
.floating-banner image {
  width: 100%; /* 画像の最大幅 */
}
}



#gaiyou {
	border-top: none;
	width: 100%;
	font-size: 1.8rem;
	line-height: 180%;
	margin-bottom: 20px;
	border-left: 1px solid #E3E3E3;
	border-right: 1px solid #E3E3E3;
	border-bottom: 1px solid #E3E3E3;
	background: #f9f9f9;
	padding: 0;
	margin: 0;
	font-weight: normal;
	
}

dl#gaiyou dl,dl#gaiyou dt,dl#gaiyou dd {
	margin: 0;
	padding: 0;
}

dl#gaiyou dt,dl#gaiyou dd {
	padding: 25px;
	text-align: left;
}

dl#gaiyou dt {
	border-top: 1px solid #E3E3E3;
	clear: left;
	float: left;
	width: 20%;
	font-weight: normal;
}
dl#gaiyou dd {
	background: #fff;
	border-top: 1px solid #E3E3E3;
	margin-left:23%;
	border-left: 1px solid #E3E3E3;
	font-weight: normal;
}

@media screen and (max-width: 1200px) {
	
#gaiyou {
	border-top: none;
	width: 100%;
	font-size: 1.4rem;
	line-height: 180%;
	margin-bottom: 20px;
	border-left: 1px solid #E3E3E3;
	border-right: 1px solid #E3E3E3;
	border-bottom: 1px solid #E3E3E3;
	background: #f9f9f9;
	padding: 0;
	margin: 0;
	font-weight: normal;
	
}

dl#gaiyou dl,dl#gaiyou dt,dl#gaiyou dd {
	margin: 0;
	padding: 0;
}

dl#gaiyou dt,dl#gaiyou dd {
	padding: 15px;
	text-align: left;
}

dl#gaiyou dt {
	border-top: 1px solid #E3E3E3;
	clear: left;
	float: none;
	width: auto;
	font-weight: normal;
}
dl#gaiyou dd {
	background: #fff;
	border-top: 1px solid #E3E3E3;
	margin-left:auto;
	border-left: 0px solid #E3E3E3;
	font-weight: normal;
}
	
}


#about,
#voice,
#course,
#school,
#company {
display: block;
padding-top: 100px;
margin-top: -100px;
}


.voice-block {
	margin-bottom: 100px;
}
.school-block {
	margin-bottom: 100px;
}

.content04 h4 {
	background: #0071bc;
	padding: 5px 20px;
	color:#fff;
	font-size: 2.4rem;
	margin-bottom: 30px;
	border-radius: 6px;
}

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

.voice-block {
	margin-bottom: 0px;
}
.school-block {
	margin-bottom: 0px;
}

.content04 h4 {
	background: #0071bc;
	padding: 5px 10px;
	color:#fff;
	font-size: 1.6rem;
	margin-bottom: 15px;
	border-radius: 6px;
}

	
}