@charset "UTF-8";
@font-face {
  font-family: "Material Symbols Outlined";
  font-style: normal;
  src: url(../fonts/material-symbols-outlined.woff2) format("woff");
}
@font-face {
  font-family: 'Noto Sans JP';
  font-weight: 400;
  src: url("../fonts/Noto_Sans_JP/static/NotoSansJP-Regular.ttf") format("TrueType");
}
@font-face {
  font-family: 'Noto Sans JP';
  font-weight: 700;
  src: url("../fonts/Noto_Sans_JP/static/NotoSansJP-Bold.ttf") format("TrueType");
}
@font-face {
  font-family: 'Noto Sans JP';
  font-weight: 900;
  src: url("../fonts/Noto_Sans_JP/static/NotoSansJP-Black.ttf") format("TrueType");
}
@font-face {
  font-family: 'Noto Serif JP';
  font-weight: 400;
  src: url("../fonts/Noto_Serif_JP/static/NotoSerifJP-Regular.ttf") format("TrueType");
}
@font-face {
  font-family: 'Noto Serif JP';
  font-weight: 700;
  src: url("../fonts/Noto_Serif_JP/static/NotoSerifJP-Bold.ttf") format("TrueType");
}
@font-face {
  font-family: 'Noto Serif JP';
  font-weight: 900;
  src: url("../fonts/Noto_Serif_JP/static/NotoSerifJP-Black.ttf") format("TrueType");
}
.material-symbols-outlined {
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 24px; /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
}

* {
	margin: 0;
	padding: 0;
  box-sizing: border-box;
}
*:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
html {
  overflow-x: hidden;
}

body {
  font-size: 15px;
  overflow-wrap: break-word;
  margin: 0;
  font-weight: 400;
	font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}
img {
  max-width: 100%;
  height: auto;
}
br{
	letter-spacing:0;
}
h1,h2,h3,h4,h5,h6,th {
	font-weight:normal;
	font-style:normal;
}
p {
  margin-bottom: 0;
}
dl {
  margin-bottom: 0;
}
dt {
  font-weight: normal;
}
dd {
  margin-bottom: 0;
}
.index_wrapper{
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.bgfull {
	width: 100%;
  background: url("../img/bg.png");
	background-repeat:no-repeat;
	background-size:cover;
	background-position:top center;
}

header {
	background: #0e1b68;
	padding: 10px 0;
}
header p {
	font-weight: bold;
	color: #fff;
}
footer{
  border-top: 1px solid #ccc;
  margin-top: auto;
  padding: 1rem;
}
.main-container {
	max-width: 991px;
	margin: 0 auto;
	padding: 0;
}
.navbox {
	margin-top: 100px;
}
.index_main .navbar-nav {
  margin-left: 10px;
	width: 240px;
}
.index_main .navbar .nav-txt a {
	color: #fff;
	text-decoration: none;
	font-size: .8rem;
	margin-left: 1rem;
}
.index_main .navbar-nav .nav-item {
	background-color: #0e1b68;
	box-shadow: 2px 2px 4px gray;
	margin-bottom: 1rem;
	color: #fff;
}
.index_main .navbar-nav .nav-item a {
	font-size: 16px;
	text-align: center;
	color: #fff;
}
.index_main .navbar-nav .nav-item a.nav-link {
	padding-left: 30px;
	padding-right: 30px;
}
.index_main .navbar-nav .nav-item a.nav-link:hover,
.index_main .navbar-nav .nav-item a.active {
  background: #ffffff;
	color: #0e1b68;
}
.index_main .navbar-nav .nav-item a.disabled {
	background:#727b9e;
}
.index_main .newsbox {
	border: 1px solid #473118;
	border-radius: 10px;
	padding: 1rem;
	margin-bottom: 1rem;
	height: 250px;
	font-size: 0.9rem;
}
.index_main .newsbox h6 {
	font-weight: bold;
}
.index_main .news {
	padding: .5rem;
}
.index_main .news div {
	height: 180px;
  overflow-y:scroll;
}
.index_main .news dl {
  display: block;
	padding-bottom: .5rem;
}
.index_main .news dl dt {
  width: 120px;
  float: left;
  clear: left;
	padding: .5rem 0 0 0;
	font-weight: normal;
}
.index_main .news dl dd {
  margin-left: 120px; 
	padding: .5rem 0 0 0;
}
.maincon {
	margin: 0;
	padding: 1rem;
  background: #fff;
  min-height: 600px;
}
.h2 {
	padding: .5rem;
	font-size: 1.2rem;
  font-weight: bold;
  border-bottom: 5px double #005bac;
  margin-bottom: 2rem;
}
.h3 {
	font-size: 1.1rem;
  padding: .5rem 1rem;
  background:rgba(214,243,247,1.00);
  font-weight: bold;
}
.h4 {
	font-size: 1.1rem;
	border-bottom: 1px dotted #3a70b1;
	padding: 0 .5rem;
  font-weight: bold;
}
.h5 {
	font-size: 1rem;
  padding: .5rem 1rem;
  border-left: 6px double #000;
  background: #f4f4f4;
}
@media screen and (max-width: 1920px) {
	.bgfull {
		width: 100%;
		background: url("../img/bg.png");
		background-repeat:no-repeat;
		background-size:auto;
		background-position:top center;
	}
}
@media screen and (max-width: 991px) {
  .sp-hidden {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
   .navbox {
     margin-top: 0;
   }
  .navbar-fixed-top {
    position: fixed;
    top: 0;
		left: 0;
    width: 100%;
    margin: 0 auto;
    z-index: 9999;
		background: #0e1b68;
		padding-left: 0;
  }
	header {
    background: #fff;
		margin-top: 45px;
	}
	header p {
    color: #0e1b68;
	}
	.index_main .navbar-nav {
		width: 100%;
		padding: 1rem 1rem 0 1rem;
    margin-left: 0;
	}
  .index_main .navbar-nav .nav-item {
    background-color: #0e75ff;
    box-shadow:none;
    margin-bottom: 1rem;
    color: #fff;
  }
	.index_main .navbar-nav .nav-item a br {
		display: none;
	}
	footer {
		font-size: .9rem;
	}
}
@media screen and (max-width: 568px) {
	footer {
		font-size: .8rem;
	}
	.index_main .news dl dt {
		width: auto;
		float: none;
		font-size: .9rem;
	}
	.index_main .news dl dd {
		margin-left: 1rem; 
		padding: 0;
	}
	header p {
		font-size: .8rem;
    color: #0e1b68;
	}
}

.greeting dl {
  margin-bottom: 2rem;
}
.greeting p {
  text-indent: 1rem;
  text-align: justify;
  line-height: 1.6rem;
}
.program table tbody th {
  font-size: .9rem;
  background:#F8F1B7 ;
}
.program table tbody td dl dt {
  font-weight: bold;
}
.fee_table {
  vertical-align: middle;
}
.fee_table th {
  font-weight: bold;
  background:rgba(241,241,241,1.00);
}