@charset "utf-8";

/* スマホ用のCSSはメディアクエリの前（最初）に記述する */

body{
  margin: 0px;
  text-align: center;
  font-size: 16px;
  font-family: 'Lato', sans-serif, Avenir, "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.6em;
  letter-spacing: 0.1em;
  background-color: #eff0e1;
  clear: both;
 -webkit-text-size-adjust: 100%;
}

h1{
  font-size : 18px;
  font-weight : bold;
  background-image : url(../lens.png);
  background-repeat : no-repeat;
  padding-left : 35px;
  background-position : 0px -2px;
  margin-bottom : 2px;
}

h2{
  text-align: center;
}

p.margin{
  margin-left: 8px;
  margin-right: 8px;
}

/*a要素を全体に広げる(IE6以外)*/
  html > body p.linkarea a{
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  text-align: left;
  text-indent: -999px;
  background/*\**/:#fff\9;
  /*IE7,8ハック*/filter: alpha(opacity=0);
  /*フィルターで透明に*/
}

.album-1, .album-n{
  padding-top: 10px;
}

.album-1 img, .album-n img{
  width: 100%;
  height: auto;
}

.album-1 ul, .album-n ul{
  display:flex;
  flex-wrap:wrap;
  width:100%;
  justify-content: flex-start;  
}

.album-1 li, .album-n li{
  width:100%;
  list-style: none;
  background : none 0% 0% / auto auto repeat scroll padding-box border-box #eff0e1;
  box-sizing: border-box;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 10px;
  margin-right: 3px;
  margin-left: 3px;
  padding: 10px;
  border: 1px solid silver;
}

.album-1 p{
  text-align: left;
}

.album-4, .album-4n{
  padding-top: 10px;
}

.album-4 img, .album-4n img{
  width: 100%;
  height: auto;
}

.album-4 ul, .album-4n ul{
  display:flex;
  flex-wrap:wrap;
  width:100%;
  justify-content: flex-start; 
  padding-left: 0px; 
}

.album-4 li, .album-4n li{
  width:100%;
  list-style: none;
  background : none 0% 0% / auto auto repeat scroll padding-box border-box #eff0e1;
  box-sizing: border-box;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 10px;
  margin-right: 3px;
  margin-left: 3px;
  padding: 10px;
  border: 1px solid silver;
}

.album-4 p, .album-4n p{
  text-align: center;
}

.banner{
  background-color: #eff0e1;
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: center;
  border-radius: 4px;
  border: solid 1px #aab060;
  padding-bottom: 10px;
}

.banner h3{
  padding-right: 5px;
  background-color : #daddb9;
  font-weight: bold;
  text-align: center;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 5px;
}

.banner img{
  width: auto;
}

.banner li{
  padding-bottom: 0px;
  margin-left: 2em;
  margin-right: 2em;
}

.banner li a{
  display: block;
  width: 200px;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

.banner li a:hover{
  opacity: 0.5;
}

.banner p{
  padding-top: 10px;
}

.banner ul{
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 10px;
  padding-right: 10px;
  padding-bottom: 0;
  padding-left: 10px;
  list-style-type: none;
  text-align: center;
}

.bold{
  font-weight: bold;
}

.breadcrumb{
  padding: 2px 0px;
  margin: 0em 0em;
  background-color: #f8f7fa;
}

.breadcrumb::after{
  clear: both;
  content: "";
  display: table;
}

.breadcrumb a:hover{
  /* steps already visited */
  color: blue;
}

.breadcrumb li{
  display: inline-block;
  float: left;
}

.breadcrumb li::after{
  /* this is the separator between items */
  display: inline-block;
  content: '\00bb';
  margin: 0 .6em;
  color: #000;
}

.breadcrumb li:last-of-type::after{
  /* hide separator after the last item */
  display: none;
}

.breadcrumb li > *{
  /* single step */
  display: inline-block;
  color: blue;
}

.breadcrumb li.current > *{
  /* selected step */
  color: #000;
  font-weight: bold;
  font-size: 1rem;
}

.clearfix{
  display: block;
}

.clearfix::after{
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.date{
  width: 130px;
}

.more{
  background: #0058B0;
  color: #fff;
  width: auto;
  text-align: center;
  padding: 5px;
  cursor: pointer;
}

.news td{
  border-bottom-width : 1px;
  border-bottom-style : solid;
  border-bottom-color : #cccccc;
  padding-top : 5px;
  padding-bottom : 5px;
}

.news p{
  font-weight : bold;
  margin-left : 0px;
}

.table{
  display: grid;
  grid-template-rows: auto auto auto;
  grid-template-columns: 120px 1fr;
  border-bottom: 1px solid black;
  column-gap: 1em;
}

.ymd{
  grid-row: 1 / 4;
  grid-column: 1 / 2;
}

.event{
  grid-row: 1 / 2;
  grid-column: 2 / 3;
  border-bottom: 1px dashed grey;
}

.place{
  grid-row: 2 / 3;
  grid-column: 2 / 3;
  border-bottom: 1px dashed grey;
}

.rem{
  grid-row: 3 / 4;
  grid-column: 2 / 3;
}

.table-top{
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: 120px 1fr;
  border-bottom: 1px solid black;
  font-weight: bold;
  column-gap: 1em;
}

.ymd-top{
  grid-row: 1 / 2;
  grid-column: 1 / 2;
}

.event-top{
  grid-row: 1 / 2;
  grid-column: 2 / 3;
}

.place-top{
  display: none;
}

.rem-top{
  display: none;
}

.topBtn{
  position: fixed;
  /*固定*/
  bottom: 20px;
  /*場所を右下に移動*/
  right: 20px;
  /*場所を右下に移動*/
  display: block;
  /*aタグをblock要素に変更*/
  background-color: rgba(255,255,255,0.3);
  /*以下、デザインはご自由に！！*/
  text-decoration: none;
  font-weight: bold;
  font-size: 0.875em;
  width: 44px;
  height: 44px;
  text-align: center;
  line-height: 22px;
  border-radius: 22px;
  border-style: solid;
  border-width: 1px;
  border-color: rgba(0,51,255,0.5);
  padding-top: 20px;
  box-sizing: border-box;
}

.topBtn::before{
  content: '\25B2';
  position: absolute;
  top: 3px;
  left: 0;
  width: 100%;
  text-align: center;
  font-size: 1.25em;
}

.topBtn:hover {
  opacity: 0.7;
}

#aside{
  width: auto;
  float: none;
  margin-top: 1em;
  margin-bottom: 20px;
  padding-left: 3%;
  padding-right: 3%;
}

#banner .link{
  width : 198px;
  height: 44px;
  border: 1px solid silver;
  margin-bottom: 5px;
  font-weight: bold;
  font-size: 12px;
  background-color: white;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  display: grid;
  temp-display: grid;
  place-items: center;
  background-image: url(../icon/menuBg.png);	
  temp-background-color: #fdffef;
}

#banner .link a{
  display:table-cell;
  vertical-align:middle;
  line-height: 1.4em;
}

#container{
  border : none;
  margin-left: auto;
  margin-right: auto;
  background-color : #c8cc97;
  text-align: left;
}

#footer{
  height: auto;
  clear: both;
  background-color : #daddb9;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  padding-top: 4px;
  padding-bottom: 4px;
  font-weight: bold;
}

#header{
  height: 110px;
  /*背景色を指定するには、heightが必要*/
  background-color : #c8cc97;
}

#header-1{
  width: 110px;
  float: left;
  padding-left: 10px;
  margin-top: 10px;
}

#header-2{
  font-size : 2em;
  font-weight: bold;
  margin-top: 20px;
  margin-left : 6px;
  padding-top: 5px;
  float: left;
}

#header-L{
  width: auto;
  float: left;
  list-style-type: none;
}

#header ul{
  list-style-type: none;
  /*箇条書きのポッチを消す*/
  text-align: left;
  /*左右中央寄せは親要素に対して指定*/
}

#header ul li{
  display: inline-block;
  /*inline-blockにします*//*幅も指定できる*/
}

#header-L ul li{
  display: inline-block;
  /*inline-blockにします*//*幅も指定できる*/
  margin-bottom: 0px;
}

#inner{
  background-color: white;
  position: relative;
  clear: both;
}

#main, #main-w{
  width: auto;
  float: none;
  padding: 1em 1em  1em;
}

#main p{
  padding-left: 2em;
  padding-right: 1em;
}

#main h2{
  background-color : #daddb9;
  margin-top: 15px;
  text-align: center;
  width: auto;
  padding-right: 5px;
  font-weight: bold;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 5px;
  temp-border-top-left-radius: 4px;
  temp-border-top-right-radius: 4px;
  border-radius: 4px;
  border: solid 1px #aab060;
}

#menu{
  display: none;
}

#menu li{
  width: 100%;
  display: block;
  list-style-type: none;
  list-style-position: outside;
  float: left;
  height: 44px;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  padding-top: 0px;
  padding-right: 0em;
  padding-bottom: 0px;
  padding-left: 0em;
  background-image : url(../menuBg.png);
  border-top-width: 1px;
  border-bottom-width: 1px;
  border-left-width: 1px;
  border-top-style: solid;
  border-bottom-style: solid;
  border-left-style: solid;
  border-top-color: silver;
  border-bottom-color: silver;
  border-left-color: silver;
  background-repeat: repeat-x;
}

#menu li a{
  display: block;
  padding: 9px 0 6px;
  color: black;
  text-align: center;
  font-weight: bold;
  text-decoration: none;
}

#menu li a:hover{
  text-decoration: underline;
}

#menu li.current{
  background-image : url(../menuBg_on.png);
  background-repeat: repeat-x;
}

#menu_bar01:checked ~ #links01 li,
#menu_bar02:checked ~ #links02 li,
#menu_bar03:checked ~ #links03 li,
#menu_bar04:checked ~ #links04 li,
#menu_bar05:checked ~ #links05 li,
#menu_bar06:checked ~ #links06 li{
  max-height: 46px;
  opacity: 1;
  border-bottom: 1px solid silver;
  margin-left: 4px;
  margin-right: 4px;
}

#menu_bar01:checked ~ #links01 li:last-child,
#menu_bar02:checked ~ #links02 li:last-child,
#menu_bar03:checked ~ #links03 li:last-child,
#menu_bar04:checked ~ #links04 li:last-child,
#menu_bar05:checked ~ #links05 li:last-child,
#menu_bar06:checked ~ #links06 li:last-child{
  max-height: 46px;
  opacity: 1;
  border-bottom: 0px solid silver;
  margin-left: 4px;
  margin-right: 4px;
}

#toggle{
  display: block;
  position: relative;
  width: 100%;
  background : none 0% 0% / auto auto repeat scroll padding-box border-box #c8cc97;
  font-weight: bold;
  margin-top: 0px;
}

#toggle a{
  display: block;
  position: relative;
  padding: 8px 0px 22px;
  border-bottom: 0px solid #444;
  color: #000;
  text-align: center;
  text-decoration: none;
}

#toggle a::before{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 40px;
  height: 8px;
  background: #c8cc97;
  margin-top: -12px;
}

#toggle a::after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 40px;
  height:8px;
  background: #c8cc97;
  margin-top: 4px;
  margin-right: 0px;
}

#toggle::before{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  margin-bottom: 20px;
  background: #fff;
}

/* ============================================ */
/* 481px以上に適用されるCSS（タブレット用） */
@media screen and (min-width: 481px) {

body{
  width: auto;
}

a:link{
  text-decoration: none;
color: black;
}

.album-1, .album-n{
  padding-left: 1em;
}

.album-4 li, .album-4n li{
  width:24%;
  border-radius: 4px;
}

.banner li {
  margin-left: 0px;
  margin-right: 0px;
}

.table{
  padding-left: 1em;
  padding-right: 1em;
  margin-bottom: 1em;
  grid-template-rows: auto auto;
  grid-template-columns: 120px 200px 1fr;
}

.table-top{
  padding-left: 1em;
  padding-right: 1em;
  padding-bottom: 1em;
  margin-top: 1em;
  grid-template-rows: auto auto;
  grid-template-columns: 120px 200px 1fr;
  font-weight: bold;
}

.ymd{
  grid-row: 1 / 3;
  grid-column: 1 / 2;
}

.event{
  grid-row: 1 / 2;
  grid-column: 2 / 3;
}

.place{
  grid-row: 1 / 2;
  grid-column: 3 / 4;
}

.place-top{
  grid-row: 1 / 2;
  grid-column: 3 / 4;
  display: block;
}

.rem{
  grid-row: 2 / 3;
  grid-column: 2 / 4;
}

.rem-top{
  grid-row: 2 / 3;
  grid-column: 2 / 4;
  display: block;
}

#container{
  width: 100%;
}

#header{
  height: 75px;
}

#main-w{
  padding: 1em 1em  1em;
}

}



/* ============================================ */
/* 960px以上に適用されるCSS（PC用） */
@media screen and (min-width: 960px) {

*, *::before, *::after{
  box-sizing: border-box;
}

a{
  display: inline-block;
}

a:hover{
  color: blue;
  text-decoration: underline;
  opacity: 0.5 ;
}

img{
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
}

* html .clearfix{
  height: 1%;
}

h1,h2{
  font-size: 1em;
}

ul{
  list-style-type: none;
  padding-left: 0px;
  margin-top: 0px;
}

/*マウスオーバー*/
.clear{
  clear: both;
  /* 左寄せしてるけど、右寄せに変えたりするからbothにするよ */
}

img.hover{
  opacity: 0.5;
}

p.margin{
  margin-top: 4px;
  margin-left: 18px;
}

.table{
  padding-left: 1em;
  padding-right: 1em;
  margin-bottom: 1em;
  grid-template-rows: auto;
  grid-template-columns: 150px 250px 250px 1fr;
}

.table-top{
  width: 100%;  
  padding-left: 1em;
  padding-right: 1em;
  padding-bottom: 1em;
  margin-top: 1em;
  grid-template-rows: auto;
  grid-template-columns: 150px 250px 250px 1fr;
  font-weight: bold;
}

.ymd{
  grid-row: 1 / 2;
  grid-column: 1 / 2;
}

.event{
  border-bottom: none;
}

.place{
  grid-row: 1 / 2;
  grid-column: 3 / 4;
  border-bottom: none;
}

.place-top{
  grid-row: 1 / 2;
  grid-column: 3 / 4;
  display: block;
}

.rem{
  grid-row: 1 / 2;
  grid-column: 4 / 5;
}

.rem-top{
  grid-row: 1 / 2;
  grid-column: 4 / 5;
  display: block;
}

.hair{
  border: 0;
  height: 1px;
  background: #333;
  background-image: -webkit-linear-gradient(left, #ccc, #333, #ccc);
  background-image: -moz-linear-gradient(left, #ccc, #333, #ccc);
  background-image: -ms-linear-gradient(left, #ccc, #333, #ccc);
  background-image: -o-linear-gradient(left, #ccc, #333, #ccc);
  margin-bottom: 1em;
  clear: both;
  margin-top: 1em;
}


#aside{
  width: 220px;
  float: right;
  margin-right: 10px;
  padding-left: 0;
  padding-right: 0;
  margin-top: 50px;
}

#container{
  width: 980px;
}

#header{
  height: 70px;
}

#header-1{
  width: 120px;
}

#main{
  width: 718px;
  text-align: left;
  float: left;
  padding: 16px;
}

#menu{
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  padding: 0;
  display: block;
}

#menu li{
  width: auto;
  min-width: 10%;
  padding-left: 10px;
  padding-right: 10px;
}

#toggle{
  display: none;
}

}

