@charset "utf-8";

/*--------------------------------------------------------
  webフォント読み込み
--------------------------------------------------------*/
@font-face {
    font-family: "じゅん34M";
    src: url('../fonts/Jun34Pro-M.woff') format('woff');
}

/*--------------------------------------------------------
  CSS（MoBile用）適用画面幅　569px以上はCSS（PC用）適用
--------------------------------------------------------*/

@media screen and (max-width: 568px) {

/*--------------------------------------------------------
  HTML全体
--------------------------------------------------------*/
  body {
    margin: 0;
    padding: 0;
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Osaka, sans-serif;
    font-size: 100%;
    min-width: 100%;
  }

  h1 {
    font-family: "じゅん34M";
    font-weight: normal;
    margin: 0px;
  }

  h2 {
    font-family: "じゅん34M";
    font-weight: normal;
    margin: 0px;
  }

  h3 {
    font-family: "じゅん34M";
    font-weight: normal;
    margin: 0px;
  }

  img {
    object-fit: contain;
    border: none;
  }
  
  ul {
    margin-bottom: 20px;
  }
  
  li {
    text-align: justify;
  }

  dl, dt, dd {
    box-sizing: border-box;
  }

  a {
    color: #3b60bf;
    text-decoration: none;
    cursor: pointer
  }
  a:visited {
    color: #3b60bf;
    text-decoration: none;
  }
  a:hover {
    color: #5474c8;
    text-decoration: none;
  }

/*--------------------------------------------------------
  レイアウト設定
--------------------------------------------------------*/
  #hpb-header {
    width : 100%;
    margin: 0px auto;
    padding: 10px 0px;
    background-image: url('../images/logo_back.jpg');
    background-size: contain;
    background-repeat: no-repeat;
  }

  #hpb-inner {
    position: relative;
    width: 100%;
    margin: 0px auto;
    padding: 0px;
  }

  #hpb-wrapper {
    position: relative;
    width: 96%;
    margin: 0px auto;
    padding-top: 20px;
  }

  #hpb-nav {
    width: 100%;
    height: auto;
    overflow: hidden;
    position: relative;
    z-index: 999;
    top: 0;
    left: 0;
    background-color: #0047c7;
  }

  #hpb-title {
    margin-bottom: 20px;
  }

  #hpb-topmain {
    width: 100%;
    position: relative;
    padding-bottom: 50px;
  }

  #hpb-main {
    width: 100%;
    position: relative;
    padding-bottom: 50px;
  }

  #hpb-footer{
    width: 100%;
    border-top: 3px solid #0047c7;
  }

/*--------------------------------------------------------
  ヘッダーモジュール
--------------------------------------------------------*/
  #header_logo {
    width: 100%;
    margin: 0px;
  }

  #header_logo img {
    display: block;
    max-width: 350px;
    margin: 0px auto 10px;
  }
  #header_adress {
    width: 100%;
    max-width: 400px;
    float: right;
    text-align:right;
    padding: 0.5em 1em;
  }

/*--------------------------------------------------------
  hpb-navモジュール
--------------------------------------------------------*/

  h4.hpb-c-index {
    width: 270px;
    height: 20px;
    background-image : url(../images/btn_menu.png);
    background-position: top left;
    background-repeat: no-repeat;
    margin-left: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    text-indent: 35px;
    color: #fff;
    overflow: hidden;
    cursor: pointer;
  }

  #hpb-nav p {
    margin: 0px auto;
    padding: 2px;
    font-size: 0.8em;
    color: #FFFFFF;
    background-color: #C71585;
  }
  
  #hpb-nav ul {
    display: none;
    height: auto;
    background-color: #fff;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
  }
  
  #hpb-nav ul.toggled-on {
    display: block;
    padding-left: 0;
  }

  #hpb-nav li {
    border-bottom: 1px solid #dbdbdb;
    text-align: center;
    padding: 0;
    display: block;
    background-color: #507ac7;
  }

  #hpb-nav li a {
    display: block;
    color: #fff;
    font-weight: bold;
    padding: 10px;
    height: auto;
    line-height: 1.4;
  }

  #hpb-nav li a:visited {
    text-decoration: none;
  }

  #hpb-nav li a:hover {
    background-image: none;
    background-color: #507ac7;
    color: #fff;
  }
  
  .child {
    display: none;
  }
  
  #hpb-nav .inner_menu {
    margin: 0;
    padding: 0;
    width: 100%;
    background-color: #fff;
    border-bottom: 1px solid #999;
  }
  
  #hpb-nav .inner_menu li a {
    background-color: #fff;
    font-weight: normal;
    text-shadow: none;
    color: #000;
  }
  
  #hpb-nav .inner_menu li a:visited {
    background-color: #fff;
    font-weight: normal;
    text-shadow: none;
    color: #000;
  }
  
  #hpb-nav .inner_menu li a:hover {
    font-weight: normal;
    text-shadow: none;
    color: #fff;
    background-color: #729ce9;
  }

/*--------------------------------------------------------
  hpb-topmain,hpb-mainモジュール
--------------------------------------------------------*/
  #hpb-topmain h2, #hpb-main h2 {
    font-size: 1.125em;
    color: #0047c7;
    text-indent: 35px;
    margin-bottom: 5px;
    background-image: url("../images/small-logo.png");
    background-repeat: no-repeat;
    background-position: left top;
  }

  #hpb-topmain h2:after, #hpb-main h2:after {
    content: "";
    display: block;
    height: 2px;
    background-image: -webkit-linear-gradient(0deg,rgba(0,71,199,1.00) 0%,rgba(0,159,232,1.00) 100%);
    background-image: -moz-linear-gradient(0deg,rgba(0,71,199,1.00) 0%,rgba(0,159,232,1.00) 100%);
    background-image: -o-linear-gradient(0deg,rgba(0,71,199,1.00) 0%,rgba(0,159,232,1.00) 100%);
    background-image: linear-gradient(90deg,rgba(0,71,199,1.00) 0%,rgba(0,159,232,1.00) 100.00%);
  }

  #hpb-topmain h3 {
    font-size: 1.125em;
    text-align: center;
    line-height: 120%;
    color: #fff;
    background-image: -webkit-linear-gradient(0deg,rgba(0,71,199,1.00) 0%,rgba(0,159,232,1.00) 100%);
    background-image: -moz-linear-gradient(0deg,rgba(0,71,199,1.00) 0%,rgba(0,159,232,1.00) 100%);
    background-image: -o-linear-gradient(0deg,rgba(0,71,199,1.00) 0%,rgba(0,159,232,1.00) 100%);
    background-image: linear-gradient(90deg,rgba(0,71,199,1.00) 0%,rgba(0,159,232,1.00) 100.00%);
    border-radius: 10px;
    padding: 7px 3px;
    margin: 0px 0px 5px;
  }

  /*--------------------------------------------------------
    総管からのおしらせボックス
  --------------------------------------------------------*/
  #toppage-notice {
    box-sizing: border-box;
    width: 100%;
    padding: 0px 10%;
    margin-bottom: 20px;
    background-image: url("../images/notice_bg.png");
    background-size: contain;
  }

  /*--------------------------------------------------------
    新着情報ボックス
  --------------------------------------------------------*/
  #toppage-notice iframe {
    display: block;
    width: 100%;
  }

  #toppage-topics {
    width: 100%;
    margin-bottom: 20px;
  }

  #toppage-topics dt {
    background-image: url("../images/dot.png");
    background-repeat: no-repeat;
    background-position: left;
    padding: 5px 0px 5px 25px;
  }

  /*--------------------------------------------------------
    メインフレーム左側
  --------------------------------------------------------*/
  .top-column:after {
    content: "";
    display: block;
    clear: both;
  }

  #toppage-current_info {
    width: 100%;
    margin-bottom: 20px;
  }

  #toppage-current_info dt {
    width: 100%;
  }

  #toppage-current_info dd {
    width: 100%;
    font-size: 1em;
    margin-left: 0px;
  }

  #toppage-current_info img {
    display: block;
    width: 100%;
    max-width: 240px;
    margin: 0px auto 10px;
  }

  /*--------------------------------------------------------
    サブフレーム右側上　SNSボックス表示～バナー総枠
  --------------------------------------------------------*/
  #toppage-right {
    width: 100%;
  }

  #toppage-right img {
    display: block;
    width: 100%;
    max-width: 240px;
    margin: 0px auto 10px;
  }

  .twitter-timeline {
    display: block;
    margin: 0px auto;
  }

  .tw-guide {
    font-size: 0.9em;
    text-align: right;
    padding: 0.8em 2em 1em;
  }

  .tw-guide a {
    padding-right: 25px;
    background-image: url("../images/arrow-r.png");
    background-repeat: no-repeat;
    background-position: right;
  }

  /*--------------------------------------------------------
    サブフレーム右側下　バナー部分
  --------------------------------------------------------*/
  #banner-left {
    width: 100%;
  }

  #banner-left dt {
    padding: 0px 0px 0px 0px;
  }

  #banner-left dd {
    max-width: 300px;
    margin: 0px auto 15px;
    font-size: 1em;
    text-align: justify;
  }

  #banner-left img {
    display: block;
    width: 100%;
    max-width: 300px;
    margin: 0px auto 0px;
  }

  /*--------------------------------------------------------
    最右下　ページ先頭に戻る
  --------------------------------------------------------*/
  #pagetop {
    position: absolute;
    bottom: 0px;
    right: 0px;
    width: 100%;
  }

  #pagetop a {
    display: block;
    width: 200px;
    font-size: 1em;
    text-align: center;
    color: #fff;
    background-color: #0047c7;
    padding-top: 10px;
    margin: 0px 0px 0px auto;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
  }

  #pagetop a:visited {
    color: #fff;
  }

  #pagetop a:hover {
    background-color: #507ac7;
  }

  /*--------------------------------------------------------
    再下列　コピーライト
  --------------------------------------------------------*/
  .copyright {
    font-size: 0.75em;
    text-align: left;
    color: #fff;
    background-color: #0030af;
    padding: 5px 10px;
  }

/*--------------------------------------------------------
↓　画面幅対応型 CSS（MoBile用）の末尾括弧
--------------------------------------------------------*/
}
