@charset "UTF-8";
body{
  color:#111;
  font-size:90%;
  font-family: "GenJyuuGothic";
}
h1{
	font-weight: bold;
	font-size:160%;
	background:#28a745;
	color:#FFF;
	padding:0.5em;
	margin:20px 0;
}

h2 {
	padding: 0.4em 0.5em;/*文字の上下 左右の余白*/
	color: #494949;/*文字色*/
	background: #f4f4f4;/*背景色*/
	border-left: solid 5px #0280cd;/*左線*/
	border-bottom: solid 3px #d7d7d7;/*下線*/
	font-weight: bold;
	font-size:140%;
	margin-top:40px;
}
h3 {
	color: #6594e0;/*文字色*/
	/*線の種類（点線）2px 線色*/
	border-bottom: dashed 2px #6594e0;
	font-size:120%;
	font-weight: bold;
}
ul {
  list-style: none;
}
/* ボーダーの太さ */
.border-2{
  border-width:2px !important;
}
.border-3{
  border-width:3px !important;
}
.border-4{
  border-width:4px !important;
}
.border-5{
  border-width:5px !important;
}
.color_red{
  color:#F00;
}

/* *************************************** */
/* containerをオーバーライド
/* *************************************** */
@media (min-width: 768px){
	.container {
		max-width: 100%;
	}
}
@media (min-width: 992px){
	.container {
		max-width: 1200px;
	}
}


/* *************************************** */
/* ヘッダー
/* *************************************** */
#header .container{
  border-bottom: #ddd solid 2px;
  line-height: 4.5em;
}
@media (max-width: 767px){
  #header .container{
    line-height: 1.3em;
    font-size:90%;
    padding-bottom: 10px;
  }
}
/* *************************************** */
/* フッター
/* *************************************** */
#footer {
  border-top: #ddd solid 2px;
	width:100%;
	padding:20px 0 30px 0;
}
#footer .footer_arrow{
  text-align: right;
  padding-right:10%;
  margin-bottom: 30px;
  font-size:120%;
}
#footer .footer_title{
  font-size:120%;
  font-weight: bold;
}
#footer .footer_float{
  font-size:95%;
  font-weight: bold;
  line-height: 1.6em;
}
#footer .footer_float:first-child{
  margin-right: 70px;
}
#footer .footer_memo{
  font-size:95%;
  font-weight: bold;
  margin-top:30px;
}
#footer .footer_privacy {
  margin-top:30px;
  text-align: center;
}
#footer .footer_privacy a{
  border-bottom:2px solid #333;
}
#footer .footer_privacy a:hover {
  text-decoration: none;
}

#footer .footer_copyright{
  margin-top:60px;
	font-size:80%;
  text-align: center;
}
/* *************************************** */
/* aタグ
/* *************************************** */
a {
  color:#555;
  font-weight: bold;
}

/* *************************************** */
/* 角丸ボタン
/* *************************************** */
.btn_circle{
  border:2px solid #333;
  border-radius: 14px;
  background:#FFF;
  color:#333;
  font-size:115%;
  padding:10px 25px;
}
.btn_circle:hover {
  text-decoration: none;
}
/* *************************************** */
/* 影付きボタン
/* *************************************** */
.btn-shadow,
a.btn-shadow,
button.btn-shadow {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

a.btn-shadow {
  margin-bottom: 12px;
  padding: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-radius: 0;
}

a.btn-shadow .btn-shadow-inner {
  position: relative;
  display: block;
  padding: 0.5rem 3rem;
  color: #000;
  border: 4px solid #003b5f;
  border-radius: 0.5rem;
  background: rgb(236, 251, 255);
	margin:0;
}

a.btn-shadow:before {
  position: absolute;
  bottom: -8px;
  left: 6px;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: 4px solid #003b5f;
  border-top: 1px solid #000;
  border-radius: 0.5rem;
  background-image: -webkit-repeating-linear-gradient(
    135deg,
    #000,
    #000 1px,
    transparent 2px,
    transparent 5px
  );
  background-image: repeating-linear-gradient(
    -45deg,
    #000,
    #000 1px,
    transparent 2px,
    transparent 5px
  );
  background-size: 7px 7px;

  -webkit-backface-visibility: hidden;

  backface-visibility: hidden;
}

a.btn-shadow:hover {
  -webkit-transform: translate(0, 3px);
  transform: translate(0, 3px);
}

a.btn-shadow:hover:before {
  bottom: -5px;
}

a.btn-shadow:active {
  -webkit-transform: translate(0, 7px);
  transform: translate(0, 7px);
}

a.btn-shadow:active:before {
  bottom: -1px;
}


/* *************************************** */
/* 右矢印
/* *************************************** */
.arrow_s_b {
  position: relative;
  display: inline-block;
}
.arrow_s_b:before {
  content: '';
  width: 36px;
  height: 36px;
  background: rgb(92, 92, 92);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 6px;
  margin-top: -18px;
}
.arrow_s_b:after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0px 8px 12px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 50%;
  right: 16px;
  margin-top: -8px;
}


/* *************************************** */
/* スケジュール表示テーブル
/* *************************************** */
.table_schedule ul{
  font-size:90%;
  margin-bottom:10px;
  border:#0280cd dotted 2px;
  padding:5px;
  font-weight: bold;
  color:#001d7a;
}
@media (min-width: 768px){
  .table_schedule li{
    display:inline-block;
    margin-right:10px;
  }
}
/**************************************/
.table_schedule tr.tr_title th{
  background-color: #f5f5f5;
  color:#4d4d4d;
}
.table_schedule th{
  min-width: 8em;
  background-color: #e3f4ff;
  font-size:110%;
}
.table_schedule th,
.table_schedule td{
  border-top:#003b5f solid 2px;
}
.table_schedule td.td_limit{
  font-size:90%;
  background-color: rgb(255, 253, 247);
  font-weight: bold;
}
.table_schedule td.td_limit span{
  display:none;
}
@media (max-width: 767px){
  .table_schedule tr.tr_title{
    display:none;
  }
  .table_schedule td{
    border-top:0px;
  }
  .table_schedule th,
  .table_schedule td{
    display:block;
    width: 100%;
  }
  .table_schedule td.td_limit br{
    display:none;
  }
  .table_schedule td.td_limit span{
    display:inline-block;
  }
}

/**************************************/
.table_schedule a{
  text-decoration: underline;
}

.title_text{
	font-size:110%;
	font-weight: bold;
	color:#555;
}

/*バナー用CSS*/
.bnr_box{
  left: 0;
  right: 0;
  z-index: 10;
  display: flex;
  gap: 0px 20px;
  justify-content: center;
  margin-bottom: 20px;
}
@media (max-width: 767px){
.bnr_box{
  display: block;
  margin-bottom: 0px;
}
.bnr_box img{
  margin-bottom: 10px;
}
}

#header .container{
  border: none!important;
}
.text-danger{
  text-align: left!important;
  font-weight: bold;
}
.form_block .form-group input.form-control{
  height: 2rem!important;
}
.top_img{
  width: 30%;
}
.form_block{
  font-size: 110%;
  font-weight: normal!important;
}
@media (max-width: 767px){
  .top_img{
    width: 70%;
  }
}