@charset "utf-8";
/* 
   menubar PC用
   mainNav 960以下
*/
#menubar {
   clear: both;
   overflow: hidden;
   background: #002060; /*背景色*/
   width:100%;
}
#menubar ul{
   text-align:center;
}
/*メニュー１個あたりの設定*/
#menubar li {
   float: left;   /*左に回り込み*/
   width: auto;  /*メニュー幅（100÷6個=16.6%）　もし４個にするなら100÷4=25%になる。*/
   padding: 3px; /*この数字と「#menubar li a」のpaddingの１つ目(7px)の数字を足した合計が「#menubar li a」の３つ目の数字(12px)になるようにする。*/
}
#menubar li a {
   font-size:13px;
   display:  block;
   text-decoration: none;
   text-align: center;
   color: #fff;   /*文字色*/
   padding: 6px;  /*上、左右、下への余白。上の「#menubar li」のpadding-topの解説と合わせて読んで下さい。*/
}
/*マウスオン時、現在表示中メニュー*/
#menubar li a:hover,
#menubar li.current a {
   background: #fff; /*背景色*/
   color: #af3535;      /*文字色*/
   border-radius: 8px;  /*角丸のサイズ。左上、右上、右下、左下への順。*/
}
/*スマホ用メニューを表示させない*/
#mainNav {
   display: none;
}
.youtube {
  width: 100%;
  margin:0 auto;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}


/*ドロップダウンメニュー用
---------------------------------------------------------------------------*/
/*ドロップダウンブロックの設定*/
#menubar ul.ddmenu {
   position:absolute;
   visibility: hidden;
   z-index: 100;
   box-shadow: 0px 1px 3px rgba(0,0,0,0.15); /*ボックスの影。右に、下に、広げる幅、0,0,0は黒の事で0.15は透明度15%の事。*/
   background: #002060; /*背景色（古いブラウザ用）*/
   background: rgba(0,32,96,0.8);  /*背景色。0,0,0は黒の事で0.8は透明度80%の事。*/
   width: 16%; /*幅。お好みで変更してもらってOKです。*/
   padding: 10px; /*ボックス内の余白*/
   border-radius: 8px;  /*角丸のサイズ*/
   border: 2px solid #fff; /*枠線の幅、線種、色*/
}
/*メニュー１個あたりの設定*/
#menubar ul.ddmenu li {
   padding-top: 0;
   width: 90%; /*幅*/
   height: 2em;   /*高さ*/
   overflow: hidden; /*上の高さを超えた時に非表示にする設定。文字数が増えた時にレイアウトが崩れないための設定ですが、文字を全て表示させたいならこの行と上の行を削除。*/
}
#menubar ul.ddmenu li a {
   background: transparent;   /*背景色をリセットする*/
   border-radius: 0;
   text-align: left; /*文字を左寄せ*/
   padding: 0 10px;  /*上下、左右への余白*/
   color: #fff;   /*文字色*/
   font-size:13px;
}

ul.mmenu{

}
ul.mmenu li{
   float:left;
   background:#2F528F;
   padding:4px 8px;
   border-radius: 8px;
   border:solid 1px #fff;
   height:50px;
}
ul.mmenu li a{
   display:inline-block;
   font-size:14px;
   color:#fff;
   height:50px;
   text-align: center;
   vertical-align: middle;
}
ul.mmenu li a:hover{
   color:#CADD11;
}




/*マウスオン時*/
#menubar ul.ddmenu li a:hover {
   border-radius: 0;
   background: #fff; /*背景色*/
   color: #af3535;      /*文字色*/
}

#search{ width:50%; }
#pan{
   margin:0;
   padding:10px 10px 10px 0;
   clear:all;
}
button{
   cursor:pointer;
}
button.tp{
   font-weight:bold;
   cursor:pointer;
   background:#002060;
   color:#fff;
   width:70%;"
}
.button{
   width:280px;
   height:auto;
   display:block;
   font-weight:bold;
   text-align:center;
   vertical-align:middle;
   padding:10px 0 6px;
   margin:0 auto;
   border:solid 2px #666;
   border-radius:8px;
   -moz-border-radius:8px;
   -webkit-border-radius:8px;
   background:#87CEFA;
   color:#333;
   /* background:#A3BCE2; */
}
.button2{
   display:inline-block;
   font-weight:bold;
   text-align:center;
   vertical-align:middle;
   padding:3px 5px;
   border:solid 2px #666;
   border-radius:8px;
   -moz-border-radius:8px;
   -webkit-border-radius:8px;
   background:#0099cc;
   /* 
   background:#f8f8f8;
   background:#A3BCE2;
   */

   color:#fff;
}
.ts{ padding:3px; border:solid 1px #888; text-align:center; vertical-align:middle;}
.ts1{ margin-right:0; padding:3px; border:solid 1px #888; border-right:0; text-align:right; vertical-align:middle;}
.ts2{ margin-left:0;  padding:3px; border:solid 1px #888; border-left:0;  text-align:left;  vertical-align:middle;}



.submenu{
   width:23%;
   float:left;
   border:solid 2px #ccc;
   background:#FFFFF0;
   border-radius:4px;
   padding:20px 0;
   margin-right:4px;
   text-align:center;
   border-radius:10px;
   -moz-border-radius:10px;
   -webkit-border-radius:10px;
}

article h3{
   font-weight:bold;
   font-size:20px;
   border-bottom:solid 2px #030393;
   margin-bottom:10px;
}

.new{
   margin-bottom: 15px;
}

.new dl{
   overflow: auto;   /*高さ指定を超えるとiframe風にスクロールが出る設定。全部表示させたいならこの行と下のheightの行を削除。*/
   height: 300px; /*ボックスの高さ*/
   padding-left: 8px;
   line-height:26px;
}
/*日付設定*/
.new dt {
   font-weight: bold;   /*太字にする設定。標準がいいならこの行削除。*/
   float: left;
   width: 8em;
}
/*記事設定*/
.new dd {
   border-bottom: 1px solid #ccc;   /*下線の幅、線種、色*/
   padding-left: 8em;
}

.new dd img {
   vertical-align: middle;
}
.newicon {
   background: #F00;
   color: #FFF;
   font-size: 11px;
   padding: 1px 8px;
   border-radius: 2px;
   margin: 0px 5px;
   font-weight:bold;
   white-space:nowrap:
}
.onicon {
   background: #080;
   color: #fff;
   font-size: 12px;
   padding: 1px 8px 2px;
   border-radius: 2px;
   margin: 0px 5px;
   font-weight:bold;
   white-space:nowrap:
}
.ovicon {
   background: #888;
   color: #fff;
   font-size: 11px;
   padding: 1px 8px;
   border-radius: 2px;
   margin: 0px 5px;
   font-weight:bold;
   white-space:nowrap:
}
.archive {
   background: #2E74B5;
   color: #fff;
   font-size: 11px;
   padding: 1px 8px;
   border-radius: 2px;
   margin: 0px 5px;
   font-weight:bold;
   white-space:nowrap:
}
.hf{
   width:48%;
   display:inline-block;
}

.age{ background: #FFFFF0; }
.ktg{ background: #FFF0F5; }


#cover {
    width: 100%;
    height: 360px;
    position: relative;
    overflow: hidden;
}
 
#cover>div {
    position: absolute;
    top: 0;
    opacity: 0;
}
#cover div img{
    width:100%;
}

aside     { display:inline-block; float:left; margin:3px;}
aside img { width:100px; }
aside p   { font-weight:bold; text-align:center; }

h2.index { padding:10px;font-size:20px;color:#f90; font-weight:bold; text-align:left;}

article ul li a img { width:32px; vertical-align:middle;}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table.table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table.table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img{border: 0;}
figure{margin:0}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
/* -------------------------------------------------------------- */

body {
color:#555;
background:#EDEDD8;
font-size:small;
font-family:verdana,"ヒラギノ丸ゴ ProN W4","Hiragino Maru Gothic ProN","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
line-height:1.5;
-webkit-text-size-adjust: none;
}


/* リンク設定
------------------------------------------------------------*/
a         {color:#002060;text-decoration:none;font-weight:bold;}
a:hover   {color:#7d9540;}
a:active, a:focus {outline:0;}
address a { color:#333; font-weight:normal;font-size:12px; }
article a { color:#002060; font-weight:normal;font-size:12px; }




/* 全体
------------------------------------------------------------*/
#wrapper{
   margin:0 auto;
   padding:3px 1%;
   width:98%;
   position:relative;
   background:#EDEDD8;
}

.inner{
   margin:0 auto;
   width:100%;
}


/*************
/* ヘッダー
*************/
#header{
height:110px;
}

#header h1{
padding:5px 0 10px;
font-size:12px;
font-weight:normal;
}

/*************
/* ロゴ
*************/
.logo{
float:left;
}

.logo span{display:block;}

/*************
/* 電話番号
*************/
.info{
padding-top:10px;
float:right;
text-align:right;
vertical-align:middle;
}

.info .open{font-size:11px;}


/*************
/* ロゴ+電話番号
*************/
.logo,.info .tel{
margin-top:6px;
font-size:20px;
font-weight:bold;
}

.logo span,.info span{
font-size:.6em;
font-weight:normal;
}



/**************************
/* メイン画像（トップページ+サブページ）
**************************/
#mainBanner{
   margin:0 0 10px 0;
   padding:0;
   position:relative;
   line-height:0;
   border-bottom:2px solid #ebebeb;
}

#mainBanner img{
   max-width:100%;
   height:auto;
}
#mainBanner h2{
  width:100%;
  height:60px;
}

.slogan{
   width:100%;
   height:auto;
   bottom:10px;
   left:0;
   padding:5px 0;
   line-height:1.4;
   text-align:left;
   background:url('../img/logo2.png') top right no-repeat;
}

.slogan h2{
   padding-bottom:5px;
   font-size:24px;
   font-weight:bold;
   border-bottom:double 20px #2F528F;
   width:50%;
   height:42px;

}

#subpage #mainBanner{margin-top:0;}


/**************************
/* グリッド
**************************/
.gridWrapper{
   padding-bottom:20px;
   overflow: hidden;
   max-width:730px;
   width:100%;
   padding-left:10px;
}

* html .gridWrapper{height:1%;}
   
.grid{ float:left; }

.box{
   margin-bottom:10px;
   padding:10px;
   text-align:center;
   background-color:#FFFFF0;
   border:solid 2px #CCC;
   border-radius:10px;
   -moz-border-radius:10px;
   -webkit-border-radius:10px;
}

.box img{
   max-width:100%;
   height:auto;
}

.box h3{ padding:10px 0 5px; font-weight:bold; }

.box h3, .box p{text-align:left;}

.box p{ width:100%;max-width:680px; }

.box p.readmore{
   padding:10px 5px 5px;
   text-align:right;
}

.box p.readmore a{
   padding:3px 7px;
   border-radius:3px;
   color:#fff;
   background:#002060;
}

.box p.readmore a:hover{
   background:#7d9540;
}


/*************
メイン コンテンツ
*************/
section.content article{
   padding:20px;
   margin-bottom:20px;
   border:3px solid #ccc;
   overflow:hidden;
   background-color:#FFFFF0;
      border-radius:10px;
      -moz-border-radius:10px;
      -webkit-border-radius:10px;
}

* html section.content article{height:1%;}

section.content p{margin-bottom:5px;}

h3.heading{
font-weight:bold;
padding:10px 0;
margin-bottom:5px;
border-top:3px double #ccc;
border-bottom:3px double #ccc;
}

section.content img{
height:auto;
}

.alignleft{
float:left;
clear:left;
margin:3px 10px 10px 0;
}

.alignright{
float:right;
clear:right;
margin:3px 0 10px 10px;
}

#gallery .grid{background:transparent;}

#gallery .grid img,.border{box-shadow:0 0 3px #ccc;}


/*************
テーブル
*************/
table.table{
border-collapse:collapse;
margin:5px auto 15px auto;
}

table.table td{
border-collapse:collapse;
background-color:#FFFFF0;
text-align:left;
padding:8px;
border:2px solid #E9F3BA;
line-height:20px;
}

table.table th{
background-color:#F8F8E2;
text-align:center;
padding:8px;
white-space:nowrap;
color: #151515;
font-size:13px;
font-weight:normal;
letter-spacing:1px;
background-repeat:repeat-x;
background-position:top;
border:2px solid #E9F3BA;
}


/*************
/* サイドバー
*************/
#sidebar article{
   background:#F8F8E2;
   border:2px solid #ccc;
   border-radius:16px;
   -moz-border-radius:16px;
   -webkit-border-radius:16px;
   text-align:center;
}
#sidebar article ul li, #sitemap ul li{
   list-style-image: url(../img/sk.png);
}
#sidebar ul{padding:10px;}

#sidebar li{
   margin-bottom:10px;
   padding-bottom:10px;
   list-style:none;
   border-bottom:1px dashed #ebebeb;
}

#sidebar li:last-child{
   border:0;
   margin-bottom:0px;
}

#sidebar li a{
   display:block;
}

#sidebar ul.list li{
   clear:both;
   margin-bottom:5px;
   padding:5px 0;
   overflow:hidden;
   border:0;
}

ul.list li{height:1%;}

ul.list li img{
float:left;
margin-right:10px;
}

ul.list li{
font-size:12px;
line-height:1.35;
}


/*************
/* フッター
*************/
#footer{
clear:both;
}

#footer .inner{
border-top:2px solid #ebebeb;
border-bottom:2px solid #ebebeb;
overflow:hidden;
}

* html #footer .inner{height:1%;}

#footer .grid{
margin:0;
}

#footer #info .logo, #footer #info .info{float:none;}

#footer #info .info{
clear:both;
text-align:left;
}

#footer .logo{font-size:18px;}

#footer .info .tel,#footer .info .tel span,#footer #info .open{
font-size:12px;
}

ul.footnav{
float:right;
width:630px;
padding:10px 0;
}

ul.footnav li{
float:left;
margin-bottom:10px;
padding:0 7px 0 8px;
border-right:1px solid #ebebeb;
}

address{
clear:both;
padding:20px 0;
text-align:center;
font-style:normal;
font-size:12px;
color:#555;
}




/* PC用
------------------------------------------------------------*/
@media only screen and (min-width: 960px){

   .logo a {font-size:26px; }

   #wrapper,#header,.inner{
      width:960px;
      padding:0;
      margin:0 auto;
   }
   
   #wrapper{padding-bottom:20px;}

   nav div.panel{
      display:block !important;
      float:left;
      margin-bottom:10px;
   }

   a#menu{display:none;}
   
   #main{
      float:right;
      width:730px;
      padding:15px 0 0 0;
   }
   
   #sidebar{
      float:left;
      width:200px;
      padding:15px 0 0 0;
      overflow:hidden;
   }
   
   #sidebar article{
      padding:7px;
      margin-bottom:5px;
      overflow:hidden;

   }
   #sidebar article ul{
      margin-left:20px;
   }
   #sidebar article ul li{
      list-style-image: url(../img/sk.png);
   }
   
   #footer .grid,#footer ul.footnav{
      float:none;
      width:100%;
      text-align:center;
      background:#002060;
      padding:4px 0 0;
   }

   #footer ul.footnav li{
      float:none;display:inline-block;
   }
   #footer ul.footnav li a{
      color:#fff;
   }

   /* グリッド全体 */
   .gridWrapper{
   width:990px;
   margin:0 0 0 -30px;
   }
   
   #gallery article{padding:10px 0 10px 10px;}
   
   /* グリッド */
   .grid{
   float:left;
   width:220px;
   margin-left:20px;
   }
   
   .box{
      height:240px;
   }
   #subpage .grid{width:auto;}
   
  #gallery .grid{
   width:auto;
   margin:10px 0 2px 10px;
   }
   
   #footer .inner{
   width:940px;
   padding:10px;
   }
   
}


@media only screen and (max-width:959px){


   #sidebar{
      width:100%;
   }
   #sidebar article{
      width:48%;
   }
   #sidebar article ul {
      line-height:120%;
   }
   #sidebar article ul li{
      display:inline-block;
      padding:2px;
   }

   .slogan h2{
      height:80px;

   }

   .logo a {font-size:20px; }
   #cover {
       height: 350px;
   }

   *{
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
   }
   
   #header{padding:0 10px;}
   
   nav#mainNav{
      clear:both;
      width:100%;
      margin:0 auto;
      padding:0;
      background: -webkit-gradient(linear, left top, left bottom, color-stop(1, #f5f5f5), color-stop(0.5, #f0f0f0), color-stop(0.00, #f7f7f7));
      background: -webkit-linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);
      background: -moz-linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);
      background: -o-linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);
      background: -ms-linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);
      background: linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);
      border:1px solid #e4e4e4;
   }

   nav#mainNav a.menu{
      width:100%;
      display:block;
      height:40px;
      line-height:40px;
      font-weight: bold;
      text-align:left;
   }

   nav#mainNav a#menu span{padding-left:10px;}
   nav#mainNav a#menu img { width:38px; }
   nav#mainNav a.menu span:after{content: "→ ";}
   nav#mainNav a.menuOpen span:after{content: "↓ ";}

   nav#mainNav a#menu:hover{cursor:pointer;}

   nav .panel{
      display: none;
      width:100%;
      position: relative;
      right: 0;
      top:0;
      z-index: 1;
   }
   nav#mainNav ul li{
      float: left;
      display:block;
      width:33%;
      height:40px;
      line-height:1;
      overflow:hidden;
      
   }

   nav#mainNav ul li a,nav#mainNav ul li.current-menu-item li a{
      display: block;
      padding:15px 10px;
      text-align:left;
      border:1px dashed #e4e4e4;
   }
   
   nav#mainNav ul li a { padding-left:20px;}
   
   nav#mainNav ul li:first-child a{
      border-top:1px solid #e4e4e4;
   }
   
   nav#mainNav ul li:last-child a{border:0;}
   
   nav#mainNav ul li.active a{color:#7d9540;}

   nav div.panel{float:none;}
   
   #subpage #mainBanner{margin-top:20px;}
   
   #sidebar{padding-bottom:30px;}

   #sidebar article{
      padding:7px 0;
      margin-bottom:8px;
      display:inline-block;
   }
   #sidebar article ul{
      margin-left:20px;
   }

   #footer .grid,#footer ul.footnav{
      float:none;
      width:100%;
      text-align:center;
      background:#002060;
      padding:4px 0 0;
   }

   #footer ul.footnav li{
      float:none;display:inline-block;
   }
   #footer ul.footnav li a{
      color:#fff;
   }

   .grid{
      width:32%;
      margin:10px 0 0 1%;
   }
   
   #gallery .grid{
      float:left;
      width:31%;
      margin:0 0 0 1%;
   }
   
   #footer .grid img, #footer .info{float:none;}
   #footer .grid p{display:block;}
   #footer #info .info{float:none;text-align:center;}
   
   #footer.logo,#footer .info{
      width:100%;
      float:none;
   }
   .submenu{
      width:23%;
   }
   .box{
      height:240px;
   }
   
   #mainNav {
      display: block;
   }
   /*メニュー１個あたりの設定*/
   #mainNav li {
      float: left;   /*左に回り込み*/
      width: 50%;    /*メニュー幅*/
   }
   #mainNav li a {
      display: block;
      background:#eee;
      text-decoration: none;
      text-align: center;  /*文字をセンタリング*/
      padding: 15px 0;  /*上下、左右へのメニュー内の余白*/
      border-bottom: 1px solid #dcdcdc;   /*下線の幅、線種、色*/
      border-right: 1px solid #dcdcdc; /*右線の幅、線種、色*/
   }

   /*PC用メニューを非表示にする*/
   #menubar {
      display: none;
   }
   #mainBanner h2{ height:80px; }
}


/* スマートフォン 横(ランドスケープ) */
@media only screen and (max-width:700px){
   nav#mainNav ul li{
      width:49%;
   }
   #mainBanner h2{ font-size:16px; height:80px; }
   #search{ width:100%; }
   .logo a {font-size:18px; }
   #header{
      height:auto;
      padding-bottom:20px;
   }
   
   #header h1,.logo,.info{text-align:center;}
   
   .logo,.info{
      clear:both;
      width:100%;
      float:none;
      margin:0;
   }
   #pan{
      clear:all;
   }
   .box{
      height:240px;
   }
   .box img{
      float:left;
      margin-right:5px;
   }
   
   .box h3{padding-top:0;}


   
   #gallery .grid{float:left;}
   .grid{ width:100%; clear:both; }
   
   .hf{
      width:100%;
      display:block;
   }
   .submenu{
      width:49%;
   }
}


/* スマートフォン 縦(ポートレート) */
@media only screen and (max-width:480px){
   .box img{ width:25%;}
   #mainBanner h2,#mainBanner p{font-size:80%; }


   #sidebar p{text-align:center;}
   .slogan{
      height:100px;
   }
   .submenu{
      width:48%;
   }
}

