@charset "UTF-8";

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700,900|Libre+Raleway:400,700|Noto+Serif+JP:400,500&display=swap&subset=japanese');

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {margin:0;padding:0;border:0;outline:0;vertical-align:baseline;}

body {margin: 0px; padding: 0px; font-size: 14px; font-family: 'Noto Sans JP', "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Meiryo, "メイリオ", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif; line-height: 1; -webkit-text-size-adjust: none; color: #222; -webkit-font-smoothing: antialiased; font-weight: 400;}
body#student {color: #666;}

p,li,dd,dt,.lh17 {line-height: 1.7;}
.lh12 {line-height: 1.2;}
.lh15,h2, h3, h4, h5, h6 {line-height: 1.5;}
.ls4 {letter-spacing: -.4em;}
.lsn {letter-spacing: normal;}
.inlb {display: inline-block; letter-spacing: normal;}
.valt {vertical-align: top;}
.valm {vertical-align: middle;}
.valb {vertical-align: bottom;}
.rlt {position: relative;}

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

nav ul {list-style:none;}

blockquote, q {quotes:none;}

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

a {margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}

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

hr {display:block;height:1px;border:0; border-top:1px solid #cccccc;margin:1em 0;padding:0;}

input, select {vertical-align:middle;}

ol, ul {list-style: none;}
html{overflow-y:scroll;}

/* 画像 */
.alignleft	{float: left; margin-right: 20px; margin-bottom: 20px;}
.alignright	{float: right; margin-left: 20px; margin-bottom: 20px;}
.aligncenter {clear: both; display: block; margin: 25px auto;}

.highlight a:hover *{filter: alpha(opacity=75); -moz-opacity:0.75; opacity:0.75;}
.cf:after {content: "."; display: block; height: 0; clear: both; visibility: hidden;}  
.cf {display: inline-table; overflow: hidden;}  
/* Hides from IE-mac \*/  
* html .cf {height: 1%;}  
.cf {display: block;}  
/* End hide from IE-mac */  
.clear {clear: both;}
img {font-size:0;line-height:0;}
img {max-width: 100%;height: auto;width /***/: auto;border: none;vertical-align: bottom;}
img.miniimage {display: none;}
@media screen and (min-width: 896px) {
 img.spimage {display: none;} /* miniを表示 */
 img.bigimage  {display: block;} /* bigを表示 */
}
@media screen and (max-width: 896px) {
 img.spimage {display: block;} /* miniを表示 */
 img.bigimage  {display: none;}  /* bigを非表示 */
}
strong {font-weight: normal;}
.txtCent {text-align:center;}
.txtRight {text-align:right;}
.txtLeft {text-align: left!important;}
.txt400 {font-weight: 400;}
.txt500 {font-weight: 500;}
.txt700 {font-weight: 700;}
.txt900 {font-weight: 900;}
.txtRD {color: #CC0000;}
.txt12 {font-size: 12px;}
.txt14 {font-size: 14px;}
.txt16 {font-size: 16px;}
.txt18 {font-size: 18px;}
.txt20 {font-size: 20px;}
.txt24 {font-size: 24px;}
.txt26 {font-size: 26px;}
.txt28 {font-size: 28px;}
.txt30 {font-size: 30px;}
.txt40 {font-size: 40px;}
.txt50 {font-size: 50px;}
.mb5 {margin-bottom: 5px!important;}
.mb10 {margin-bottom: 10px!important;}
.mb20 {margin-bottom: 20px!important;}
.mb30 {margin-bottom: 30px!important;}
.mb40 {margin-bottom: 40px!important;}
.mb50 {margin-bottom: 50px!important;}
.mb60 {margin-bottom: 60px!important;}
.mb80 {margin-bottom: 80px!important;}
.mb100 {margin-bottom: 100px!important;}
.mt5 {margin-top: 5px;}
.mt10 {margin-top: 10px;}
.mt20 {margin-top: 20px;}
.mt30 {margin-top: 30px;}
.mt40 {margin-top: 40px!important;}
.mt50 {margin-top: 50px!important;}
.mt60 {margin-top: 60px!important;}
.mt80 {margin-top: 80px;}
.mt100 {margin-top: 100px;}
.pt10 {padding-top: 10px;}
.pt20 {padding-top: 20px;}
.pt30 {padding-top: 30px;}
.pt40 {padding-top: 40px;}
.pt50 {padding-top: 50px;}
.pt60 {padding-top: 60px;}
.pt70 {padding-top: 70px;}
.pt80 {padding-top: 80px;}
.pb10 {padding-bottom: 10px;}
.pb20 {padding-bottom: 20px;}
.pb30 {padding-bottom: 30px;}
.pb40 {padding-bottom: 40px;}
.pb50 {padding-bottom: 50px;}
.pb60 {padding-bottom: 60px;}
.pb70 {padding-bottom: 70px;}
.pb80 {padding-bottom: 80px;}
.ptb80 {padding: 80px 0 50px;}
.ptb40 {padding: 40px 0;}
@media screen and (min-width: 896px){	
  .pcbr {display:block;}
  .spbr {display:none;}
}
@media screen and (max-width: 896px){	
  .pcbr {display:none;}
  .spbr {display:block;}
	.txt16 {font-size: 14px;}
	.txt18,.txt20 {font-size:16px;}
	.txt24,.txt26 {font-size:20px;}
	.txt30,.txt28 {font-size:22px;}
	.txt40 {font-size:24px;}
	.txt50,.txt60 {font-size:30px;}
	.mb40 {margin-bottom: 30px!important;}
	.mb50 {margin-bottom: 30px!important;}
	.mb60 {margin-bottom: 40px!important;}
	.mb80,.mb100 {margin-bottom: 50px!important;}
	.mt40,.mt50 {margin-top: 30px!important;}
	.mt60 {margin-top: 40px!important;}
	.mt80,.mt100 {margin-top: 50px!important;}
	.pt40,.pt50 {padding-top: 30px;}
	.pt60,.pt70 {padding-top: 40px;}
	.pt80 {padding-top: 50px;}
	.pb40,.pb50 {padding-bottom: 30px;}
	.pb60 {padding-bottom: 40px;}
	.pb70 {padding-bottom: 40px;}
	.pb80 {padding-bottom: 50px;}
}

.alignright {width: 40%; margin: 0 0 20px 30px; float: right;}
.alignleft {width: 40%; margin: 0 30px 20px 0; float: left;}
.alignright2 {width: 30%; margin: 0 0 10px 20px; float: right;}
.aligncenter {width: 100%; width: 720px; margin: 0 auto 20px;}
@media screen and (max-width: 896px) {
	.alignright {width: 35%; margin: 0 0 20px 30px; float: right;}
	.alignleft {width: 35%; margin: 0 30px 20px 0; float: left;}
}
@media screen and (max-width: 896px) {
	.alignright {width: 100%; margin: 0 auto 20px; float: none;}
	.alignleft {width: 100%; margin: 0 auto 20px; float: none;}
	.alignright2 {width: 35%; margin: 0 0 10px 20px; float: right;}
}

a:link {color: #002469; text-decoration: underline;}
a:visited {color: #002469; text-decoration: underline;}
a:hover {color: #45A9FF; text-decoration: underline;}
a:active {color: #002469; text-decoration: underline;}
strong {font-weight: normal;}

#page-top {position: fixed;bottom: 40px;right: 40px;width: 60px; z-index:400;}
@media screen and (max-width: 896px) {
	#page-top {position: fixed;bottom: 5px;right: 5px;width: 30px; z-index:400;}
}

@-webkit-keyframes scr {
  0% {-webkit-transform: translate(0, 0); opacity: 1;}
  50% {opacity: 1;}
	100% {-webkit-transform: translate(0, 180px); opacity: 1;}
}
@keyframes scr {
	0% {transform: translate(0, 0); opacity: 1;}
	50% {opacity: 1;}
	100% {transform: translate(0, 180px); opacity: 1;}
}

.EN {font-family: 'Raleway', sans-serif;}
.mincho {font-family: 'Noto Serif JP', serif;}

.bgWH {background-color: #FFF;}
.bgDBL {background-color: #002469;}
.bgBL {background-color: #0A4DA0;}
.bgBL2 {background-color: #2A75D3;}
.bgRD {background-color: #C10000;}
.bgOR {background-color: #FF5900!important;}
.bgSKY {background-color: #45A9FF!important;}
.bgLBL {background-color: #CCE8FF;}
.bgPI {background-color: #F46970;}
.bgYL {background-color: #F5BC00;}
.bgLYL{background-color: #FFFCE6;}
.bgGRY {background-color: #EEEEEE;}
.bgGR {background-color: #28D0C9;}
.bgBK {background-color: #222!important;}
.bgDGRY {background-color: #666!important;}
.txtWH {color: #FFF;}
.txtDBL {color: #002469;}
.txtBL {color: #0A4DA0;}
.txtOR {color: #FF5900;}
.txtSKY {color: #45A9FF;}
.txtPI {color: #F46970;}
.txtYL {color: #F5BC00;}
.txtLYL {color: #FFFF00;}
.txtGR {color: #28D0C9;}
.txtGRY {color: #666;}
.txtBK {color: #222;}
.bBR {border-color: #BF9D63;}
.bDBL {border-color: #2F3B49;}

.clone-nav {position: fixed;top: 0;left: 0;z-index: 2; width: 100%; transition: .3s; transform: translateY(-100%);}
.spfoot {transition: .3s; transform: translateY(-100%);}
.is-show,.spshow {transform: translateY(0);}
.clone-nav {width: 100%; background: #FFF;}

.ratioBox {position: relative;width: 100%;height: auto;}
.ratioBox1-1:before {content: "";display: block;padding-top: 100%; /* 1:1 */}
.ratioBox2-1:before {content: "";display: block;padding-top: 50%; /* 2:1 */}
.ratioBox3-2:before {content: "";display: block;padding-top: 66%; /* 3:2 */}
.ratioBox4-3:before {content: "";display: block;padding-top: 75%; /* 4:3 */}
.ratioBox3-4:before {content: "";display: block;padding-top: 125%; /* 3:4 */}
.ratioBoxInner {position: absolute;top: 0; left: 0;width: 100%;height: 100%;}


