/***** 見出し文字サイズなど(格共通) *****/

h2 {
	margin: 3vw 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	}

h3 {
	width: 96%;
	height: auto;
	margin-bottom: 1vw;
	display: flex;
	flex-direction: column;
	justify-content: center;
	}

h4 {
	width: 100%;
	height: auto;
	margin: 0.5vw 0;
	font-size: 1.5vw;
	font-weight: bolder;
	}

/***** メインコンテンツ *****/

main {
	width: 100vw;
	height: auto;
	margin-top: 8vw;
	margin-bottom: 10vw;
	padding: 0;
	letter-spacing: 0.2vw;
	display: flex;
	flex-direction: column;
	align-items: center;
	}

.img-sp {
	display: none;
	}

.top_content {
	width: 98%;
	height: auto;
	margin-bottom: 7.5vw;
	border-radius: 2vw;
	}

section {
	width: 90%;
	height: auto;
	margin: 10vw 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	}

.cottontoha {
	box-sizing: border-box;
	background: rgb(255, 255, 255, 0.8);
	border-radius: 2vw;
	padding: 3vw;
	justify-content: center;
	}

.box {
	width: 100%;
	height: auto;
	padding: 1vw 5vw 5vw 5vw;
	box-sizing: border-box;
	border: solid 0.5vw #ffe100;
	border-radius: 2vw;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	}

.cotton {
	width: 50%;
	height: auto;
	padding-top: 18vw;
	margin-bottom: 5vw;
	color: #ffe100;
	font-size: 3.5vw;
	text-shadow: 0.2vw 0.2vw 0.2vw #c8c8c8;
	border-bottom: solid 0.3vw #ffe100;
	background: url(../image/share/logo.webp) top center / 80% auto no-repeat;
	}

.frame_top {
	width: 100%;
	height: auto;
	}

.cottontoha div p {
	margin: 3vw 0;
	font-size: 1.2vw;
	font-weight: bold;
	text-align: center;
	line-height: 3vw;
	}

.frame_bottom {
	width: 100%;
	height: auto;
	}

.feature {
	color: #fff;
	width: 90%;
	height: auto;
	margin-top: 3vw;
	display: flex;
	justify-content: space-between;
	}

.feature dl {
	width: 49%;
	height: auto;
	background: #00a0e9;
	display: flex;
	flex-direction: column;
	align-items: center;
	}

.feature dl dt {
	margin: 2vw 0;
	border-bottom: double 0.3vw #fff;
	font-size: 1.5vw;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	}

.feature dl dd {
	box-sizing: border-box;
	width: 100%;
	height: auto;
	padding: 0 3%;
	font-size: 1.2vw;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	}

/* .feature dl dd a {
	width: auto;
	height: 1vw;
	color: #fff;
	padding: 3% 0;
	border-bottom: solid 0.2vw #fff;
	text-decoration: none;
	} */

.animals_left {
	width: 100%;
	height: auto;
	margin-bottom: 1vw;
	}

.animals_right {
	width: 96%;
	height: auto;
	margin-bottom: 1vw;
	}

hgroup {
	width: 100%;
	height: auto;
	font-size: 1.8vw;
	font-weight: bold;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	}

hgroup div {
	width: 70%;
	height: auto;
	margin-bottom: 5vw;
	display: flex;
	justify-content: space-between;
	align-items: center;
	}

hgroup div h2 {
	color: #fff;
	padding: 2vw 3vw;
	background: #00a0e9;
	border-radius: 5vw;
	font-size: 3.5vw;
	text-shadow: 0.1vw 0.1vw 0.1vw #ffe100, -0.1vw -0.1vw 0.1vw #ffe100;
	}

.left_side {
	width: 15%;
	height: auto;
	}

.right_side {
	width: 15%;
	height: auto;
	transform: scale(-1, 1);
	}

hgroup p {
	text-align: center;
	text-shadow: 0.1vw 0.1vw 3vw #fff, -0.1vw -0.1vw 3vw #fff;
	}

article {
	box-sizing: border-box;
	width: 100%;
	height: 88vw;
	background: #ffe100;
	border: solid 1.5vw #fff;
	border-radius: 50%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	}

.haco {
	width: 48%;
	height: auto;
	filter: drop-shadow( 0 0 0.8vw #808080);
	}

.gakusyu h3 .top_part {
	color: #FF6600;
	}

.gakusyu h3 .middle {
	border-bottom: solid 0.3vw #FF6600;
	}

.activities h3 .top_part {
	color: #00BD00;	
	}

.activities h3 .middle {
	border-bottom: solid 0.3vw #00BD00;	
	}

.social_skill h3 .top_part {
	color: #F40002;
	}

.social_skill h3 .middle {
	border-bottom: solid 0.3vw #F40002;
	}

.category {
	width: 50%;
	height: auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	}

.category div {
	width: 100%;
	height: auto;
	margin: 1vw 0;
	padding: 2% 1%;
	background: rgb(255, 255, 255, 0.5);
	border-radius: 2vw;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	}

.category div p {
	width: 96%;
	height: auto;
	font-size: 1.2vw;
	}

.top_part {
	font-size: 5vw;
	text-shadow: 0.3vw 0.3vw 0.1vw #fff;
	}

.middle {
	display : block;
	font-size: 3vw;
	}

/* .external_staff p, .staff p {
	padding: 2vw 6vw;
	background: url(../image/top/irasuto_f.webp) left center / auto 100% no-repeat, url(../image/top/himawari.webp) right center / auto 100% no-repeat;
	} */


/***** ↓↓↓ 2024.3追加 ↓↓↓ *****/


.gaibukousi {
	background: rgb(255, 255, 255, 0.5);
	border-radius: 2vw;
	}

.type1 {
	display: flex;
	justify-content: space-around;
	align-items: center;
	}

.type2 {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-around;
	align-items: center;
	}

.staff1, .staff2, .staff3, .staff4 {
	width: 90%;
	height: auto;
	margin: 2% 0;
	padding: 2%;
	background: #ffe100;
	border-radius: 1vw;
	}

.message {
	width: 60%;
	height: 32vw;
	display: flex;
	justify-content: center;
	align-items: center;
	}

.message p {
	padding: 2%;
	background: rgb(255, 255, 255, 0.6);
	border-radius: 1vw;
	font-size: 1.2vw;
	line-height: 2.5vw;
	}

.message p span {
	font-weight: bold;
	}

.exercise {
	background: url(../image/top/exercise2.webp) center right / 60% auto no-repeat;
	}

.english {
	background: url(../image/top/english2.webp) center right / 100% auto no-repeat;
	transform: rotate(-12deg);
	}

.english p {
	transform: rotate(12deg);
	}


.nature {
	background: url(../image/top/nature2.webp) center right / 90% auto no-repeat;
	}

.music {
	background: url(../image/top/music2.webp) center right / 100% auto no-repeat;
	transform: rotate(-5deg);
	}

.music p {
	transform: rotate(5deg);
	}	

.profile {
	box-sizing: border-box;
	color: #fff;
	width: 38%;
	height: auto;
	background: #00a0e9;
	border: solid 1vw #fff;
	border-radius: 2vw;
	display: flex;
	flex-direction: column;
	align-items: center;
	}

.profile img {
	aspect-ratio: 1/1;
	width: 86%;
	height: auto;
	box-sizing: border-box;
	}

.profile p {
	padding: 2% 0;
	font-size: 1.2vw;
	text-align: center;
	}

.profile p span {
	font-size: 1.8vw;
	font-weight: bolder;
	}



/***** ↑↑↑ 2024.3 追加ここまで ↑↑↑ *****/

.instructor {
	position: relative;
	box-sizing: border-box;
	background: rgb(255, 255, 255, 0.8);
	width: 90%;
	height: auto;
	padding: 3%;
	border-radius: 2vw;
	}

.instructor aside {
	box-sizing: border-box;
	width: 100%;
	height: auto;
	padding: 3% 0;
	border: solid 0.5vw #ffe100;
	border-radius: 2vw;
	display: flex;
	flex-direction: column;
	align-items: center;
	}

aside dl {
	width: 90%;
	height: auto;
	margin: 2.5% 0;
	display: flex;
	align-items: center;
	}

aside dl dt {
	width: 20%;
	height: auto;
	font-size: 1.5vw;
	font-weight: bold;
	}

aside dl dd {
	width: 80%;
	height: auto;
	font-size: 1.2vw;
	}

.ornament_top {
	position: absolute;
	top: 0;
	left: 1vw;
	width: 18%;
	height: auto;
	}

.ornament_bottom {
	position: absolute;
	bottom: 1vw;
	right: 2vw;
	width: 25%;
	height: auto;
	}



@media (max-width: 960px){


	/***** 見出し文字サイズなど(格共通) *****/

	h2 {
		margin: 5vw 0;
		}

	h3 {
		width: 96%;
		height: auto;
		margin-bottom: 1vw;
		display: flex;
		flex-direction: column;
		justify-content: center;
		}

	h4 {
		width: 100%;
		height: auto;
		margin: 0.5vw 0;
		font-size: 1.5vw;
		font-weight: bolder;
		}

	/***** メインコンテンツ *****/

	main {
		margin-top: 1vw;
		margin-bottom: 10vw;
		}

	.img-pc {
		display: none;
		}

	.img-sp {
		display: block;
		}

	.top_content {
		width: 98%;
		height: auto;
		margin-bottom: 7.5vw;
		}

	section {
		width: 96%;
		}

	.cotton {
		width: 70%;
		padding-top: 25vw;
		font-size: 5.5vw;
		}

	.cottontoha div p {
		font-size: 2.8vw;
		font-weight: normal;
		line-height: 7vw;
		}

	.feature {
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
		}

	.feature dl {
		width: 100%;
		margin: 3vw 0;
		background: #00a0e9;
		}

	.feature dl dt {
		margin: 5vw 0;
		border-bottom: double  1vw #fff;
		font-size: 4vw;
		}

	.feature dl dd {
		font-size: 3vw;
		}

	/* .feature dl dd a {
		width: auto;
		height: 1vw;
		color: #fff;
		padding: 3% 0;
		border-bottom: solid 0.2vw #fff;
		text-decoration: none;
		} */

	hgroup {
		width: 90%;
		}

	hgroup div {
		width: 100%;
		}

	hgroup div h2 {
		border-radius: 10vw;
		font-size: 5.5vw;
		}

	hgroup p {
		font-size: 3vw;
		line-height: 6vw;
		}

	article {
		height: auto;
		border: solid 2vw #fff;
		border-radius: 10vw;
		flex-direction: column;
		}

	.haco {
		width: 70%;
		margin: 3vw 0;
		}

	.gakusyu h3 .middle {
		border-bottom: solid 0.5vw #FF6600;
		}

	.activities h3 .middle {
		border-bottom: solid 0.5vw #00BD00;	
		}

	.social_skill h3 .middle {
		border-bottom: solid 0.5vw #F40002;
		}

	.category {
		width: 90%;
		margin: 3vw 0;
		}

	.category div {
		background: rgb(255, 255, 255, 0.8);
		}

	.category div p {
		font-size: 3vw;
		line-height: 5vw;
		}

	.top_part {
		font-size: 6vw;
		}

	.middle {
		font-size: 4.5vw;
		}




	/***** ↓↓↓ 2024.3追加 ↓↓↓ *****/


	
	.external_staff div h2 {
		width: 55%;
		}

	.type1 {
		flex-direction: column-reverse;
		}

	.type2 {
		flex-direction: column-reverse;
		}

	.staff1, .staff2, .staff3, .staff4 {
		border-radius: 2vw;
		}

	.message {
		width: 98%;
		height: 60vw;
		display: flex;
		justify-content: center;
		align-items: center;
		}

	.message p {
		font-size: 3vw;
		line-height: 5vw;
		}

	.message p span {
		font-size: 3.2vw;
		}

	.profile {
		width: 85%;
		border: solid 3vw #fff;
		}

	.profile p {
		font-size: 3vw;
		}

	.profile p span {
		font-size: 4vw;
		}



	/***** ↑↑↑ 2024.3 追加ここまで ↑↑↑ *****/




	.staff p {
		box-sizing: border-box;
		width: 96%;
		height: auto;
		padding: 2vw 12vw;
		background: url(../image/top/irasuto_f.webp) left center / 15% auto no-repeat, url(../image/top/himawari.webp) right center / 15% auto no-repeat;
		}

	.instructor aside {
		border: solid 1vw #ffe100;
		}

	aside dl {
		flex-direction: column;
		}

	aside dl dt {
		width: 100%;
		margin-bottom: 2.5%;
		font-size: 3.5vw;
		font-weight: bold;
		text-align: center;
		}

	aside dl dd {
		width: 100%;
		font-size: 3vw;
		line-height: 5.5vw;
		}

	.ornament_top {
		width: 25%;
		}

	.ornament_bottom {
		width: 30%;
		}

	.center {
		width: 100%;
		background: url(../image/top/sun.webp) left bottom 30% / auto 20% no-repeat, url(../image/top/suuji.webp) right top 30% / auto 15% no-repeat;
		}

	.center h3 {
		font-size: 6vw;
		}

	.center h4 {
		font-size: 4vw;
		}

	.center dl {
		width: 65%;
		flex-direction: column;
		}

	.center dl dt {
		padding: 3% 0;
		font-size: 4vw;
		width: auto;
		}
		
	.center dl dd {
		width: 95%;
		}

	.center dl dd a {
		font-size: 3.2vw;
		text-decoration: none;
		}
}