@charset "UTF-8";
@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');


/*-----------------------------------
	全体共通設定
-----------------------------------*/
body{
	margin:0;
	font-family:
		"Noto Sans Japanese",
		"ヒラギノ角ゴ ProN W3",
		Hiragino Kaku Gothic ProN,
		Arial,
		Meiryo,
		sans-serif;
	font-size:1em;
	font-weight:400;
	color:rgb(80,80,80);
	line-height:1.9;
	-webkit-text-size-adjust:100%;
}

.wrapper{
	min-width:1000px;
}

/*----- header -----*/
header{
	position:relative;
	min-width:1000px;
	background:url(../img/common_header_bg.jpg)center center no-repeat rgb(200,230,255);
	background-size:cover;
	z-index:20;
}

header.home_header{
	min-width:1000px;
	background:url(../img/home_header_bg.jpg)center center no-repeat rgb(200,230,255);
	background-size:cover;
}

header h1{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	margin:0 auto;
	padding:0 25px;
	width:1000px;
}

header h1 a{
	display:block;
	-webkit-transition:opacity .2s ease-out;
	transition:opacity .2s ease-out;
}

	header h1 a:hover{
		opacity:.5;
	}

header h1 img{
	line-height:0;
	vertical-align:bottom;
}


/*----- nav -----*/
nav{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	background:rgb(80,170,225);
	min-width:1000px;
	-webkit-box-shadow:0 0 6px rgba(0,0,0,.3);
	box-shadow:0 0 6px rgba(0,0,0,.3);
}

nav ul{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	margin:0 auto;
	padding:2px 25px;
	width:1000px;
}

nav ul li{
	position:relative;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	width:25%;
	border-right:solid 1px rgb(200,200,200);
	list-style:none;
}

nav ul li:last-child{
	border:none;
}

nav ul li a{
	position:relative;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	display:block;
	padding:.6em 1.4em;
	background:url(../img/menu_arrow.svg) -10% center no-repeat;
	font-size:1rem;
	color:rgb(255,255,255);
	line-height:1.5;
	text-align:center;
	text-decoration:none;
	-webkit-transition:.2s ease-out;
	transition:.2s ease-out;
	-webkit-transition-property:background, color;
	transition-property:background, color;
	z-index:10;
}

	nav ul li a:hover,
	nav ul li a.current{
		background:url(../img/menu_arrow.svg) 5% center no-repeat rgb(255,255,255);
		-webkit-box-shadow:0 0 6px rgba(0,0,0,.3);
		box-shadow:0 0 6px rgba(0,0,0,.3);
		color:inherit;
	}


/*----- footer -----*/
footer{
	min-width:1000px;
	position:relative;
	background:rgb(255,255,255);
	-webkit-box-shadow:0 0 5px rgba(0,0,0,.3);
	box-shadow:0 0 5px rgba(0,0,0,.3);
	line-height:1.6;
	text-align:center;
	z-index:2;
}

footer address{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	margin:0 auto;
	padding:32px 25px 35px;
	width:1000px;
	font-style:normal;
}

footer address .title{
	margin:0 0 .2em;
	font-size:.875rem;
	font-weight:700;
	color:rgb(80,170,225);
}

footer address .name{
	margin:0;
	padding-bottom:.1em;
	font-size:1.312rem;
	font-weight:700;
}

footer address .info{
	margin:0;
	font-size:0.875rem;
}

footer .copyright{
	margin:0;
	padding:0.6em 0;
	width:100%;
	min-width:1000px;
	background:rgb(80,170,225);
	font-size:0.812rem;
	color:rgb(255,255,255);
}


/*-----------------------------------
	ページごとの設定
-----------------------------------*/
/*-----------------------------------
	トップページ以外の共通設定
-----------------------------------*/
.main_area{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	margin:0 auto;
	padding:30px 25px 50px;
	width:1000px;
	min-height:600px;
	font-size:0.937rem;
}

.main_area p{
	margin:.6em 0;
}

.main_area .note{
	margin:.6em 0;
	padding-left:1em;
	font-size:.937rem;
	text-indent:-1em;
}

.main_area a.link{
	color:rgb(80,170,225);
	-webkit-transition:opacity .2s ease-out;
	transition:opacity .2s ease-out;
}

	.main_area a.link:hover{
		opacity:.5;
	}

.main_area h2{
	margin:1.5em 0 .5em;
	padding:.1em .4em .2em;
	border-bottom:solid 1px rgb(130,130,130);
	border-left:solid 5px rgb(80,185,205);
	font-size:1.375rem;
	font-weight:500;
	color:rgb(80,170,225);
	line-height:1.4;
}

.main_area h3{
	margin:1.5em 0 .5em;
	font-size:1.25rem;
	line-height:1.4;
}

.main_area h3::before{
	content:"";
	display:inline-block;
	margin-right:8px;
	width:8px;
	height:8px;
	border-radius:4px;
	background:rgb(80,170,225);
	vertical-align:14%;
}

.main_area h4{
	margin:1.5em 0 .5em;
	font-size:1.125rem;
	color:rgb(80,170,225);
	line-height:1.4;
}

.main_area h2 + section > h3:first-child,
.main_area h3 + section > h4:first-child{
	margin-top:.7em;
}

.main_area > section:first-child > h2:first-child{
	margin-top:0;
}

.main_area table.type01{
	margin:1em 0;
	width:100%;
	border-collapse:collapse;
	line-height:1.5;
	text-align:left;
}

.main_area table.type01 th,
.main_area table.type01 td{
	padding:.5em .8em;
	border:solid 1px rgb(180,180,180);
}

.main_area table.type01 th{
	background:rgb(240,240,240);
	font-weight:700;
}

.main_area ol,
.main_area ul{
	margin:1em 0;
}

.main_area li{
	margin:.4em 0;
}



.main_area .underconstruction{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	margin:220px auto 0;
	padding:0.8em;
	width:250px;
	background:rgb(80,170,225);
	border-radius:8px;
	-webkit-box-shadow:0 0 8px rgba(0,0,0,.3) inset;
	box-shadow:0 0 8px rgba(0,0,0,.3) inset;
	font-size:1.25rem;
	font-weight:700;
	color:rgb(255,255,255);
	text-align:center;
	text-indent:0.5em;
}


/*---------- button box ----------*/
.button_box{
	text-align:center;
}

.button_box a{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	display:inline-block;
	margin:0.5em 0;
	padding:0.5em 0.8em;
	width:92.5%;
	background:rgb(80,170,225);
	border:solid 1px rgb(80,170,225);
	border-radius:5px;
	-webkit-box-shadow:0 1px 5px rgba(0,0,0,.3);
	box-shadow:0 1px 5px rgba(0,0,0,.3);
	color:rgb(255,255,255);
	text-decoration:none;
	-webkit-transition:.2s ease-out;
	transition:.2s ease-out;
	-webkit-transition-property:background,color,-webkit-box-shadow;
	transition-property:background,color,-webkit-box-shadow;
	transition-property:background,box-shadow,color;
	transition-property:background,box-shadow,color,-webkit-box-shadow;
}

.button_box a::before{
	content:"▼";
	display:inline-block;
	margin:0 .4em 0 -.2em;
	-webkit-transform:rotate(-90deg);
	transform:rotate(-90deg);
	text-decoration:none;
}

	.button_box a:hover{
		background:rgb(255,255,255);
		color:rgb(80,170,225);
		-webkit-box-shadow:0 1px 5px rgba(0,0,0,.3) inset;
		box-shadow:0 1px 5px rgba(0,0,0,.3) inset;
	}

.button_box a.w3{
	width:30.3%;
}

.button_box a.w2{
	width:46%;
}

.button_box a.disabled{
	pointer-events:none;
	cursor:default;
	background:rgb(200,200,200);
}


/*------------------------------
	page_home
------------------------------*/
#page_home{
	min-height:450px;
}

#page_home .banner a{
	display:block;
	-webkit-transition:opacity .2s ease-out;
	transition:opacity .2s ease-out;
}

	#page_home .banner a:hover{
		opacity:.5;
	}

#page_home .banner a img{
	line-height:0;
	vertical-align:bottom;
}

#page_home .change_log h2{
	margin-bottom:0;
}

#page_home .change_log .log_outer{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	padding:0 10px;
	height:235px;
	border-bottom:solid 1px rgb(130,130,130);
	overflow-y:scroll;
}

#page_home .change_log .log_outer dl{
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	margin:0;
	font-size:0.937rem;
}

#page_home .change_log .log_outer dl dt,
#page_home .change_log .log_outer dl dd{
	padding-top:.8em;
	padding-bottom:.8em;
	border-bottom:solid 1px rgb(190,190,190);
	line-height:1.5;
}

#page_home .change_log .log_outer dl dt{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	padding-left:.2em;
	width:130px;
}

#page_home .change_log .log_outer dl dt::before{
	content:"";
	display:inline-block;
	margin-right:8px;
	width:7px;
	height:7px;
	border-radius:3.5px;
	background:rgb(85,128,180);
	vertical-align:10%;
}

#page_home .change_log .log_outer dl dd{
	margin:0;
	width:calc(100% - 130px);
}

#page_home .change_log .log_outer dl dd a{
	color:rgb(80,170,225);
	-webkit-transition:opacity .2s ease-out;
	transition:opacity .2s ease-out;
}

	#page_home .change_log .log_outer dl dd a:hover{
		opacity:.5;
	}

#page_home .change_log .log_outer dl > :first-child,
#page_home .change_log .log_outer dl > :nth-child(2){
	color:rgb(80,100,150);
	font-weight:700;
}


/*------------------------------
	page_greetings
------------------------------*/
#page_greetings .name{
	margin:0 0 1.5em;
	padding-right:.5rem;
	font-size:1.25rem;
	font-weight:700;
	text-align:right;
}

#page_greetings .name small{
	font-size:.937rem;
	font-weight:400;
}


/*------------------------------
	page_regulation
------------------------------*/
#page_regulation .regulation{
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	margin:0;
}

#page_regulation .regulation dt,
#page_regulation .regulation dd{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	padding:1.2em 0.5em;
	border-bottom:solid 1px rgb(200,200,200);
}

#page_regulation .regulation dt{
	margin:0;
	width:100px;
	color:rgb(80,100,150);
	font-weight:700;
}

#page_regulation .regulation dt::before{
	content:"";
	display:inline-block;
	margin-right:8px;
	width:7px;
	height:7px;
	border-radius:3.5px;
	background:rgb(85,128,180);
	vertical-align:10%;
}

#page_regulation .regulation dd{
	margin:0;
	width:calc(100% - 100px);
}

#page_regulation .regulation dd > *:first-child,
#page_regulation .regulation dd > *:first-child > *:first-child{
	margin-top:0;
}

#page_regulation .regulation dd > *:last-child{
	margin-bottom:0;
}


/*------------------------------
	page_activity
------------------------------*/
#page_activity ul{
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:justify;
	-webkit-justify-content:space-between;
	-ms-flex-pack:justify;
	justify-content:space-between;
	-webkit-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	margin:0;
	padding:0;
}

#page_activity ul li{
	position:relative;
	width:24%;
	list-style:none;
}

#page_activity ul li.empty{
	margin:0;
}

#page_activity ul li img{
	width:100%;
	vertical-align:bottom;
}

#page_activity ul li p.caption{
	position:absolute;
	bottom:0;
	margin:0;
	padding:.6em 0;
	width:100%;
	background:rgba(80,100,150,.85);
	font-weight:700;
	color:rgb(255,255,255);
	text-align:center;
}

#page_activity ul li p.caption a{
	color:inherit;
	-webkit-transition:opacity .2s ease-out;
	transition:opacity .2s ease-out;
}

	#page_activity ul li p.caption a:hover{
		opacity:.5;
	}

/*------------------------------
	page_latestforum
------------------------------*/
#page_latestforum .info{
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	margin:0;
}

#page_latestforum .info .big{
	display:inline-block;
	padding:0 .3em;
	-webkit-transform:scale(1.5,1.5) translateY(-.1em);
	transform:scale(1.5,1.5) translateY(-.1em);
	text-align:center;
}

#page_latestforum .info dt,
#page_latestforum .info dd{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	padding:1.2em 0.5em;
	border-bottom:solid 1px rgb(200,200,200);
}

#page_latestforum .info dt{
	margin:0;
	width:140px;
	color:rgb(80,100,150);
	font-weight:700;
}

#page_latestforum .info dt::before{
	content:"";
	display:inline-block;
	margin-right:8px;
	width:7px;
	height:7px;
	border-radius:3.5px;
	background:rgb(85,128,180);
	vertical-align:10%;
}

#page_latestforum .info dd{
	margin:0;
	width:calc(100% - 140px);
}

#page_latestforum ul.documents{
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:justify;
	-webkit-justify-content:space-between;
	-ms-flex-pack:justify;
	justify-content:space-between;
	-webkit-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	margin:0;
	padding:0;
}

#page_latestforum ul.documents li{
	position:relative;
	width:32%;
	list-style:none;
}

#page_latestforum ul.documents li.empty{
	margin:0;
}

#page_latestforum ul.documents li img{
	width:100%;
	vertical-align:bottom;
}

#page_latestforum ul.documents li p.caption{
	position:absolute;
	bottom:0;
	margin:0;
	padding:.6em 0;
	width:100%;
	background:rgba(80,100,150,.85);
	font-weight:700;
	color:rgb(255,255,255);
	text-align:center;
}

#page_latestforum ul.documents li a{
	font-weight:700;
	color:rgb(80,170,225);
	-webkit-transition:opacity .2s ease-out;
	transition:opacity .2s ease-out;
}

	#page_latestforum ul.documents li a:hover{
		opacity:.5;
	}

#page_latestforum .date_etc{
	margin:0;
	padding-right:.5rem;
	text-align:right;
}

#page_latestforum .name{
	margin:0 0 1.5em;
	padding-right:.5rem;
	font-size:1.25rem;
	font-weight:700;
	text-align:right;
}

#page_latestforum .name small{
	font-size:.937rem;
	font-weight:400;
}