@charset "utf-8";

/*行の高さをフォントサイズと同じにしています*/
body {
    line-height:160%;
	font-size:16px;
	color: #000;
	background: #fff;
	font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}

.none{
	display: none;
}

/* スクロールの幅の設定 */
html::-webkit-scrollbar {
width: 15px;
height: 10px;
}

/* スクロールの背景の設定 */
html::-webkit-scrollbar-track {
border-radius: 5px;
box-shadow: 0 0 4px #aaa inset;
}

/* スクロールのつまみ部分の設定 */
html::-webkit-scrollbar-thumb {
border-radius: 5px;
background: #B20000;
}

html { scroll-behavior: smooth;}




#page_up{
	position: fixed;
	right: 25px;
	bottom: 25px;
}


@media (max-width: 1000px) {
.snone{
display: none;
}

}
/*********************************************************/


#pan{
    display: flex;
    width: 1100px;
    margin: auto;
    padding-top: 15px;
    padding-bottom: 15px;
}

#pan li a{
    text-decoration: none;
    color: #0059B2;
}

#pan li a:hover{
    text-decoration: underline;
}

#pan li{
    color: #525252;
}

ol#pan > li:before{
    content: "»";
    padding-right: 10px;
    padding-left: 10px;
}

ol#pan > li:first-child:before {
  content: none;
}

/**************************************************************************/



#schoollist{
	writing-mode: vertical-rl;
}

#schoollist a{
	font-family: "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
	display: block;
	width: 35px;
	background: #B20000;
	font-size: 16px;
	color: #fff;
	height:  240px;
	letter-spacing: 2px;
	text-align: center;
	line-height: 35px;
	position: fixed;
	right: 0px;
	bottom: 20%;
	border-radius:15px 0 0 15px;
}

@media (max-width: 1000px) {
	
#schoollist{
	display: none;
}

}



header{
	padding-top: 35px;
	margin-bottom: 25px;
}


header small{
	display: block;
	font-size: 15px;
	color: #525252;
	margin-bottom: 10px;
}

header #title a{
	font-size: 30px;
	color: #000;
}

@media (max-width: 1000px) {
	
	header.container{
		width: 100%;
		max-width: 100%;
	}
	
    header #title{
       text-align: center
    }
	header small{
		text-align: center;
		font-size: 14px;
	}
}



header .btn{
	display: block;
	height: 100%;
	background: #B20000;
	color: #fff;
	font-size: 18px;
	vertical-align: middle;
}

header .btn:hover{
	color: #fff;
	opacity: 0.7;
}

/*
#keyimg img{
	width: 100%;
	height: 70vh;
	object-fit: cover;
}*/





#keyimg{
	position: relative;
	height: 600px;
}

#keyimg img{
	max-width: none;
}

#keyimg .keyimg_logo{
	position: absolute;
	right: 10%;
	top: 10%;
	z-index: 15;
} 

#keyimg #loopslider02{
    /*margin: 0 auto;
    width: 500px;*/
    height: 600px;
    text-align: left;
    position: relative;
    overflow: hidden;
}
 
#keyimg #loopslider02 ul {
    height: 600px;
    float: left;
    display: inline;
    overflow: hidden;
}
 
#keyimg #loopslider02 ul li {
    height: 600px;
    float: left;
    display: inline;
    overflow: hidden;
}
 

/* =======================================
    ClearFixElements
======================================= */
#loopslider02 ul:after {
    content: ".";
    height: 0;
    clear: both;
    display: block;
    visibility: hidden;
}
 
#loopslider02 ul {
    display: inline-block;
}







/* スライダー全体 */
.slider{
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 600px;
  background-color: #fff;
}

/* スライダー画像 */
.slider .image{
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

@media (max-width: 1000px) {
	/*#keyimg{
		height: 50vh;
	}*/

#keyimg{
	height: 50vh;
}

#keyimg #loopslider02 ul,
#keyimg #loopslider02 li,
#keyimg #loopslider02 img,
#keyimg #loopslider02{
	height: 50vh;
}
	

	
	
	.slider{
		height: 50vh
	}
	
	
#keyimg .keyimg_logo img{
	width: 50%;
	height: 50%;
} 
	
}

/*
  ①スライド画像
  表示する画像を定義
*/
.slider .image:nth-of-type(1){
  background-image: url("../img/keyimg.webp");
}
.slider .image:nth-of-type(2){
  animation-delay: 5s;
  background-image: url("../img/keyimg02.webp");
}


/*
  ②アニメーション設定
  animation-durationのみ変更
*/
.slider .image{
  animation-name: anime;
  animation-delay: 0;
  animation-iteration-count: infinite;
  animation-duration: 20s;  /* ①で設定したanimation-delayを合計を挿入 */
}

/* アニメーション定義 */
@keyframes anime {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: scale(1.18);
  }
}



nav{
	background: #B20000;
}

nav a{
	color: #fff;
	font-size: 16px;
	height: 80px;
}

nav a:hover{
	color: #fff;
}

@media (max-width: 1000px) {
    nav ul.nav{
       display: block;
    }
    .nav li {
       width: 100%;
		border-bottom: 1px solid #fff;
    }
	
	nav a{
	color: #fff;
	font-size: 16px;
	height: auto;
		padding: 10px;
}
}

.text01{
	padding-top: 45px;
	color: #1559A5;
	font-size: 35px;
	line-height: 180%;
}


#loopslider.obj01{
    /*margin: 0 auto;
    width: 500px;*/
    height: 260px;
    text-align: left;
    position: relative;
    overflow: hidden;
}
 
#loopslider.obj01 ul {
    height: 260px;
    float: left;
    display: inline;
    overflow: hidden;
}
 
#loopslider.obj01 ul li {
    width: 260px;
    height: 260px;
    float: left;
    display: inline;
    overflow: hidden;
}
 
/* =======================================
    ClearFixElements
======================================= */
#loopslider ul:after {
    content: ".";
    height: 0;
    clear: both;
    display: block;
    visibility: hidden;
}
 
#loopslider ul {
    display: inline-block;
    overflow: hidden;
}


@media (max-width: 1000px) {
#loopslider {
    /*margin: 0 auto;
    width: 500px;*/
    height: 130px;
}
 
#loopslider ul {
    height: 130px;

}
 
#loopslider ul li {
    width: 130px;
    height: 130px;

}
}



footer.footer .bg{
	background: #092441;
}

footer .nav a{
	color: #fff;
}

footer dl dd,
footer dl a{
	color: #fff;
	line-height:180%;
}

footer dl dt a{
	font-size: 30px;
	font-weight: normal;
}

footer dl dt a:hover{
	color: #fff;
	text-decoration: none;
}

footer a.btn{
	background: #B20000;
	color: #fff;
	font-size: 18px;
	vertical-align: middle;
}

footer a.btn:hover{
	color: #fff;
}


/**********************************************/




#s01{
	padding-top: 35px;
}

#s01 h2{
	font-size: 35px;
	font-weight: bold;
}

#s01 h2 small{
	font-size: 20px;
	font-weight: normal;
	padding-left: 30px;
}

#s01 hr{
	background: 0;
	border: 0;
	border-bottom: 1px solid #000;
	width: 210px;
}

@media (max-width: 1000px) {
#s01 h2{
	text-align: center;
}

#s01 h2 small{
	display: block;
	padding-left: 0;
	line-height: 180%;
}

#s01 hr{
	margin: auto;
	margin-bottom: 30px;
}
}

#s01 p{
	font-size: 15px;
	line-height: 180%;
}

#s01 p.f25{
	font-size: 25px;
	color: #1459A5;
}

#s02 h2{
	font-size: 35px;
	font-weight: bold;
	overflow: hidden;
}

#s02 h2 hr{
	float: right;
	background: 0;
	border: 0;
	border-bottom: 8px solid #eee;
	width: 40vw;
}

#s02 dt{
	font-size: 25px;
	font-weight: normal;
}

@media (max-width: 1000px) {
#s02 h2 hr{
	width: 20vw;
}
	
#s02 dt{
	font-size: 18px;
}
	
}

#s03 h2{
	font-size: 35px;
	font-weight: bold;
	overflow: hidden;
}

#s03 h2 hr{
	float: right;
	background: 0;
	border: 0;
	border-bottom: 8px solid #eee;
	width: 40vw;
}

#s03 dt{
	font-weight: normal;
}

#s03 dd,
#s03 p{
	line-height: 180%;
}

@media (max-width: 1000px) {
#s03 h2 hr{
	width: 20vw;
}
}

@media (max-width: 1140px) {
#s03 .obj01{
	flex-direction: column-reverse;
}
}

#s03 hr.obj01{
	border: 0;
	background: 0;
	border-bottom: 8px solid #eee;
	width: 50%;
}

#s03 hr.obj01.right{
	text-align: right;
}

#s03 a.btn{
	background: #B20000;
	color: #fff;
}


#s04 h2{
	font-size: 35px;
	font-weight: bold;
	overflow: hidden;
}

#s04 h2 hr{
	float: right;
	background: 0;
	border: 0;
	border-bottom: 8px solid #eee;
	width: 40vw;
}

@media (max-width: 1000px) {
#s04 h2 hr{
	width: 20vw;
}
}

#s04 table a{
	color: #000;
}


#s04 iframe{
	filter:grayscale(100%);-webkit-filter:grayscale(100%)
}

#s05 h2{
	font-size: 35px;
	font-weight: bold;
	overflow: hidden;
}

#s05 h2 hr{
	float: right;
	background: 0;
	border: 0;
	border-bottom: 8px solid #eee;
	width: 40vw;
}

@media (max-width: 1000px) {
#s05 h2 hr{
	width: 20vw;
}
}

#s05 .bg{
	background: #B20000;
	color: #fff;
	position: relative;
}

#s05 .bg img{
	position: absolute;
	right: 10%;
	
}

#s05 .forme .row{
	border-top: 1px dashed #bbb;
}

#s05 .forme .row:last-child{
	border-bottom: 1px dashed #bbb;
}

#s05 .box_rap .box{
	background: #F1F0E9;
}

#s05 .box_rap span{
	color: #2693FF;
}

#s06 p,
#s06 dd{
	line-height: 180%;
}

#s06 .box{
	border-left: 5px solid #888;
}

#s06 .box a{
	color: #000;
}

#s07 h2{
	font-size: 35px;
	font-weight: bold;
	overflow: hidden;
}

#s07 h2 hr{
	float: right;
	background: 0;
	border: 0;
	border-bottom: 8px solid #eee;
	width: 40vw;
}

@media (max-width: 1000px) {
#s07 h2 hr{
	width: 20vw;
}
}

#s07 dl div{
	border-bottom: 1px dashed #ccc;
}

#s07 dl dt{
	font-weight: normal;
}

#s07 dl a{
	color: #000;
}