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

style.css

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


.future_plans {
	margin-top: 2rem;
	text-align: center;
	font-size: 1.5em;
	font-weight: 700;
	color: #F31317;
}

/* common element class

============================ */

.clearfix:before, .clearfix:after {

  content: "";

  display: block;

}

.clearfix:after {

  clear: both;

}



/*#main_content p {

  line-height: 1.8;

}*/



.strong {

  font-weight: bold;

}



.attention {

  color: #8b0910;

}



.note,

.note_list li {

  font-size: 85.71429%;

  margin-bottom: 5px;

  text-indent: -1em;

  padding-left: 1em;

}



.list_square,

.list_num,

.list_alphabet {

  counter-reset: list_count;

}

.list_square li,

.list_num li,

.list_alphabet li {

  padding-left: 1.5em;

  text-indent: -1.5em;

  line-height: 1.8;

  margin-bottom: 1em;

}

.list_square li:before,

.list_num li:before,

.list_alphabet li:before {

  counter-increment: list_count;

  color: #63b8eb;

  width: 1.5em;

  display: block;

  float: left;

}



.list_square li:before {

  content: "■";

}



.list_num li:before {

  content: counter(list_count) ".";

}



.list_alphabet li:before {

  content: counter(list_count, upper-alpha) ".";

}



/* common float

============================ */

.f_left {

  float: left;

}



.f_right {

  float: right;

}



/* common h class

============================ */

.h1ttl {

  font-size: 257.14286%;

  margin: 40px 0;

}



.h2ttl {

  font-size: 185.71429%;

  margin: 40px 0 20px;

  display: table;

}

.h2ttl .subtitle {

  font-size: 53.84615%;

}

.h2ttl .txt {

  display: table-cell;

  vertical-align: middle;

  padding-right: 10px;

}

.h2ttl .pickup_label {

  color: #ffffff;

  display: block;

  vertical-align: middle;

  width: 50px;

  height: 50px;

  -webkit-border-radius: 50%;

  -moz-border-radius: 50%;

  border-radius: 50%;

  text-align: center;

  font-size: 39.28571%;

  background: url(../../common/images/pickup_arrow.png) no-repeat center 6px #8b0910;

  padding-top: 28px;

}



.h3ttl, .h4ttl {

  font-weight: bold;

  display: table;

}

.h3ttl .txt, .h4ttl .txt {

  font-weight: bold;

  display: table-cell;

  vertical-align: middle;

  padding-right: 10px;

}

.h3ttl .pickup_label, .h4ttl .pickup_label {

  width: 58px;

  display: table-cell;

  vertical-align: middle;

  color: #ffffff;

  padding-left: 19px;

  background: url(../../common/images/pickup_label_s.png) no-repeat left center;

  font-size: 61.11111%;

  text-align: center;

}



.h3ttl {

  font-size: 128.57143%;

  margin: 35px 0 15px;

}

.h3ttl .subtitle {

  font-size: 77.77778%;

}



.h4ttl {

  font-size: 114.28571%;

  margin: 20px 0 15px;

}

.h4ttl .subtitle {

  font-size: 87.5%;

}



.h5ttl {

  font-weight: bold;

  margin: 15px 0 10px;

}



.h2ttl a, .h3ttl a, .h4ttl a, .h5ttl a {

  text-decoration: underline;

}



.subtitle {

  display: block;

  line-height: 1.6;

}



.border_box .h2ttl:first-child,

.border_box .h3ttl:first-child,

.border_box .h4ttl:first-child,

.border_box .h5ttl:first-child {

  margin-top: 0;

}

.border_box_col2 .left_box .h2ttl:first-child,

.border_box_col2 .left_box .h3ttl:first-child,

.border_box_col2 .left_box .h4ttl:first-child,

.border_box_col2 .left_box .h5ttl:first-child,

.border_box_col2 .right_box .h2ttl:first-child,

.border_box_col2 .right_box .h3ttl:first-child,

.border_box_col2 .right_box .h4ttl:first-child,

.border_box_col2 .right_box .h5ttl:first-child {

  margin-top: 0;

}







/* common h section

============================ */

.h2section {

  margin-top: 70px;

}



.h3section {

  margin-top: 40px;

}



.h4section {

  margin-top: 30px;

}



.h4section {

  margin-top: 15px;

}



/* common a class

============================ */

a {

  text-decoration: none;

}



.link_pdf {

  background: url(/spring/common/images/icon_link_pdf.png) no-repeat right center;

  padding-right: 30px;

  margin-right: 3px;

  padding-top: 1px;

  padding-bottom: 1px;

}



.link_new_window {

  background: url(/common/images/icon_link_new_window.png) no-repeat right center;

  padding-right: 13px;

  margin-right: 3px;

}



.arrow_up {

  background: url(/common/images/link_arrow_up_blue.png) no-repeat right center;

  padding-right: 28px;

}



.arrow_down {

  background: url(/common/images/link_arrow_down_blue.png) no-repeat right center;

  padding-right: 28px;

}



.arrow_left {

  background: url(/common/images/link_arrow_left_blue.png) no-repeat right center;

  padding-right: 28px;

}



.arrow_right {

  background: url(/common/images/link_arrow_right_blue.png) no-repeat right center;

  padding-right: 28px;

}



/* input element class

============================ */

select {

  -moz-appearance: button;

  -webkit-appearance: button;

  appearance: button;

  border-radius: 0;

  border: 0;

  margin: 0;

  padding: 0;

  background: none transparent;

  vertical-align: middle;

  font-size: inherit;

  color: inherit;

  box-sizing: content-box;

}



select::-ms-expand {

  display: button;

}



.common_btn {

  border: none;

  height: 48px;

  padding: 0 23px;

  background-color: #0075c2;

  color: #ffffff;

  font-weight: bold;

  border-radius: 2px;

  cursor: pointer;

  font-size: 100%;

}

.common_btn:hover {

  opacity: 0.3;

  filter: alpha(opacity=30);

  -ms-filter: "alpha(opacity=30)";

  -khtml-opacity: 0.3;

  -moz-opacity: 0.3;

}



.select_box {

  display: inline-block;

}

.select_box .common_select {

  background: url(../../common/images/bg_select_down.png) no-repeat right center #eeeeee;

  height: 48px;

  padding: 0 23px;

  border-radius: 2px;

  width: auto !important;

  padding: 0 35px 0 15px;

}

.select_box .customSelect.common_select .customSelectInner {

  width: auto !important;

  padding: 14px 0;

  font-weight: bold;

}

.select_date {

  text-align: right;

  margin-bottom: 18px;

  margin-top: 18px;

}



/* table element class

============================ */

.common_table {

  border-left: 1px solid #eeeeee;

  width: 100%;

  font-size: 78.57143%;

}

.common_table caption {

  padding: 5px 0;

  font-weight: bold;

  font-size: 118.18182%;

}

.common_table th, .common_table td {

  border-right: 1px solid #eeeeee;

  padding: 5px;

}

.common_table thead {

  border-top: 1px solid #dddddd;

  border-bottom: 2px solid #dddddd;

}

.common_table tbody {

  border-bottom: 2px solid #dddddd;

}

.common_table tbody tr:nth-of-type(odd) td {

  background-color: #ffffff;

}

.common_table tbody tr:nth-of-type(even) td {

  background-color: #f8f8f8;

}

.common_table tbody tr:nth-of-type(1) th {

  border-top: none;

}

.common_table tbody th {

  font-weight: bold;

  border-top: 1px solid #dddddd;

  padding: 5px 3px;

}



table .bg_dark_gray {

	background-color: #777777;

	color: #ffffff;

}

table .bg_middle_gray {

	background-color: #cccccc;

	color: #555555;

}

table .bg_light_gray {

	background-color: #f8f8f8;

}



/* common grade class

============================ */

.k3, .k3 a {

  color: #07478c;

}



.k2, .k2 a {

  color: #e56861;

}



.k1, .k1 a {

  color: #6b8c08;

}



.c3, .c3 a {

  color: #8c4608;

}



.c2, .c1, .c2 a, .c1 a {

  color: #088c81;

}



.c3 .c_note, .c2 .c_note, .c1 .c_note {

  color: #777777;

  display: block;

  line-height: 1;

}



a:hover .c_note {

  color: #ffffff;

}



/* common blue_link

============================ */

.blue_link {

  border: 2px solid #0c7bc5;

}

.blue_link .img {

  float: left;

}

.blue_link .ttl {

  color: #0075c2;

}

.blue_link a:hover {

  background-color: #0c7bc5;

  color: #ffffff;

}



/* common box

============================ */

.img_box {

  margin-bottom: 10px;

}



.img_box.img_box_fixed_width_1 {

    width: 220px;

}



.img_left .img_box {

  float: left;

  padding-right: 12px;

}



.img_right .img_box {

  float: right;

  padding-left: 12px;

}



.col2_box {

  margin-bottom: 30px;

}

.col2_box .col {

  width: 314px;

}

.col2_box .col:nth-of-type(1) {

  float: left;

}

.col2_box .col:nth-of-type(2) {

  float: right;

}



.col3_box {

  margin-bottom: 30px;

}

.col3_box .col {

  width: 192px;

  float: left;

  margin-left: 50px;

}

.col3_box .col:nth-of-type(1) {

  margin-left: 0;

}



.border_box {

  border: 1px solid #dddddd;

  padding: 28px 35px;

  margin-top: 20px;

  margin-bottom: 50px;

}

.border_box *:last-child {

  margin-bottom: 0;

}

.border_box .ttl {

  margin: -28px -35px 28px;

  padding: 20px 35px;

  font-weight: bold;

  border-bottom: 2px solid #dddddd;

}



.border_box_col2 {

  margin-top: 20px;

  margin-bottom: 50px;

}

.border_box_col2 .left_box, .border_box_col2 .right_box {

  border: 1px solid #dddddd;

  padding: 28px 35px;

  width: 312px;

}

.border_box_col2 .left_box *:last-child, .border_box_col2 .right_box *:last-child {

  margin-bottom: 0;

}

.border_box_col2 .left_box {

  float: left;

}

.border_box_col2 .right_box {

  float: right;

}



/* common pagination

============================ */

.pagination_box {

  border-top: 1px solid #e6e6e6;

  text-align: center;

  padding-top: 30px;

  margin: 50px 0;

}

.pagination_box .hit_num {

  margin-bottom: 30px;

}

.pagination_box .num {

  color: #8b0910;

  font-weight: bold;

}

.pagination_box .page_list {

  border: 1px solid #e6e6e6;

  border-left: none;

  border-right: none;

  padding: 14px 0;

}

.pagination_box .page_list li {

  display: inline-block;

  padding: 5px 9px;

  margin-left: 10px;

}

.pagination_box .page_list li:nth-of-type(1) {

  margin-left: 0;

}

.pagination_box .page_list li.back a {

  background: url(../../common/images/link_arrow_left_blue.png) no-repeat left center;

  width: 8px;

  margin-right: 70px;

  padding: 0 9px;

  display: block;

}

.pagination_box .page_list li.next a {

  background: url(../../common/images/link_arrow_right_blue.png) no-repeat left center;

  width: 8px;

  margin-left: 70px;

  padding: 0 9px;

  display: block;

}

.pagination_box .page_list li.current {

  border: 1px solid #e6e6e6;

}



/* common entry link

============================ */

.entry_box {

  margin: 75px 0;

}

.entry_box .free_class {

  float: left;

  width: 447px;

  font-family: "A1 Mincho";

}

.entry_box .free_class .free_class_entry {

  margin-bottom: 5px;

  font-size: 185.71429%;

  height: 79px;

}

.entry_box .free_class .free_class_entry a {

  display: block;

  color: #ffffff;

  background: url(../../common/images/link_arrow_right_white.png) no-repeat 428px center #0075c2;

  padding: 0 30px 0 20px;

  line-height: 79px;

}

.entry_box .free_class .free_class_entry a:hover {

  opacity: 0.3;

  filter: alpha(opacity=30);

  -ms-filter: "alpha(opacity=30)";

  -khtml-opacity: 0.3;

  -moz-opacity: 0.3;

}

.entry_box .free_class .grade_list li {

  display: block;

  float: left;

  text-align: middle;

  width: 108px;

  height: 81px;

  line-height: 81px;

  text-align: center;

  margin-left: 5px;

  background-color: #eeeeee;

  font-size: 142.85714%;

}

.entry_box .free_class .grade_list li:first-child {

  margin-left: 0;

}



/* grade list NEW GRADE ICON

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

.entry_box .free_class .grade_list.new_grade li {

  width: 145px;

}

.entry_box .free_class .grade_list.new_grade li:first-child {

  margin-left: 0;

  width: 146px;

}



.entry_box .free_class .grade_list li a {

  display: block;

  position: relative;

}

.entry_box .free_class .grade_list li a .c_note {

  font-size: 50%;

  position: absolute;

  left: 0;

  bottom: 15px;

  width: 100%;

  text-align: center;

}

.entry_box .free_class .grade_list li.k3 a:hover, .entry_box .free_class .grade_list li.k2 a:hover, .entry_box .free_class .grade_list li.k1 a:hover, .entry_box .free_class .grade_list li.c3 a:hover, .entry_box .free_class .grade_list li.c2 a:hover, .entry_box .free_class .grade_list li.c1 a:hover {

  color: #ffffff;

}

.entry_box .free_class .grade_list li.k3 a:hover {

  background-color: #07478c;

}

.entry_box .free_class .grade_list li.k2 a:hover {

  background-color: #e56861;

}

.entry_box .free_class .grade_list li.k1 a:hover {

  background-color: #6b8c08;

}

.entry_box .free_class .grade_list li.c3 a:hover {

  background-color: #8c4608;

}

.entry_box .free_class .grade_list li.c2 a:hover {

  background-color: #088c81;

}

.entry_box .free_class .grade_list li.c1 a:hover {

  background-color: #088c81;

}

.entry_box .free_class .grade_list.new_grade a {

  padding-left: 60px;

}

.entry_box .free_class .grade_list.new_grade a:before {

  left: 27px;

  top: 27px;

}



/* grade list MAX3

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

.entry_box .free_class .grade_list.max_three li {

  width: 145px;

}

.entry_box .free_class .grade_list.max_three.new_grade li {

  width: 221px;

}

.entry_box .free_class .grade_list.max_three.new_grade a {

	padding-left: 98px;

}

.entry_box .free_class .grade_list.max_three.new_grade a:before {

	left: 65px;

}



.entry_box .other_entry {

  float: right;

  width: 228px;

}

.entry_box .other_entry ul li {

  width: 224px;

  height: 50px;

  border: 2px solid #0075c2;

  margin-bottom: 5px;

  font-weight: bold;

}

.entry_box .other_entry ul li a {

  display: block;

  background: url(../../common/images/link_arrow_right_blue.png) no-repeat 209px center;

  padding: 0 25px 0 16px;

  line-height: 48px;

}

.entry_box .other_entry ul li a:hover {

  color: #ffffff;

  background-color: #0075c2;

}



/* common entry(free class) link

============================ */

p.invite_link a {display: block;background: url(../../common/images/link_arrow_right_blue.png) no-repeat top 50% right 2%;padding: 0 25px 0 25px;line-height: 48px;}

p.invite_link  a:hover {color: #ffffff;background-color: #0075c2;background-image: url(../../common/images/link_arrow_right_white.png);}

p.invite_link {font-size: 128.571%;line-height:2em;border: 2px solid #0075c2;margin-bottom: 5px;font-weight: bold;margin-top: 1.5em;}

p.invite_link.page_last {margin-top: 80px;}

p.invite_link._on a {color: #fff;background: #0075c2 url(../../common/images/link_arrow_right_white.png) no-repeat top 50% right 2%;}

p.invite_link._on a:hover {color: #0075c2;background-color: #fff;background-image: url(../../common/images/link_arrow_right_blue.png);}



/* common caption text

============================ */

#main_content p.caption_txt {

	font-family: "A1 Mincho";

	font-size: 150%;

	line-height: 1.4;

	margin-bottom: 0;

}









/* floating_banner

============================ */

.contact_banner,

#sticky_nav,

footer {

  position: relative;

  z-index: 100;

}



footer {

  background-color: #fff;

}



.contact_banner.floating_appli {

  display: none;

  position: fixed;

  z-index: 50;

  bottom: 0;

  left: calc(50% - 600px);

  width:1200px;

  margin-bottom: 0;

  padding: 0;

  background: rgba(24,116,174,.3); /* var(--Autumn_Sub_Color) opacity .3 */

}



.contact_banner.floating_appli .button dl dd {

  padding: 1rem 0;

}



.contact_banner.floating_appli .button dl dt {

  display: none;

}





@media screen and (orientation: portrait) and (max-width: 767px){



  .contact_banner.floating_appli {

    left: 0;

    width:100%;

    padding-top: 0;

  }



}