@charset "utf-8";

@-ms-viewport {
  width: device-width;
}

@viewport {
  width: device-width;
}


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

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size:3.4vw;
}
	
.pc{display:none!important;}
.sp{display:block!important;}	

p{
	margin-bottom:4vw;
}


/*header
----------------------------------------------------*/
header,
header.fixnavi{
	height: 60px;
	padding: 4vw 5%;
}

header h1{
	top: 2vw;
	left: 5%;
	width: 22vw;
}

header.top h1,
header.fixnavi h1{
	width: 22vw;
}

header h1 a,
header.top h1 a,
header.fixnavi h1 a{
	height: 18vw;
}


/*sp button
-------------------------------------------------*/
#triggerBox{
    position: fixed;
    top: 10px;
    right: 3vw;
	width: 50px;
	height: 40px;
    z-index: 99999;
}
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	position: relative;
	width: 100%;
	height: 100%;
	/*background: linear-gradient(to left top, #15EAB5, #10D86F);*/
	display: block;
}
.menu-trigger span {
    position: absolute;
    left: 12px;
    width: 26px;
    height: 2px;
    background-color: #252525;
}
.menu-trigger span:nth-of-type(1) {
    top: 15px;
}
.menu-trigger span:nth-of-type(2) {
	top: 21px;
}
/*.menu-trigger span:nth-of-type(3) {
	bottom: 18px;
}*/
.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(2px) rotate(-30deg);
	transform: translateY(2px) rotate(-30deg);
}
/*.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}*/
.menu-trigger.active span:nth-of-type(2) {
	-webkit-transform: translateY(-4px) rotate(30deg);
	transform: translateY(-4px) rotate(30deg);
}


/*navigation
-------------------------------------------------*/
#headIn{
	overflow: auto;
	position: fixed;
	width:100%;
	height:100%;
	left: auto;
	top: 0;
	right: 0px;
    background: rgba(255,255,255,.85);
	background-size:100% 100%;
    -webkit-overflow-scrolling: touch;
    z-index: 10000;
}

@keyframes show{
    from{
        opacity: 0;
    }
    to{
        opacity: 1;
    }
}

#headIn{
    display: none;
}

#headIn.active{
    display: block;
    animation: show 0.3s linear 0s;
}

header #headIn nav{
	height:100vw;
	margin:auto 0;
	display:flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

header #headIn nav ul{
    padding: 10vw 5% 0 5%;
	display:block;
}

#headIn nav ul li{
	margin:0;
	display:block;
}

#headIn nav ul li a{
	padding:1.5em 0;
	font-size:4.4vw;
	text-align:center;
	display:block;
}

#headIn nav ul li:last-child{
	margin-top:1em;
}

#headIn nav ul li:last-child a{
	padding:0.8em 1em;
}

#headIn nav ul li a:before,
#headIn nav ul li:last-child a:after{
	display:none;
}

nav ul li.btn_contact{
	width: 60%;
    margin-left: auto!important;
    margin-right: auto!important;
}
nav ul li.btn_contact a{
    width: 100%;
	padding: 1vw 6vw 1vw 3vw;
	background: url("../img/icon_contact.png") no-repeat right 4vw center / 1.2em;
	font-size: 4vw;
}

nav ul li.btn_contact a:hover{
	background: url("../img/icon_contact.png") no-repeat right 3vw center / 1.2em;
}

nav ul li.btn_contact a span{
	font-size: 2.5vw;
}


/*Contents layout
----------------------------------------------------*/
#main section{
	margin-bottom: 12vw;
}

.contents{
	width:90%;
}


/*common
----------------------------------------------------*/
.mv{
	height: 50vw;
	margin-bottom: 16vw;
}

.mv .contents{
    width: 100%;
    display: block;
}

.mv h1{
	padding-top: 11vw;
    font-size: 7vw;
}

.mv_about h1{	background: url("../img/icon_about.png") no-repeat center top / 10vw; }
.mv_student h1{	background: url("../img/icon_student2.png") no-repeat center top / 10vw; }
.mv_company h1{	background: url("../img/icon_company2.png") no-repeat center top / 10vw; }
.mv_school h1{	background: url("../img/icon_school2.png") no-repeat center top / 10vw; }

section h2{
	margin-bottom: 10vw;
	font-size: 7vw;
}

section h2 span{
	padding: 0 10vw;
	font-size: 5.5vw;
    display: inline-block;
}

section h2 span:before,
section h2 span:after{
	top: 0;
    bottom: 0;
    margin: auto 0;
	width: 4vw;
	height: 6vw;
}

.kakomi{
	margin-bottom: 10vw;
	padding: 6vw 6vw 2vw 6vw;
	border-radius: 2vw;
}

.box_col3{
	margin-bottom: 8vw;
	display: block;
}

.box_col3 a{
    margin-bottom: 6vw;
	border-radius: 2vw;
}

.box_col3 dl dd{
	padding: 4vw;
	font-size: 4vw;
}

.bg{
	padding: 16vw 0;
}

.ttl_sub{
	font-size: 5.5vw;
}

.ttl_sub span{
	font-size: 4vw;
}

.box_faq .wp-block-accordion{
	margin-bottom: 4vw;
	padding: 2vw 4vw;
}

.box_faq .wp-block-accordion .wp-block-accordion-panel{
	padding: 0 1em 0 3em;	
}

.box_faq .wp-block-accordion .wp-block-accordion-heading:before{
	top: 0.4em;
	font-size: 8vw;
}

.box_faq .wp-block-accordion .wp-block-accordion-panel:before{
	font-size: 8vw;
}

.box_faq .wp-block-accordion .wp-block-accordion-heading__toggle-icon{
	font-size: 8vw;
}


/*top mv
----------------------------------------------------*/
.top_mv{
	height: 100vw;
	background: url("../img/mv01.jpg") no-repeat center top / cover;
}

.top_mv .contents{
	width: 90%;
}

.top_mv p{
	float: right;
	width: 60%;
	padding-top: 20vw;
    font-size: 3.2vw;
}


/*top info
----------------------------------------------------*/
.top_info{
	padding: 12vw 0 0 0;
}

.top_info h2,
.top_intern h2{
	margin-bottom: 12vw;
	font-size: 7vw;
}

.top_info h2 span,
.top_intern h2 span{
	font-size: 4vw;
}

.top_info .contents div{
	margin-bottom: 10vw;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 6vw;
}

.top_info dl dt{
	height: 26vw;
	border-radius: 2vw;
}

.top_info dl dt span{
	padding: 1vw 4vw 0 4vw;
	border-radius: 0 2vw 0 0;
	font-size: 3.2vw;
}

.btn{
	width: 60vw;
	padding: 2vw 1.5em;
	border-radius: 10vw;
	font-size: 3.4vw;
}


/*top intern
----------------------------------------------------*/
.top_intern{
	padding: 12vw 0;
}

.top_intern .contents ul{
	margin-bottom: 6vw;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 6vw;
}


/*top enter
----------------------------------------------------*/
.top_enter{
	padding: 12vw 0;
}

.top_enter .contents{
	padding-bottom: 40vw;
	display: block;
}

.top_enter dl{
    margin-bottom: 6vw;
	border-radius: 2vw;
}

.top_enter dl dt{
	height: 50vw;
	border-radius: 2vw 2vw 0 0;
}

.top_enter dl dt h3{
	padding: 11vw 0 6vw 0;
	font-size: 5vw;
}

.top_enter dl:nth-of-type(1) dt h3{ background: url("../img/icon_student.png") no-repeat center top / 10vw; }
.top_enter dl:nth-of-type(2) dt h3{ background: url("../img/icon_company.png") no-repeat center top / 10vw; }
.top_enter dl:nth-of-type(3) dt h3{ background: url("../img/icon_school.png") no-repeat center top / 10vw; }

.top_enter dl dd{
	padding: 6vw;
}

.top_enter dl dd p{
	margin-bottom: 6vw;
}


/*student
--------------------------------------------*/
.box_step{
	padding: 8vw 6vw 4vw 6vw;
}

.box_step dl{
	width: 100%;
	margin: 0 auto 10vw auto;
	padding-bottom: 20vw;
	background: url("../img/icon_step00.png") no-repeat center bottom / 11vw;
}

.box_step dl dt{
	min-height: 2em;
	margin-bottom: 4vw;
	line-height: 1.4;
	font-size: 4.4vw;
}

.box_step dl dt span{
	top: auto;
	bottom: 10vw;
	font-size: 40vw;
}

.box_step dl:last-child dt span{
	top: auto;
	bottom: -6vw;
	font-size: 40vw;
}

.box_col2_student{
	margin: 10vw 0 0 0;
	display: block;
}

.box_col2_student dl{
    margin: 6vw 0 12vw 0;
}

.box_col2_student dl dt{
	position: absolute;
	top: 0;
	left: 0;
	width: 40vw;
	border-radius: 2vw;
}

.box_col2_student dl dd{
	margin-left: 35vw;
}

.box_col2_student dl dd h3{
	margin: 0 0 12vw auto;
	font-size: 6vw;
}

.box_col2_student dl dd h3 span{
	margin-bottom: 1vw;
	padding-bottom: 2vw;
	font-size: 3.7vw;
}

.box_col2_student dl dd ul{
	padding: 3vw;
	border-radius: 2vw;
}

.box_col2_student dl dd ul:before{
	top: 8vw;
}

.box_col2_student dl dd ul li a{
	grid-template-columns: 5vw 1fr;
}

.box_col2_student dl dd ul li a:before{
	width: 4vw;
	height: 4vw;
}

.box_col2_student .btn{
	position: absolute;
	right: 0;
}


/*school
--------------------------------------------*/
.box_col2_school{
	margin: 10vw 0 0 0;
	display: block;
}

.box_col2_school dl{
    margin: 6vw 0 12vw 0;
}

.box_col2_school dl dt{
	width: 50vw;
	border-radius: 2vw;
}

.box_col2_school dl dt img{
	border-radius: 2vw;
}

.box_col2_school dl dd{
	margin-right: 45vw;
}

.box_col2_school dl dd h3{
	margin: 0 auto 12vw 0;
    padding-top: 6vw;
	font-size: 6vw;
}

.box_col2_school dl dd h3 span{
	margin-bottom: 1vw;
	padding-bottom: 2vw;
    font-size: 3.7vw;
}


/*archive
---------------------------------*/
.nav-links .page-numbers{
	font-size: 3.4vw;
}


/*detail
---------------------------------*/
.box_student_profile dl{
    position: relative;
	margin-top: 8vw;
	display: block;
}

.box_student_profile dl dt{
    position: absolute;
    top: 0;
    left: 0;
    width: 35vw;
}

.box_student_profile dl dt img{
    border-radius: 2vw;
}

.box_student_profile dl dd{
    position: relative;
    z-index: 1;
}

.box_student_profile dl dd h2{
    width: 60vw;
	margin: 0 0 4vw auto;
	font-size: 6vw;
}

.box_student_profile dl dd h3{
    width: 60vw;
	margin: 0 0 6vw auto;
	font-size: 6vw;
    text-align: right;
}

.box_student_profile dl dd h3 span{
	padding-top: 4vw;
	font-size: 4vw;
}

.box_student_profile dl dd dl{
    margin-top: 6vw;
	padding: 4vw;
	border-radius: 2vw;
    line-height: 1.4;
	display: block;
}

.box_student_profile dl dd dl dt{
    position: relative;
}


.bg_post_student{
	margin: 0 auto 0 auto!important;
	padding: 8vw 0 12vw 0;
}

.post_student{
	width: 90%;
	margin: 0 auto 12vw auto;
	padding: 6vw;
	border-radius: 2vw;
}

.post_student h2{
    margin: 3em 0 0 0;
	font-size: 4.4vw;
}

.post_student p, .post_student img {
  margin: 1.5em 0 0.5em 0;
}





/*page top
--------------------------------------------*/
#page-top a{
	width: 9vw;
	height: 9vw;
	padding: 3vw;
	border-radius: 9vw;
}

#page-top a img{
	width: 3vw;
}


/*footer
----------------------------------------------------*/
footer{
	padding:8vw 0;
}


footer h2{
	width: 40%;
	margin: 0 auto 6vw auto;
}

footer h2 a{
	height: 26vw;
}

footer h2 a.btn_insta{
	bottom: 0;
	right: -14vw;
	width: 10vw;
	height: 10vw;
}

footer .btn_contact{
	position: relative;
	width: 240px;
	margin: 0 auto;
	padding: 0;
	border-radius: 50px;
	border: 2px solid #26C9C9;
	background: #FFF;
	font-family: "Albert Sans", sans-serif;
	font-size: 24px;
	font-weight: bold;
	color: #222!important;
	display: block;
}

footer .btn_contact:hover{
	background: #26C9C9;
	color: #FFF!important;
	text-decoration: none;
}

footer .btn_contact:before{
	position: absolute;
	top: 11px;
	left: 40px;
	width: 26px;
	height: 26px;
	background: url("../img/icon_mail.png") no-repeat center / cover;
	content: "";
	display: block;
	z-index: 1;
}

footer .btn_contact:hover:before{
	background: url("../img/icon_mail_w.png") no-repeat center / cover;
}

footer .copyright{
	margin-top:50px;
	font-size:12px;
	color:#777;
}

}