@charset "utf-8";

/*========== 越後交通共通(2020～) ==========*/
/*---------- 各スタイル ----------*/
/* すべて */
*, *:before, *:after {
  /*サイズにpadding,borderを含める*/
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/* body */
body {
  min-width: 320px;/*iPhone5/SE*/
  font-size: 16px;
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'MS P ゴシック', 'MS P Gothic', sans-serif;
  color: black;/*文字色*/
}

/* リンク色指定 */
a {
  color: #043c74;
  text-decoration-skip-ink: none;
}

a:hover {
  color: red;
}

/* ヘッダー */
header {
  z-index: 1;/*mainより前*/
}

/* フッター */
footer {
  position: relative;/*:beforeの相対位置対象*/
  width: 100%;
  margin-top: 36px;
  padding: 0 5px 10px 5px;
  color: #333;
  font-family: YuGothic, 'Yu Gothic7', '游ゴシック体', '游ゴシック', 'Hiragino Kaku Gothic ProN', 'HiraKakuPro-W3', 'メイリオ', Meiryo, Verdana, sans-serif;
  text-shadow: 0 0 0 #333, 2px 1px 1px #ccc;/*文字影*/
}

footer:before {
  content: '';
  /*水平罫線*/
  position: relative;
  display: block;
  margin-bottom: 3px;
  width: 100%;
  height: 1px;
  border-style: solid;
  border-width: 1px;
  border-top-color: #9a9a9a;
  border-left-color: #9a9a9a;
  border-right-color: #eee;
  border-bottom-color: #eee;
}

@media print {
  footer {
    page-break-inside: avoid;/*フッターは1ページに印刷*/
  }
}

/* パンくずリスト/メイン/フッター レスポンシブ */
.breadcrumb-list-wrapper,
main,
footer {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  z-index: 0;/*基準*/
}

@media screen and (min-width:820px), print {
  .breadcrumb-list-wrapper,
  main,
  footer {
    width: auto;
    min-width: 780px;/*垂直スクロールバー分-20px*/
    max-width: 1100px;
  }
}

/* 各hタグ */
h1, h2, h3, h4, h5, h6 {
  margin: 0;
}

/* aタグの内部タグ内にも下線 */
a.inner-underline * {
  text-decoration: underline;
  text-decoration-skip-ink: none;
}

/* 下線なし */
.not-underline {
  text-decoration: none;
}

/* 下線 */
.underline {
  text-decoration: underline;
  text-decoration-skip-ink: none;
}

/* 赤下線 */
.red-underline {
  text-decoration: underline;
  text-decoration-style: solid;
  text-decoration-color: red;
  text-decoration-skip-ink: none;
}

/* 赤二重下線 */
.red-double-underline {
  text-decoration: underline;
  text-decoration-style: double;
  text-decoration-color: red;
  text-decoration-skip-ink: none;
}

/* 波下線 */
.wavy-underline {
  text-decoration: underline;
  text-decoration-style: wavy;
  text-decoration-skip-ink: none;
}

/* 背景白の場合、コントラストがAA(4.5)ある赤色 */
.contrast-red {
  color: #ee0000;
}

/* リンク可能(hover/focus)時 */
/** IEとEdge除く **/
.linkable:hover,
.linkable:focus-within {
  /*半透明*/
  -moz-opacity: 0.6;/*FF lt 1.5, Netscape*/
  -khtml-opacity: 0.6;/*Safari 1.x*/
  opacity: 0.6;
  /*アニメーション*/
  -webkit-transition: .2s ease;
  -moz-transition: .2s ease;
  transition: .2s ease;
}

/** IE(8以降) **/
@media screen\0 {
  .linkable:hover,
  .linkable.focus-within {
    /*半透明*/
    -ms-filter: "alpha(opacity=60)";/*IE 8,9*/
    zoom: 1;/*IE*/
    opacity: 0.6;
    /*アニメーション*/
    transition: .2s ease;
  }
}

/** Edge **/
@supports (-ms-ime-align: auto) {
  .linkable:hover,
  .linkable.focus-within {
    /*半透明*/
    opacity: 0.6;
    /*アニメーション*/
    transition: .2s ease;
  }
}

/* before疑似要素 リンク可能(hover/focus)時 */
/** IEとEdge除く **/
.linkable-bfr:hover:before,
.linkable-bfr:focus-within:before {
  /*半透明*/
  -moz-opacity: 0.6;/*FF lt 1.5, Netscape*/
  -khtml-opacity: 0.6;/*Safari 1.x*/
  opacity: 0.6;
  /*アニメーション*/
  -webkit-transition: .2s ease;
  -moz-transition: .2s ease;
  transition: .2s ease;
}

/** IE(8以降) **/
@media screen\0 {
  .linkable-bfr:hover:before,
  .linkable-bfr.focus-within:before {
    /*半透明*/
    -ms-filter: "alpha(opacity=60)";/*IE 8,9*/
    opacity: 0.6;
    zoom: 1;/*IE*/
    /*アニメーション*/
    transition: .2s ease;
  }
}

/** Edge **/
@supports (-ms-ime-align: auto) {
  .linkable-bfr:hover:before,
  .linkable-bfr.focus-within:before {
    /*半透明*/
    opacity: 0.6;
    /*アニメーション*/
    transition: .2s ease;
  }
}

/* イメージ共通 */
.img-common {
  border: none;
  top: 0;
  vertical-align: middle;
}

/* upアイコン */
.up-icon:before {
  content: url('/contents/img/icon/up.gif');
  margin-right: 0.5em;
}

/* 明朝フォント */
.font-mincho {
  font-family: 'HGP明朝B', '游明朝', YuMincho, 'Hiragino Mincho ProN W3', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
}

/* 太字 */
.font-bold {
  font-weight: 700;
}

/* float回り込み解除 */
.clear-fix:after {
  content: '';
  clear: both;
  display: block;
}

/* 改行しない文節 */
span.not-break {
  display: inline-block;
  text-indent: 0;
}

/* 1ページに印刷 */
@media print {
  .print-page {
    page-break-inside: avoid;
  }
}

/* 画面幅500px以上/印刷時は改行 */
br.break-gte500 {
  display: none;
}

@media screen and (min-width:500px), print {
  br.break-gte500 {
    display: inline;
  }
}

/* 画面幅1040px以上時は改行 */
br.break-gte1040 {
  display: none;
}

@media screen and (min-width:1040px) {
  br.break-gte1040 {
    display: inline;
  }
}

/* パンくずリスト */
.breadcrumb-list-wrapper {
  margin-top: -5px;
  padding: 5px 5px 8px 5px;
  overflow-x: auto;
  overflow-y: hidden;
}

.breadcrumb-list-wrapper::-webkit-scrollbar {
  height: 8px;
}

.breadcrumb-list-wrapper::-webkit-scrollbar:disabled {
  display: none;
}

.breadcrumb-list-wrapper::-webkit-scrollbar-track {
  background: #eee;
  /*角丸*/
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;

}

.breadcrumb-list-wrapper::-webkit-scrollbar-thumb {
  background: #ccc;
  /*角丸*/
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}

.breadcrumb-list-wrapper::-webkit-scrollbar-thumb:hover {
  background: #aaa;
}

.breadcrumb-list {
  display: block;
  list-style: none;
  line-height: 1.5em;
  margin: 0;
  padding: 0;
  white-space: nowrap;
}

.breadcrumb-list:nth-of-type(n+2) {/*2番目以降*/
  margin-top: 0.2em;
}

@media only screen and (max-width: 499px) {
  .breadcrumb-list:nth-of-type(n+2) {/*2番目以降*/
    margin-top: 1em;
  }
}

.breadcrumb-list li {
  display:inline-block;
  margin: 0 5px 0 0;
  padding: 0;
}

.breadcrumb-list li:after {
  content: '＞';
  padding-left: 7px;
  vertical-align: middle;
}

.breadcrumb-list li:last-child {
  position: relative;
  margin-right: 10px;
}

.breadcrumb-list li:last-child:after {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  right: -3px;
  bottom: -1px;
  background-color: #eee;
  /*角丸*/
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  z-index: -1;
}

.breadcrumb-list li *:before {
  content: '';
  display: none;
  position: relative;
  top: -2px;
  width: 16px;
  height: 16px;
  margin-right: 2px;
  padding: 0;
  vertical-align: middle;
}

.breadcrumb-list li a.home:before {
  content: '';
  display: inline-block;
  background-image: url('/contents/img/icon/home_small.png');
}

.breadcrumb-list li *.route-bus:before {
  content: '';
  display: inline-block;
  background-image: url('/contents/img/icon/route_bus_small.png');
}

.breadcrumb-list li *.hw-bus:before {
  content: '';
  display: inline-block;
  background-image: url('/contents/img/icon/hw_bus_small.png');
}

/* ページタイトル/セクションタイトル/セクションサブタイトル */
.page-title,
.section-title,
.section-sub-title {
  display: inline-block;
  width: 100%;
  font-size: 1.25em;
  text-align: left;
  line-height: 1.25em;
  margin-bottom: 20px;
  padding: 0.5em 0.5em 0.4em 0.5em;
  color: white;
  background-color: #043c74;
}

.section-sub-title {
  font-size: 1.1em;
  line-height: 1.1em;
  margin-bottom: 10px;
  padding: 0.3em 0.3em 0.2em 0.3em;
  color: #043c74;
  background-color: white;
  border-style: solid;
  border-width: 0 0 1px 8px;
  border-color: #043c74;
}

/** タイトル **/
.page-title .title,
.section-title .title,
.section-sub-title .title {
  display: block;
  float: left;
  clear: left;
}

/** 補足 **/
.page-title .supplement,
.section-title .supplement {
  display: block;
  float: right;
  clear: right;
}

/* 左右分離ラッパー(終端=l:左側メイン/r:右側メイン) */
.separate-wrapper-l,
.separate-wrapper-r {
  margin-top: 20px;
}

/** 左側/右側 **/
/*** ～1039px ***/
.separate-wrapper-l .side-left,
.separate-wrapper-l .side-left-bottom,
.separate-wrapper-l .side-right,
.separate-wrapper-r .side-left,
.separate-wrapper-r .side-right {
  float: none;
  width: 100%;
  padding: 0 5px;
  word-wrap: break-word;
  overflow-x: hidden;
}

/** 左側 **/
.separate-wrapper-l .side-left,
.separate-wrapper-l .side-left-bottom,
.separate-wrapper-r .side-left {
  padding: 0 5px 5px 5px;
}

/**** 上下表示時の下側 ****/
.separate-wrapper-l .side-right,
.separate-wrapper-l .side-left-bottom,
.separate-wrapper-r .side-left {
  margin-top: 20px;
}

.separate-wrapper-l .side-right:before,
.separate-wrapper-l .side-left-bottom:before,
.separate-wrapper-r .side-left:before {
  content: '';
  margin-bottom: 10px;
}

/*** 1040px～ ***/
@media only screen and (min-width: 1040px) {
  /**** 左側メイン ****/
  .separate-wrapper-l .side-left,
  .separate-wrapper-l .side-left-bottom {
    float: left;
  }
  .separate-wrapper-l .side-right {
    float: right;
  }
  
  /**** 右側メイン ****/
  .separate-wrapper-r .side-left,
  .separate-wrapper-r .side-right {
    float: right;
  }
  
  /**** 左側 ****/
  .separate-wrapper-l .side-left,
  .separate-wrapper-l .side-left-bottom,
  .separate-wrapper-r .side-left {
    width: 230px;
    margin-right: 10px;
  }
  
  /**** 右側 ****/
  .separate-wrapper-l .side-right,
  .separate-wrapper-r .side-right {
    width: 800px;
    width: calc(100% - 230px/*.side-left*/ - 10px/*margin*/);
    padding: 0 5px 0 0;
  }
  
  /**** ～1039pxにおける上下表示時の下側 ****/
  .separate-wrapper-l .side-right,
  .separate-wrapper-r .side-left {
    margin-top: 0;
  }
  
  .separate-wrapper-l .side-right:before,
  .separate-wrapper-r .side-left:before {
    display: none;
  }
}

/* 左側サブナビ */
#gnav-left-sub > dl,
#gnav-left-sub-2 > dl,
#gnav-left-bottom-sub > dl {
  display: block;
  margin: 0 auto;
  padding: 0;
}

#gnav-left-sub > dl > dt,
#gnav-left-sub-2 > dl > dt,
#gnav-left-bottom-sub > dl > dt {
  display: block;
  margin-top: 0.25em;
}

#gnav-left-sub > dl > dt:first-child,
#gnav-left-sub-2 > dl > dt:first-child,
#gnav-left-bottom-sub > dl > dt:first-child {
  margin-top: 0;
}

#gnav-left-sub > dl > dd,
#gnav-left-sub > dl > dd > ul > li,
#gnav-left-sub-2 > dl > dd,
#gnav-left-sub-2 > dl > dd > ul > li,
#gnav-left-bottom-sub > dl > dd,
#gnav-left-bottom-sub > dl > dd > ul > li {
  display: inline-block;
  margin: auto 0.25em;
  padding: 0.25em;
}

#gnav-left-sub > dl > dd > ul > li,
#gnav-left-sub-2 > dl > dd > ul > li,
#gnav-left-bottom-sub > dl > dd > ul > li {
  margin-left: 0;
  margin-right: 1em;
  padding-left: 0;
}

#gnav-left-sub > dl > dt + dd,
#gnav-left-sub-2> dl > dt + dd,
#gnav-left-sub-bottom > dl > dt + dd {
  padding-top: 0.5em;
}

#gnav-left-sub > dl > dd:last-of-type,
#gnav-left-sub-2 > dl > dd:last-of-type,
#gnav-left-bottom-sub > dl > dd:last-of-type {
  padding-bottom: 0.5em;
}

#gnav-left-sub > dl > dd > a,
#gnav-left-sub > dl > dd > ul > li > a,
#gnav-left-sub-2 > dl > dd > a,
#gnav-left-sub-2 > dl > dd > ul > li > a,
#gnav-left-bottom-sub > dl > dd > a,
#gnav-left-bottom-sub > dl > dd > ul > li > a {
  padding: 0.5em;
  border-left-width: 8px;
}

@media only screen and (min-width: 1040px) {
  #gnav-left-sub > dl > dd,
  #gnav-left-sub > dl > dd > ul > li,
  #gnav-left-sub-2 > dl > dd,
  #gnav-left-sub-2 > dl > dd > ul > li,
  #gnav-left-bottom-sub > dl > dd,
  #gnav-left-bottom-sub > dl > dd > ul > li {
    display: block;
    padding: 0.25em;
  }
  
  #gnav-left-sub > dl > dd > ul > li,
  #gnav-left-sub-2 > dl > dd > ul > li,
  #gnav-left-bottom-sub > dl > dd > ul > li {
    width: 100%;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    text-align: left;
  }
  
  #gnav-left-sub > dl > dd > a,
  #gnav-left-sub > dl > dd > ul > li > a,
  #gnav-left-sub-2 > dl > dd > a,
  #gnav-left-sub-2 > dl > dd > ul > li > a,
  #gnav-left-bottom-sub > dl > dd > a,
  #gnav-left-bottom-sub > dl > dd > ul > li > a {
    padding: 0.5em 0.2em;
  }
  
  #gnav-left-sub > dl > dd > ul > li > a,
  #gnav-left-sub-2 > dl > dd > ul > li > a,
  #gnav-left-bottom-sub > dl > dd > ul > li > a {
    text-align: left;
  }
}

/* フッターナビ */
#gnav-footer {
  display: block;
  margin: 0;
}

#gnav-footer a {
  color: #333;
  text-decoration: none;
}

#gnav-footer a:hover {
  color: #777;
}

#gnav-footer .gnav-dl-wrapper {
  position: relative;
}

#gnav-footer .corp-name a {
  position: relative;/*:beforeの相対位置対象*/
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1.25em;
  padding: 0.2em 0;
}

#gnav-footer .corp-name a:before {
  content: url('/contents/img/icon/ekk_24x20.png');
  position: relative;
  top: 3px;
  width: 24px;
  height: 20px;
  margin-right: 2px;
  margin-bottom: -2px;
  overflow-y: hidden;
}

#gnav-footer dl {
  display: inline-block;
  margin: 1em;
  vertical-align: top;
}

#gnav-footer dt {
  font-weight: 700;
}

#gnav-footer dd {
  margin: 1em 0;
  padding-left: 1em;
}

@media only screen and (min-width: 500px) {
  #gnav-footer dd {
    margin: 0.25em 0;
  }
}

#gnav-footer dd:before {
  content: '\276f';
  display: inline-block;
  width: 1em;
  margin-left: -1em;
}

#gnav-footer dd a {
  position: relative;/*beforeの相対位置対象*/
}

/* サイトのご利用について */
footer .about-use-of-site {
  display: block;
  margin: 5px 5px 5px 0;
  text-align: right;
}

footer .about-use-of-site a {
  color: #333;
}

footer .about-use-of-site a:hover {
  color: #777;
}

/* コピーライト */
footer .copyright {
  display: block;
  margin: 5px;
  text-align: right;
}

/* ToTopナビ */
nav#to-top {
  position: fixed;
  bottom: -110px;
  right: 10px;
  cursor: pointer;
  z-index: 9999;
  /*アニメーション*/
  -webkit-transition: .2s ease;
  -moz-transition: .2s ease;
  transition: .2s ease;
}

nav#to-top.shown {
  bottom: 10px;
}

nav#to-top img {
  width: 50px;
  height: 50px;
  background-color: rgb(150,150,150);/*IE8*/
  background-color: rgba(89,89,89,0.6);
  border: solid 1px #fff;
  /*角丸*/
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}

nav#to-top img:hover {
  background-color: #f99;/*IE8*/
  background-color: rgba(255,0,0,0.4);
}

/* 情報フレーム */
.info-frame {
  width: 100%;
  color: #043c74;
  background-color: #fffbd7;
  border-style: solid;
  border-width: 2px;
  border-color: #043c74;
  /*角丸*/
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  /*影*/
  box-shadow: 2px 2px 3px rgba(0, 0, 0, .22);
}

.info-frame a:hover {
  color: red;
}

/** (重要) **/
.info-frame.important {
  background-color: #ffeaff;
  border-color: #ff1493;
}

/** (ゴールデンツアー) **/
.info-frame.golden-tour {
  color: black;
  background-color: #fff3b7;
  border-color: #dbb400;
}

/** (赤) **/
.info-frame.red {
  border-color: #f00;
  background-color: #ffecec;
}

.info-frame.red .contrast-red {
  color: #dd0000;
}

/** (オレンジ) **/
.info-frame.orange {
  background-color: #fffbd7;
  border-color: #ff5d0c;
}

.info-frame.lemon .contrast-red {
  color: #e80000;
}

/** (レモン) **/
.info-frame.lemon {
  color: black;
  border-color: #f7f98d;
  background-color: #ffffe0;
}

.info-frame.lemon .contrast-red {
  color: #ec0000;
}

/** (貸切バス安全性評価) **/
.info-frame.chartered-bus-safety {
  background-color: white;
  border-color: #145149;
}

/** (水平線) **/
.info-frame.horizontal-rule {
  position: relative;/*:before/:afterの相対位置対象*/
  margin-top: 0.5em;
  color: black;
  background-color: transparent;
  border-style: none;
  /*角丸*/
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  /*影*/
  box-shadow: none;
}

.info-frame.horizontal-rule:before,
.info-frame.horizontal-rule:after {
  content: '';
  /*水平罫線*/
  position: relative;
  display: block;
  width: 100%;
  height: 1px;
  border-style: solid;
  border-width: 1px;
  border-top-color: #9a9a9a;
  border-left-color: #9a9a9a;
  border-right-color: #eee;
  border-bottom-color: #eee;
}

.info-frame.horizontal-rule:before {
  top: 0;
}

.info-frame.horizontal-rule:after {
  bottom: 0;
}

/** (左側サブナビ) **/
.info-frame.sub-nav-left {
  background-color: white;
  border-color: #043c74;
}

/** 情報フレーム(左側タイトル) **/
.info-frame.left-title {
  display: table;
}

/*** タイトル ***/
.info-frame.left-title > .title {
  display: table-cell;
  padding: 0.5em 0.25em;
  text-align: center;
  vertical-align: middle;
  font-size: 1.1em;
  font-weight: 700;
  color: white;
  background-color: #043c74; 
}

/**** (重要) ****/
.info-frame.left-title.important > .title {
  background-color: #ff1493; 
}

/*** 内容 ***/
.info-frame.left-title > .contents {
  display: table-cell;
  padding: 0.5em;
  text-align: center;
  vertical-align: middle;
}

/** 情報フレーム(上側タイトル) **/
/*** タイトル ***/
.info-frame.top-title > .title,
.info-frame.top-title > dl > dt.title {
  width: 100%;
  width: calc(100% + 1px/*ズーム時の隙間対策*/);
  margin: 0;
  padding: 0.25em;
  vertical-align: middle;
  font-size: 1.25em;
  font-weight: 700;
  color: white;
  background-color: #043c74;
}

.info-frame.top-title > .title.small,
.info-frame.top-title > dl > dt.title.small {
  font-size: 1em;
}

/**** (重要) ****/
.info-frame.top-title.important > .title {
  background-color: #ff1493; 
}

/**** (ゴールデンツアー) ****/
.info-frame.top-title.golden-tour > .title {
  background: rgb(219,180,0); /* Old browsers */
  background: -moz-linear-gradient(-45deg, rgba(219,180,0,1) 0%, rgba(241,231,103,1) 76%, rgba(219,180,0,1) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(-45deg, rgba(219,180,0,1) 0%,rgba(241,231,103,1) 76%,rgba(219,180,0,1) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(135deg, rgba(219,180,0,1) 0%,rgba(241,231,103,1) 76%,rgba(219,180,0,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dbb400', endColorstr='#dbb400',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}

/** (赤) **/
.info-frame.top-title.red > .title {
  color: #fff;
  background-color: #f00;
}

/**** (オレンジ) ****/
.info-frame.top-title.orange > .title {
  background-color: #ff5d0c;
}

/** (レモン) **/
.info-frame.lemon > .title {
  color: black;
  background-color: #f7f98d;
}

/**** (貸切バス安全性評価) ****/
.info-frame.top-title.chartered-bus-safety > .title {
  background-color: #145149;
  /*角丸*/
  -webkit-border-radius: 3px 3px 0 0 / 3px 3px 0 0;
  -moz-border-radius: 3px 3px 0 0 / 3px 3px 0 0;
  border-radius: 3px 3px 0 0 / 3px 3px 0 0;
}

/**** (水平線) ****/
.info-frame.top-title.horizontal-rule > .title {
  margin-top: 0.25em;
  color: black;
  background-color: transparent;
  text-align: center;
}

/**** (左側サブナビ) ****/
.info-frame.sub-nav-left > dl > dt.title {
  padding-top: 0.3em;
  font-size: 1.1em;
  line-height: 1.1em;
  color: white;
  background-color: #043c74;
}

.info-frame.sub-nav-left .sub-title {
  color: black;
  font-size: 1.1em;
  font-weight: 700;
}

.info-frame.sub-nav-left ul.sub-contents {
  overflow: hidden;/*高さ0を回避*/
}

/*** 内容 ***/
.info-frame.top-title > .contents {
  padding: 0.5em;
}

/** 情報フレーム(タイトルなし) **/
.info-frame.no-title {
  padding: 0.5em;
  text-align: center;
  border-top-width: 10px;
}

/*** 内容 ***/
.info-frame.no-title > .contents {
  display: inline-block;
  font-size: 1em;
  font-weight: 400;
}

/* お知らせリスト */
.news-list {
  width: 100%;
  max-height: 150px;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-y: scroll;
  vertical-align: top;
}

/** スクロールバー(Chromeのみ) **/
.news-list::-webkit-scrollbar {
  width: 12px;
}

.news-list::-webkit-scrollbar:disabled {
  display: none;
}

.news-list::-webkit-scrollbar-track {
  background: #fff;
  border-left: solid 1px #ccc;
}

.news-list::-webkit-scrollbar-thumb {
  background: #ccc;
  box-shadow: none;
  /*角丸*/
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}

.news-list::-webkit-scrollbar-thumb:hover {
  background: #aaa;
}

.news-list > li {
  position: relative/*.titleの相対位置対象*/
}

.news-list > li:after {
  /*clear-fix*/
  content: '';
  clear: both;
  display: block;
}

.news-list > li > .header {
  width: 6.5em;
  width: calc(19px + 5px + 4.5em/*yy/MM/dd*/ + 0.5em);
  padding: 0.3em 0 0.1em 0;
  color: black;
  vertical-align: middle;
}

.news-list > li > .header > time:before {
  content: '';
  display: inline-block;
  width: 19px;
  margin-right: 5px;
}

.news-list > li > .header > time.up:before {
  content: url('/contents/img/icon/up.gif');
}

.news-list > li > .title {
  display: inline-block;
  margin-left: 24px;/*=.header time.left*/
  padding: 0 0 0.5em 0;
}

@media screen and (min-width:500px), print {
  .news-list > li > .header {
    float: left;
    position: absolute;
    left: 0;
    padding: 0.3em 0;
  }
  
  .news-list > li > .title {
    float: left;
    margin-left: 6.5em;/*=.header:width*/
    margin-left: calc(19px + 5px + 4.5em + 0.5em);/*=.header:width*/
    padding: 0.3em 0;
  }
}

/* リンク枠 */
div.link-frame > a,
span.link-frame > a,
ul.link-frame > li > a,
dl.link-frame > dd > a {
  display: inline-block;
  width: 100%;
  height: 100%;
  color: #043c74;
  background-color: #e9f3fd;
  text-align: left;
  border-style: solid;
  border-width: thin;
  border-color: #043c74;
}

/** IEとEdge除く **/
div.link-frame > a:hover,
div.link-frame > a:focus-within,
span.link-frame > a:hover,
span.link-frame > a:focus-within,
ul.link-frame > li > a:hover,
ul.link-frame > li > a:focus-within,
dl.link-frame > dd > a:hover,
dl.link-frame > dd > a:focus-within {
  color: red;
  background-color: #ffecec;
}

/** IE(8以降) **/
@media screen\0 {
  div.link-frame > a:hover,
  div.link-frame > a.focus-within,
  span.link-frame > a:hover,
  span.link-frame > a.focus-within,
  ul.link-frame > li > a:hover,
  ul.link-frame > li > a.focus-within,
  dl.link-frame > dd > a:hover,
  dl.link-frame > dd > a.focus-within {
    color: red;
    background-color: #ffecec;
  }
}

/** Edge **/
@supports (-ms-ime-align: auto) {
  div.link-frame > a:hover,
  div.link-frame > a.focus-within,
  span.link-frame > a:hover,
  span.link-frame > a.focus-within,
  ul.link-frame > li > a:hover,
  ul.link-frame > li > a.focus-within,
  dl.link-frame > dd > a:hover,
  dl.link-frame > dd > a.focus-within {
    color: red;
    background-color: #ffecec;
  }
}

/** イメージの場合は枠なし **/
ul.link-frame > li.image,
dl.link-frame > dd.image {
  text-align: center;
  vertical-align: middle; 
}

ul.link-frame > li.image > a,
dl.link-frame > dd.image > a {
  display: inline-block;
  width: 100%;
  height: 100%;
  padding: 0 !important;
  background-color: initial;
  text-align: center;
  border: none;
}

ul.link-frame > li.image > a > img,
dl.link-frame > dd.image > a > img {
  width: 100%;
  height: auto;
}

/* 行頭文字インデント(行頭文字はdata-prefix属性で定義) */
.line-prefix-indent {
  position: relative;/*:beforeの相対位置対象*/
  padding-left: 1em;
}

.line-prefix-indent:before {
  content: attr(data-prefix)'';
  position: absolute;
  display: inline-block;
  top: 0;
  left: 0;
  width: 1em;
}

/* 行頭文字インデントリスト */
ul.line-prefix-indent-list,
dl.line-prefix-indent-list {
  list-style: none;
  margin: 0;
}

ul.line-prefix-indent-list > li,
dl.line-prefix-indent-list > dt {
  position: relative;/*:beforeの相対位置対象*/
  padding-left: 1em;
}

ul.line-prefix-indent-list > li:before,
dl.line-prefix-indent-list > dt:before {
  content: "\2022";/*•(中点)*/
  position: absolute;
  display: inline-block;
  top: 0;
  left: 0;
}

/* 固定幅テーブル */
.fixed-table {
  margin: 0 auto;
  border-collapse: separate;
  border-spacing: 0;
}

.fixed-table .font-small {
  font-size: 0.8em;
}

.fixed-table tr {
  /*行の途中の印刷改ページ抑止(行間で改ページ)*/
  page-break-inside: avoid;
}

.fixed-table th {
  color: white;
  /*枠線(ヘッダー：細)*/
  border-style: solid;
  border-width: 0 thin thin 0;
  border-color: #4079b8;
  /*背景色*/
  background: rgb(4,60,116);
  background: -webkit-linear-gradient(left, rgba(58,143,219,1) 0%, rgba(10,77,144,1) 40%, rgba(4,60,116,1) 100%);
  background: -moz-linear-gradient(left, rgba(58,143,219,1) 0%, rgba(10,77,144,1) 40%, rgba(4,60,116,1) 100%);
  background: linear-gradient(to right, rgba(58,143,219,1) 0%, rgba(10,77,144,1) 40%, rgba(4,60,116,1) 100%);
  /*影*/
  box-shadow: 0px 1px 1px rgba(255,255,255,0.3) inset;
}

.fixed-table thead {
  display: table-header-group;/*Chrome印刷時thead改ページ都度出力*/
  break-inside: avoid;/*Chrome印刷時thead改ページ都度出力*/
  text-align: center;
}

.fixed-table thead th {
  /*枠線(ヘッダー上下：太)*/
  border-top-width: 1px;
  border-bottom-width: 1px;
}

.fixed-table thead th:first-child,
.fixed-table tbody th {
  /*枠線(左端：太)*/
  border-left-width: 1px;
}

.fixed-table thead th,
.fixed-table thead td {
  padding: 0.7em 0;
}

.fixed-table thead th.font-small {
  padding: 0.4em 0;
}

.fixed-table thead th:first-child {
  border-radius: 5px 0 0 0;/*左上角丸*/
}

.fixed-table thead th:last-child {
  border-radius: 0 5px 0 0;/*右上角丸*/
}

.fixed-table thead th:last-child,
.fixed-table tbody td:last-child {
  /*枠線(右端：太・暗)*/
  border-right: 1px solid #3c6690;
}

.fixed-table tbody {
  text-align: right;
}

.fixed-table tbody th,
.fixed-table tbody td {
  padding: 0.45em 0.25em;
}

.fixed-table tbody th {
  border-right-width: thin;
}

.fixed-table tbody td {
  color: black;
  background: white;
  border-style: solid;
  /*枠線(細)*/
  border-width: 0 thin thin 0;
  border-color: #a8b7c5;
  /*影*/
  box-shadow: 0px -3px 5px 1px #eee inset;
}

.fixed-table tbody tr.yellow td {
  background: #ffffd2;
}

.fixed-table tbody tr.red td {
  background: #ffd2ff;
}

.fixed-table tbody tr:last-child td {
  /*枠線(下端：太・暗)*/
  border-bottom: 1px solid #3c6690;
}

.fixed-table tbody tr:last-child th {
  border-radius: 0 0 0 5px;/*右下角丸*/
}

.fixed-table tbody tr:last-child td:last-child {
  border-radius: 0 0 5px 0;/*左下角丸*/
}


/* 印刷 ====================*/
@page {
  size: A4;
  margin: 12.7mm 9.7mm;
  -webkit-print-color-adjust: exact;
}

@media print {
  /*---------- 各スタイル ----------*/
  /* ToTopナビ */
  nav#to-top {
    display: none;
  }
}
/*========== 印刷(ここまで) */

