@charset "utf-8";

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

@viewport {
  width: device-width;
}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.pc{display:block!important;}
.sp{display:none!important;}

img{
	width: 100%;
	height: auto;
	display:block;
}

p{
	margin-bottom:2.0rem;
}


/*header
----------------------------------------------------*/
header{
	position:fixed;
	top: 0;
	width:100%;
	padding: 20px 30px;
	z-index:99999;
}

header.fixnavi{
	/*background: rgba(255, 255, 255, .9);*/
	height: 80px;
	backdrop-filter: blur(6px);
	transition: 0.4s;
}

header h1{
	position: absolute;
	top: 20px;
	left: 30px;
	float:left;
	width: 160px;
	margin: 0;
	line-height:1.0;
}

header.top h1{
	width: 240px;
}

header.fixnavi h1{
	width: 160px;
}

header h1 a{
	width: 100%;
	height: 120px;
	background:url("../img/ttl_logo.png") no-repeat center / contain;
	text-indent: -9999px;
	display:block;
}

header.top h1 a{
	height: 180px;
}

header.fixnavi h1 a{
	height: 120px;
}

header a:hover{
	opacity:0.70;
	filter: alpha(opacity=70);
}


/*navigation
----------------------------------------------------*/
#headIn{
	position:absolute;
	right:30px;
	width:calc(100% - 300px);
	text-align:right;
}

nav ul{
	display: flex;
	justify-content: right;
}

nav ul li{
	margin:0 0.8rem;
	font-size:16px;
	text-align: center;
	display: flex;
	align-content: center;
}

@media screen and (max-width:1150px){
nav ul li{
	font-size:14px;
}
}

nav ul li a{
	position:relative;
	color:#000;
	text-decoration:none;
	line-height:1.8;
	display: grid;
	grid-template-columns: 25px 1fr;
	place-items: center;
}

nav ul li a:before{
	position:relative;
	width: 18px;
	height: 18px;
	background: url("../img/icon_star.png") no-repeat center / cover;
	content: "";
	display: grid;
	place-items: center;
}

nav ul li a:hover:before{
	transform: rotate(180deg);
}

nav ul li.btn_contact{
	border-radius: 3em;
	background: linear-gradient(to right, #AD89FF, #71B9FF, #26C9C9);
}

nav ul li.btn_contact a{
	width: 165px;
	padding: 5px 30px 5px 15px;
	background: url("../img/icon_contact.png") no-repeat right 18px center / 1.2em;
	line-height: 1.2;
	font-size: 20px;
	font-weight: bold;
	color: #FFF;
	display: block;
}

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

nav ul li.btn_contact a span{
	letter-spacing: 30%;
	font-size: 13px;
	display: block;
}

nav ul li.btn_contact a:before{
	display: none;
}


/*Contents layout
----------------------------------------------------*/
section{
	position:relative;
	width:100%;
	display:block;
	clear:both;
}

#main section{
	margin-bottom: 100px;
}

section:after,
.contents:after,
ul:after,
dl:after{
	visibility: hidden;
	display: block;
	font-size: 0px;
	content: " ";
	clear: both;
	height: 0;
}

.contents{
	position:relative;
	width:1200px;
	margin:0 auto;
}

@media screen and (max-width:1170px){
.contents{
	width:94%;
}

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


/*common
----------------------------------------------------*/
.mv{
	height: 320px;
	margin-bottom: 100px;
	background: url("../img/bg_mv.png") no-repeat center top / cover;
	display: grid;
	place-content: center;
}

.mv h1{
	padding-top: 55px;
    font-size: 50px;
    color: #26C9C9;
    text-align: center;
}

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

section h2{
	margin-bottom: 50px;
	font-size: 36px;
	text-align: center;
}

section h2 span{
	position: relative;
	padding: 0 50px;
	display: inline-block;
}
section h2 span:before,
section h2 span:after{
	position: absolute;
	top: 11px;
	width: 25px;
	height: 35px;
	content: "";
	display: block;
}

section h2 span:before{
	left: 0;
	background: url("../img/bg_ttl_left.png") no-repeat center / cover;
}

section h2 span:after{
	right: 0;
	background: url("../img/bg_ttl_right.png") no-repeat center / cover;
}

section h2 em{
	font-style: normal;
	color: #26C9C9;
	display: block;
}

.kakomi{
	margin-bottom: 50px;
	padding: 40px 40px 25px 40px;
	border-radius: 10px;
	background: #EFF9FA;
}

.box_col3{
	margin-bottom: 50px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 0 30px;
}

.box_col3 a{
	border-radius: 10px;
	box-shadow:0 0 12px rgba(0, 0, 0, .25);
	overflow: hidden;
	display: block;
}

.box_col3 dl dt{
	height: 14em;
	overflow: hidden;
}

.box_col3 dl dt img{
	position:relative;
	top:0;
	left:0;
	width:100%;
	max-width: 105%;
	height:auto;
	object-fit: cover;
}

@media(any-hover:hover){
.box_col3 dl:hover dt img{
	top:-2.5%;
	left:-2.5%;
	width:105%;
	height:auto;
	object-fit: cover;
	transition: all .3s;
}
}

.box_col3 dl dd{
	padding: 20px;
	font-size: 22px;
	text-align: center;
}

.bg{
	padding: 80px 0;
	background: linear-gradient(to right, #F6F6F6, #F8F8F8);
}

.ttl_sub{
	font-family: "Albert Sans", sans-serif;
	font-size: 50px;
	color: #26C9C9;
}

.ttl_sub span{
	font-family: "Noto Sans JP", sans-serif;
	font-size: 22px;
	color: #222;
	display: block;
}

.ttl_sub span:before,
.ttl_sub span:after{
	display: none;
}

.box_faq .wp-block-accordion{
	margin-bottom: 30px;
	padding: 15px 30px;
	background: #FFF;
}

.box_faq .wp-block-accordion .wp-block-accordion-heading,
.box_faq .wp-block-accordion .wp-block-accordion-panel{
	position: relative;
	padding: 1em 0 1em 3em;
	font-weight: bold;
	transition: .3s;
}

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

.box_faq .wp-block-accordion .wp-block-accordion-heading:before{
	position: absolute;
	top: 0.6em;
	left: 0;
	font-family: "Albert Sans", sans-serif;
	font-size: 40px;
	font-weight: 500;
	color: #26C9C9;
	content: "Q";
	display: block;
}

.box_faq .wp-block-accordion .wp-block-accordion-panel:before{
	position: absolute;
	top: -0.25em;
	left: 0;
	font-family: "Albert Sans", sans-serif;
	font-size: 40px;
	font-weight: 500;
	color: #AD89FF;
	content: "A";
	display: block;
	
}

.box_faq .wp-block-accordion .wp-block-accordion-heading__toggle-icon{
	font-size: 50px;
	font-weight: normal;
}

.box_faq .wp-block-accordion .wp-block-accordion-heading button{
	margin: 0;
}

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

.box_faq .wp-block-accordion .is-open .wp-block-accordion-panel{
	max-height: 50em;
}

.wp-block-accordion-panel[inert] {
	max-height: 0;
	opacity: 0;
	display: block!important;
	transition: .6s;
}

.wp-block-accordion-panel {
	max-height: 50em;
	opacity: 1;
}


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

.top_mv .contents{
	width: 1000px;
}

.top_mv p{
	float: right;
	width: 45%;
	padding-top: 300px;
}


/*top info
----------------------------------------------------*/
.top_info{
	padding: 80px 0 0 0;
}

.top_info h2,
.top_intern h2{
	margin-bottom: 60px;
	font-family: "Albert Sans", sans-serif;
	font-size: 50px;
	color: #26C9C9;
	text-align: center;
}

.top_info h2 span,
.top_intern h2 span{
	font-family: "Noto Sans JP", sans-serif;
	font-size: 22px;
	color: #222;
	display: block;
}

.top_info h2 span:before,
.top_intern h2 span:before,
.top_info h2 span:after,
.top_intern h2 span:after{
    display: none;
}

.top_info .contents div{
	margin-bottom: 50px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-gap: 30px;
}

.top_info dl dt{
	position:relative;
	height: 180px;
	border-radius: 10px;
	background:#FFF;
	overflow: hidden;
	/*box-shadow:0 0 12px rgba(0, 0, 0, .25);*/
}

.top_info dl dt img{
	position:relative;
	top:0;
	left:0;
	width:100%;
	max-width: 105%;
	height:auto;
	object-fit: cover;
}

@media(any-hover:hover){
.top_info dl:hover dt img{
	top:-2.5%;
	left:-2.5%;
	width:105%;
	height:auto;
	object-fit: cover;
	transition: all .3s;
}
}

.top_info dl dt span{
	position: absolute;
	bottom:0;
	left:0;
	padding: 5px 20px 0 20px;
	background: #FFF;
	border-radius: 0 10px 0 0;
	font-family: "Albert Sans", sans-serif;
	font-size: 14px;
	color: #0AA6A6;
	text-align: center;
	z-index: 1;
}

.top_info dl dd{
	padding-top:1.0em;
	line-height:1.6;
}

.btn{
	position: relative;
	width: 16em;
	margin: 0 auto;
	padding: 10px 1.5em;
	border: 1px solid #26C9C9;
	border-radius: 50px;
	background: #26C9C9 url("../img/icon_link.png") no-repeat right 1em center / 0.8em;
	font-size: 16px;
	color: #FFF!important;
	text-align: center;
	display: block;
	overflow: hidden;
	z-index: 1;
	transition: .3s;
}

@media(any-hover:hover){
.btn:hover {
	background: #26C9C9 url("../img/icon_link.png") no-repeat right 0.8em center / 0.8em;
	opacity: 0.7;
}
}

.btn.long{
	width: 20em;
}


/*top intern
----------------------------------------------------*/
.top_intern{
    margin-bottom: 0!important;
	padding: 80px 0;
	background: linear-gradient(to right, #F5F5F5, #F9F9F9);
}

.top_intern h2 span em{
	font-style: normal;
	color: #FD711B;
}

.top_intern .contents ul{
	margin-bottom: 50px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-gap: 30px;
}

.top_intern .contents ul li img{
	width: 100%;
	box-shadow:0 0 12px rgba(0, 0, 0, .25);
}


/*top enter
----------------------------------------------------*/
.top_enter{
	padding: 80px 0;
	background: #AFDEF2 url("../img/bg_ph01.jpg") no-repeat center bottom / contain;
}

.top_enter .contents{
	padding-bottom: 40vw;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 30px;
}

.top_enter dl{
	background: #FFF;
	border-radius: 10px;
	display: block;
}

.top_enter dl dt{
	position: relative;
	height: 250px;
	margin-bottom: 0;
	padding-bottom: 0;
	border: 0;
	border-radius: 10px 10px 0 0;
	text-align: center;
}

.top_enter dl:nth-of-type(1) dt{ background: url("../img/bg_top_enter01.jpg") no-repeat center top / cover; }
.top_enter dl:nth-of-type(2) dt{ background: url("../img/bg_top_enter02.jpg") no-repeat center top / cover; }
.top_enter dl:nth-of-type(3) dt{ background: url("../img/bg_top_enter03.jpg") no-repeat center top / cover; }

.top_enter dl dt h3{
	position: absolute;
	bottom: 0;
	width: 100%;
	padding: 55px 0 30px 0;
	font-size: 26px;
	font-weight: bold;
	color: #FFF;
}

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

.top_enter dl dd{
	padding: 30px;
}

.top_enter dl dd p{
	margin-bottom: 30px;
}


/*about
--------------------------------------------*/
.about .kakomi{
	font-size: 1.2em;
	text-align: center;
}

.about .kakomi .wp-block-columns{
	width: 900px;
	margin: 4em auto 2em auto;
}

.about .kakomi .wp-block-columns .btn{
	width: 100%;
	line-height: 1.4;
}

.about .kakomi .wp-block-columns .btn span{
	font-size: 1.2em;
	font-weight: bold;
	display: block;
}


/*student
--------------------------------------------*/
.box_step{
	padding: 80px 0;
}

.box_step dl{
	position: relative;
	width: 800px;
	margin: 0 auto 50px auto;
	padding-bottom: 100px;
	background: url("../img/icon_step00.png") no-repeat center bottom / 55px;
}

.box_step dl:last-child{
	padding-bottom: 0;
	background: none;
}

.box_step dl dt{
	margin-bottom: 20px;
	padding-left: 3.5em;
	font-size: 24px;
}

.box_step dl:nth-of-type(1) dt{background: url("../img/icon_step01.png") no-repeat left center / 2.5em;}
.box_step dl:nth-of-type(2) dt{background: url("../img/icon_step02.png") no-repeat left center / 2.5em;}
.box_step dl:nth-of-type(3) dt{background: url("../img/icon_step03.png") no-repeat left center / 2.5em;}
.box_step dl:nth-of-type(4) dt{background: url("../img/icon_step04.png") no-repeat left center / 2.5em;}
.box_step dl:nth-of-type(5) dt{background: url("../img/icon_step05.png") no-repeat left center / 2.5em;}

.box_step dl dt span{
	position: absolute;
	top: -0.1em;
	right: 0;
	font-family: "Albert Sans", sans-serif;
	line-height: 1.0;
	font-size: 200px;
	font-weight: 100;
	font-style: italic;
	color: #9FEFEF;
	z-index: 0;
}

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

.box_col2_student{
	margin-top: 80px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 0 80px;
}

.box_col2_student dl{
	position: relative;
}

.box_col2_student dl dt{
	position: absolute;
	top: 0;
	left: 0;
	width: 260px;
	border-radius: 10px;
	overflow: hidden;
}

.box_col2_student dl dd{
	position: relative;
	margin-left: 220px;
	z-index: 1;
}

.box_col2_student dl dd h3{
	margin-bottom: 60px;
	text-align: right;
	font-size: 30px;
}

.box_col2_student dl dd h3 span{
	position: relative;
	margin-bottom: 5px;
	padding-bottom: 10px;
	border-bottom: 1px solid #26C9C9;
	font-size: 18px;
	color: #0AA6A6;
	display: block;
}

.box_col2_student dl dd h3 span:before{
	position: absolute;
	bottom: -8px;
	left: 0;
	font-size: 10px;
	color: #26C9C9;
	content: "●";
	display: block;
}

.box_col2_student dl dd ul{
	position: relative;
	padding: 15px;
	border-radius: 10px;
	border: 2px solid #222;
	background: #FFF;
}

.box_col2_student dl dd ul:before{
	position: absolute;
	top: 150px;
	left:-23px;
	width: 23px;
	height: 14px;
	background: url("../img/bg_fukidashi.png") no-repeat center / cover;
	content: "";
	display: block;
}

.box_col2_student dl dd ul li{
	padding: 0.3em 0;
}

.box_col2_student dl dd ul li a{
	position:relative;
	display: grid;
	grid-template-columns: 25px 1fr;
	text-decoration: underline;
}

.box_col2_student dl dd ul li a:before{
	position:relative;
	top: 8px;
	width: 18px;
	height: 18px;
	background: url("../img/icon_star.png") no-repeat center / cover;
	content: "";
	display: grid;
	place-items: center;
	z-index: 1;
}

@media(any-hover:hover){
.box_col2_student dl dd ul li a:hover:before{
	transform: rotate(180deg);
}
}

.box_col2_student dl dd div{
	position: relative;
}

.box_col2_student .btn{
	position: absolute;
	top: -1.8em;
	right: -1em;
	width: 11em;
	padding: 5px 1.5em 5px 1em;
}

@media(any-hover:hover){
.box_col2_student .btn:hover{
	background-color: #68DADA;
	opacity: 1.0;
}
}


/*accept
--------------------------------------------*/
section:has(.box_accept_profile){
	position: relative;
	z-index: 1;
}

.box_accept_profile{
	border-radius: 10px;
	background: #26C9C9;
	display: grid;
	grid-template-columns: 1fr 1fr;
	place-content: center;
	overflow: hidden;
	box-shadow:0 0 12px rgba(0, 0, 0, .25);
}

.box_accept_profile h3{
	padding: 0 1em;
	font-size: 40px;
	color: #FFF;
	display: grid;
	place-content: center;
}

.wp-block-group{
	margin: 2em 0;
	flex-wrap: wrap!important;
	gap: 20px;
}

.wp-block-group figure{
	min-width: calc(100% / 3.2);
	flex: 1;
}

.wp-block-group figure img{
	margin: 0;
}


/*school
--------------------------------------------*/
.box_col2_school{
	margin-top: 80px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 0 80px;
}

.box_col2_school dl{
	position: relative;
}

.box_col2_school dl dt{
	position: absolute;
	top: 0;
	right: 0;
	width: 260px;
	border-radius: 10px;
	overflow: hidden;
}

.box_col2_school dl dd{
	position: relative;
	margin-right: 220px;
	z-index: 1;
}

.box_col2_school dl dd h3{
	margin: 45px auto 60px 0;
	text-align: left;
	font-size: 30px;
}

.box_col2_school dl dd h3 span{
	position: relative;
	margin-bottom: 5px;
	padding-bottom: 10px;
	border-bottom: 1px solid #26C9C9;
	font-size: 18px;
	color: #0AA6A6;
	display: block;
}

.box_col2_school dl dd h3 span:before{
	position: absolute;
	bottom: -8px;
	right: 0;
	font-size: 10px;
	color: #26C9C9;
	content: "●";
	display: block;
}

.box_col2_school .btn{
	width: 11em;
	margin: 0 auto 0 0;
	padding: 5px 1.5em 5px 1em;
}


/*archive
---------------------------------*/
.nav-links{
	position: relative;
	text-align: center;
}

.nav-links .page-numbers{
	margin: 0 3px;
	padding: 7px 12px 9px 12px;
	border-radius: 5px;
	background: #FFF;
	line-height: 1.0;
	font-size: 18px;
	color: #26C9C9;
	display: inline-block;
}

.nav-links .page-numbers:before,
.nav-links .page-numbers:after{
	display: none;
}

.nav-links .current{
	background: #26C9C9;
	color: #FFF;
}

.nav-links .next,
.nav-links .prev{
	position: relative;
	top:-3px;
	padding: 4px 15px 12px 15px;
	transform: scale(0.7, 1);
}

.nav-links .next{
	left:-0.3em;
}

.nav-links .prev{
	right:-0.3em;
}


/*detail
---------------------------------*/
section:has(.box_student_profile){
	position: relative;
	z-index: 1;
}

.box_student_profile dl{
	margin-top: 80px;
	display: grid;
	grid-template-columns: 450px 1fr;
	grid-gap: 0 70px;
}

.box_student_profile dl dt{
	border-radius: 10px;
	overflow: hidden;
}

.box_student_profile dl dd h2{
	margin-bottom: 40px;
	font-size: 50px;
	text-align: left;
}

.box_student_profile dl dd h3{
	margin-bottom: 50px;
	font-size: 40px;
}

.box_student_profile dl dd h3 span{
	position: relative;
	padding-top: 30px;
	border-top: 1px solid #26C9C9;
	font-size: 20px;
	color: #0AA6A6;
	display: block;
}

.box_student_profile dl dd dl{
	padding: 10px;
	border-radius: 10px;
	background: #F6F6F6;
	display: grid;
	grid-template-columns: 6.5em 1fr;
	grid-gap: 0;
}

.bg_post_student{
	position: relative;
	margin: -220px auto 0 auto!important;
	padding: 180px 0 100px 0;
	background: #EFF9FA;
	z-index: 0;
}

.post_student{
	width: 900px;
	margin-bottom: 80px;
	padding: 50px;
	border-radius: 10px;
	background: #FFF;
}

.post_student h2{
	position: relative;
	margin: 3em 0 0 0;
	padding-left: 1.4em;
	font-size: 32px;
	color: #26C9C9;
	text-align: left;
}

.post_student h2:nth-of-type(1){
	margin-top: 0;
}

.post_student h2:before{
	position: absolute;
	top: 0.3em;
	left: 0;
	width: 0.9em;
	height: 0.9em;
	background: url("../img/icon_star.png") no-repeat center / cover;
	content: "";
	display: block;
}

.post_student h3{
	position: relative;
	margin: 2em 0 0 0;
	background:linear-gradient(transparent 60%, #DEF5F3 60%);
	font-size: 24px;
	text-align: left;
}

.post_student h4{
	position: relative;
	margin: 2em 0 -1em 0;
	padding-left: 0.6em;
	border-left: 3px solid #26C9C9;
	font-size: 18px;
	text-align: left;
}

.post_student p,
.post_student img{
	margin: 2em auto 0.5em auto;
}

.post_student img{
	width: auto;
	max-width: 100%;
	max-height: 40em;
	border-radius: 10px;
}

.wp-block-group img{
	width: 100%;
}

.post_student p:has(small){
	margin: 0.5em 0;
}

.mb{
	margin-bottom: 3em!important;
}



















/*page top
--------------------------------------------*/
#page-top{
	position: fixed;
	right: 2%;
	z-index:999;
}

#page-top a{
	width:60px;
	height:60px;
	padding: 20px;
	border-radius: 60px;
	background: #26C9C9;
	display:block;
}

@media(any-hover:hover){
#page-top a:hover{
	opacity:0.70;
	filter: alpha(opacity=70);
}
}

#page-top a img{
	width:20px;
	height:auto;
	display:block;
}


/*footer
----------------------------------------------------*/
footer{
	position:relative;
	padding:80px 0 50px 0;
	text-align:center;
}


footer h2{
	position: relative;
	width: 180px;
	margin: 0 auto 30px auto;
}

footer h2 a{
	width: 100%;
	height: 135px;
	background:url("../img/ttl_logo.png") no-repeat center / contain;
	text-indent: -9999px;
	display:block;
}

footer h2 a.btn_insta{
	position: absolute;
	bottom: 0;
	right: -50px;
	width: 30px;
	height: 30px;
	background: none;
}

@media(any-hover:hover){
footer a:hover{
	text-decoration: underline;
}
}

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;
}