@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

body{
  padding:0;
  margin:0;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

img{
  max-width:100%;
}

p{
  line-height:2;
}

h3{
  font-size:20px;
}

.home footer{
  margin-top:0px;
}

header{
  padding:20px 0px;
}

#header_inner{
  padding:5px 10px;
  border-radius:100px;
  background:#FFF;
}

.navbar-nav li{
  display: flex;
  justify-content: center;
  align-items: center;
}

.navbar-nav li:last-child a{
  background:#f29600;
  display: flex;
  justify-content: center;
  align-items: center;
  width:80px;
  height:80px;
  border-radius:40px;
}

footer{
  text-align:center;
  background:#0071bc;
  padding:30px 0px;
  color:#FFF;
  margin-top:50px;
}

footer #copyright{
  margin-top:10px;
}

footer .nav{
  display:flex;
  justify-content: center;
}

footer .nav a{
  color:#FFF;
}


#mainimage{
  position:relative;
}

#mainimage header{
  position:absolute;
  left:0;
  top:0;
  right:0;
}

#mainimage #mainimage_bottom{
  position:absolute;
  left:0;
  bottom:0;
  right:0;
  padding:20px 0px;
  background:rgba(255,255,255,0.6);
}

#mainimage #mainimage_bottom a{
  display:block;
  padding:30px;
  background:#FFF;
  text-align:center;
  font-size:24px;
  border-radius:10px;
  color:#FFF;
  text-decoration:none;
}

#mainimage #mainimage_bottom a.btn1{
  background:#f39800;
}

#mainimage #mainimage_bottom a.btn2{
  background:#39b54a;
}

#mainimage #mainimage_bottom a.btn3{
  background:#29abe2;
}

#mainimage #mainimage_bottom #photoauthor{
  position:absolute;
  left:0;
  top:-30px;;
  right:0;
  font-size:12px;
}

#news{
  padding:50px 0px;
}

#newslist{
  list-style:none;
  padding-left:0;
}

#newslist a{
  color:#333333;
  text-decoration:none;
  display:block;
  padding:20px 0px;
  border-bottom:0.5px solid #000000;
  font-weight:bold;
  position:relative;
}

#newslist a span{
  display:inline-block;
  font-weight:normal;
  margin-right:20px;
}

#newslist a:after {
  font-family: "Font Awesome 7 Free";
  font-weight: 900; 
  content: "\f0d7";
  position:absolute;
  right:0;
  top: 50%;
  -webkit-transform: translateY(-50%); /* Safari用 */
  transform: translateY(-50%);
  font-size:150%;
  color:#3c699c;
}

.fontvertical{
  -webkit-writing-mode: vertical-lr;
  writing-mode: vertical-lr;
}

.fontvertical span{
  color:#3c699c;
  font-size:36px;
  margin-bottom:20px;
}

#greeting{
  background:#3c699c;
  color:#FFF;
  padding:50px 0px;
}


#map {
  position: relative;
  padding-bottom: 56.25%;
  padding-bottom: 30%;
  height: 0;
  overflow: hidden;
}

#map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.pageheader{
  background:#fbb03b;
  color:#FFF;
}

.pageheader .container{
  position:relative;
}

.pageheader h1{
  font-size:24px;
  text-align:center;
  min-height:250px;
  display: flex;
  justify-content: center;
  align-items:center;
  margin:0;
}


.leftimg{
  position:absolute;
  left:0;
  bottom:0;
}
.rightimg{
  position:absolute;
  right:0;
  bottom:0;
}


article{
  color:#333333;
}

.lh2{
  line-height:2;
}

.construction_map {
  margin-top:30px;
  margin-bottom:30px;
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%; /* 比率を4:3に固定 */
}
.construction_map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#placelist{
  list-style:none;
  padding-left:0;
}

#placelist li{
  border-bottom:0.5px solid #000000;
}

#placelist li > a{
  color:#333333;
  text-decoration:none;
  display:block;
  padding:20px 0px;
  font-weight:bold;
  position:relative;
}

#placelist li > a span{
  display:inline-block;
  font-weight:normal;
  margin-right:20px;
}

#placelist li > a:after {
  font-family: "Font Awesome 7 Free";
  font-weight: 900; 
  content: "\f0d7";
  position:absolute;
  right:0;
  top: 50%;
  -webkit-transform: translateY(-50%); /* Safari用 */
  transform: translateY(-50%);
  font-size:150%;
  color:#3c699c;
}


#member table {
  width: 100%;
  border-left: 1px solid #aaa;
  margin-top: 50px;
  font-size:16px;
}
#member table thead th {
  padding: 5px 5px;
  background-color: #999999;
  color: #FFFFFF;
}
#member table tbody th {
  padding: 5px;
  background-color: #CCCCCC;
  border-right: 1px solid #aaa;
}
#member table tbody td {
  padding: 5px;
  border-bottom: 1px solid #aaa;
  border-right: 1px solid #aaa;
}
#member table tbody tr:nth-child(even) {
  background: #f9f9f9;
}


#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 14px;
  line-height: 1;
  z-index: 99;
}
#page-top a {
  background: #72C7CA;
  text-decoration: none;
  color: #fff;
  width: 60px;
  padding: 24px 5px;
  text-align: center;
  display: block;
  border-radius: 90px;
  opacity: 0.9;
  transition: all .3s ease;
}
#page-top a:hover {
  text-decoration: none;
  opacity: .5;
}

ul.notices{
  list-style:none;
  font-weight:bold;
}

.notice_date{
  display:block;
  font-weight:normal;
}

ul.notices li{
  padding:20px 0px;
  border-bottom:1px solid #aaa;
}

.notice_title{
  padding:10px 10px;
  font-weight:bold;
  background:#fbb03b;
  color:#FFF;
  margin:10px 0px;
}


ul.months{
  list-style:none;
  display:flex;
  justify-content:center;
  padding-left:0;
}

ul.months li{
  padding:0px 5px;
  border-right:1px solid #aaa;
}

ul.months li.current{
  font-weight:bold;
}

ul.months li:last-child{
  border-right:0px;
}

ul.months li a{
  color:#000;
  text-decoration:none;
}

table.table-detail th{
  background:#f0ffe8;
}

table.original_calendar{
  width:100%;
  background:#FFF;
  border-left:1px solid #aaa;
  border-top:1px solid #aaa;
  table-layout:fixed;
}

table.original_calendar th,
table.original_calendar td{
  border-right:1px solid #aaa;
  border-bottom:1px solid #aaa;
}

table.original_calendar th.w6{
  background:#0c6db1;
  color:#FFF;
}

table.original_calendar th.w0{
  background:#eb1313;
  color:#FFF;
}

table.original_calendar td.w6{
  color:#0c6db1;
}

table.original_calendar td.w0{
  color:#eb1313;
}

#flashMessage{
  color: #721c24;
  text-align:center;
  margin:30px;
}

.error-message{

position: relative;
  padding: .75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-top-color: transparent;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
  border-radius: .25rem;
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}

span.required{
  display: inline-block;
  padding: .25em .4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25rem;
  transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
  color: #fff;
  background-color: #dc3545;

}

.form-control::placeholder {
  color: #ccc;
}

.dayschedules{
  list-style:none;
}

.dayschedules li{
  padding:10px 0px;
  font-size:20px;
}

.spmain{
  display:none;
}

/* Large ≥992px */
@media screen and (max-width: 1199px) {
}

/* md ≥768px */
@media screen and (max-width: 992px) {
}

/* sm ≥576px */
@media screen and (max-width: 767px) {
}

/* xs <576px */
@media screen and (max-width: 576px) {
  header{
    padding-top:0px;
    padding-bottom:0px;
    position:static;
  }
  #mainimage header{
    position:static;
  }

  header > .container{
    padding-left:0;
    padding-right:0;
  }
  #header_inner{
    border-radius:0;
  }
  #map {
    padding-bottom: 56.25%;
  }
  #mainimage > img{
    display:none;
  }
  #mainimage #mainimage_bottom{
    position:static;
    display:none;
  }
  .spmain{
    display:block;
  }
  .spmain .spmain_authoer{
    text-align:right;
    font-size:14px;
    padding:10px 10px 0px 0px;
  }
  .pageheader h1{
    min-height:150px;
  }
  .leftimg{
    display:none;
  }
  .rightimg{
    width:50%;
  }
  ul.months{
    display:none;
  }
  .fontvertical{
    writing-mode: horizontal-tb;
  }
  .fontvertical span{
    margin-left:10px;
  }
  #newslist a span{
    display:block;
  }
}



