@charset "utf-8";
/*
Site Name: 
Description: gloval style
*/

/* universal reset
----------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:0;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}

*{
    box-sizing: border-box;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

textarea {
	resize: vertical;
}

q{
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

ins {
	background-color: #FF9;
	color: #000;
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

em, address{
	font-style: normal;
}

a img{
	text-decoration: none;
}

.offscreen{
	position: absolute;
	top: -9999px;
}
ul {
	text-align: left;
	padding: 0;
	margin: 0;
}
li {
	list-style-type: none;
	margin: 0;
}
h1,h2,h3,h4,h5,h6 {
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    margin: 0
}

figure {
	margin: 0;
}

/* body and base setting
----------------------------------------- */
body {
	padding: 0px;
	margin: 0px;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", 'ＭＳ Ｐゴシック', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
	color: #333333;
	text-align: center;
	font-size: 98%;
	line-height: 1.4;
	letter-spacing: 0.05em;
	/*background-image: url(../img/body_bg.gif);*/
}


/* font style
----------------------------------------- */
.lato {
    font-family: 'Lato', sans-serif;
}


/* floxbox style
----------------------------------------- */
.flex {
	display: flex;
	flex-wrap: wrap;
}

/* block style
----------------------------------------- */
.ib {
	display: inline-block;
}


/* animatuon style
----------------------------------------- */
@keyframes fadein{
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes slideInDown{
	0% {
	  -webkit-transform: translateY(-100%);
	  transform: translateY(-100%);
	  visibility: visible;
	}
	100% {
	  -webkit-transform: translateY(0);
	  transform: translateY(0);
	}
}

@keyframes fadetop{
	0% {
		opacity: 0;
		transform: translate(0, 50px);
	}
	100% {
		opacity: 1;
		transform: translate(0, 0);
	}
}
.midasi,
.c-midasi2,
.footer_contact__addhoka,
.c-midasi2b,
.c-table_wrap2__item,
.c-table_wrap_3,
.c-table_wrap5__item {
	opacity: 0;
}
.midasi.js-top,
.c-midasi2.js-top,
.footer_contact__addhoka.js-top,
.c-midasi2b.js-top,
.c-table_wrap2__item.js-top,
.c-table_wrap_3.js-top,
.c-table_wrap5__item.js-top {
	animation: fadetop 1.35s forwards;
}


/*------------------------------------------------------------------------*/
.os-item{
	opacity: 0;
}
.os-item.on-screen{
	animation: fadetop 1.35s forwards;
}

.teachers_wrap__t1 li,
.year_event__landscape li,
.c-table_wrap4 li {
	opacity: 0;
}
.teachers_wrap__t1 li.js-matr,
.year_event__landscape li.js-matr,
.c-table_wrap4 li.js-matr {
	animation: fadetop 1.35s forwards;
}


.policy_wrap__rinen.os-item.on-screen {
	animation: fadein1 1s forwards;
}
@keyframes fadein1{
	from {
		opacity: 0;
		transform: translateY(40px) scale(0.7);
		transition: 0.6s;
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}



.os-item2 {
	opacity: 0;
}
.os-item2.on-screen2 {
	animation: fadetop2 1.55s forwards;
}
@keyframes fadetop2 {
	0% {
		opacity: 0;
		transform: translate(0, 100px);
	}
	60% {
		transform: translate(0, -20px);
	}
	100% {
		opacity: 1;
		transform: translate(0, 0);
	}
}
	

.lineTrigger{
	position: relative; /* 枠線が書かれる基点*/
	opacity:0;
  }
  
  .lineTrigger.lineanime{
	  animation-name:
	  lineAnimeBase;
	  animation-duration:.5s;
	  animation-fill-mode:
	  forwards;
  }
  
  @keyframes lineAnimeBase{
	from {
	  opacity:0;
	}
  
	to {
	  opacity:1;  
  }
  }

/*上下線*/
.lineTrigger::before,
.lineTrigger::after{
  position: absolute;
  content: '';
  width:0;
  height:3px;
  background:#C15482;/* 枠線の色*/
}

/*左右線*/
.line2::before,
.line2::after{
  position: absolute;
  content: '';
  width: 3px;
  height:0;
  background:#C15482;/* 枠線の色*/
}

/*上線*/
.lineTrigger::before {
	top:0;
	left:0;
}

.lineTrigger.lineanime::before {
	animation: lineAnime .5s linear 0s forwards;/*表示されて0秒後に上線が0.5秒かけて表示*/
}

/*右線*/
.line2::before{ 
	top:0;
	right:0;
}

.lineTrigger.lineanime .line2::before {
	animation: lineAnime2 .5s linear .5s forwards;/*表示されて0.5秒後に右線が0.5秒かけて表示*/
}

/*下線*/
.lineTrigger::after { 
	bottom:0;
	right:0;
}

.lineTrigger.lineanime::after {
	animation: lineAnime .5s linear 1s forwards;/*表示されて1秒後に下線が0.5秒かけて表示*/
}

/*左線*/
.line2::after{ 
	bottom:0;
	left:0;
}

.lineTrigger.lineanime .line2::after {
	animation: lineAnime2 .5s linear 1.5s forwards;/*表示されて1.5秒後に左線が0.5秒かけて表示*/
}

@keyframes lineAnime {
	0% {width:0%;}
    100%{width:100%;}
}

@keyframes lineAnime2 {
	0% {height:0%;}
    100%{height:100%;}
}

/*枠線内側の要素*/

.lineTrigger.lineanime .lineinappear{
	animation: lineInnerAnime .5s linear 1.5s forwards;/*1.5秒後に中央のエリアが0.5秒かけて表示*/
	opacity: 0;/*初期値を透過0にする*/	
}

@keyframes lineInnerAnime{
	0% {opacity:0;}
    100% {opacity:1;}
}







.title-ef .singleLetter,
.title-ef2 .singleLetter2 {
    opacity: 0;
    transform: translateY(50%);
    transition: all 1s ease !important;
    display: inline-block;
}
.title-ef .singleLetter.on,
.title-ef2 .singleLetter2.on {
    opacity: 1;
    transform: translateY(0);
}





a.img {
    overflow: hidden;
    display: block;
}
a.img img{
	width: 100%;
	transition: .3s;
}

a.img:hover img{
	transform: scale(1.2);
}

/**/


/* general style
----------------------------------------- */
html{
	overflow-y: scroll!important;
	overflow-x: auto;
}
p {
	padding: 0;
	margin: 0;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.8;
}
img {
	max-width: 100%;
	height: auto;
	width /***/:auto;
	vertical-align: middle;
	/*vertical-align: bottom;*/
}
strong{
	font-weight: bold;
    color: #E70012;
}
span{
	font-weight: normal;
}
span.required{
	float: right;
	clear: right;
	color: #FFFFFF;
	font-size: 75%;
	font-weight: normal;
    margin-right: 5px;
    padding: 1px 2px;
	background-color: #CC3333;
    border: #CC3333 solid 1px;	
}
form label.error{
	font-size: 80%;
	color: #FFF;
	padding: 2px 5px;
	background-color: #FF0000;
	display: block;
}

#menu-trigger{
	width: 40px;
	height: 40px;
	background-color: #333;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 9999;
	display: none;
	cursor: pointer;
}
#menu-trigger a,
#menu-trigger a span{
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
#menu-trigger a{
	width: 20px;
	height: 16px;
	position: absolute;
	top: 12px;
	right: 10px;
}
#menu-trigger a span{
	width: 100%;
	height: 1px;
	background-color: #FFF;
	position: absolute;
	left: 0;
}
#menu-trigger a span:nth-of-type(1) {
	top: 0;
}
#menu-trigger a span:nth-of-type(2) {
	top: 8px;
}
#menu-trigger a span:nth-of-type(3) {
	bottom: 0;
}
#menu-trigger.open a span:nth-of-type(1) {
	-webkit-transform: translateY(7px) rotate(-45deg);
	transform: translateY(7px) rotate(-45deg);
}
#menu-trigger.open a span:nth-of-type(2) {
	opacity: 0;
}
#menu-trigger.open a span:nth-of-type(3) {
	-webkit-transform: translateY(-7px) rotate(45deg);
	transform: translateY(-7px) rotate(45deg);
}

#topcontrol{
    padding: 10px;
	background: rgba(204,204,204,0.4);
}


/* link style
----------------------------------------- */
a {
	color: #E70012;
	text-decoration: none;
	transition: .2s;
	font-weight: 400;;
}
a:hover{
		text-decoration: none !important;
}
a.btn.black{
    background-color: #111111;
}
a.btn.black:hover{
    background-color: #333333;
}
@media all and (max-width: 640px){
#main a.btn{
	min-width: auto;
	display: block;
}	
}
@media all and (min-width: 641px){
a[href^="tel:"] {
	color: #333;
	text-decoration: none;
    pointer-events: none;
}
}



/* Embedded content
 * ========================================================================== */

/*
 * Change the alignment on media elements in all browsers (opinionated).
 */

 :where(audio, canvas, iframe, img, svg, video) {
	vertical-align: middle;
  }
  
  /**
   * Remove the border on iframes in all browsers (opinionated).
   */
  
  :where(iframe) {
	border-style: none;
  }
  
  /**
   * Change the fill color to match the text color in all browsers (opinionated).
   */
  
  :where(svg:not([fill])) {
	fill: currentColor;
  }

/* layout parts
----------------------------------------- */
.display-pc{
	display: inherit;
}
.display-sp{
	display: none;
}
.clear {
	overflow: hidden;
	clear: both;
}
.center {
	text-align: center;
}
.right {
	text-align: right;
}
.left {
	text-align: left;
}
img.left,
img.alignleft,
figure.left{
	float: left;
	clear: both;
	margin-right: 15px;
	padding-bottom: 15px;
}
img.center,
img.aligncenter,
figure.center{
	clear: both;
	padding-bottom: 15px;
	display: block;
	text-align: center;
	margin-right: auto;
	margin-left: auto;
}
img.right,
img.alignright,
figure.right{
	float: right;
	clear: both;
	margin-left: 15px;
	padding-bottom: 15px;
}
@media all and (max-width: 1090px){
#menu-trigger{
	display: block;
}
}
@media all and (min-width: 811px){
}
@media all and (max-width: 810px){
}
@media all and (max-width: 640px){
.display-pc{
	display: none;
}
.display-sp{
	display: inherit;
}
}
