@charset "utf-8";
/*ここから初期化*/
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 { 	margin: 0; 	padding: 0; 	border: 0; 	outline: 0; 	font-style: inherit; 	font-family: inherit; 	font-size: 1em; } 
/* remember to define focus styles! */ :focus { outline: 0; } 
img { border: none;} 
ol, ul { list-style: none; } 
table { border-collapse: collapse; 	border-spacing: 0; } 
caption, th, td { text-align: left; 	font-weight: normal; } 
blockquote:before, blockquote:after, q:before, q:after { content: ""; } 
blockquote, q { quotes: "" ""; }
article,aside,details,figcaption,figure, footer,header,hgroup,menu,nav,section { display:block; }
html { background: #fff;}
body { font-family: 'MS Ｐゴシック','Hiragino Kaku Gothic Pro',"メイリオ", meiryo, Arial, "MS Ｐゴシック", "MS P Gothic", sans-serif !important;  
  color: #000; background-color: #B0F26D;}
* {
  word-wrap: break-word; 
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  margin:0;
  padding:0;
   }
.clearfix {width:100%;}
.clearfix:after {
  content: ""; 
  display: block; 
  clear: both;
 }
/*ここまで初期化*/


/*ここからCSS*/
body {
  -webkit-text-size-adjust: 100%;
  background-color: #fff;
  color: #333333;
  font-size:100%;
  text-align: center;
}
.logo{
  vertical-align: middle;
}
img{
  margin:1em  auto;
}
img.arrow{
  margin:0;
  margin-right:.3em;
  vertical-align: middle;
}
.img-new {
  margin:0;
  vertical-align: bottom;
}
.img-float {
  float: right;
  margin: auto;
  max-width: 300px;
  padding: 0;
  width: auto;
}
.weight0{
  font-weight:100;
}
.clear{
  clear: both;
}
hr{
  border:none;
  border-bottom: 1px solid #999
}
.nomal-font{
  font-size:12pt;
}
.bold-red{
  font-weight:bold;
  color:#ff0000;
}
.size-up{
  font-size:1.2em;
}
/*文字列*/
p { 
  letter-spacing: 0.1em;
  line-height: 1.3em;
  text-indent: 1em;
  word-wrap: break-word;
  margin:.2em;
  padding:.2em;
}
a {
  font-weight: nomal;
}
a:link {
  color: #000;
}
a:active {
  color: #000;
}
a:visited {
  color: #000;
}
a:hover {
  color: #ff6666;
}

/*ページトップへボタン*/
a.to_top{
  display:block;
  width: 200px;
  text-decoration: none;
  background: #333;
  color:#fff;
  margin: 1em auto;
  border-radius: 5px;
  text-align: center;
  padding: .3em;
  font-weight: normal;
}
a.to_top:hover{
  background:#666;
}

/* 各divの設定 */
.main-clm { /* メインカラム */
  height: auto;
  margin: 0 auto;
  padding: 0;
  text-align: left;
  max-width: 960px;
}
/*sidebar*/
#sidebar{
  width: 260px;
  padding: 0;
  float: right;
  margin: 0 auto;
}
.side_menu{
  width:190px;
  border:1px solid #999;
  margin: 15px auto;
}
.side_menu a{
  text-decoration: none;
  display:block;
  padding:15px;
  background-image: url(img/menu_arrow.png);
  background-repeat: no-repeat;
  background-position: right;
}
.side_menu a:hover{
  background-color: #eee;
  color:#666;
}
#header { /*PC用ヘッダー*/
  height: auto;
  margin: 0 auto;
  padding: 0;
  width: 960px;
  text-align:left;
}
#spheader{ /*スマートフォン用ヘッダー*/
  display: none;
  height: auto;
  margin: 0 auto;
  padding: 0;
  text-align: center;
  width: 100%;
}
#spheader img{
  width:50%;
}
#menubar{
  width:100%;
  background: #ff0000;
  background: -moz-linear-gradient(top,#ff6666,#ff0000);
  background: -webkit-gradient(linear, left top, left bottom, from(#ff6666), to(#ff0000)) ;
}
#spmenubar{
  width:100%;
  background: #ff0000;
  background: -moz-linear-gradient(top,#ff6666,#ff0000);
  background: -webkit-gradient(linear, left top, left bottom, from(#ff6666), to(#ff0000)) ;
  display:none;
}
.contents {
  min-height: max-content;
  margin: 0;
  padding: 0;
  text-align: left;
  width: 700px;
}
#footermenu{
  width:100%;
  background-color: #333;
}
/*footermenu*/
#footermenu h2{
  border-bottom:1px solid #999999;
  padding-left: 1em;
  color:#ffffff;
}
.footer_flex{
  width: 960px;
  margin: 0 auto;
  display:flex;
  flex-wrap: wrap;
}
.footer_card{
  margin:2em 1em 3em 1em;
  text-align: left;
  flex: 1 1 200px;
}
.footer_card ul{
  padding-left:1em;
  color:#ffffff;
}
.footer_card ul li {
  padding:.2em;
}
.footer_card a:link{
  color:#ffffff;
}
.footer_card a:hover{
  color: #80ffff;
}
.footer_card a:visited{
  color:#ffffff;
}
/*indexページ*/
#newcontents{
  width: 100%;
  height: 250px;
  margin: 0 auto;
  margin-bottom: 2em;
  border: 1px solid #333;
  overflow: scroll;
}
#linefriends{
  width: 100%;
  height: 170px;
  margin: 0 auto;
  margin-bottom: 2em;
  border: 1px solid #229630;
  overflow: scroll;
}
#inportant{
  width: 100%;
  min-height: 200px;
  max-height: auto;
  margin: 0 auto;
  height: 250px;
  margin-bottom: 1.5em;
  border: 1px solid #ff6666;
  overflow: scroll;
}
#massage{
  width: 100%;
  margin: 0 auto;
  border: 1px solid #333;
  padding .3em;
  margin-bottom: 3em;
}
#massage a{
  color: #ff6666;
}
#infowest{
  width: 100%;
  margin: 0 auto;
  margin-bottom: 5em;
}
#infoclub{
  width: 100%;
  margin: 0 auto;
  margin-bottom: 5em;
}
/*パンくず*/
#pankuzu{
  margin: 1em auto;
  text-align: left;
  width: 100%;
}
/* アクセス*/
#access{
  width: 100%;
  margin: 0 auto;
}
.access_container{
 display: flex;
 flex-wrap: wrap;
 border: 1px solid #666;
}
.access_td{
  border-bottom: 1px dashed #999;
  border-right: 1px solid #999;
  padding:15px;
  flex:1 1 80px;
}
.access_dd{
  border-bottom: 1px dashed #999;
  flex:1 1 600px;
  padding:15px ;
}
.access_td_end{
  border-right: 1px solid #999;
  padding:15px;
  flex:1 1 80px;
}
.access_dd_end{
  flex:1 1 600px;
  padding:15px;
}

/*UL下線青*/
ul.ulunder{
  list-style: none;
  border-top: 1px dashed #000;
  margin: .5em ;
}
ul.ulunder li{
  padding: .3em .5em;
  border-bottom: 1px dashed #000;
}
ul.ulunderor{
  list-style: none;
  margin: .5em ;
}
ul.ulunderor li{
  padding: .3em .5em;
  border-bottom: 1px dashed #ffaaaa;
}
/*画像中央寄せdiv*/
.imgcenter{
  text-align:center;
  width:100%;
  margin: 0;
}
/*プログラムレスポンシブflex*/
.card{
  display:flex;
  width: 100%;
  flex-wrap: wrap;
  flex: 1;
  justify-content: space-between;
  align-content: space-around;
}
.card_list{
  border:1px solid #666;
  border-radius: 3px;
  margin:1em .5em;
  padding:1em;
  flex: 1 1 300px;
  -webkit-box-flex: 1 1 300px;
}
.sakura{
  background: url("img/sakura.jpg");
  background-repeat: no-repeat;
  background-position: left top;
}
.snow{
  background: url("img/snow.jpg");
  background-repeat: no-repeat;
  background-position: left top;
}
.accent{
  border:1px solid #ffaaaa;
}
.p-news{
  margin:1em .5em;
  padding:1em;
  flex: 1 2 600px;
  -webkit-box-flex: 1 2 600px;
  padding: 1em ;
  border:1px solid #ffaaaa;
}
.p-menu{
  margin:1em .5em;
  padding:.5em;
  flex: 1 2 600px;
  -webkit-box-flex: 1 2 600px;
  border:1px solid #ffaaaa;
}
/*横メニュー*/
ul.menu{
  background: #ff0000;
  background: -moz-linear-gradient(top,#ff6666,#ff0000);
  background: -webkit-gradient(linear, left top, left bottom, from(#ff6666), to(#ff0000)) ;
  height: 2.5em;
  list-style: none;
  text-align: center ;
  width: 960px;
  margin: 0 auto;
} 
.menu li {
  float: left;
  height: auto;
  margin: 0;
  text-align: center;
  width: 20%;
}
.menu a {
  color: #fff;
  display:block;
  font-size: 1em;
  font-weight: bold;
  height: auto;
  line-height: 2.5em;
  padding: 0;
  text-decoration: none;
  width: 100%;
}
.menu a.this{
  background: #ff6666;
  background: -moz-linear-gradient(top,#ffaaaa,#ff6666);
  background: -webkit-gradient(linear, left top, left bottom, from(#ffaaaa), to(#ff6666)) ;
}
/*ページ見出し*/
h1{
  font-size:1.4em;
  border-left: .5em solid #ff0000;
  color: #333;
  text-align: left;
  padding: .3em 0 .3em 1em;
  margin: .5em 0;
}
h2{
  font-size: 1.2em;
  color: #333;
  margin-bottom: .5em;
  padding: .2em;
  text-align: left;
}
h2.arrow{
  background-image: url("img/arrow.jpg");
  background-repeat: no-repeat;
  vertical-align: middle;
  border:none;
  padding:0;
  padding-left:35px;
}
h3{
  border-left: .5em solid #333;
  color: #000;
  font-size: 1.2em;
  font-weight: bold;
  line-height: 1em;
  margin-bottom: .5em;
  padding: .3em .5em;
}
h3.arrow_b{
  background-image: url("img/arrow_b.jpg");
  background-repeat: no-repeat;
  vertical-align: middle;
  border:none;
  padding:0;
  padding-left:35px;
  line-height: normal;

}
h3.newtitle{
  border:none;
  background: #333;
  color:#fff;
}
h3.line{
  border:none;
  background: #19a449;
  color:#fff;
}
h3.inportanttitle{
  border:none;
  background: #ff6666;
  color:#fff;
}
h4{
  box-sizing: border-box;
  color: #000;
  font-weight: bold;
  margin: 0 1em .5em;
}

/*更新情報ul*/
ul.newinfo{
  list-style-type: none;
}
ul.newinfo li{
  padding: 0.2em 1em;
  font-size: 9pt;
  border-bottom: 1px dashed #999;
}
ul.newinfo li a{
  font-size: 12pt;
  font-weight: normal;
  text-decoration: none;
}


.em{
  font-weight: bold;
}
/******************
　大きめリスト
*******************/
dl.up{
  letter-spacing: 0.05em;
  line-height: 1.3em;
  word-wrap: break-word;
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  width: 500px;
  margin:1em;

}
.up dt{
  font-weight:bold; 
  flex: 1 1 150px;
  width: 150px;
  margin:.2em 0;
}
.up dd{
  flex: 1 1 350px;
  width: 350px;
  margin:.2em 0;
}

/******************
　●付きリスト
*******************/
.disc-list{
  height: auto;
  list-style-type: disc;
  margin: 1em;
}
.disc-list li{
  background-color:#ffffff;
  color: #333;
  padding:.2em 0;
}
/******************
　プログラムリスト
*******************/
.p-list{
  width: 100%;
  height: auto;
  list-style-type: none;
  margin: 0;
}
.p-list li{
  background-color:#ffffff;
  color: #333;
  margin: 0;
  padding: .2em;
  width:50%;
  float: left;
}
.p-list li a{
  background-image: url("img/arrow_or.jpg");
  background-repeat: no-repeat;
  padding:.3em;
  padding-left: 32px;
  vertical-align: middle;
  text-decoration: none;
  font-weight: bold;
  color: #666;
}
.p-list li a:hover{
  color: #ff6666;
}
/******************
　数字付きリスト
*******************/
ul.numbarlist{
  height: auto;
  line-height:1.5;
  list-style-type: decimal;
  margin: 0;
  padding: 0 0 1em 5em;
  width: 100%;
}
.numbarlist li{
  color: #333;
  margin: 0;
  padding: 0;
}
/******************
プログラム一覧
*******************/
.program-name {
  display:flex;
  flex-direction: column;
  width: 100%;
}
.program-name li{
  flex:1 1 33px;
}

/******************
プログラム詳細
*******************/
dl.pr_card{
  letter-spacing: 0.05em;
  line-height: 1.3em;
  word-wrap: break-word;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap; 
  width: 100%;
  margin:1em 0;
}
dl.pr_card dt{
  flex:initial;
  width: 25%;
  font-weight: bold;
  margin:.2em 0;
}
dl.pr_card dd{
  flex:1 1 75%;
  width:75%;
  margin:.2em 0;
  word-break: break-all;
}
/*フッター*/
#footer{
  text-align: center;
  width: 100%;
  margin: 0 auto;
  padding: .5em 0 1em 0;
  color:#666666;
  text-align: center;
}
#footer p{
  font-size: 14px;
}
/*スマホ用*/

@media (max-width: 960px) {
  ul.menu{
    width: 100%;
  }
  
  .footer_flex{
    width:100%;
  }
  #header{
    width:100%;
    display:none;
  }
}
@media (max-width: 768px) {
  .main-clm,body{
    width: 100%;
    margin: 0;
    padding: 0;
  }
  .p-list li {
    width: 100%;
    float: none;
  }
  #spheader{
    display: block;
  }
  #spheader .splogo{
    width:30%;
    vertical-align: middle;
  }
  #header{
    width:100%;
  }
  #menubar{
    display:none;
  }
  #spmenubar{
    display:block;
  }
  ul.menu li {
    width:25%;
  }
  .footer_card{
    flex:1 1 200px;
    margin:1em 0 2em 0;
    padding: 0;
  }
  #newcontents, #newinfo, #infowest, #infoclub, #access, #linefriends{
    float: none;
  width:100%;
  margin:3em auto;  
  }
  #sidebar{
    display:none;
  }
  .contents{
    float:none;
    margin:0;
    padding: 0 .5em;
    width: 100%;
  }
  #sidebar{
    float:none;
    width:100%;
    border:none;
    border-top: 1px solid #999;
  }
#footer{
  font-size: 7pt;
  padding:.3em 0;
}
  ul.program-name li{
    width: 50%;
  }
  dl.up{
    width:300px;
  }
.up dt{
  flex:1 1 120px;
  width: 120px;
}
.up dd{
  flex: 1 1 180px;
  width: 180px;
}
  .img-float{
    float: none;
  }
  .smart{
    width: 300px;
}
.access_container{
  
}
.access_td,.access_td_end{
  flex:1 1 20%;
  padding:10px;
}
.access_dd,.access_dd_end{
  flex:1 1 79%;
  padding:10px;
}
}
@media (max-width: 480px) {
  .footer_card{
    flex:1 1 150px;
    margin:1em 0 2em 0;
    padding: 0;
  }
}