@charset "UTF-8";

@font-face {
	font-family: 'KOBURIW1';
	src: url('../font/KOBURIW1.otf') format('opentype');
}
@font-face {
	font-family: 'FINALOLD';
	src: url('../font/FINALOLD.TTF') format('truetype');
}
@font-face {
	font-family: 'BOOKOSI';
	src: url('../font/BOOKOSI.TTF') format('truetype');
}
@import url('https://fonts.googleapis.com/css2?family=Kosugi&family=Staatliches&display=swap');
@font-face {
	font-family: 'Kosugi', sans-serif;
}
@font-face {
	font-family: 'Staatliches', cursive;
}
/********************/
/*背景色*/
/********************/
body{
	background-color: #ffffff;
}
#head_wrap {
	background-color: #ffffff;
}
header{
	background-color: #ffffff;
}
header h1{
	background-color: #ffffff;
}
nav{
	background-color: #ffffff;
}
#slider{
	background: rgb(124,66,24);
	background: linear-gradient(90deg, rgba(124,66,24,1) 0%, rgba(121,84,9,1) 35%, rgba(255,136,0,1) 100%);
}
ul#pan{
	background-color: #111111;
}
#content{
	background-color: #ffffff;
}
#main{
	background-color: #ffffff;
}
#main h1 {

}
footer{
	background-color: #eeeeee;
}
footer h4 {
	background: rgb(124,66,24);
	background: linear-gradient(90deg, rgba(124,66,24,1) 0%, rgba(121,84,9,1) 35%, rgba(255,136,0,1) 100%);
}
footer #copy{
	background:#ffffff;
}
/********************/
/*文字色*/
/********************/
html{
	color: #444444;
}
table{
	color: #333333;
}
a {
	color: inherit;
}
.errMsg{
	color: #800000;
}
header h1 a,
header h1 a:hover{
	color: #333333;;
}
nav ul li a{
	color: #666666;
}
nav ul li a:hover{
	color: #dc143c;
}
ul#pan li a{
	color: #ffffff;
}
#main h1 {
	color: #ffffff;
}
#main h3.main_h3 {
	color: #ffffff;
}
footer{
	color: #444444;
}
footer h4 {
	color: #ffffff;
}
footer #copy{
	color: #444444;
}
/********************/
/*レイアウト*/
/********************/
html{
	font-size: 16px;
}
body{
	font-family: 'KOBURIW1', 'BOOKOSI', sans-serif;
}
p {
	line-height: 2em;
	margin-bottom: 0.5em;
}
a {
	text-decoration: inherit;
}
.errMsg{
	display: block;
}
select {
	/* padding: 0.1em;
	-moz-appearance: none;
    -webkit-appearance: none; */
}

/********************/
/*ヘッダー*/
/********************/

header{
	margin: 0 auto;
	padding: 0;
	width: 100%;
	text-align: center;
}
header:after{
	display: block;
	content: "";
	clear:both;
}
header h1{
	font-size: 5em;
	display: inline-block;
	font-family: 'FINALOLD', sans-serif;
	font-weight:100;
	width: auto;
	margin: auto;
  	letter-spacing: 0.1em;
}
header h1,
header p{
	padding: 0 10px;
}
header h1 a,
header h1 a:hover{
	text-decoration: none;
}
/********************/
/*ヘッダーナビ*/
/********************/
nav{
	font-family: 'FINALOLD', sans-serif;
	margin: 0;
	padding: 0;
}
nav:after{
	display: block;
	content: "";
	clear:both;
}
nav ul{
	list-style-type: none;
	padding: 0;
	margin: 0;
}
nav ul li{
	font-size: 24px;
	float: left;
	padding: 4px 1em 14px;
	height: 48px;
	display: -webkit-box; /* safari, Chrome */
	display: -moz-box;	/* Firefox */
	display: -o-box;	  /* Opera */
	display: -ms-box;	 /* IE */
	display: box;
	-webkit-box-align: center; /* safari, Chrome */
	-moz-box-align: center;	/* Firefox */
	-o-box-align: center;	  /* Opera */
	-ms-box-align: center;	 /* IE */
	box-align: center;		 /* ベンダープレフィックスなし */
}
nav ul li .material-symbols-outlined{
	font-size: 24px;
	padding: 6px 1em 12px;
}
nav ul li{
	display: block;
}
nav ul li a{
	text-decoration: none;
	display: block;
}
/*ーーーーーーーーーー
.header
ーーーーーーーーーーー*/
#head_wrap {
  z-index: 888;
  width: 100%;
}

#head_wrap a {

}

#head_wrap .inner {
  width: 100%;
  margin: 0 auto;
  position: relative;
  background: #ffffff;
}

#head_wrap .inner:after {
  content: "";
  clear: both;
  display: block;
}

#global-nav ul li a {
  transition: all .6s ease 0s;
}

/* Fixed */
#head_wrap.fixed {
  margin-top: 0;
  top: 0;
  position: fixed;
  height: 96px;
  transition: top 0.65s ease-in;
  -webkit-transition: top 0.65s ease-in;
  -moz-transition: top 0.65s ease-in;
  z-index: 777;
}

#head_wrap.fixed{
	width: 100%;
}

/* Toggle Button */
#nav-toggle {
  display: none;
  position: absolute;
  right: 12px;
  top: 12px;
  width: 34px;
  height: 36px;
  cursor: pointer;
  z-index: 777;
}

#nav-toggle div {
  position: relative;
}

@media (max-width: 767px) {

}
/********************/
/*ぱんくず*/
/********************/
ul#pan{
	margin: 0.5em 0;
	padding: 0;
	list-style-type: none;
	height: 24px;
	font-family: 'KOBURIW1', 'BOOKOSI', sans-serif;
}
ul#pan li::after {
	content: '>';
	margin: 0 0 0 1em;
}
ul#pan li:last-child:after {
 	content: '';
}
ul#pan li{
	display: -webkit-box; /* safari, Chrome */
	display: -moz-box;	/* Firefox */
	display: -o-box;	  /* Opera */
	display: -ms-box;	 /* IE */
	display: box;
	-webkit-box-align: center; /* safari, Chrome */
	-moz-box-align: center;	/* Firefox */
	-o-box-align: center;	  /* Opera */
	-ms-box-align: center;	 /* IE */
	box-align: center;		 /* ベンダープレフィックスなし */
	float: left;
	margin: 0 1em 0 0;
	height: 24px;
}
ul#pan li .material-symbols-outlined{
	font-size: 24px;
}
ul#pan li a{
	text-decoration: none;
	display: block;
}
ul#pan li a:hover{
	text-decoration: underline;
}
ul#pan:after{
	display: block;
	content: "";
	clear:both;
}
/********************/
/*コンテンツ*/
/********************/
#content{
	margin: 0 auto;
	padding: 0;
	width: 100%;
	max-width: 1200px;
}
#content:after{
	display: block;
	content: "";
	clear:both;
}
/********************/
/*メインコンテンツ*/
/********************/
#main{
	margin: 0;
	padding: 0 16px 24px;
	width: 100%;
	max-width: 1200px;
}
#main:after{
	display: block;
	content: "";
	clear:both;
}
/********************/
/*セクション*/
/********************/
section{
	margin: 1em 0 0;
	padding: 0 0 1em;
}
section:after{
	display: block;
	content: "";
	clear:both;
}
/********************/
/*メイン*/
/********************/
#main h1 {
	letter-spacing: 0.15em;
	font-family: 'KOBURIW1', 'BOOKOSI', sans-serif;
	font-weight:600;
 	color: #333333;
 	padding:0.5em 0;
 	border-top: dotted 1px #dddddd;
 	border-bottom: dotted 1px #dddddd;
 	margin:0 auto 1em;
}
/********************/
/*フッター*/
/********************/
footer{
  	position: sticky;
  	top: 100vh;
	width: 100%;
	margin: 0 auto;
	padding: 0 5px 0;
}
footer h4 {
	letter-spacing: 0.15em;
	font-weight: bold;
	font-family: 'Kosugi', sans-serif;
	position: relative;
	padding: .5rem 1rem;
	margin: 0 0.5em 1em;
}
.footer-contents{
	padding: 0 1.5em 1em;
}
footer #copy{
	font-family: 'FINALOLD', sans-serif;
	display: block;
	margin: 0 -5px;
	padding: 10px;
	text-align: center;
	font-size: 16px;
	letter-spacing: 0.15em;
}
.foot-nav{
	font-family: 'FINALOLD', sans-serif;
	margin: 0 auto;
	padding: 1em 0;
	font-size: 16px;
}
.foot-nav:after{
	display: block;
	content: "";
	clear:both;
}
.foot-nav ul.foot-menu{
	list-style-type: none!important;
	width: auto;
	margin:0;
	padding:0 2em 1em;
}
.foot-nav ul.foot-menu li{
	margin:1em 2em;
	padding:0;
	float:left;
	display: inline;
	width: auto;
	font-size: 16px;
}

.foot-nav ul.foot-menu li a{
	margin: 0;
	padding: 0;
	font-size: 16px;
}
/********************/
/*横並びボックス*/
/********************/
.box{
	margin: 0;
	padding: 0;
	width: 100%;
}
.box2,
.box3,
.box32,
.box4{
	overflow: hidden;
}
.box2{
	width: 49.5%;
	margin: 0 1% 5px 0;
	float: left;
}
.box2:nth-child(2n){
	margin: 0 0 5px 0;
}
.box3,
.box32 {
	width: 33%;
	margin: 0 0.5% 5px 0;
	float: left;
}
.box3:nth-child(3n),
.box32:nth-child(3n) {
	margin: 0 0 5px 0;
}
.box4{
	width: 24.5%;
	margin: 0 0.6666% 5px 0;
	float: left;
}
.box4:nth-child(4n){
	margin: 0 0 5px 0;
}
.box2 img,
.box3 img,
.box32 img,
.box4 img{
	width: 100%;
}
.box:after{
	display: block;
	content: "";
	clear:both;
}
/************ box内の画像トリミング ************************/
.box-image {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 100%; /* 比率を3:4に固定 */
	margin: 0 auto;
}
.box-image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 9;
}
.box-image span.catbox {
	font-family: 'FINALOLD', sans-serif;
	background-color:#333333;
	color:#ffffff;
	position: absolute;
	top: 0;
	right: 0;
	width: auto;
	height: 24px;
	z-index: 10;
	padding: 2px;
	font-size: 20px;
	line-height: 20px;
	font-weight:100;
	letter-spacing:0.1em;
}
.box-image time.timebox {
	font-family: 'FINALOLD', sans-serif;
	background-color:#333333;
	color:#ffffff;
	position: absolute;
	bottom: 0;
	left: 0;
	width: auto;
	height: 24px;
	z-index: 10;
	padding: 2px;
	font-size: 20px;
	line-height: 20px;
	font-weight:100;
	letter-spacing:0.1em;
}
.box-title{
	color: #666666;
	width: 100%;
	height: 5em;
	font-weight: 400;
	padding: 0.2em;
	font-size: 1em;
	line-height: 1.6em;
}
.box-title-long{
	display: block;
	height: 3em;
}
.rel{
	position: relative;
}
/********************/
/*テキストリスト*/
/********************/
.targetlist_53{
	padding: 20px;
	margin: 2em 0;
	background: rgba(255, 255, 255, 0.25);
	backdrop-filter: blur(4px);
	border-radius: 10px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
}
.targetlist_53 ul{
	padding:0;
	list-style-position: inside;
}
.targetlist_53 ul li::marker {
	font-size: 18px; color: #acaeb4; content:"●";
}
.targetlist_53 ul li {
	padding:0 0 0 10px;
	margin:0.5em 0;
}
.targetlist_53 ol li {
	padding-left: 10px;
}
.targetlist_53 ol li::before {
	counter-increment: number; content: counter(number); background: #848484;color: white; width: 25px; height: 27px; display: inline-block; text-align: center; position: absolute; left:25px; font-weight: bold;
}
.targetlist_53 ol {
	counter-reset:number; list-style-type:none!important;
}
/********************/
/*囲みリスト*/
/********************/
.targetlist_6{
	position: relative; padding: 40px 20px 0px 20px; margin: 2em 0; border: solid 2px #989898; border-radius: 8px;
}
.targetlist_6_title{
	position: absolute; display: inline-block; top: -13px; left: 20px; padding: 0 10px; background: #fff; font-weight: bold; color: #989898;
}
.targetlist_6 ul li::marker {
	font-size: 20px; color: #acaeb4; content:"・";
}
.targetlist_6 ul li {
	padding-left: 10px;
}
.targetlist_6 ol li {
	padding-left: 10px;
}
.targetlist_6 ol li::before {
	counter-increment: number; content: counter(number); background: #848484;color: white; width: 25px; height: 27px; display: inline-block; text-align: center; position: absolute; left:25px; font-weight: bold;
}
.targetlist_6 ol {
	counter-reset:number; list-style-type:none!important;
}
/********************/
/*縦に変わるテーブル*/
/********************/
table.tate-table{
	border-collapse: collapse;
	width: 100%;
}
.tate-table th,
.tate-table td{
	padding: 10px;
	border: solid 1px #888888;
	box-sizing:border-box;
}
.tate-table th {
	background: #dddddd;
	color: #222222;
	text-align:center;
	width: 24%;
	vertical-align: top;
}
.tate-table td{
	background-color: #eeeeee;
}
/********************/
/*スクロールテーブル*/
/********************/
.scroll-table {
  overflow: none;
  border: none;
}
.scroll-table table{
	border-collapse: collapse;
	width: 100%;
}
.scroll-table table th,
.scroll-table table td{
	padding: 10px;
	border: solid 1px #444444;
	box-sizing: border-box;
}
.scroll-table table th,
.scroll-table table td {
	background: #ffffff;
	color: #222222;
	text-align: left;
}
.scroll-table th.blue,
.scroll-table td.blue{
	color: #0000ff;
	background-color: #fff0f5;
}
.scroll-table th.red,
.scroll-table td.red{
	color: #ff0000;
	background-color: #fff0f5;
}
.scroll-table tr.yasumi td{
	background-color: #fff0f5;
}
/********************/
/*Google Map*/
/********************/
/* Google Mapを囲う要素 */
.google-map {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 50%; /* 比率を4:3に固定 */
	border: solid 2px #0b0b33;
	margin: 0.5em auto;
}
/* Google Mapのiframe */
.google-map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.google-map img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/********************/
/*囲み枠*/
/********************/
.box-kakomi {
  position: relative;
  margin: 2em auto;
  padding: 1.2em;
  width: 100%;
  border: 5px solid #666666;
  color: #444444;
  background: #eeeeee;
}

.box-kakomi-title {
  position: absolute;
  left: 20px;
  top: -15px;
  padding: 0 .5em;
  font-weight: bold;
  font-size: 1.1em;
  color: #ffffff; /* タイトル文字色 */
  background: #222222; /* タイトル背景色 */
}
/********************/
/*ページング*/
/********************/
.list-nav {
	background-color: #000000;
	padding: 0.5em 0.5em 0;
	box-sizing: border-box;
	margin-top: 1em;
}
.list-nav-div{
	box-sizing: border-box;
}
.list-nav-div:after{
	display: block;
	content: "";
	clear:both;
}
.list-nav ol {
	clear:both;
	margin:0 auto;
	list-style: none;
	box-sizing: border-box;
}
.list-nav-prev,
.list-nav ol li {
	float: left;
	box-sizing: border-box;
	box-sizing: border-box;
}
.list-nav-next {
	float: right;
	box-sizing: border-box;
}
.list-nav ol li a {
	box-sizing: border-box;
	display: block;
	color: #ffffff;
	margin: 0 0.5em 0.5em 0;
	padding: 0.5em;
	border: solid 1px #ffffff;
}
.list-nav-prev a,
.list-nav-next a {
	box-sizing: border-box;
	display: inline-block;
	color: #ffffff;
	margin: 0 0.5em 0.5em 0;
	padding: 0.5em;
	border: solid 1px #ffffff;
}
.list-nav-prev a:hover,
.list-nav-next a:hover,
.list-nav ol li.current a,
.list-nav ol li a:hover {
	color: #000000;
	background-color: #ffffff;
}
.list-nav-prev span.current,
.list-nav-next span.current {
	box-sizing: border-box;
	display: inline-block;
	color: #000000;
	margin: 0 0.5em 0.5em 0;
	padding: 0.5em;
	background-color: #ffffff;
}
/********************/
/*ボタン*/
/********************/
/*押すボタン*/
.btn--orange {
	color: #ffffff;
	background-color: #eb6100;
	border-radius: 100vh;
}
.btn--orange:hover {
	color: #fff;
	background: #f56500;
}
.btn--red {
	color: #ffffff;
  	background-color: #ff4500;
  	border-radius: 100vh;
}
.btn--red:hover {
	color: #fff;
	background: #8b0000;
}
.btn--yellow {
	color: #ffffff;
  	background-color: #fff100;
  	border-radius: 100vh;
}
.btn--yellow:hover {
	color: #fff;
	background: #fff20a;
}
.btn--gray {
	color: #ffffff;
  	background-color: #666666;
  	border-radius: 100vh;
}
.btn--glay:hover {
	color: #fff;
	background: #aaaaaa;
}
.tablebtn {
	font-size: 1rem;
	color: #ffffff;
  	background-color: #8b0000;
  	padding:0.5rem;
  	margin:0 auto 2px;
  	display: block;
  	text-align: center;
}
/********************/
/*ちょっとした追加*/
/********************/
div.td-center {
	text-align: center;
	margin: 0 auto;
	padding: 1em 0;
}
span.foot-link {
	margin: 0 1em;
	padding: 1em;
}
/********************/
/*記事一覧*/
/********************/
.setsumei {
	font-size:1em;
	padding:0 0 1em;
	margin:0;
}
.setsumei-l {
	font-size:1em;
	padding:0 0 3em;
	margin:0;
}
.readmore {
	text-align: right;
	padding: 0 0 0.5em;
	font-size:18px;
	color:#666666;
	margin:0 auto 1.5em;
}
.readmore a{
	display: inline-flex;
	align-items: center;
	color:#666666;
}
.readmore a:hover{
	color: #dc143c;
}
/********************/
/*記事詳細*/
/********************/
.article-detail{
	width: 100%;
	max-width: 800px;
	margin: 0 auto 2em;
	padding: 1em;
	font-family: 'KOBURIW1', 'BOOKOSI', sans-serif;
}
.article-detail h1.article-h1{
	border-top:dotted 2px #dddddd;
	border-bottom:dotted 2px #dddddd;
	font-size:22px;
	font-weight:600!important;
	padding:1em 0;
	margin:0.5em 0 3em;
	color:#111111!important;
}
.article-detail-content {
	font-size: 18px;
	font-weight:300;
	color:#666666!important;
}
.article-detail h1 {
	font-size:20px;
	font-weight:600!important;
	padding:0 0 1em;
	margin:0;
	color:#222222!important;
}
.article-detail-content h1 {
	font-size:20px;
	font-weight:600!important;
	padding:0 0 1em;
	margin:0;
	color:#222222!important;
}
.article-detail-content h2 {
	font-size:20px;
	font-weight:500!important;
	padding:0;
	margin:2em 0 1em;
	color:#333333!important;
	border-bottom: solid 0.5px #aaaaaa;
}
.article-detail-content h3 {
	font-size:18px;
	font-weight:500!important;
	padding:0 0 0.5em;
	margin:0;
	color:#444444!important;
}
.article-detail-content p{
	padding:0 0 1.5em;
	margin:0;
}
.article-detail-content ul,
.article-detail-content ol{
	padding: 0 0 1em;
	margin:0;
}
.article-detail-content ul li,
.article-detail-content ol li{
	padding:0 0 0.5em;
	margin:0;
	list-style-position: inside;
}
.article-detail-content strong {
	font-weight:400!important;
	color:#444444!important;
}
.open-time {
	text-align:right;
	font-size:0.9em;
	padding:1em 0;
}
figure.article-detail {
	padding:0 0 2em;
}
/********************/
/*予想*/
/********************/
ul.yosou-ul {
	margin: 0;
	padding: 0;
	list-style-type: "◆";
	float: left;
}
ul.yosou-ul li {
	margin: 0.5em;
	padding: 0;
	float: left!important;
	list-style-position: inside;
}
/********************/
/*ページング*/
/********************/
.pagination{
	width:100%;
	text-align:center;
	padding:1.5em 0;
	margin:0;
	line-height:3em;
}
.pagination span{
	margin:0.2em;
	padding:0.5em;
	background-color:#444444;
	color:#ffffff;
	border:solid 1px #444444;
}
.pagination a{
	margin:0.2em;
	padding:0.5em;
	background-color:#ffffff;
	color:#444444;
	border:solid 1px #444444;
}
.pagination a:hover{
	background-color:#444444;
	color:#ffffff;
}
/********************/
/*タグリスト*/
/********************/
ul.tag-list {
	margin:0;
	padding:0.3em;
	background:#dddddd;
	display: flex;
	flex-wrap: wrap;
}
ul.tag-list li {
	margin:0.1em;
	padding:0.2em;
	list-style-type: none;
}
ul.tag-list li a {
	font-size:0.8em;
}
/********************/
/*記事内広告*/
/********************/
.article-pr {
	margin:0;
	padding:1em 1em 2em;
	position: relative;
	width: 100%;
}
.article-pr .article-pr-img{
	margin:0;
	padding:0;
	position: relative;
	width: 100%;
}
.article-pr .article-pr-img span.catbox {
	font-family: 'FINALOLD', sans-serif;
	background-color:#333333;
	color:#ffffff;
	position: absolute;
	top: 0;
	right: 0;
	width: auto;
	height: 24px;
	z-index: 10;
	padding: 2px;
	font-size: 20px;
	line-height: 20px;
	font-weight:100;
	letter-spacing:0.1em;
}
/********************/
/*メニュー*/
/********************/
.menutype001{ background-color: #ff8800;color:#ffffff; }
.menutype002{ background-color: #ff8800;color:#ffffff; }
.menutype003{ background-color: #8b0000;color:#ffffff }
.menutype004{ background-color: #c71585;color:#ffffff; }
.menutype005{ background-color: #000080;color:#ffffff; }
.menutype006{ background-color: #ffff00; }
.menutype007{ background-color: #0000ff;color:#ffffff; }
/********************/
/*カテゴリー*/
/********************/
.cat0011{ background-color: #ff8800;color:#ffffff; }
.cat0012{ background-color: #ff8800;color:#ffffff; }
.cat0013{ background-color: #8b0000;color:#ffffff }
.cat004{ background-color: #c71585;color:#ffffff; }
.cat005{ background-color: #000080;color:#ffffff; }
.cat0031{ background-color: #ffff00; }
.cat0032{ background-color: #0000ff;color:#ffffff; }
.cat0039{ background-color: #cccccc; }
.cat0041{ background-color: #008800;color:#ffffff; }
.cat0042{ background-color: #dc143c;color:#ffffff; }
.cat0069{ background-color: #800080;color:#ffffff; }
.cat0071{ background-color: #000000;color:#ffffff; }
.cat0079{ background-color: #dddddd; }
.cat1111{ background-color: #ff0000;color:#ffffff; }
.cat2222{ background-color: #556b2f;color:#ffffff; }
.cat3333{ background-color: #00ff00;color:#111111; }
.cat3334{ background-color: #00ff00;color:#111111; }
.cat9999{ background-color: #5f9ea0;color:#ffffff; }

/********************/
/*カテゴリリスト*/
/********************/
.article_type_list{
    margin: 0 auto;
    text-align: center;
    width: 100%;
    padding: 1em 0;
}
.article_type_list ul.article_type_list_ul{
    display: inline-block;
    margin: 0;
    padding: 0;
    list-style: none;
}
.article_type_list ul.article_type_list_ul li.article_type_list_ul_li{
    display: inline-block;
    margin: 5px;
    padding: 0;
}
.article_type_list ul.article_type_list_ul li.article_type_list_ul_li a.article_type_list_ul_li_a{
    color: #5a3f30;
    text-decoration: none;
    font-size: 14px;
    border:solid 1px #5a3f30;
    padding: 5px 10px;
    border-radius: 5px;
    background-color:#dddddd;
}
/********************/
/*ページトップへ*/
/********************/
#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 0;
  bottom: 0;
  background: #000000;
  opacity: 0.6;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
/********************/
/*目次*/
/********************/
/* 目次全体のスタイル */
.toc {
    margin-bottom: 30px;
    border: 2px solid #444444;
    border-radius: 3px;
	font-family: 'KOBURIW1', 'BOOKOSI', sans-serif;
}

.toc div {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 10px 0;
    background-color: #444444;
    color: #fff;
}

.toc div::before {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 5px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 4H21V6H8V4ZM3 3.5H6V6.5H3V3.5ZM3 10.5H6V13.5H3V10.5ZM3 17.5H6V20.5H3V17.5ZM8 11H21V13H8V11ZM8 18H21V20H8V18Z' fill='%23fff'%3E%3C/path%3E%3C/svg%3E");
    content: '';
}

.toc ol {
    margin: 0;
    overflow: hidden;
}

.toc > ol {
    padding: 1em 1em 1em 3em;
}

.toc li {
    padding: 5px 0;
}

.toc a {
    color: #333;
    text-decoration: none;
}
.toc a:hover {
    color: #310606;
}
/********************/
/*上書き用(常に最後に配置)*/
/********************/

.red {
	color: #ff0000;
}
.blue {
	color: #0000ff;
}
.green {
	color: #008800;
}
.require {
	color: #ffffff;
	background-color: #800000;
	font-size: 10px;
	padding: 1px 5px;
	display: inline-block;
	margin: -5px 0 0 5px;
	line-height: 10px;
}
.small {
	font-size: 12px;
	line-height: 12px;
}
.p1 {
	padding: 0 0 1em;
}
.p11 {
	padding: 1em 0;
}
.al-c {
	text-align: center;
}
.al-r {
	text-align: right;
}
.al-l {
	text-align: left;
}
.size-s {
	font-size: 0.6em;
}