/*------------------------------------------------------------------------------
  PC or ALL 
------------------------------------------------------------------------------*/
/* ----- utility ----- */
.highlight {
/*   background: var(--sub-color); */
	background: url(/mwp/wp-content/uploads/2024/05/bg_img001.webp);
	border: 1px solid var(--main-color-2);
	padding: 4%;
}
.mb0 {
	margin-bottom: 0;
}
.mb1 {
	margin-bottom: calc((var(--box-margin)) / 2);
}
@media screen and (min-width: 600px) {
	.sp-only {
		display: none !important;
	  }
	.pc-center {
		text-align: center !important;
	}
  .row {
    &.reverse {
      flex-direction: row-reverse;
    }
    .col {
      &.col-1 { flex: 1; }
      &.col-2 { flex: 2; }
      &.col-3 { flex: 3; }
    }
  }
}
@media screen and (min-width: 1025px) {
  .sp-only02 {
    display: none !important;
  }
}
@media screen and (max-width: 1024px) {
  .pc-only02 {
    display: none !important;
  }
}
@media screen and (max-width: 599px) {
  .pc-only {
    display: none !important;
  }
	.sp-center {
		text-align: center !important;
	}
}
.num-none {
	li:before {
		content: none !important;
	}
}
.bg-none {
	background: none !important;
	&:after ,&:before{
		background: none !important;
	}
}
/*  ----- part ----- */
.banner-type02 ul li {
	border-radius: 20px;
}
.contact-type01 {
	.image {
		border-radius: 20px;
	}
	@media screen and (max-width: 599px) {
		.text .tel {
			letter-spacing: 0.05em;
		}
		.text .btn {
			flex-direction: column;
			gap: 15px;
		}
	}
	
}
.accordion-type01 {
	ul li {
		background: var(--main-color);
		border-radius: 20px;
	}
	ul li h3.box-h3 {
		color: #fff;
		@media screen and (max-width: 599px) {
			font-size: 1.8rem !important;
		}
	}
	 ul li h3.box-h3:after {
		color: #fff;
	}
	ul li.active .text {
		background: #fff;
		border-radius: 10px;
		line-height: 2;
	}
}
.table-type02 table th, .table-type02 table td {
	vertical-align: middle;
}
body:not(.home) {
	.list-number-type01 ,
	.list-number-type02 {
		h3 {
			font-size: 2.5rem;
			@media screen and (max-width: 599px) {
				font-size: 2rem;
			}
		}
		ol {
			flex-wrap: wrap;
			justify-content: space-around;
		}
		li {
			border-radius:20px;
			@media screen and (min-width: 600px) {
				width: calc((100% - 60px) / 3) !important;
			}
		}
		li:before {
			font-family: "Zen Maru Gothic", serif;
		}
	}
	.list-number-type01 {
		li:before {
			top: -40px;
			display: block;            
            width: 9rem;
            height: 9rem;
			color: var(--main-color);
			text-align: center;
			line-height: 1.1;	
            border-radius: 100%;
			background: #fef67f; 
		}
		@media screen and (max-width: 599px) {
			li:before {
				width: 6rem;
            	height: 6rem;
				line-height: 1.4;
			}
		}	
	}
	.list-number-type02 {
		@media screen and (min-width: 600px) {
			padding: 5%;
		}		
		.image {
			background: #fff;
			box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);
		}
	}
	.list-number-type02:after {
		background: url(/mwp/wp-content/uploads/2024/09/bg_img001-1.webp);
	}
	.lead-type01 {
		padding: 20px;
		border: 2px solid var(--main-color-2);
		border-radius: 20px;
		p:first-child {
			margin: 0;
		}
	}
	.list-flow-type01 > ul > li .icon {
		border-radius: 10px;
		font-family: "Zen Maru Gothic", serif;
		font-weight: 600;
	}	
}

/* 	h2 */
.title-type02,
.title-type04 {
	h2.box-h2 {
		color: #222;
		font-size: 3.6rem;		
		letter-spacing: 0.05em;
		@media screen and (max-width: 1024px) {
			font-size: 3rem;
		}
		@media screen and (max-width: 599px) {
			font-size: 2.5rem;
		}
	}
	span:nth-child(2) {
		font-size: 1.6rem;
		color: #888;
		margin-top: 1em;
		opacity: 1;
	}
}

/* button */
.box .btn a,
.contact-type01 .text .btn div a,
.contact-type02 .text .btn div a {
	background: var(--main-color-2);
	text-align: center;
	font-weight: 400;
	letter-spacing: 0.1em;
	border: 1px solid var(--main-color-2);
	padding: 12px 50px 12px 30px;
	display:block;
	max-width: 220px;
}
.contact-type01 .text .btn div a:after,
.contact-type02 .text .btn div a:after {
	content: "\e5cc";
    top: 50%;
    right: 25px;
	left: inherit;
}
.contact-type01 .text .btn div a,
.contact-type02 .text .btn div a {
	background: #fff;
	color: var(--text-color);
	border: none;
	@media screen and (max-width: 599px) {
		padding-inline:40px;
	}
}

/* ----- header ----- */
.header-logo {
	width: 192px;
	@media screen and (max-width: 599px) {
		width: 110px;
	}
}
.header-nav {
	@media screen and (max-width: 1350px) {
		display: none;
	}
}
.header-nav > ul > li {
	@media screen and (max-width: 1500px) {
		margin: 0 10px;
	}
}
.header-nav > ul > li ul {
	width: 160px;
}


/* ----- mainvisual ----- */
.mainvisual {
	margin-bottom: 0;	
	@media screen and (min-width: 600px) {
		height: calc(469 / 1200* 100%);	
	}
	@media screen and (max-width: 599px) {
		height: calc(100vh - 200px);
		/* padding-bottom: 200px; */
	}
}
.mainvisual-catch {
	max-width: 30vw;
	@media screen and (min-width: 600px) {
		bottom: 10%;
		left: inherit;
		right: 12.5vw;
		text-align: right;
		width: min(35vw, 528px);
	}
	@media screen and (max-width: 599px) {
		max-width: 50vw;
		left: auto;
		bottom: 4vw;
		right: 4vw;
		transform: none;
	}
}
/* ----- footer ----- */
.footer-main  {
	padding-bottom: 30px;
	margin-bottom: 36px;
	& .nav {
		margin-bottom: 34px;
	}
	@media screen and (min-width: 600px) {
		& .logo {
			width: 326px;
		}
		& .about p {
			font-size: 1.4rem;
			line-height: 2.14;
		}		
	}
}
.footer-main:after {
	background: var(--text-color);
}
@media screen and (min-width: 600px) {
	.footer {
		padding-top: 73px;
	}
	.footer-sub .copyright, .footer-main .nav ul li {
		font-size: 1.4rem;
	}	
}

.sns-icon-list li a{
	width: 60px;
	height: 60px;
	line-height: 60px;
	border-radius: 50%;
	.sns-icon{
		width: 30px;
		height: 30px;
	}
	&[href*="instagram"]{
		background: #833ab4;
		background: linear-gradient(
			to right,
			#833ab4,#fd1d1d,#fcb045
		);		  
	}
}

/* fixied */
.fixed-footer {
	background: var(--main-color);
	color: #fff;
	& p {
		font-size: 2.4rem;
		letter-spacing: 0.1em;
	}
	& .tel a {
		letter-spacing: 0.1em;
	}
	&  .tel a:before {
		color: #fff;
	}
	& .contact a {
		background: #fff;
		justify-content: center;
		padding: 4px 25px;
		width: 200px;
		color: var(--text-color);
		font-size: 1.6rem;
		font-weight: 400;
		letter-spacing:0.1em;
		line-height: 1.2;
	}
	& .contact a:before {
		content: none;
	}
	@media screen and (min-width: 1025px) {
		& .tel a {
			font-size: 4rem;
		}
	}
}

/* pagetop */
.pagetop {
	z-index: 99;
	& a {
		position: relative;
		width: 60px;
		height: 60px;
		line-height: 60px;
		background: var(--main-color);
		color: #fff;
		border: 2px solid #fff;
		&::before{
			content:"トップへ";
			position: absolute;
			top: -50px;
			left: 50%;
			display: block;
			width: 100px;
			transform: translateX(-50%);
			font-size: 1.8rem;
			font-family: "Zen Kaku Gothic New", sans-serif;
			font-weight: bold;
			color: #222;
		}
	}
}

/* TOPのみ */
body.home {
	.page-content {
		margin-bottom: 0;
		max-width: calc(1128px + 8vmin);
	}
	.title-type02,
	.title-type04 {
		padding-block: 50px 0;		
	}
	.title-type02:before,
	.title-type04:before {
		content: none;
	}
	/* 	h3 */
	.box h3.box-h3:not(.blog-type03 ul li h3.box-h3) {
		font-size: 3rem;
		font-weight: 500;
		letter-spacing: 0;
		@media screen and (max-width: 1024px) {
			font-size: 2.3rem;
		}
		@media screen and (max-width: 599px) {
			font-size: 2rem;
		}
	}
	.copy {
		font-size: 1.8rem;
	}
}

/* ----- sec2_news ----- */
.sec2_news {
	&.box-wrap.bg {
		padding-block: 100px 93px;
		@media screen and (max-width: 599px) {
			padding-block: 12%;
		}
	}	
	&.box-wrap.bg:before {
		background: url(/mwp/wp-content/uploads/2024/09/bg_img001-1.webp) top / cover;
	}
	.title-type02 {
		background: url(/mwp/wp-content/uploads/2024/09/icon01.webp)no-repeat top center;
	}
	.blog-type03 ul li {
		border-color: var(--text-color) ;
	}
}

/* ----- sec2_course ----- */
.sec2_course {
	&.box-wrap.bg {
		padding-block:100px 113px;
		@media screen and (max-width: 599px) {
			padding-block:12%;
		}
	}
	&.box-wrap.bg:before {
		background: url(/mwp/wp-content/uploads/2024/09/bg_img002.webp) top / cover;
	}
	.title-type02 {
		background: url(/mwp/wp-content/uploads/2024/09/icon02.webp)no-repeat top center;		
	}
	.banner-type02:not(:first-child) {
		padding-top: 30px;
		@media screen and (max-width: 599px) {
			padding-top: 50px;
		}
	}
	.banner-type02 ul {
		@media screen and (min-width: 600px) {
			gap: 24px;
			justify-content: center;
		}
	}	
	.banner-type02 ul li {
		background: #fff;
		@media screen and (min-width: 600px) {
			max-width: calc((100% / 3) - 24px);			
		}
	}
	.banner-type02 ul li .text {
		@media screen and (min-width: 600px)  {
			padding-inline: 2vmin;
		}
		a {
			background: var(--main-color-2);
		}
	}
	.banner-type02 ul li:last-child h3 {
		letter-spacing: -0.15em !important;
	}
	.copy,p {
		color: var(--text-color);
	}
}

/* ----- sec2_reason ----- */
.sec2_reason {
	padding-top:110px;
	@media screen and (max-width: 599px) {
		padding-top: 12%;
	}
	.title-type02 {
		background: url(/mwp/wp-content/uploads/2024/09/icon03.webp)no-repeat top center;
	}
	.box-wrap.xl {
		padding-inline: 4vmin;
		@media screen and (min-width: 600px) {
			padding-inline: 2vmin;
		}		
	}
	.list-number-type02 ol {
		@media screen and (min-width: 1024px) {
			gap: 40px;
		}
		@media screen and (max-width: 599px) {
			padding-bottom: var(--box-margin);
		}
	}
	.list-number-type02 ol li:before,
	.list-number-type02:after {
		content: none;
	}
	.list-number-type02 ol li {
		background: var(--main-color);
		border-radius: 20px;
		padding: 50px 30px 40px;
		@media screen and (min-width: 600px) and (max-width: 1024px){
			width: calc(100% / 2 - 20px);
		}
		@media screen and (max-width: 599px) {
			padding-inline: 20px;
		}
	}
	.list-number-type02 ol li .image {
		width: 180px;
		height: 180px;
		background: #fff;
		img {
			object-fit: scale-down;
		}
	}
	.list-number-type02 ol li .text {
		color: #fff;
	}
	/* 	bnr-area */
	.banner-type03 ul {
		@media screen and (min-width: 1025px) {
			gap:  54px;
		}
	}
	.banner-type03 ul li {		
		border-radius: 20px;
		overflow: hidden;
		@media screen and (min-width: 600px) {
			display: flex;
			flex-direction: column-reverse;
		}
	}
	.banner-type03 ul li .image img {
		@media screen and (max-width: 599px) {
			scale: 105%;
		}
	}
	.banner-type03 ul li .text {
		@media screen and (max-width: 599px) {
			width: 47%;
		}
	}
	.banner-type03 ul li .text .ja {
		text-align: center;
		font-weight: 500;
		font-size: 3rem;
		@media screen and (max-width: 1024px) {
			font-size: 2rem;
		}
		@media screen and (max-width: 599px) {
			font-size: 1.6rem;
		}
	}
	.banner-type03 ul li a {
		position: relative;
	}
	.banner-type03 ul li a:after {
		content: "\e5cc";
		position: absolute;
		top: 50%;
		right: 0;
		transform:translateY(-50%);
		color: #fff;
		font-size: 4rem;
		font-family: "Material Symbols Outlined";
		font-variation-settings: "FILL" 1, "wght" 300, "GRAD" 0, "opsz" 20;
	}
}

/* ----- sec2_bnr ----- */
.sec2_bnr {	
	/* 共通 */
	padding-block:120px 95px;
	@media screen and (max-width: 599px) {
		padding-block: 12%;
	}
	.title-type02 {
		background: none;
		padding-top: 0 !important;
		margin-bottom: 0;
		.ja {
			font-weight: 700;
		}
		.en {
			font-weight: 500;
			margin-top: 0.2em;
		}
		@media screen and (max-width: 599px) {
			h2 {
				font-size: 2rem;
			}
		}
	}
	.contact-type01 {			
		padding:20px;
		@media screen and (max-width: 599px) {
			padding:10px;
		}
	}	
	.contact-type01 .inner {
		border-radius: 15px;
		position: relative;
		outline: 1px solid #fff;
		padding: 50px 20px 60px;
		@media screen and (max-width: 599px) {
			padding: 45px 0;
		}
	}
	.contact-type01 .text .tel {
		padding-top: 17px;
		font-size: 4rem;
		@media screen and (max-width: 599px) {
			font-size: 3rem;
		}
		&.en {
			font-family: "Zen Maru Gothic", serif;
		}
	}
	.contact-type01 .text .btn {
		margin-top: 2.3vh;
	}
	/* 	contact2 */
	&.contact2 {
		padding-block: 130px 120px;
		@media screen and (max-width: 599px) {
			padding-block: 12%;
		}
	}
}

/* ----- sec2_achievements ----- */
.sec2_achievements {
	&.box-wrap.bg {
		padding-block : 95px 100px;
		@media screen and (max-width: 599px) {
			padding-block : 12%;
		}
	}
	&.box-wrap.bg:before {
		background: url(/mwp/wp-content/uploads/2024/09/bg_img004.webp) top / cover;
	}
	.title-type02 {
		background:none;
		padding-top: 0!important;
		@media screen and (min-width: 1025px) {
			margin-bottom: 7vh;
			h2 {
				font-size: 4.8rem;
			}
		}
		span {
			letter-spacing: 0.1em;
			display: inline-block;
			padding: 10px 60px;
			background: #FEF67F;
			clip-path: polygon(100% 0, 90% 50%, 100% 99%, 0 100%, 10% 51%, 0 0);
		}
	}
	.row-4 > *{
		color: #fff;		
	}
	.row-4 {
		max-width: calc(1715px + 4vmin);
		margin: 0 auto;
		padding-inline: 4vmin;
		h3 {
			padding: 0;
			font-weight: 500;
			@media screen and (min-width: 1025px) {
				margin-bottom: 4vh!important;
			}
		}
		h3:after {
			content: none;
		}
		ul li {
			margin-left: 20px;
		}
		ul li::marker {
			font-size: 1rem;
		}
	}
	@media screen and (min-width: 1025px) {
		.col:not(:last-child) {		
			max-width:298px;
		}
	}
	@media screen and (min-width: 600px) and (max-width: 1024px) {
		.col:not(:last-child) {		
			width: calc(25% - 23px);
		}
		.col:last-child {		
			width: 100%;
		}
	}	
	@media screen and (max-width: 599px) {
		.col:not(:last-child) {		
			width: calc(50% - 8px);
		}
	}
	.flex {
		display: flex;
		gap:60px;
		@media screen and (max-width: 599px) {
			gap:30px;
		}
		ul {
			margin: 0;
		}
	}
}

/* ----- sec2_qa ----- */
.sec2_qa {
	&.box-wrap.bg {
		padding-block: 120px;
		@media screen and (max-width: 599px) {
			padding-block: 12%;
		}
	}
	.title-type02 {
		background: url(/mwp/wp-content/uploads/2024/09/icon04.webp)no-repeat top center;
	}
	.accordion-type01 ul li {
		background: var(--main-color-2);
	}
}

/* ----- sec2_blog ----- */
.sec2_blog {
	&.box-wrap.bg {
		padding-block: 120px 110px;
		@media screen and (max-width: 599px) {
			padding-block: 12%;
		}
	}
	&.box-wrap.bg:before {
		background: url(/mwp/wp-content/uploads/2024/09/bg_img006.webp) top / cover;
	}
	.title-type02 {
		background: url(/mwp/wp-content/uploads/2024/09/icon05.webp)no-repeat top center;
	}
}

/* ----- sec2_bnr_area ----- */
.sec2_bnr_area {
	padding-block: 120px;
	@media screen and (max-width: 599px) {
		padding-block: 12%;
	}
	&.box-wrap.bg:before {
		background: url(/mwp/wp-content/uploads/2024/09/bg_img004.webp) top / cover;	
	}
}
/*------------------------------------------------------------------------------
  under
------------------------------------------------------------------------------*/
/* ----- common ----- */
.blog-content h2:not([class]), .page-content h2:not([class]),
.blog-content h3:not([class]), .page-content h3:not([class]),
.blog-content h4:not([class]), .page-content h4:not([class]) {
  margin: var(--text-margin) 0 calc(var(--text-margin) / 2);
}
.page-content h3:not([class]) {
	font-weight: 500;
	font-size: 3rem;
	span {
		display: block;
	}
	@media screen and (max-width: 1024px) {
		font-size: 2.5rem;
	}
	@media screen and (max-width: 599px) {
		font-size: 2rem;
	}
}
/*------------------------------------------------------------------------------
  TABLET and SHONE
------------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
}

/*------------------------------------------------------------------------------
  TABLET ONLY
------------------------------------------------------------------------------*/
@media screen and (min-width: 600px) and (max-width: 1024px) {
}

/*------------------------------------------------------------------------------
  SPHONE ONLY
------------------------------------------------------------------------------*/
@media screen and (max-width: 599px) {
  .box-wrap.scroll {
    overflow-x: auto;
    > * {
      width: 1000px !important;
    }
  }
}
