@charset "utf-8";
/* ===================
 reset
=================== */
@import 'html-5-reset-stylesheet.css';
/* ===================
 font-family
=================== */
html{
font-size: 62.5%;
}
body{
font-family : -apple-system, "BlinkMacSystemFont", "Sawarabi Mincho", "Yu Gothic" , "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", osaka, sans-serif;
line-height:1.4;
color:#462102;
/* -webkit-user-select: none; */
-webkit-text-size-adjust: 100%;
width: 100%;
min-width: 960px;
font-size: 16px; font-size: 1.6rem;
word-break: break-all;
background:url(../img/sw_bg_top.gif) 0 0 no-repeat;
}
*{
  -webkit-appearance: none;
}
.wf-sawarabimincho { font-family: "Sawarabi Mincho"; }
@media only screen and (max-width: 768px) {
  body {
  min-width: 100%;
  }
}
/* ===================
 reset-add
=================== */
a:active {
color: #462102;
}
a {
color: #462102;
transition: .3s
}
a:hover{
text-decoration: none;
}
ol, ul {
list-style: none;
}
img {
max-width:100%;
vertical-align: bottom;
}
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
box-sizing: border-box;
}
/* ===================
 common
=================== */
.nest {
width: 960px;
padding: 0 10px;
margin: 0 auto;
}
.cf:after {
content: "";
clear: both;
display: block;
}
@media only screen and (max-width: 768px) {
  .nest {
  width: 100%;
  padding: 0 3%;
  }
}

/* ===================
 header
=================== */
header{
padding: 2% 0;
}
header h1{
float: left;
width: 50%;
font-size: 30px;
font-size: 3.0rem;
transition: .3s;
}
header h1 a,
header ul li a{
text-decoration: none
}
header h1:hover,
header ul li a:hover{
opacity: .6;
}
header h1 a:hover{
opacity: 1
}
header h1 span{
font-size: 18px;
font-size: 1.8rem;
display: block;
}
header ul{
float: right;
width: 50%;
display: flex;
border-left: 1px solid #ccc;
margin-top: 20px
}
header ul li{
width: 50%;
text-align: center;
border-right: 1px solid #ccc;
}
header ul li a{
display: block;
}
header p{
text-align: right;
}
@media only screen and (max-width: 768px) {
  header{
  padding: 6% 0;
  }
  header h1{
  float: none;
  width: 100%;
  text-align: center;
  }
  header ul{
  width: 100%;
  margin-top: 20px;
  }
  header ul li{
  width: 100%;
  vertical-align: middle;
  }
  header p{
  text-align: center;
  }
}

/* ===================
 contents
=================== */
h2 img{
width: 100%;
}
h2 + p{
margin: 1.5% 0;
font-size: 18px;font-size: 1.8rem;
}
ul#path{
margin: 1.5% 0;
}
ul#path li{
display: inline-block;
font-size: 18px;font-size: 1.8rem;
}
ul#path li a{
margin-right: 5px;
}
h3{
border: 1px solid #46210c;
font-size: 20px;font-size: 2.0rem;
padding: 3px 10px 0;
margin-bottom: 1.5%;
line-height: 32px;
background: linear-gradient(#f8f7f6, #c3b6ac);
}
.s_index table {
width: 100%;
}
.s_index table th{
border-bottom: 1px dashed #46210c;
width: 20%;
padding: 1% 0;
text-align: left;
font-size: 18px;font-size: 1.8rem;
}
.s_index table td{
border-bottom: 1px dashed #46210c;
padding: 1% 0;
font-size: 18px;font-size: 1.8rem;
}
.s_index table td > ul > li{
margin-bottom: 10px;

}
.s_index table td > ul > li:last-child{
margin-bottom: 0;
}

.s_index table td > ul > li > ul li{
display: inline-block;
vertical-align: top;
box-sizing: border-box;
}
.s_index table td > ul > li > ul li:first-child{
font-size: 14px;font-size: 1.4rem;
font-weight: bold;
background: #ccc;
color: #fff;
padding: 5px 5px;
margin-right: 10px;
width: 8%;
text-align: center;
}
li.icon_11{
background: #00a9d9!important
}
li.icon_yotei{
background: #e03837!important;
}
li.icon_owari{
background: #808080!important;
}
li.icon_21{
background: #2aab39!important;
}
li.icon_31{
background: #70b437!important;
}
li.icon_41{
background: #f39800!important;
}
.red{
color: #c00;
}
.s_index table td > ul > li > ul li:nth-child(2){
width: calc(16% - 10px);
padding-top: 3px;
margin-right: 10px;
}
.s_index table td > ul > li > ul li:nth-child(3){
width: calc(74% - 10px);
padding-top: 3px;
}
#month{
margin: 2% 0;
}
#month li{
float: left;
width: 33.33%;
}
#month li:nth-child(2){
font-size: 24px;font-size: 2.4rem;
font-weight: bold;
text-align:center;
}
#month li:nth-child(3){
text-align:right;
}
#month li a{
display: inline-block;
border: 1px solid #e5decc;
background: linear-gradient(#f5f1ee, #e0d5c1,#f5f1ee);
color: #7a6248;
width: 96px;
text-align: center;
text-decoration: none;
}
#month li a:hover{
opacity: .6;
}
.off-left{
position:absolute; 
text-indent: -9999px;
}
.skip-nav {
margin: 0;
}
.skip-link {
position: absolute;
top: -26px;
left: 0;
display: inline-block;
height: 1px;
padding: 2px 10px;
text-align: left;
overflow: hidden;
color: #FFF;
text-decoration: none;
border-radius: 0 0 8px 8px;
background: #462102;
transition: top .3s ease;
}
.skip-link:focus {
left: 0; 
top: 0;
width: auto; 
height: auto; 
overflow: visible; 
}
h4{
font-size: 20px;font-size: 2.0rem;
border-bottom: 1px solid #462102;
margin: 2% 0;
}
.ImgLeft{
float: left;
margin: 0 20px 0 0;
}
img.img_left{
width: 250px;
}
.text_type_B {
font-size: 18px;font-size: 1.8rem;
font-weight: bold;
margin-bottom: 2%
}
.img_box{
margin-top: 2%;
}
.img_box > a {
    text-decoration: none;
    vertical-align: top;
    display: inline-block;
}

.accessibility h5{
padding: 0 5px 0 10px;
margin: 1% 0 0.5%;
border-left: 5px solid #46210c;
}
#table_wrapper{
margin-bottom: 2%;
}
.accessibility table {
border-collapse: collapse;
width: 940px;

}
.accessibility table caption{
text-align: left;
}
.accessibility table, .accessibility th, .accessibility td {
border: 1px #46210c solid;
}
.accessibility thead th{
border-bottom: 3px #46210c solid;
padding: 5px;
vertical-align: middle;
}
.accessibility td,
.accessibility th{
padding: 5px;
}
#accessibility_list td:first-child{
text-align: center;
vertical-align: middle;
}
.accessibility tr:nth-child(2n){
background: #efe1da;
}
#accessibility_checklist tbody th{
text-align: left;
width: 50%;
padding-left: 4em;
text-indent: -3.3em
}
#accessibility_checklist tbody td:nth-child(2){
width: 60px;
text-align: center;
vertical-align: middle;
}
#accessibility_checklist tbody td:nth-child(3),
#accessibility_checklist tbody td:nth-child(4){
width: 80px;
text-align: center;
vertical-align: middle;
}
#page-top {
position: fixed;
bottom: 20px;
right: 50px;
width:40px;
z-index: 10;
}
#footer{
background: linear-gradient(#ebe1d8,#ffffff);
line-height: 86px;
text-align: center;

font-size: 20px;font-size: 2.0rem;
}
#foot-p{
margin:3% 0 2% 0;
text-align: center;
}
@media only screen and (max-width: 768px) {
  h2 + p{
  margin: 3% 0;
  font-size: 20px;font-size: 2.0rem;
  }
  h3{
  border: 1px solid #46210c;
  font-size: 20px;font-size: 2.0rem;
  padding: 3px 10px 0;
  line-height: 32px;
  background: linear-gradient(#f8f7f6, #c3b6ac);
  }
  ul#path{
  margin: 3% 0;
  }
  .s_index table {
  width: 100%;
  }
  .s_index table th{
  display: block;
  width: 100%;
  border-bottom: none;
  padding: 2% 0 0;
  font-size: 18px;font-size: 1.8rem;
  }
  .s_index table td{
  display: block;
  width: 100%;
  border-bottom: 1px dashed #46210c;
  padding: 1% 0;
  font-size: 18px;font-size: 1.8rem;
  }
  .s_index table td > ul > li{
  margin-bottom: 10px;

  }
  .s_index table td > ul > li:last-child{
  margin-bottom: 0;
  }

  .s_index table td > ul > li > ul li{
  display: inline-block;
  vertical-align: top;
  box-sizing: border-box;
  }
  .s_index table td > ul > li > ul li:first-child{
  font-size: 14px;font-size: 1.4rem;
  font-weight: bold;
  background: #ccc;
  color: #fff;
  padding: 5px 5px;
  margin-right: 10px;
  width: 20%;
  text-align: center;
  }
  .s_index table td > ul > li > ul li:nth-child(2){
  width: calc(80% - 10px);
  padding-top: 3px;
  margin-right: 0;
  }
  .s_index table td > ul > li > ul li:nth-child(3){
  width: calc(100% - 10px);
  padding-top: 3px;
  }
  .ImgLeft{
  float: left;
  margin: 0 3% 0 0;
  width: 30%;
  }
  .img_box img.img_left{
  margin-top: 2%;
  width: 30%;
  }
  .img_box > a {
    display: inline;
  }
}

@media only screen and (max-width: 425px) {
  .table-wrapper{
  width: 100%;
  overflow-x: scroll;
  margin:auto;
  }
  .table-wrapper::-webkit-scrollbar{
  background: #fff;
  height: 10px;
  border: 1px solid #46210c;
  border-top: 0;
  }
  .table-wrapper::-webkit-scrollbar-thumb{
  background:#46210c;
  }
  #footer{
  line-height: normal;
  font-size: 16px;font-size: 1.6rem;
  padding: 5% ;
  }
}