@charset "UTF-8";

@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP');

body {
	font-family: "Noto Serif JP", Yu Mincho, "游明朝", "ＭＳ Ｐ明朝", MS PMincho, "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", serif;
    width:100%;
    /* フッターを一番下に固定する */
    display:flex;
    flex-direction:column;
    min-height:100vh;
    /* フッターを一番下に固定する　ここまで */
	background-color:#ffffff;
}

/* ヘッダ
-------------------------------------------------------*/
.header {
	border-bottom:1px solid #CCC;
    min-height:100px;
	padding-bottom:24px;
	overflow:hidden;

}
.header h1 {
    float:left;
    margin-top:24px;
}
.header div {
    margin:0 auto;
    width:80%;
}
@media only screen and (max-width:768px) {
	.header div {
		width:90%;
	}
}

/* コンテンツ部分
-------------------------------------------------------*/
.contents {
    margin:25px auto 0;
    padding-bottom:50px;
	width:80%;
	max-width:1280px;
}
.txtarea p {
    font-size:1.6rem;
    line-height:1.8;
    margin-bottom:1.8rem;
}

@media only screen and (max-width:768px) {
	.contents {
		width:90%;
	}
}

/* ヘディングタグ
-------------------------------------------------------*/
.txtarea h1 {
    font-size:2.6rem;
    margin-bottom:0.6em;
}
.txtarea h2 {
    font-size:2.2rem;
    margin-bottom:0.6em;
}
.txtarea h3{
    font-size:2rem;
    margin:30px 0 0.6em;
}

.ttl_pb {
    border-bottom:1px solid #373737;
    padding-top:16px;
}
.ttl_pb2 {
    border-bottom:1px dotted #373737;
    margin-top:30px;
    padding-top:16px;
}

/* フッター
-------------------------------------------------------*/
.footer {
    min-height:100px;
    margin-top:auto; /* フッターを一番下に固定する*/
    padding:15px 0;
	width:100%;
}
.fbase {
    margin:0 auto;
    width:80%;
}
.fleftbox {
    float:left;
}
.footer nav li {
    font-size:1.4rem;
    float:left;
    margin-right:24px;
}
.footer nav li:last-child {
    margin-right:0;
}
.footer nav li a {
	color:#222222;
    text-decoration:none;
}
.footer nav li a:hover {
    color:#a2a2a2;
    text-decoration:underline;
}

.footer p{
    clear:both;
    font-size:1.2rem;
}
.frightbox { /*ロゴを入れるスペース*/
    float:right;
	width:15%;
}

.indent {
	text-indent: -1em;
	padding-left: 1em;
	font-size: 1.6rem;
}

@media only screen and (max-width:768px) {
	.footer {
		border-top:1px solid #CCCCCC;
	}
	.fbase {
    	width:90%;
	}
	.footer nav li {
		float:none;
		line-height:1.6;
	}
	.footer p{
		padding-top:1rem;
		font-size:1.2rem;
	}
	.frightbox { /*ロゴを入れるスペース*/
		width:30%;
	}
}

/* ヘッダ・コンテンツ・フッタ
-------------------------------------------------------*/
#header::after,
.contetns::after,
.footer::after {
    display:block;
    content:"";
    clear:both;
}

/* グローバルメニュー
-------------------------------------------------------*/
.header nav {
    float:right;
    margin-top:24px;
}
.gmenu li {
    font-size:1.4rem;
    float:left;
}
.gmenu .line01 li {
	margin:15px 0 0 18px;
}
.gmenu .line01 li a {
	display:block;
    color:#222222;
    text-decoration:none;
	padding-bottom:20px;
}
.gmenu .line01 li a.downa:after {
	font-family:"FontAwesome";
	content:"\f107";
	font-size:1.8rem;	
	padding-left:0.5rem;
}
.gmenu li a:hover {
    color:#a2a2a2;
    text-decoration:underline;
}
.gmenu .sub {
	position:absolute;
	right:5%;
	top:65px;
	z-index:9999;
	border:1px solid #e9ebe4;
	background-color:#ffffff;
	padding:0 1rem 0.6rem;
}
.gmenu .sub li {
	margin:8px 0 0 24px;
}
.gmenu .sub li:first-child {
	margin-left:0;
}
.gmenu .sub span a{
	text-align:center;
	background:#222222;
	color:#ffffff;
}
.gmenu .sub span a:hover{
	color:#ffffff;
}
.gmenu .sub li ul li{
	background:#ffffff;
	float:none;
	margin:0;
	padding:0;
}
.gmenu .sub li a {
	border-bottom:1px solid #e9ebe4;
	padding:0.6rem 1rem;
}
.gmenu .sub ul li:last-child a {
	border:none;
}

@media only screen and (max-width:980px) {

	.header {
		position:relative;
	}
	.gmenu {
		background-color:#ffffff;
		position:fixed;
		width:300px;
		top:60px;
		bottom:0;
		right:-300px;
		overflow:auto;
		-webkit-overflow-scrolling:touch;
		z-index:999;
	}
	.gmenu a {
		position:relative;
	}
	.gmenu li {
		width:100%;
	}
	.gmenu .line01 li {
		margin:1rem 0;
	}
	.gmenu .line01 li a {
		padding-bottom:0;
	}
	.gmenu .line01 li a:before {
		content:"＞";
		margin-left:1rem;
		padding-right:0.6rem;
	}
	.gmenu .line01 li a.downa:after {
		content:"";
	}
	.gmenu .sub {
		position:static;
		display:block!important;
		margin-top:1rem;
		padding:0;
	}
	.gmenu .sub li {
		margin:0;
	}
	.gmenu .sub li a {
		margin:0;
		padding:0.6rem 0.4rem;
	}
	.gmenu .sub li a:before {
		content:"";
		margin-left:0;
	}
	.gmenu .sub ul li:last-child a {
		border-bottom:1px solid #e9ebe4;
	}
	.overlay {
		display:none;
		background-color:rgba(0,0,0,0.49);
		position:fixed;
		top:0;
		bottom:0;
		left:0;
		right:0;
		z-index:99;
	}
	body.menuOpen{
		position:fixed;
		top:0;
		width:100%;
	}
	
	.gmenurBtn {
		text-align:right;
	}
	.gmenuBtn span {
		position:absolute;
		top:0;
		bottom:0;
		right:2.5%;
		margin:auto;
		display:block;
		width:60px;
		height:60px;
		cursor:pointer;
	}
	.gmenuBtn span::before {
		font-family:"FontAwesome";
		content:"\f0c9";
		font-size:24px;
		color:#000000;
		position:absolute;
		left:0;
		width:100%;
		text-align:center;
		line-height:60px;
	}
	body.menuOpen .gmenuBtn span::before {
		content:"\f00d";
	}
}


/* テーブル
-------------------------------------------------------*/
table {
    font-size:1.6rem;
}
.t-p-n {
	width:100%;
	margin:3rem auto;
	border:solid 1px #333;
}
caption {
	font-weight:500;
	letter-spacing:0.35rem;
	color:#333;
	margin-bottom:0.8rem;
	font-size:1.6rem;
	text-align:center;
}
.c-a-r {
	text-align:right;
}
.t-p-n tr,
.t-p-n tbody {
    position:static;
}
.t-p-n th,
.t-p-n td {
	border-right:dotted 1px #333;
	border-bottom:dotted 1px #333;
    position:static;
    padding:0.8rem 1rem;
    text-align:left;
    font-weight:normal;
}
.t-p-n th {
	background:#f2f1ea;
	white-space:nowrap;
	width:30%;
}
.t-p-n .t-a-c,
.t-a-c th, 
.t-a-c td {
	text-align:center;
}
.t-p-n .t-a-l {
	text-align:left;
}
.scroll_table {
	padding-bottom:2rem;
}
.wb-k-a {
	word-break:keep-all;
}

@media only screen and (max-width:768px) {
	.t-p-n {
		width:auto;
		margin:0 5.333% 50px;
	}
	.t-p-n caption {
		font-size:1.6rem;
		letter-spacing:0.3rem;
		margin-bottom:0.5rem;
	}
	.t-p-n th,
	.t-p-n td {
	    padding:0.8rem 1rem;
	    text-align:left;
	    font-weight:normal;
	}
	.t-p-n th {
		font-size:1.6rem;
		padding:0 10px 8px;
	}
	.scroll_table {
 		width:auto;
 		overflow:auto;
		margin:50px 5.333%;
		padding-bottom:0;
	}
	.scroll_table table {
    	width:700px !important; /* モバイルの時のテーブルの幅 */
    	margin:0;
	}
	.scroll_table::-webkit-scrollbar{
		height:5px;
	}
	.scroll_table::-webkit-scrollbar-track{
		background:#f1f1f1;
		border-radius:5px;
	}
	.scroll_table::-webkit-scrollbar-thumb {
		background:#bcbcbc;
		border-radius:5px;
	}
}

/*pagetop
----------------------------------------*/
.pagetop {
	position:fixed;
	right:5%;
	bottom:120px; }

@media only screen and (max-width:768px) {
	.pagetop {
		right:1%;
		bottom:140px;
		background-color:#CCCCCC;
		opacity:0.7 }
}

