/*
*
{
	border: 1px solid #000;
}
*/
body
{
	margin: 0px;
}

.box1
{
	margin: auto;
	padding-top: 15px;
	padding-bottom: 50px;
	width: 1000px;
}

.box2_wrapper
{
	width: 100%;
	background-color: #ededed;
	margin: 0px;
	padding: 0px;
}

.box2
{
	margin: auto;
	width: 1000px;
	padding: 0px;
}

h1, h2, h3, p, li
{
	font-family: 'Josefin Sans', 'Noto Sans JP',serif;
	color: #333;
}

img
{
	width: 100%;
	height: auto;
	margin-top: 10px;
	margin-bottom: 10px;
}

.box2 img
{
	margin: 0px;
	padding: 0px;
	vertical-align:top;
}

.course_wrapper
{
	display: flex;
	justify-content: center;
	font-size: 14px;
}

.course
{
	margin: 10px;
	padding-right: 30px;
	padding-bottom: 20px;
	width: 40%;
	border-radius: 10px;
	background: #cef;
	border: 1px solid #898989;
	float: left;
}

.course p
{
	margin-left: auto;
	margin-right: auto;
	text-decoration: underline solid #f00;
}

h1 {
	margin-top: 0px;
	border: 3px solid #005;
	text-align: center;
	color: #fff;
	background-color: #005;
}

.box1 h2
{
	text-align: left;
	margin-left: 0px;
	margin-bottom: 30px;

	position: relative;
	padding: 0.5em;
	background: #86b3d8;
	color: white;
}

h2::before
{
	position: absolute;
	content: '';
	top: 100%;
	left: 0;
	border: none;
	border-bottom: solid 15px transparent;
	border-right: solid 20px rgb(149, 158, 155);
}

.box1 h3
{
	text-align: left;
	margin-left: 20px;
}

.box1 h4
{
	text-align: left;
	margin-left: 30px;
}

.box1 p
{
	text-align: left;
	margin-left: 20px;
	color: #333;
}

.box1 li
{
	font-size: 16px;
}

.red
{
	color: #f00;
}

hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

/* グラデーション */
.hr1 {
  height: 1px;
  background: #aaa;
  background-image: -webkit-linear-gradient(left, #ddd, #999, #ddd);
  background-image: -moz-linear-gradient(left, #ddd, #999, #ddd);
  background-image: -ms-linear-gradient(left, #ddd, #999, #ddd);
  background-image: -o-linear-gradient(left, #ddd, #999, #ddd);
}

.topLeftPict
{
	position: fixed;
	top: 8px;
	right: 20px;
}

.map
{
	text-align: center;
}

.map img
{
	width: 90%;
}

.sub_title1
{
	text-align: center;
	font-size: 20px;
	color: #555;
	margin-bottom: 10px;

	font-family: 'Roboto',arial,sans-serif;
}

.sub_title2
{
	text-align: center;
	font-size: 24px;
	color: #f00;
	margin-bottom: 10px;
}

.pict_wrapper
{
	display: flex;
	justify-content: center;
	font-size: 14px;
}

.pict
{
	margin: 10px;
	padding-right: 30px;
	padding-bottom: 20px;
	width: 40%;
	float: left;
}

.pict p
{
	margin-left: auto;
	margin-right: auto;
}

.pict2
{
	margin: 10px;
	padding-right: 30px;
	padding-bottom: 20px;
	width: 80%;
	float: left;
}

.special_header_3
{
	border-bottom: 3px solid #000;
}

.special_header_4
{
	color: #ffffff;
	background-color: #987654;
	padding: 10px;
}

.bit_indent
{
	padding-left: 20px;
}

.bit_indent_ul
{
	margin-left: 20px;
}

.table_div
{
	font-size: 12px;
	text-align: center;
	padding: 20px;
	overflow-x: scroll
}

.table_div_2
{
	font-size: 12px;
	padding: 20px;
	overflow-x: scroll
}

table
{
	border-collapse: collapse;
	border:1px solid #333;
}

caption
{
	text-align: right;
}

.mannaka
{
	text-align: center;
	background-color: #ccc;
}



.nav_wrapper
{
	margin: auto;
	padding-top: 15px;
	width: 1000px;
}



nav ul
{
	display: table;
	margin: 0 auto;
	margin-top: 20px;
	padding: 0 ;
	width: 100%;
	text-align: center;
}

nav li
{
	display: table-cell;
	min-width: 50px;
}

nav a
{
	display: block;
	width: 100%;
	text-decoration: none;
	color: #333;
	padding-bottom: 5px;
}

nav li.current
{
	border-bottom: 3px solid #92D050;
}

nav li:hover
{
	color: #E7DA66;
	border-bottom: 3px solid #F0E475;
}



.pagetop {
    display: none;
    position: fixed;
    bottom: 30px;
    right: 15px;
}
.pagetop a {
    display: block;
    background-color: #ccc;
    text-align: center;
    color: #222;
    font-size: 12px;
    text-decoration: none;
    padding: 5px 10px;
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}
.pagetop a:hover {
    display: block;
    background-color: #b2d1fb;
    text-align: center;
    color: #fff;
    font-size: 12px;
    text-decoration: none;
    padding:5px 10px;
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}



@media screen and (max-width: 900px)
{
	.box1 h1
	{
		font-size: 56px;
	}

	.topLeftPict
	{
		width: 0px;
		height: 0px;
	}

	.topLeftPict img
	{
		width: 0px;
		height: 0px;
	}

	.sub_title1
	{
		font-size: 30px;
	}

	.sub_title2
	{
		font-size: 30px;
	}
	nav
	{
		font-size: 24px;
	}
	nav li
	{
		width: 135px;
		min-width: 135px;
	}



	.pagetop a {
	    font-size: 36px;
	}


}


