/* all */
:root {
    --theme: #666;
    --background: #CCC;
    --body: #EEE;
    --h1text: white;
    --h2text: var(--theme);
}

/* Sticky footer styles */
html {
    position: relative;
    min-height: 100%;
}

h1, .h1 {
	font-size: 1.2em;
	border: double 3px #FFF;
	border-radius: 0.3em;
	background-color: var(--theme);
	color: var(--h1text);
	padding: 0.5em;
    /* margin-bottom: 0; */
}

h2, .h2 {
	font-size: 1.2em;
	border-top: solid 3px var(--theme);
	color: var(--h2text);
	padding: 0.2em;
	margin-top: 1em;
}

h3, .h3, .h3-marker > li::marker {
	/* font-size: 1.2em;
	border: solid 1px var(--theme);
    background-color: var(--body);
	color: var(--theme);
	padding: 0.2em;
	margin-top: 1em; */

    font-size: 1.2em;
    padding-bottom: 0.5em;
    border-bottom: 2px solid;
    margin-top: 0.5em;
    /* font-weight: bold; */
}

.nav-link1 {
	width: 150px;
	height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.qaform {
	width:auto;
	float:right;
	height: 50px;
	width: 300px;
	padding-left: 10px;
	padding-right: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sticky-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
}

/* sticky-footer footerを一番下に固定するためのcss */
body {
	background-color: var(--body);
}

#footer {
    position: absolute;
    text-align: center;
    padding-bottom: 0.5em;
    bottom: 0;
    padding-top: 0.5em;
    width: 100%;
    font-size: 0.8em;
    background-color: #f5f5f5;
}

/*
.container .text-muted {
  margin: 20px 0;
}
*/

.banner {
	margin-bottom: 20px;
}

.featherlight-content {
    max-width: 80%;
}

.lightbox {
    display: none;
    position: relative;
}

.entry_link {
	text-align: center;
	padding: 10px;
}

.qa {
	margin-left:2em;
 	text-indent:-2em;
}

.qa2 {
    margin-left:3em;
    text-indent:-3em;
}

.faq_margin {
    margin-bottom: 10px;
}

dl.top_list {
	overflow: auto;
}

/* 「TOPに戻る」について */
#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 80%;
}

#page-top a {
    background: var(--background);
    text-decoration: none;
    color: var(--h1text);
    width: 100px;
    padding: 25px 0;
    text-align: center;
    display: block;
    border-radius: 10px;
}

/* 「TOPに戻る」の上にカーソルが来たとき */
#page-top a:hover {
    text-decoration: none;
    background: #675233;
}

/* entry */
.wrap {
	width: 98%;
	padding-top: 0.5em;
	margin: 0 auto;
    margin-bottom: 2em;
}

.form_p {
	font-weight: 900;
	font-size: large;
}

.required {
	color:red;
}

.error {
	color: red;
    font-weight: bold;
	padding-top: 2px;
}

/* admin */
.hidden {
    display: none;
}

/* dlで省略されないための処理 */
dl.topdateplan dt {
    border-bottom:1px dotted #ededed;
    overflow:visible;
    text-align:left;
    text-overflow: clip;
    white-space: pre;         /* CSS 2.0 */
    white-space: pre-wrap;     /* CSS 2.1 */
    white-space: pre-line;     /* CSS 3.0 */
    white-space: -pre-wrap;     /* Opera 4-6 */
    white-space: -o-pre-wrap; /* Opera 7 */
    white-space: -moz-pre-wrap; /* Mozilla */
    white-space: -hp-pre-wrap; /* HP Printers */
    word-wrap: break-word;     /* IE 5+ */
}

.text-muted {
    margin: 0;
}

#wrap {
    padding-bottom: 60px;
    margin-top: 1em;
    margin-bottom: 3em;
    background-color: #FFF;
}

.dl-package dd {
    margin-left: 15em;
}

.dl-package dt {
    width: 13.5em;
}

.dl-timber dd {
    margin-left: 17em;
}

.dl-equip-i dd {
    margin-left: 16em;
}

.hidden {
	visibility: hidden;
}

.nav-item {
	padding: 5px;
}

pre {
    font-family: initial;
    font-size: initial;
}

input[type="text"], input[type="password"], input[type="email"], input[type="tel"], input[type="number"], input[type="date"], input[type="time"], input[type="url"], input[type="search"], input[type="color"], input[type="range"], input[type="file"], textarea, .form-control {
    min-width: 5em;
}

/* 
.custom-file-label::after {
    content: "参照";
}
 */

/* 安全運営規則 */
/* .table th, .table td {
    vertical-align: initial;
} */
.rules {
    min-width: 768px;
}
.rules tr th:nth-child(1) {
    width: 8%;
}
.rules tr th:nth-child(2) {
    width: 8%;
}
.rules tr th:nth-child(3) {
    width: 32%;
}
.rules tr th:nth-child(4) {
    width: 32%;
}
.rules tr th:nth-child(5) {
    width: 20%;
}


ol.circle-number {
    counter-reset: my-counter;
    list-style: none;
    padding: 0;
}

ol.circle-number > li {
    font-size: 1em;
    line-height: 1.5;
    padding-left: 40px;
    position: relative;
}

ol.circle-number > li::before {
    content: counter(my-counter);
    counter-increment: my-counter;

    /* 丸の設定 */
    background-color: white;
    border: 1px solid;
    border-radius: 50%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 1.1em;
    width: 1.1em;
    top: 0.2em;
    left: 15px;

    /* 文字の設定 */
    color: black;
    position: absolute;
}

ol.maru	{
    position: relative;
    margin:0;
    padding:0;
}

ol.maru li {
    list-style: none;
    list-style-position:outside;
    margin:0;
    padding-left:1.25em;
}

ol.maru li span {
    position: absolute;
    left: 0;
    margin: 0;
}

.sub-menu{
    padding-left: 3.0em;
}

.midashi{
    font-size: 1.2em;
    font-weight: bold;
}

.anchor {
    padding-top: 50px;
    margin-top: -50px;
}    

@media (min-width: 1200px) {
    .anchor {
        padding-top: 100px;
        margin-top: -100px;
    }
}
