@charset "UTF-8";

/* ---------------------------------------------------------------------------
  ★共通
--------------------------------------------------------------------------- */
:root{
  scroll-padding-top: 125px;
}
html {font-size: 62.5%;scroll-behavior: smooth;}
body{  
  font-size: 1.6rem;
}
object {pointer-events: none;}
.sp {display: none !important;}
a[href^="tel:"] {pointer-events: none;}
a {
    text-decoration: none;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.pcFlex{display: flex;}
.pcFlex.half{
 justify-content: space-between;
}
.pcFlex.half >*{
 width: 47.6%;
}
.img_r {overflow: hidden;}
.img_r>img {float: right;
    width: 33%;
    margin-left: 15px;
    margin-bottom: 15px;
}
p,li,dt,dd,th,td,input{
  font-size: 1.6rem;
}
h1,h2,h3,h4,h5,h6 {
  font-size: 1.6rem;
}

section{
  padding: 100px 0;
}

/*
　テキスト
========================================== */
.note{
  font-size: 1.2rem;
}

/*
　ボタン,リンク
========================================== */

.linkListWrap{
	flex-wrap: wrap;
	gap: 20px;
}
.linkListWrap li{
	width: calc((100% - 20px)/2);
}

.icOther::after{
	background: url("../images/ic_other.svg") no-repeat left top / 100% auto;
}

/*-- table --*/
.basicTable >dt,
.basicTable >div>dt{
	padding: 15px 2.5%;
	width: 23%;
}
.basicTable >dd,
.basicTable >div>dd{
	padding: 15px 2.5%;
	width: 77%;
}
.basicTable >dt:last-of-type{
	border-bottom: none;
}
 .basicTable >dd:last-of-type{
	border-bottom: none;
}

table.basicTable thead th{
	font-size: 1.8rem;
}

/* =======================================
  ページャー
========================================== */
/*-- pageNavi --*/
.pageNavi{
	gap:0 1.5%;
 margin-top: 80px;
}
.pageNavi .current,
.pageNavi .inactive,
.pageNavi a{
	font-size: 1.8rem;
	width: 40px;
	height: 40px;
}
/*-- pager --*/
.pager{
	margin-top: 50px;
}
.pager a{
font-size: 1.6rem;
  width: 200px;
}

/* =======================================
	header
========================================== */
header{
 height: 120px;
}
header >div{
 position: static !important;
 height: 120px;
 align-items: center;
}
/* =======================================
	gnavi
========================================== */

.gnavi{
 position: absolute;
 right: 0;
 top: 0;
 align-items: center;
}

#gnaviList{
 flex: 1;
 justify-content: flex-end;
 align-items: center;
 gap: 0 min(2.8vw,40px);
}

#gnaviList li{
}
#gnaviList > li{
 position: relative;
}
#gnaviList > li >a{
 display:flex;
 align-items: center;
 height: 48px;
 font-size: min(1.3vw,1.6rem);
 font-weight: 700;
 white-space: nowrap;
}
#gnaviList > li >a[href="javascript:void(0)"] {
	cursor: default;
}

#gnaviList li.current a,
#gnaviList li a:hover{
 opacity: .7;
}

#gnaviList .hasSub > a{
 position: relative;
}
/*#gnaviList .hasSub > a::after{
 content: "";
 display: inline-block;
}*/

.gnavi .hasSub:hover .sub{
	display: block;
	visibility: visible;
}


#gnaviList .sub{
	display: none;
	visibility: hidden;
	position: absolute;
 top: calc(100% - 1px);
 left: 50%;
 transform: translate(-50%, 0);
	z-index: 2;
	transition: all 0.6s ease-in-out;
 background: rgba(255,255,255,.8);
 min-width:100px;
}
#gnaviList .hasSub:hover .sub{
	display: block;
	visibility: visible;
}
#gnaviList .sub li{
	font-size: min(1.0vw,1.4rem);
}
#gnaviList .sub li + li{
 border-top: 1px #fff solid;
}
#gnaviList .sub li a{
	display: block;
 background: var(--yellow);
	padding: 8px 15px 10px;
 color: var(--base);
 text-align: center;
	white-space: nowrap;
}
#gnaviList .sub li a:hover{
 opacity: .7;
}
#gnaviList .contact{
 margin-left:-10px;
}
#gnaviList .contact a{
 width: min(11vw,120px);
}




/* =======================================
	footer/#footContact
========================================== */

#footContact .pcFlex{
 justify-content: center;
}
#footContact .pcFlex > dl{
 width: 33%;
 max-width: 347px;
 padding: 0 5px;
}
#footContact dl + dl{
 border-left: 1px #fff solid;
}
/* =======================================
	footer/#footBottom
========================================== */
#footBottom .inner1200.pcFlex{
  justify-content: space-between;
}
footer a:hover{
 opacity: .7;
}

.footerRight{
 width: 80%;
 max-width: 810px;
 display: flex;
 justify-content: end;
 align-items: flex-start;
 align-content:flex-start;
 flex-flow: row wrap;
 gap: 20px min(5vw,72px);
 margin-top: 45px;
 line-height: 1.4;
}
.footerNavi >li{
 font-size: 16px;
 font-weight: 700;
}

.footerNavi >li + li{
  margin-top: 15px;
}
.footerNavi ul{
 margin-top: 15px;
 font-weight: 500;
}
.footerNavi ul li + li{
 margin-top: 10px;
}
.footerNavi ul li a::before{
 content: "・";
 display: inline-block;
 margin-right: 5px;
}
.footerRight > p{
 width: 100%;
}
.footerRight > p a{
 display: block;
 width: 320px;
 margin: 0 0 0 auto;
}

/* =======================================
	pgs common
========================================== */
.mainTitle{
	height: 180px;
}
/**/
.bgLead{
	margin-top: 140px;
	padding-top: 0;
}
.bgLead::before{
	top: -140px;
}
.bgLead .leadTxt{
	margin-bottom: 30px;
}
/*		anchorLink
-----------------------------*/
.anchorLink{
	padding: 50px 0;
	gap:0 1.8%;
	justify-content: center;
}
.anchorLink ul{
	padding: 35px 0;
	gap:15px 20px;
}
.pageLinks{
	gap:15px 30px;
	padding: 35px 0 ;
}
.pageLinks ul{
	gap:15px 20px;
}
.anchorLink li,
.pageLinks li{
	flex: 1;
	height: 50px;
}
.anchorLink a,
.pageLinks li a{
	padding: 8px 10px;
}
.anchorLink + section{
	padding-top: 65px;
}

main .pageLinks:last-of-type li{
 height: 100px;
 font-size: 2rem;
 line-height: 1.5;
}

.pgs .linkListWrap{
	justify-content: center;
	margin: 100px auto;
}
.pgs .linkListWrap li{
	width: calc((100% - 40px)/3);
}
/* =======================================
	top PC
========================================== */

/*		#mv PC
-----------------------------*/
#mv{
	margin-top: max(calc(30/1400*-100vw),-30px);
}
#mv_txt{
	width: calc((768 + 29)/1400*100%);
	padding-left: calc(29/1400*100vw);
}
#mv_img{
	width: calc((538 + 83)/1400*100%);
	padding-right: calc(83/1400*100vw);
}
#mv_img img{
}


/*		#topOpemcampus PC
-----------------------------*/
#topOpemcampus ul li{
  flex: 1;
}


/*		#topDepartment PC
-----------------------------*/
#topDepartment{}
.departmentDlWrap{
	gap: 0 5.7%;
}


.topDepartmentBnr a{
	display: flex;  
	align-items: center;
	justify-content: space-between;
}
.topDepartmentBnr + .topDepartmentBnr{
	margin-top: 59px;
}
.topDepartmentBnr:nth-of-type(odd) a{
	flex-direction: row-reverse;
}
.topDepartmentBnr a .img{
	flex: 1;
}
.topDepartmentBnr:nth-of-type(odd) a .img img{
	margin-left: auto;
}
.topDepartmentBnr a .icArrow{
	width: calc((348 / 680)*100%);
  padding-right: 1.8em;
}
.topDepartmentBnr:nth-of-type(even) a .icArrow{
	margin-right: calc(40/680*100%);
}
.topDepartmentBnr:nth-of-type(odd) a .icArrow{
	margin-left: calc(40/680*100%);
}



/*		#topReason PC
-----------------------------*/
#topReason ul.pcFlex{
	gap: 0 3.8%;
}
#topReason li{
	flex: 1;
	display: flex;
	flex-direction: column;	
}
#topReason li figure{
	margin-top: auto;
}

/*		#topAdmission PC
-----------------------------*/
#topAdmission{

}

/*		#topInformation PC
-----------------------------*/
#topInformation{

}
#topInformation ul.pcFlex{
	gap: 0 3.8%;
}
#topInformation ul li{
	flex: 1;
}

/*		#topNews PC
-----------------------------*/
#topNews{
}
.newsList li p{
  flex: 1;
}

/*		#topBtnArea PC
-----------------------------*/
#topBtnArea{
  
}
.topBnrList{
	gap: 0 3.8%;  
}
.topBnrList li{
	flex: 1;
}

/* =======================================
	reason PC
========================================== */
#reasonMain div.pcFlex{
 justify-content: space-between;
}
#reasonMain div.pcFlex figure{
 width: 48%;
}
#reasonMain div.pcFlex .txts{
 width: 46%;
}
#reasonMain ul.pcFlex{
 justify-content: space-between;
}
#reasonMain ul.pcFlex >li{
 width: 30%;
}
#reasonFuture .h3Tit{
	margin-bottom: 40px;
}
#reasonFuture .h3Tit > span{
	padding: 0 135px 20px;
}
#reasonFuture .h3Tit > span::before{
	left: 27px;
	bottom: -30px;
  width: 90px;
  height: 74px;
}
#reasonMain .h4Tit .num{
 font-size: 6rem;
}
#reasonFuture p{
	font-size: min(calc(18 / 600 * 100vw), 1.8rem);
}
/* =======================================
   guide PC
========================================== */
 #greeting .pcFlex{
  justify-content: space-between;
 }
 #greeting .txts{
  width: 55%;
 }
 #greeting figure{
  width: 40%;
 }
 #schoolMotto ul{
	gap: 2%;
}
#schoolMotto ul li{
  padding: 25px 2%;
  font-size: min(calc(18 / 560 * 100vw), 1.8rem);
	width: 32%;
}
#schoolMotto ul li dt,
#schoolMotto ul li dd{
	width: 100%;
}
#schoolMotto dl dt{
	font-size: 4.5rem;
	margin-bottom: 25px;
}
#schoolMotto dl dd{
	font-size: 1.8rem;
}

#goals p{
	font-size: 1.8rem;
	line-height: 2.5;
	padding: 40px 7%;
	text-align: center;
}

#greeting .h4Tit{
	margin-bottom: 10px;
	padding: 30px 0;
}
#greeting .right{
 	font-size: 2.5rem;
}
 
/* =======================================
   information PC
========================================== */
.pdfList li a,
a.pdfLink{
	background: url("../images/ic_pdf.png") no-repeat 95% center/22px auto, #fff;
 padding: 10px 55px 10px 20px;
}

#evaluation .pdfList,
#studySupport .pdfList.pcFlex,
#professionalPractice .pdfList{
	flex-wrap: wrap;
	gap: 15px 20px;
}
#gakuen .pdfList li,
#evaluation .pdfList li,
#studySupport .pcFlex > li{
	width: calc((100% - 40px) / 3);
}
#gakuen .pdfList{
	flex-wrap: wrap;
	gap: 20px 20px;
}
#gakuen .pdfList li a{
 font-size: 2.2rem;
}

#information .js-acc{
 padding: 5px 50px 8px 20px;
 font-size: 2rem;
}

#evaluation dl{
 margin: 40px 0 0;
}
#evaluation dl + h4{
 margin-top: 60px;
}

#professionalPractice h4{
 margin-top: 60px;
}
#professionalPractice div.pcFlex{
	gap: 0 20px;
}
#professionalPractice dl{
	width: calc((100% - 20px) / 2);
}
#professionalPractice .pdfLink{
 max-width: 450px;
 font-size: 1.8rem;
}
#professionalPractice .pdfList li{
	width: calc((100% - 20px) / 2);
}

#studySupport h4{
 margin-top: 60px;
}
#studySupport dl{
	padding: 20px 5%;
	width: calc((100% - 20px) / 2);
}
#studySupport .pcFlex > li{
 font-size: 1.8rem;
}
#studySupport dd .pdfList li{
	margin-bottom: 15px;
}
#studySupport ul.pdfList.bgW{
	padding: 30px 5% 20px;
}

/* =======================================
 care-worker / judo-therapist
========================================== */
#leadArea .supportList{
	margin-top: 60px;
	padding: 30px;
}
#leadArea .supportList ul.flexWrap{
	gap: 0 5%;
}
#leadArea .supportList ul.flexWrap li{
	font-size: 1.8rem;
	width: min(20vw, 230px);
}
#leadArea .supportList ul.flexWrap li .btn{
	font-size: 1.4rem;
	margin: 10px auto 0;
	width: min(90%, 180px);
	min-height: 40px;
}
#care-worker #leadArea p,
#judo-therapist #leadArea p{
	margin-bottom: 1.5em;
	text-align: center;
}
.certification{
	padding: 0 3% 40px;
}
.certification .h4Tit{
	margin: -1em auto 45px;
	padding: 0.25em 1.5em;
	width: min(38vw,500px);
}
.checkList{
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 0 3.7%;
}
.checkList li{
	background: url("../images/ic_check.svg") no-repeat left top/ 30px auto;
 	padding: 0 0 0 35px;
	font-size: 1.8rem !important;
}
#about .h4Tit,
#curriculum .h4Tit{
	padding: 10px 10% 30px 0;
}

/* =======================================
  care-worker
========================================== */
#system > div{
	padding: 30px;
}
#system p:not(.note){
	text-align: center;
}
#system dl,
#system .note{
	margin: 0 25%;
}
#system .note{
	font-size: 1.4rem;
}
/* =======================================
  judo-therapist PC
========================================== */
#techniques ul{
 flex-flow: row wrap;
 gap:40px 4%;
margin-top: 40px;
	padding: 30px;
}
 #techniques ul li{
  width: 48%;
 } 
 

/* =======================================
  osteopathic PC
========================================== */
 #osteopathicLead ul,
 #osteopathicFeatures ul{
  justify-content: space-between;
 }
#osteopathicLead ul li{
 width: 30%;
}
 #osteopathicFeatures ul li{
  width: 29.4%;
 }
#equipmentTreatment .pcFlex{
 justify-content: space-between;
}
 #equipmentTreatment .pcFlex figure{
  width: 45%;
 }
 #equipmentTreatment .pcFlex .txts{
  width: 50%;
 }
 #osteopathicFavor .pcFlex{
  justify-content: space-between;
 }
 #osteopathicFavor .pcFlex figure{
  width: 35%;
 }
 #osteopathicFavor .pcFlex .txts{
  width: 60%;
 }
 #director .pcFlex{
  justify-content: space-between;
  align-items: center;
 }
 #director .txts{
  width: 55%;
 }
 #director figure{
  width: 40%;
 }


/* =======================================
 		opencampus PC
========================================== */
#opencampus .mv figcaption{
	font-size: 5rem;
	margin: 0 auto 0;
	padding: 20px 30px 170px;
}
#opencampusDate{
	margin-top: -10px;
}
#opencampusDate .bgLblue{
	padding: 40px min(calc(80/1400*100vw), 80px) min(calc(80/1000*100vw), 40px);
}
#opencampusDate .bgLblue > ul{
	position: relative;
}
#opencampusDate .bgLblue > ul::before{
	content: "";
	background: var(--gray);
	display: block;
	width: 1px;
	height: 100%;
	position: absolute;
	left: 50%;
}
#opencampusDate ul.colm2{
	position: relative;
  column-gap: 8%;
  columns: 2;
}
#opencampusDate ul li{
	font-size: 2rem;
}
#experience .pcFlex:not(:first-of-type){
	margin-top: 80px;
}
#experience .h4Tit{
	font-size: 3rem;
}
#experience .h4Tit .num{
	font-size: 3rem;
	line-height: 1;
	width: 2em;
	height: 2em;
}
#experience .txts .txt{
	padding: 30px;
}
#timeSchedule .leadTxt{
		margin-top: 40px;
		margin-bottom: 40px;
		padding-top: 40px;
}
#timeSchedule .leadTxt::after{
	width: 30px;
	height: 30px;
	left: calc(50% - 15px);
	top: -17px;
}
#timeSchedule .h4Tit{
	margin-top: 30px;
}
#timeSchedule ol::before{
	height: 90%;
}
#timeSchedule ol li + li{
	margin-top: 50px;
}




/* =======================================
 Support  PC
========================================== */


 #tuitionSupport ul.pcFlex{
  justify-content: center;
  gap:0 3%;
 }
#tuitionSupport ul.pcFlex li{
	border-radius: 20px;
}
#tuitionSupport ul.pcFlex.colum3 li{
 width: 30%;
}
#tuitionSupport ul.pcFlex li h6{
	border-radius: 20px 20px 0 0
}
#tuitionSupport ul.pcFlex li p:not(.support){
 margin: 0 20px 20px;
}
#tuitionSupport ul.pcFlex li.w50p{
	width: 50%
}
#tuitionSupport .radius{
	border-radius: 20px
}
#tuitionSupport .links{
 display: flex;
	flex-wrap: wrap;
  gap: 10px 20px;
	margin: 0 15px
}
#tuitionSupport .links li{
	width: calc(50% - 10px)
}

/* =======================================
 path  PC
========================================== */
.pathBox{
	border-radius: 20px;
	margin-bottom: 50px
}
.pathBox h4{
	border-radius: 18px 18px 0 0;
}
.pathBox h5{
	margin: 0 50px 30px;
}
.pathBox > p,
.pathBox > ul,
.pathBox .detail{
	margin: 0 50px 30px
}

.pathBox .detail{
	gap:50px;
	align-items: center;
}

.pathBox .detail > p{
	text-align: center;
	width: 60%
}
.pathBox .detail > p img{
	max-height: 356px;
	margin: auto
}

.pathBox .detail > div .per{
	font-size: 2.6rem
}

.pathBox .detail > div .per span{
	font-size: 7rem
}
.pathBox .detail > div dt{
	font-size: 2.4rem;
	margin-bottom: 10px;
}
.pathBox .detail > div dd li{
	border-radius: 20px;
	padding: 20px;
	font-size: 2rem;
}

.pathBox .detail > div dd li span{
	font-size: 4rem
}

/* =======================================
  graduate PC
========================================== */
#graduateBenefits .contacts{
	width: 45%;
		margin-left: 1.2em;
}
#graduateBenefits .h4Tit + p {
  margin-left: 1.2em;
}
#graduateBenefits .contacts dt,
	#graduateBenefits .contacts dd{
			font-size: 2rem;
	}
#graduateCertificates .graduateCertificatesBox{
	margin-top: 60px;
	padding: 40px;
	border-radius: 20px;
}

/* =======================================
   international PC
========================================== */
#internationalVoice div.bgW{
	padding: 30px 3%;
}
#internationalVoice div.bgW + .bgW{
	margin-top: 40px;
}
#internationalVoice .txts .h4Tit{
	margin-bottom: 0;
	padding: 10px 10% 30px 0;
}
 #internationalVoice .flow li{
  width: calc((100% - 4%*3)/4);
	 padding: 20px 2%;
}
 #internationalVoice .flow li:has(+li){
  margin-right: 4%;
 }
#internationalVoice .flow li:has(+li)::after{
	width: 18px;
	height: 24px;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	top: calc(50% - 12px);
	right: -35px;
}
 #internationalCurriculum ul,
 #internationalSupport ul{
  justify-content: space-between;
 }
 #internationalCurriculum li,
 #internationalSupport li{
  width: 30%;
 }
#internationalResult .leadTxt{
	font-size: 2.4rem;
	margin-bottom: 40px;
}
#internationalResult p{
	font-size: 1.6rem;
}
 #internationalResult ul{
  justify-content: center;
  gap:0 4%;
 }
 #internationalResult li{
  width: 40%;
 }
 #internationalResult li img{
 	width: min(33vw,330px);
 }
#internationalVoice .txts .h4Tit{
	padding: 10px 10% 30px 0;
}
 
/* =======================================
  reskilling pc
========================================== */
#leadArea p{
	margin-bottom: 1.5em;
  text-align: center;
}
 #reskillingReason ul{
  justify-content: space-between;
 }
#reskillingPeople ul{
	padding: 50px 12%;
}
#reskillingPeople ul::after{
	width: 110px;
	height: 114px;
	right: -30px;
	top: -30px;
}
 #reskillingPeople ul li {
    font-size: min(calc(18 / 600 * 100vw), 1.8rem);
  }
 #reskillingReason ul li{
  width: 30%;
 }
#reskillingReason ul li .btnWrap{
	margin-top: 20px;
}
#reskillingFlow .h4Tit{
	width: 120px;
	height: 120px;
	margin: -50px auto 20px;
}
 #reskillingFlow ul {
  justify-content: space-between;
 }
 #reskillingFlow ul li{
  width: calc(50% - 40px);
 }
#reskillingFlow ul li + li::before{
 background-color: var(--blue);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
 position: absolute;
 left: -50px;
}
#reskillingFeature .h4Tit{
	padding: 10px 10% 30px 0;
}
 
/* =======================================
   company PC
========================================== */

 #companyTraining ul{
  justify-content: center;
  gap:0 50px;
 }
 #companyTraining ul li{
  width: 40%;
 }
 #companyJobPostings .pcFlex{
  justify-content: space-between;
  align-items: center;
 }
 #companyJobPostings .pcFlex > a{
  width: 45%;
 }
 #companyJobPostings .pcFlex .txts{
  width: 50%;
 }
#companyJobPostings .txtBox > p{
	margin-bottom: 1.5em;
	text-align: center;
}
#companyJobPostings .txtBox > div{
	padding: 20px;
}
#companyConsultation p{
	font-size: min(calc(18 / 600 * 100vw), 1.8rem);
  }
#companyJobPostings .txtBox{
	margin-top: -50px;
	padding: 50px 3% 40px;
}
#companyConsultation .h3Tit{
	margin-bottom: 40px;
}
#companyConsultation .h3Tit > span{
	padding: 0 135px 20px;
}
#companyConsultation .h3Tit > span::before {
	left: 27px;
	bottom: -30px;
	width: 90px;
	height: 74px;
}
 
/* =======================================
  admission PC
========================================== */

#admissionRecommend h4,
#admissionSchedule h4{
	margin-bottom: 15px;
}

#admissionEligibility ol{
	border-radius: 20px
}


/* =======================================
    PC
========================================== */


/* =======================================
	news PC
========================================== */
/*		一覧
-----------------------------*/
.newsBox .pcFlex{
 justify-content: space-between;
}
.newsBox figure{
 width: 30%;
}
.newsBox .txts{
 width: 66%;
}

/*	詳細　single
-----------------------------*/
article{
 padding: 100px 0;
}
#newsDetail h3{
	font-size: 2.4rem;
}
.newsDetailCont:has(figure){
 display: flex;
		flex-direction: row-reverse;
	gap: 40px;
}
.newsDetailCont:has(figure) figure{
	width: 400px;
	text-align: center;
}
.newsDetailCont:has(figure) figure img{
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.newsDetailCont:has(figure) .txts{
	flex: 1;
}
.newsDetailCont p:not(:last-child) {
    margin-bottom: 15px;
}

/* =======================================
	materials
========================================== */
#materials .basicTable dt{
 width: 26%;
}
#materials .basicTable dd{
 width: 74%;
}
#materials .basicTable dd.pcFlex{
 display: flex;
 gap:0 20px;
}

/* =======================================
	form
========================================== */
.formArea .basicTable input[type=text],
.formArea .basicTable input[type=email],
.formArea .basicTable input[type=tel],
.formArea .basicTable select{
	padding: 8px;
	width:100%;
}
.formArea .basicTable textarea{
	padding: 8px;
	width: 100% !important;
}
.confirm {
		margin-top: 40px;
}


/* =======================================
	thanks
========================================== */

#thanks{
}

#thanks p{
  font-size: 1.8rem;
}

/* =======================================
	privacypolicy
========================================== */
#privacyPolicy{
	margin-top: 50px;
}
.policyBox{
	padding: 20px 2%;
}
.policyBox .h5Tit{
	margin-top: 40px;
}


