@charset "utf-8";

html,
body{
	font-family: "YuGothic", "Yu Gothic Medium", "Yu Gothic", sans-serif;
	font-feature-settings:"palt";
	width:100%;
	font-size:1em;
	line-height:1.8;
	letter-spacing:0.08em;
	color:var(--base-color);
	text-align:center;
	min-width:1280px;
	-webkit-text-size-adjust:100%;
  background-color:#FFF;
	overflow-wrap:break-word !important;
	word-wrap:break-word !important;
}

.size120{font-size:1.2em; line-height:160%;}
.size110{font-size:1.1em; line-height:160%;}
.size90{font-size:0.9em; line-height:170%;}
.size85{font-size:0.85em; line-height:170%;}
.size80{font-size:0.8em; line-height:170%;}

.mt0{margin-top:0px !important;}
.mt5{margin-top:5px !important;}
.mt10{margin-top:10px !important;}
.mt15{margin-top:15px !important;}
.mt20{margin-top:20px !important;}
.mt25{margin-top:25px !important;}
.mt30{margin-top:30px !important;}
.mt35{margin-top:35px !important;}
.mt40{margin-top:40px !important;}
.mt45{margin-top:45px !important;}
.mt50{margin-top:50px !important;}

.mb0{margin-bottom:0px !important;}
.mb5{margin-bottom:5px !important;}
.mb10{margin-bottom:10px !important;}
.mb15{margin-bottom:15px !important;}
.mb20{margin-bottom:20px !important;}
.mb25{margin-bottom:25px !important;}
.mb30{margin-bottom:30px !important;}
.mb35{margin-bottom:35px !important;}
.mb40{margin-bottom:40px !important;}
.mb45{margin-bottom:45px !important;}
.mb50{margin-bottom:50px !important;}

.w160{width:160px;}
.w180{width:180px;}
.w200{width:200px;}
.w240{width:240px;}
.w280{width:280px;}
.w300{width:300px;}
.w320{width:320px;}
.w340{width:340px;}
.w360{width:360px;}
.w380{width:380px;}
.w400{width:400px;}
.w420{width:420px;}

.mincho{
	font-family:"YuMincho", "Yu Mincho Medium", "Yu Micho", serif;
}
.eng{
	font-family:"Roboto", sans-serif;
	font-weight:400;
}

a{
	color:#1170a4;
	text-decoration:none;
}
a:hover{
	text-decoration:underline;
}

a.tel-link{
	color:#111;
	text-decoration:none;
	pointer-events:none;
}
a.pdf-link::after,
a.excel-link::after,
a.word-link::after{
	content:"";
	background-repeat:no-repeat;
	background-position:center center;
	background-size:contain;
	display:inline-block;
	margin:0 0 0 4px;
	width:20px; height:20px;
	position:relative;
	top:3px;
}
a.pdf-link::after{
	background-image:url(../../img/svg/icon_pdf.svg);
}
a.excel-link::after{
	background-image:url(../../img/svg/icon_xls.svg);
}
a.word-link::after{
	background-image:url(../../img/svg/icon_doc.svg);
}
a.website-link::after{
	content:"";
	background:url(../../img/svg/link.svg) no-repeat center center;
	background-size:auto 16px;
	display:inline-block;
	margin:0 0 0 4px;
	width:16px; height:16px;
	position:relative;
	top:2px;
}

.left,
.alignleft{
	float:left;
	margin:0 25px 25px 0;
}
.right,
.alignright{
	float:right;
	margin:0 0 25px 25px;
}
.aligncenter{
	margin:0 auto 20px auto !important;
	text-align:center !important;
	display:inlne-block;
}

.flex{display:flex;}
.flex-between{justify-content:space-between;}
.flex-center{justify-content:center !important;}
.flex-wrap{flex-wrap:wrap;}

.hissu{color:#FF0000 !important;}
.pc-block{display:block !important;}
.pc-none{display:none !important;}
.schema-data{display:none !important;}

/* form reset
++++++++++++++++++++++++++++++*/
input[type="text"],
input[type="number"],
input[type="tel"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="submit"],
select,
textarea{
	box-sizing:border-box;
	width:100%;
	margin:0; padding:0;
	outline:none;
	-webkit-appearance:none;
	appearance:none;
	border:1px solid #CCC;
	background-color:#F9F9F9;
}
input[type="text"],
input[type="number"],
input[type="tel"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="submit"],
select{
	height:42px;
	font-size:15px; line-height:40px;
	color:#444;
	text-indent:0.5em;
}
input[type="submit"]{
	text-indent:0;
}
select::-ms-expand{
  display: none;
}
select:-moz-focusring{
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}
textarea{
	height:200px;
	padding:10px;
}

.select-wrapper{
	box-sizing:border-box;
	height:42px;
	overflow:hidden;
	background:#fff;
	border:1px solid #CCC;
	position:relative;
	background-color:#F9F9F9;
}
.select-wrapper select{
	width:110%;
	border:none;
	background:transparent;
	position:relative; z-index:2;
}
.select-wrapper::before{
	content:"";
	border-top:6px solid var(--main-color);
	border-left:6px solid transparent;
	border-right:6px solid transparent;
	position:absolute;
	top:50%; right:10px;
	transform:translateY(-50%);
}

input:focus::-webkit-input-placeholder{color:transparent !important;}
input:focus::-moz-placeholder{color:transparent !important;}
input:focus::-ms-input-placeholder{color:transparent !important;}
input:focus::placeholder{color:transparent !important;}

/* side fixed button */
ul#side-fixed-button{
	position:fixed;
	top:50%; right:0px; z-index:1000;
	transform:translateY(-50%);
	-webkit-writing-mode:vertical-rl;
	-ms-writing-mode:tb-rl;
	writing-mode:vertical-rl;
}
ul#side-fixed-button li{
}
ul#side-fixed-button li a{
	display:block;
	width:15px; height:128px;
	background:#304c93;
	padding:42px 18px 25px 18px;
	border-radius:5px 0 0 5px;
	position:relative;
}
ul#side-fixed-button li a::before{
	content:"";
	width:15px; height:15px;
	background-image:url(../../img/svg/member_white.svg);
	background-size:15px auto;
	position:absolute;
	top:20px; left:18px;
}
ul#side-fixed-button li a img{
	width:15px; height:auto;
}


/* initialize
++++++++++++++++++++++++++++++*/
*{margin:0; padding:0; font-style:normal;}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section{
	display: block;
}

img{border:none; display:block;}

.left{float:left; display:inline;}
.left img{margin-right:20px;}

.right{float:right; display:inline;}

.align-left{text-align:left;}
.align-right{text-align:right;}
.align-center{text-align:center;}

.clear{clear:both; display:block;}

li{list-style:none;}


/* clearfix
++++++++++++++++++++++++++++++*/
.clearfix:after{
	content:" ";
	display:block;
	clear:both;
	height:0;
	visibility:hidden;
}

.clearfix{display:inline-block;}

/* Hides from IE-mac */
* html .clearfix{height:1%;}
.clearfix{display:block;}
/* End hides from IE-mac */


#scrollUp{
	box-sizing:border-box;
	width:68px; height:48px;
	bottom:0px; right:0px;
	background-color:#CCC;
	background-image:url(../../img/svg/pagetop.svg);
	background-repeat:no-repeat;
	background-position:center center;
	background-size:32px auto;
	text-indent:-9999px;
}
a#scrollUp:hover{border:none;}

#loading{
	width:100%;
	background:#FFF;
	position:fixed;
	top:0; left:0;
	overflow:hidden;
}
#loading #loading-logo{
	width:330px;
	position:fixed;
	top:40%; left:50%;
	transform:translateX(-50%);
}


.bgextend{
	animation-name:bgextendAnimeBase;
	animation-duration:0.4s;
	animation-fill-mode:forwards;
	position: relative;
	overflow: hidden;/*　はみ出た色要素を隠す　*/
	opacity:0;
}
@keyframes bgextendAnimeBase{
  from {
    opacity:0;
  }
  to {
    opacity:1;
	}
}

/*中の要素*/
.bgappear{
	animation-name:bgextendAnimeSecond;
	animation-duration:0.4s;
	animation-delay: 0.2s;
	animation-fill-mode:forwards;
	opacity: 0;
}
@keyframes bgextendAnimeSecond{
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/*印象編　4-9 背景色が伸びて出現（左から）*/
.bgLRextend::before{
	content:"";
	width:100%; height:100%;
	animation-name:bgLRextendAnime;
	animation-duration:0.4s;
	animation-fill-mode:forwards;
  position: absolute;
	top:0; left:0;
  background-color: var(--main-color);/*伸びる背景色の設定*/
}
@keyframes bgLRextendAnime{
	0% {
		transform-origin:left;
		transform:scaleX(0);
	}
	100% {
		transform-origin:left;
		transform:scaleX(1);
	}
}

ul.index-schoollife-list .bgLRextend::before{
	content:"";
	width:100%; height:100%;
	animation-name:bgLRextendAnime02;
	animation-duration:0.6s;
	animation-fill-mode:forwards;
  position:absolute;
	top:0; left:0; z-index:10;
  background-color: var(--main-color);/*伸びる背景色の設定*/
}
@keyframes bgLRextendAnime02{
	0% {
		transform-origin:left;
		transform:scaleX(1);
	}
	100% {
		transform-origin:left;
		transform:scaleX(0);
	}
}

/*印象編　4-9 背景色が伸びて出現（右から）*/
.bgRLextend::before{
	content:"";
	width:100%; height:100%;
	animation-name:bgRLextendAnime;
	animation-duration:0.4s;
	animation-fill-mode:forwards;
  position:absolute;
	top:0; left:0;
  background-color: var(--main-color);/*伸びる背景色の設定*/
}
@keyframes bgRLextendAnime{
	0% {
		transform-origin:right;
		transform:scaleX(0);
	}
	100% {
		transform-origin:right;
		transform:scaleX(1);
	}
}

ul.index-schoollife-list .bgRLextend::before{
	content:"";
	width:100%; height:100%;
	animation-name:bgRLextendAnime02;
	animation-duration:0.6s;
	animation-fill-mode:forwards;
  position:absolute;
	top:0; left:0; z-index:10;
  background-color: var(--main-color);/*伸びる背景色の設定*/
}
@keyframes bgRLextendAnime02{
	0% {
		transform-origin:right;
		transform:scaleX(1);
	}
	100% {
		transform-origin:right;
		transform:scaleX(0);
	}
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.bgappearTrigger,
.bgRLextendTrigger,
.bgLRextendTrigger{
  opacity: 0;
}


/* side fixed nav */
nav#fixed-nav{
	width:68px; height:100%;
	position:fixed;
	top:0; right:-68px; z-index:900;
	background:var(--main-color);
	background:rgba(255,255,255,1);
	transition:0.2s ease-in-out;
}
nav#fixed-nav.in-view{
	right:0;
	transition:0.2s ease-in-out;
}
.drawer-open nav#fixed-nav{
	right:-68px;
	transition:0.1s ease-in-out;
}
#hamburger{
	width:50px;
	position:fixed;
	top:5px; right:-68px; z-index:10000;
	transition:0.2s ease-in-out;
}
#hamburger.in-view{
	right:10px;
	transition:0.2s ease-in-out;
}
#hamburger .drawer-hamburger-icon,
#hamburger .drawer-hamburger-icon:before,
#hamburger .drawer-hamburger-icon:after{
	background-color:var(--main-color);
}
.drawer-open #hamburger .drawer-hamburger-icon{
	background-color:transparent;
}
.drawer-open #hamburger .drawer-hamburger-icon:before,
.drawer-open #hamburger .drawer-hamburger-icon:after{
	background-color:#FFF;
}
nav#fixed-nav ul{
	position:absolute;
	top:50%; left:50%;
	transform:translate(-60%,-50%);
}
nav#fixed-nav ul li{
	font-size:14px; line-height:2.5; font-weight:bold;
	-ms-writing-mode:tb-rl;
	writing-mode:vertical-rl;
	margin:25px 0;
}
nav#fixed-nav ul li a{
	display:block;
	text-decoration:none;
	color:#FFF;
	color:#444;
	position:relative;
	padding:24px 0 2px;
//	border-left:1px solid #999;
}
nav#fixed-nav ul li a::after{
	content:"";
	height:0%;
	border-left:1px solid #999;
	position:absolute;
	top:0; left:0;
	transition:0.2s ease-in-out;
}
nav#fixed-nav ul li a:hover::after{
	height:100%;
	transition:0.2s ease-in-out;
}
nav#fixed-nav ul li a::before{
	content:"";
	width:18px; height:18px;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:contain;
	position:absolute;
	top:0px; left:50%;
	margin-left:-9px;
}
nav#fixed-nav ul li.contact a::before{
	background-image:url(../../img/svg/icon_document_blue.svg);
}
nav#fixed-nav ul li.pamphlet a::before{
	background-image:url(../../img/svg/icon_pamphlet_blue.svg);
}
nav#fixed-nav ul li.admissions a::before{
	background-image:url(../../img/svg/icon_admissions_blue.svg);
}
nav#fixed-nav ul li.web-application a::before{
	background-image:url(../../img/svg/icon_application_blue.svg);
}
nav#fixed-nav ul li.admissions-event a::before{
	background-image:url(../../img/svg/icon_admission_event_blue.svg);
}

.grecaptcha-badge{
	bottom:58px !important;
	z-index:1000 !important;
}

.pswp{
	z-index:150000 !important;
}
