@charset "UTF-8";

/*================================================
 *  CSSリセット
 ================================================*/
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/*================================================
 *  一般・共通設定
 ================================================*/
body {
	font-size: 16px;
	font-family: sans-serif;
	line-height: 1.6;
	background-color: #f0f8ff;
	min-height: 100vh;
}

#wrapper {
	min-height: 100vh;
	width: 80%;
	max-width: 1170px;
	margin: .5rem auto;
	position: relative;
	/*←相対位置*/
	padding-bottom: 20px;
	/*←footerの高さ*/
	box-sizing: border-box;
	/*←全て含めてmin-height:100vhに*/
	background-color: #FFF;
}

header {
	width: 80%;
	margin: 0 auto;
}

main {
	width: 80%;
	margin: 0 auto;
}

#contents {
	width: 1008px;
	margin: 3rem auto;
	/* display: flex; */
}

#aside_contents {
	width: 80%;
	margin: 3rem auto;
	display: flex;
}

a {
	color: #0000FF;
}

a:hover {
	color: #5B3F8D;
}

p {
	margin: 1em 0;
}

img {
	vertical-align: bottom;
}

em {
	font-weight: bold;
}

ul,ol,dl {
	margin: 0 0 1em 0;
}

ul li {
	list-style: disc;
}

ol li {
	list-style: decimal;
}

li {
	margin-left: 2em;
}

dt {
	margin-bottom: 0.5em;
	border-bottom: 1px dotted #ddd;
	font-size: 20px;
	font-weight: bold;
}

dd {
	margin-bottom: 1em;
}

/*----*/
/* 表 */
/*----*/

table {
	width: 100%;
	margin-bottom: 1em;
	border-collapse: collapse;
	border: 1px solid;
}

/* 作成年の列の幅 */
table.datalist th:nth-child(1) {
	width: 8%;
}

/* タイトルと概要等の列幅 */
table.datalist th:nth-child(2) {
	width: 60%;
}

/* 備考の列幅 */
table.datalist th:nth-child(3) {
	width: 20%;
}

table.datalist th:nth-child(4) {
	width: 12%;
}

th {
	padding: 10px;
	text-align: center;
	vertical-align: middle;
	border: 1px solid #fff;
	background: #2086b2;
	color: #FFF;
}

td {
	padding: 10px;
  text-align: justify;
  text-justify: inter-character;
	border: 1px solid #ddd;
}

td:nth-child(4) {
  text-align: left;
}

.scr {
	overflow: scroll;
	/* スクロール表示 */
	width: 700px;
	height: 200px;
	background-color: #f5f5f5;
}

/*================================================
 *  汎用クラス
 ================================================*/
.list {
	padding: 0 0 0 2em;
}

.list li {
	margin: 0;
	padding: 0;
	list-style: none;
	text-indent: -1.3em;
}

.list li:before {
	content: "\002605\00a0";
	color: #ffc720;
}

/*================================================
 *  グローバルナビゲーション
 ================================================*/
nav {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
  padding: 0.3em;
	opacity: 0.8;
	background: #0D2238;
	z-index: 10;
}

nav ul {
	position: relative;
	float: left;
	left: 50%;
	margin: 0;
}

nav li {
	position: relative;
	left: -50%;
	float: left;
	list-style: none;
	margin: 0;
}

nav li a {
	color: #fff;
	text-decoration: none;
}

nav li a:hover {
	color: #dfdfdf;
	text-decoration: underline;
	;
}

nav li:after {
  content: '>';
  padding: 0.0 0.5em;
  color: #fff;
}

nav li:last-child:after {
  content: '';
}

/*================================================
 *  ヘッダー
 ================================================*/
header {
	margin: 30px auto 5px;
}

h1 {
	text-align: center;
	font-size: 28px;
	padding: .5em;
}

.logo {
	width: 780px;
	height: 250px;
	object-fit: none;
	max-width: 100%;
}

/* header h1 {
	margin-bottom:30px;
} */
/* h1 span {
	font-size:12px;
} */

/*================================================
 *  メイン
 ================================================*/

.information1,
.information2 {
	margin: 1rem auto;
	text-align: left;
	height: 10em;
	overflow: auto;
	width: 50%;
}

.information1 {
	padding: 0 1.5em 0 0;
}

.information2 {
	padding: 0 1.5em;
}

.txt_non {
	margin:0 0 1rem 3rem;
}


/****************************
 btn　サンプルcss 
 *****************************/

.btn-border {
	display: block;
	margin: auto;
	padding: 2rem 8rem;
	text-align: center;
	align-items: center;
	width: 600px;
	font-weight: bold;

	background-color: #e6d543;
	color: #fff;
	/* padding: 10px 30px; */
	text-decoration: none;
	font-size: 1em;
	outline: 1px solid;
	outline-color: #e6d543;
	outline-offset: 0px;
	/* display: inline-block; */
	transition: .3s;
	font-size: 20px;
	max-width: 100%;
  }
  .btn-border:hover {
	color: #fff;
	animation: light 1s infinite;
  }

  @keyframes light {
	100% { 
	  outline-color: transparent;
	  outline-offset: 10px;
	}
  }

/*******************************************/



.datalink {
	max-width: 80%;
	margin-bottom: 0.25em;
	font-size: 16px;
	border-left: solid 5px #3498DB;
	border-bottom: solid 1px gray;
	padding: 10px;
	text-decoration-style: none;

}

.info {
	margin-bottom: 0.25em;
	font-size: 16px;
	border-left: solid 5px #3498DB;
	border-bottom: solid 1px gray;
	padding: 10px;
	text-decoration-style: none;
}

/*================================================
 *  フッター
 ================================================*/
/* footer {
	clear:both;
	padding:20px 0;
	font-size:11px;
	text-align:center;
} */

#footer {
	position: sticky;
	/*←絶対位置*/
	color: #fff;
	width: 100%;
	height: auto;
	text-align: center;
	padding: 20px 0;
	background-color: #4F86EC;
}

/*================================================
 *  ページトップへの戻り
 ================================================*/
.pagetop {
	/* buttonタグのリセットCSS */
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;

	/* ボタンの装飾 */
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 100;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background-color: #6FC3DF;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
}

/* 矢印のスタイル */
.pagetop::before {
	content: "";
	width: 12px;
	height: 12px;
	margin-bottom: -6px;
	border-top: solid 3px #fff;
	border-right: solid 3px #fff;
	transform: rotate(-45deg);
}

/* ホバー時のスタイル */
.pagetop:hover {
	transform: scale(1.1);
}

/*================================================
 *  アコーディオンメニュー設定
 ================================================*/

.hidden_box {
	margin: 1.2em 0;
	/*前後の余白*/
	padding: 0 .5em;
	border: solid 2px #1C3F95;
	border-radius: 20px;
	transition: .4s;
}

/* タイトル装飾 */
summary {
	position: relative;
	display: block;
	/* 矢印を消す */
	padding: 1.5em 80px;
	/* アイコン分の余白 */
	cursor: pointer;
	font-size: 18px;
	cursor: pointer;
	color: #333;
}

summary:hover {
	color: #000;
}

summary::-webkit-details-marker {
	display: none;
	/* 矢印を消す */
}

/* 疑似要素でアイコンを表示 */
summary:before,
summary:after {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
}

summary:before {
	width: 80px;
	height: 80px;
	border-radius: 4px;
}

summary:after {
	left: 40px;
	width: 16px;
	height: 16px;
	border: 16px solid transparent;
	border-left: 20px solid #1C3F95;
	box-sizing: border-box;
	transition: .3s;
}

/* オープン時 */
details[open] summary:after {
	transform: rotate(90deg);
	/* 90度回転 */
	left: 40px;
	top: 16px;
}

	/*================================================
 *  タブレット/スマートフォン向けデザイン
 ================================================*/
	/* スクロールバーを考慮して20px大きいサイズで切り替え */
	@media screen and (max-width:600px) {
		body {
			box-sizing: border-box;
			width: 100%;
			padding: 0 10px;
		}

		#contents {
			width: 100%;
		}

		header {
			width: 100%;
		}

	}
	@media screen and (min-width:420px) {
		body {
			box-sizing: border-box;
			width: 100%;
			padding: 0 10px;
		}

		#contents {
			width: 100%;
		}

		header {
			width: 100%;
		}


	}
