@charset "utf-8";



/*==================================================================================================

body

==================================================================================================*/



/*==================================================================================================

wrap

==================================================================================================*/

.wrap {
	margin: 0 auto;
}
@media all and (min-width:0px) and (max-width: 768px){
	.wrap {
		width: 100%;
		padding: 0 6vw;
	}
}
@media all and (min-width: 769px) and (max-width:1080px){
	.wrap {
		width: 100%;
		padding: 0 6vw;
	}
}
@media all and (min-width: 1081px){
	.wrap{
		width: 1080px;
		padding: 0 2rem;
	}
}

/*==================================================================================================

header

==================================================================================================*/

header{
	background-color: var(--c-main);
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
}
header .wrap{
	display: flex;
	justify-content: space-between;
}
@media all and (min-width:0px) and (max-width: 768px){
	header{
		height: 5rem;
		padding: 1rem 0;
	}
}
@media all and (min-width: 769px) and (max-width:1080px){
	header{
		height: 5rem;
		padding: 1rem 0;
	}
}
@media all and (min-width: 1081px){
	header{
		height: 7rem;
		padding: 1.5rem 0;
	}
}


/*==================================================================================================

nav

==================================================================================================*/


@media all and (min-width:0px) and (max-width: 768px){
	#header__nav{
		display: none;
	}
	#nav__content01{
		display: none;
	}
}
@media all and (min-width: 769px) and (max-width:1080px){
	#header__nav{
		display: none;
	}
	#nav__content01{
		display: none;
	}
}
@media all and (min-width: 1081px){
}


/*==================================================================================================

hamburger

==================================================================================================*/

#hbg__button{
	position: fixed;
	width: 4.5rem;
	height: 5rem;
	top: 0;
	right: 0;
	z-index: 200;
}
#hbg__button span{
	position: absolute;
	left: 0.5rem;
	top: calc(50% - 1px);
	width: 3rem;
	height: 4px;
	background-color: var(--c-white);
	display: block;
	transition: 0.3s;
}
#hbg__button span:nth-child(1){
	transform: translateY(-0.75rem);
}
#hbg__button span:nth-child(3){
	transform: translateY(0.75rem);
}
#hbg__button.is-open span:nth-child(1){
	transform: rotate(-45deg);
}
#hbg__button.is-open span:nth-child(2){
	opacity: 0;
}
#hbg__button.is-open span:nth-child(3){
	transform: rotate(45deg);
}
#hbg__content{
	position: fixed;
	left: 0;
	top: 0;
	z-index: 150;
	/* height: 100dvh; */
	width: 100%;
	background-color: var(--c-main);
	color: var(--c-white);
	padding: 12vw;
}
@media all and (min-width:0px) and (max-width: 768px){
}
@media all and (min-width: 769px) and (max-width:1080px){
}
@media all and (min-width: 1081px){
	#header__hbg{
		display: none;
	}
}



/*==================================================================================================

genaralHead / generalContent

==================================================================================================*/

#generalHead{
	z-index: 1;
	color: var(--c-white);
}
#generalHead .bg{
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #2eac6d 0%, #1d8f57 55%, #3bc080 100%);
}
#generalHead .bg:has(.image[style*="background-image"]){
	background: none;
	background-color: var(--c-main);
}
#generalHead .bg .image{
	width: 100%;
	height: 100%;
	background-size: cover;
	mix-blend-mode: multiply;
}
@media all and (min-width:0px) and (max-width: 768px){
	#generalHead{
		padding-top: calc(5rem + 5rem);
		padding-bottom: calc(1rem + 5rem);
	}
}
@media all and (min-width: 769px) and (max-width:1080px){
	#generalHead{
		padding-top: calc(5rem + 5rem);
		padding-bottom: calc(1rem + 5rem);
	}
}
@media all and (min-width: 1081px){
	#generalHead{
		padding-top: calc(7rem + 5rem);
		padding-bottom: calc(1.5rem + 5rem);
	}
}


/*==================================================================================================

main

==================================================================================================*/

main{
	background-color: #fff;
	margin: 0 auto;
	width: 100%;
	min-height: 100vh;
}

@media all and (min-width:0px) and (max-width: 768px){
}
@media all and (min-width: 769px) and (max-width:1080px){
}
@media all and (min-width: 1081px){
}




/*==================================================================================================

section

==================================================================================================*/

.section{
	position: relative;
	padding: 7rem 0;
	overflow-x: hidden;
}
@media all and (min-width:0px) and (max-width: 768px){
	.section{
		padding: 4rem 0;
	}
}
@media all and (min-width: 769px) and (max-width:1080px){
}
@media all and (min-width: 1081px){
}



/*==================================================================================================

generalThumb

==================================================================================================*/

#generalThumb{
	padding-bottom: 0;
}
@media all and (min-width:0px)  and (max-width:1080px) {
	#generalThumb{
		margin: 0 -6vw;
	}
}
@media all and (min-width:1081px) {
	#generalThumb{
		margin: 0 -2rem;
	}
}


/*==================================================================================================

#homeWorks

==================================================================================================*/
#homeWorks{
	background-color: var(--c-mainL);
}


/*==================================================================================================

teacherHead

==================================================================================================*/
#teacherHead{
	padding: 1.5rem 0;
}
@media all and (min-width:0px) and (max-width: 768px){
	#teacherHead{
		padding-top: calc(5rem + 6vw);
		padding-bottom: calc(6vw);
	}
}
@media all and (min-width: 769px) and (max-width:1080px){
	#teacherHead{
		padding-top: calc(5rem + 6vw);
		padding-bottom: calc(6vw);
	}
	#teacherHead .col .col__item:first-of-type{
		width: calc( (100% / 3) - 2rem);
		flex-shrink: 0;
	}
	#teacherHead .kana + .text{
		margin-top: 2rem;
	}
}
@media all and (min-width: 1081px){
	#teacherHead{
		padding-top: calc(7rem + 5rem);
		padding-bottom: calc(1.5rem + 5rem);
	}
	#teacherHead .col .col__item:first-of-type{
		width: calc( (100% / 3) - 2rem);
		flex-shrink: 0;
	}
	#teacherHead .kana + .text{
		margin-top: 2rem;
	}
}


/*==================================================================================================

menuContent

==================================================================================================*/
#menuContent .wrap > .block + .block{
	margin-top: 7rem;
}


/*==================================================================================================

tabNav

==================================================================================================*/
#tabNav{
	padding: 0;
	border-bottom: 1px solid var(--c-main);
}
#tabNav + .section{
	padding-top: 5rem;
}
@media all and (min-width:0px) and (max-width: 768px){
	.tabNav{
		overflow-x: auto;
		white-space: nowrap;
		margin: 0 -6vw;
	}
	#tabNav + .section{
		padding-top: 3rem;
	}
}
@media all and (min-width: 769px) and (max-width:1080px){
}
@media all and (min-width: 1081px){
}


/*==================================================================================================

breadcrumb

==================================================================================================*/
#breadcrumb{
	background-color: var(--c-text);
	padding: 1.5rem 0;
}


/*==================================================================================================

cta

==================================================================================================*/
#cta{
	background-color: var(--c-mainL);
}
#cta .heading + .content{
	margin-top: 2rem;
}

/*==================================================================================================

#footer__content

==================================================================================================*/
#footer__content{
	padding-top: 5rem;
}
#footer__content .col{
	justify-content: space-between;
}
@media all and (min-width:0px) and (max-width: 768px){
	#footer__content .col{
		flex-direction: column;
		justify-content: flex-start;
	}
}
@media all and (min-width: 769px) and (max-width:1080px){
	#footer__content .col__item + .col__item{
		margin-left: 5rem;
	}
}
@media all and (min-width: 1081px){
	#footer__content .col__item + .col__item{
		margin-left: 5rem;
	}
}

/*==================================================================================================

#footer__link

==================================================================================================*/
#footer__link{
	margin: 5rem 0;
}
@media all and (min-width:0px) and (max-width: 768px){
	#footer__link{
		margin: 2rem 0;
	}
}
@media all and (min-width: 769px) and (max-width:1080px){
}
@media all and (min-width: 1081px){
}

/*==================================================================================================

#footer__copyright

==================================================================================================*/
#footer__copyright{
	padding: 1.5rem 0;
	background-color: var(--c-main);
	font-size: 0.8rem;
	color: var(--c-white);
}
#footer__copyright .col{
	justify-content: space-between;
}
@media all and (min-width:0px) and (max-width: 768px){
	#footer__copyright .col{
		flex-direction: column;
	}
}
@media all and (min-width: 769px) and (max-width:1080px){
}
@media all and (min-width: 1081px){
}