@charset "UTF-8";
/**************************************************************************************************
 *
 * 山梨バス スタイルシート
 *  ページ全体の基礎となるCSS
 *
 *  CSS設計案としてFLOCSSを使用(https://github.com/hiloki/flocss)
 *  ※命名規則
 *      MindBEMdingを使用(https://gist.github.com/juno/6182957)
 *      単語のくぎりには'-'を使用
 *      フォントサイズの単位は"rem"で統一
 *
 *************************************************************************************************/
/**
 *     $Foundation (プロジェクトの基本となるスタイル)
 ------------------------------------------------------------------------------------------------*/
/*
Variables
----------------------------------------------------------------
*/
/*
Mixins
----------------------------------------------------------------
*/
/*
Clearfix
Source: http://nicolasgallagher.com/micro-clearfix-hack/

For modern browsers
1. The space content is one way to avoid an Opera bug when the
   contenteditable attribute is included anywhere else in the document.
   Otherwise it causes space to appear at the top and bottom of elements
   that are clearfixed.
2. The use of `table` rather than `block` is only necessary if using
   `:before` to contain the top-margins of child elements.
*/
/**************************************************************************************************
 *
 * 山梨バス スタイルシート
 *  ※ WEBフォント設定
 *
 *************************************************************************************************/
@font-face {
  font-family: "はんなり明朝";
  src: url(../../font/Hannari.eot);
  /* IE */
}
@font-face {
  font-family: "はんなり明朝";
  src: url(../../font/Hannari.otf), url(../../font/Hannari.otf) format("opentype");
}
html, body, span, iframe,
p, address, img, small, strong,
dl, dt, dd, ol, ul, li,
form, label, legend,
table, tbody, tfoot, thead, tr, th, td {
  font-size: 100%;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
}
ul, ol {
    list-style: none;
}
.fl {
    float: left;
}

html {
  font-size: 62.5%;
  /* ルートを10pxに設定 */
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

*, *::before, *::after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-family: 微软雅黑,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1;
  background: url("/img/default/bg_pattern_white.png") repeat 0 0;
  -moz-background-size: 12.5% auto;
  -o-background-size: 12.5% auto;
  -webkit-background-size: 12.5% auto;
  background-size: 12.5% auto;
  -webkit-text-size-adjust: 100%;
}
.sp-br {
	display:block;
}
@media (min-width: 1024px) {
  body {
    -moz-background-size: 80px auto;
    -o-background-size: 80px auto;
    -webkit-background-size: 80px auto;
    background-size: 80px auto;
  }
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
  outline: none;
}
.sp-br {
	display:inline-block;
}

@media screen and (max-width: 1024px) {
  a {
    display: block;
  }
}
area {
  outline: none;
  border: none;
}

@media screen and (max-width: 1024px) {
  /* スマホ・タブレットのみ */
  article, aside, footer, header, menu, nav, section,
  html, body, div, span, h1, h2, h3, h4, h5, h6,
  p, img, dl, dt, dd, ol, ul, li, table, tr, th, td {
    -webkit-tap-highlight-color: transparent;
  }
}
input,
button,
textarea,
select {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "はんなり明朝";
  margin: 0;
}

/**
 *     $Layout (ページを構成するプロジェクト共通のコンテナーブロックのスタイル)
 ------------------------------------------------------------------------------------------------*/
/*-----------------------------------------------
    ヘッダー エリア
        BLOCK名'header'
  ---------------------------------------------*/
#header {
  width: 100%;
  display: table;
  table-layout: fixed;
  padding: 1.875% 3.125%;
  position: relative;
}

.header__logo,
.header__menu {
  vertical-align: middle;
  display: table-cell;
}

.header__logo {
  width: 82.333%;
}

.header__menu {
  width: 17.667%;
}
.pc{
  display:none;
}

@media (min-width: 768px) {
  #header {
    padding: 16px 24px;
  }
  .pc{
  	display:block;
  }
  .sp{
  	display:none;
  }
}
@media (min-width: 1025px) {
  #header {
    max-width: 1040px;
    padding: 5px 20px;
  }

  .header__logo {
    width: 316px;
  }

  .header__menu {
    width: 684px;
  }

  /* Global Menu */
  #global-menu-wrap {
    width: 100%;
  }
  #global-menu-wrap > div {
    padding-top: 5px;
  }
  #global-menu-wrap > div > div {
    height: 80px;
  }

  .global-menu-box {
    width: 1040px;
    margin: 0 auto;
  }
}
/*-----------------------------------------------
    グローバルメニュー
  -----------------------------------------------*/
.menu-mobile {
  display: none;
  font-size: 2.4rem;
  color: #aca291;
  text-align: center;
  line-height: 1;
  display: block;
  padding: 22.223%;
  border: solid 1px #aca291;
  border-radius: 10px;
}
.menu-mobile::after {
  position: relative;
  top: 50%;
  float: right;
  padding: 0;
  content: '';
  -moz-transform: translateY(-25%);
  -ms-transform: translateY(-25%);
  -webkit-transform: translateY(-25%);
  transform: translateY(-25%);
}

.menu-sp {
  padding-left: 15.095%;
}
.menu-sp > ul {
  position: absolute;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  left: 0;
  top: 100%;
  z-index: 500;
}
.menu-sp > ul > li {
  color: #fff;
  display: block;
  float: none;
  width: 100%;
  border-bottom: solid 1px #51a7cb;
  background-color: #2691be;
}
.menu-sp > ul > li span {
  float: right;
}
.menu-sp > ul > li span > i {
  font-size: 1.8rem;
}
.menu-sp > ul > li > ul {
  list-style: none;
}
.menu-sp > ul > li li {
  background-color: #217ba1;
  border-bottom: solid 1px #4d95b4;
}
.menu-sp > ul > li li > a {
  padding: 6.250% 3.125% 6.250% 6.250%;
}
.menu-sp .menu__item > a {
  padding: 6.250% 3.125%;
}
@media screen and (min-width: 768px) {
  .menu-sp .menu__item > a {
    padding: 5.209% 2.605%;
  }
  .menu-sp > ul > li li > a {
    padding: 4.948% 2.605% 4.948% 5.208%;
  }
  .menu-sp ul li {
    font-size: 1.8rem;
  }
  .menu-sp > ul > li span > i {
    font-size: 2rem;
  }
}

/* ––––––––––––––––––––––––––––––––––––––––––––––––––
megamenu.js STYLE STARTS HERE
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* ––––––––––––––––––––––––––––––––––––––––––––––––––
PC style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media screen and (min-width: 1025px) {
  .menu-container {
    margin: 0 auto;
  }

  .menu > ul {
    position: absolute;
    top: 53px;
    left: 0;
    width: 100%;
    margin: 0 auto;
    padding: 10px 0;
    list-style: none;
  }
  .menu > ul::before, .menu > ul::after {
    display: table;
    content: '';
  }
  .menu > ul::after {
    clear: both;
  }
  .menu > ul > li {
    font: normal 2.3rem/1.2 "はんなり明朝";
    color: #fff;
    text-align: center;
    float: left;
    margin: 0;
    margin-right: 4px;
    padding: 0;
  }
  .menu > ul > li a {
    text-decoration: none;
    display: block;
    padding: 16px 0 20px;
    border-radius: 8px 8px;
  }
  .menu > ul > li a:hover {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=95);
    opacity: 0.95;
  }
  .menu > ul > li > ul {
    position: absolute;
    z-index: 99;
    left: 0;
    display: none;
    width: 100%;
    margin: 0;
    padding: 20px;
    list-style: none;
  }
  .menu > ul > li > ul::before, .menu > ul > li > ul::after {
    display: table;
    content: '';
  }
  .menu > ul > li > ul::after {
    clear: both;
  }
  .menu > ul > li > ul > li {
    float: left;
    width: 25%;
    margin: 0;
    padding-bottom: 0;
    list-style: none;
    background: none;
  }
  .menu > ul > li > ul.menu__subitem1 > li {
    float: initial;
  }
  .menu > ul > li > ul > li a {
    display: block;
    width: 100%;
  }
  .menu > ul > li > ul > li > ul {
    display: block;
    margin: 10px 0 0;
    padding: 0;
    list-style: none;
  }
  .menu > ul > li > ul > li > ul::before, .menu > ul > li > ul > li > ul::after {
    display: table;
    content: '';
  }
  .menu > ul > li > ul > li > ul::after {
    clear: both;
  }
  .menu > ul > li > ul > li > ul > li {
    font-size: .8em;
    float: left;
    width: 100%;
    margin: 0;
    padding: 10px 0;
  }
  .menu > ul > li > ul > li > ul > li > a {
    border: 0;
  }

  .menu > ul > li > ul.normal-sub {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
    font-size: 0;
    color: #404040;
    background-color: #fffdf5;
    top: 100%;
    padding: 20px;
    border-radius: 8px 8px;
    z-index: 600;
  }

  .menu > ul > li > ul.normal-sub > li:not(.balloon) {
    font-size: 1.6rem;
    text-align: left;
    width: 50%;
    border-right: solid 1px #f1eee4;
    display: inline-block;
    padding: 10px 20px;
  }

  .menu > ul > li > ul.normal-sub > li:not(.balloon):nth-of-type(odd) {
    border-right: none;
  }

  .menu > ul > li > ul.normal-sub > li > a {
    overflow: hidden;
    display: block;
    padding: 0;
    border-radius: 0;
  }

  .menu > ul > li > ul.normal-sub > li span {
    float: right;
  }

  .menu > ul > li > ul.normal-sub > li span i {
    width: 10px;
  }

  .menu > ul > li:last-child {
    margin-right: 0;
  }

  .menu > ul > li > ul.normal-sub > li:hover > a {
    color: #000;
  }

  .menu .menu__item {
    width: 154px;
  }

  .menu .menu__item--top {
    width: 92px;
  }

  .menu .menu__item--top > a {
    background: url("/img/default/bg_btn_darkblue.png") repeat center center;
    -webkit-background-size: 89.286% auto;
    background-size: 89.286% auto;
  }

  .menu .menu__item > a {
    -webkit-background-size: 92.593% auto;
    background-size: 92.593% auto;
  }

  .menu__item--btn1 > a {
    cursor: default;
    background: url("/img/default/bg_btn_darkpink.png") repeat center center;
  }

  .menu__item--btn2 > a {
    background: url("/img/default/bg_btn_green.png") repeat center center;
  }

  .menu__item--btn3 > a {
    background: url("/img/default/bg_btn_yellow.png") repeat center center;
  }

  .menu__item--btn4 > a {
    background: url("/img/default/bg_btn_softblue.png") repeat center center;
  }

  .menu__item--btn5 > a {
    background: url("/img/default/bg_btn_purple.png") repeat center center;
  }
  
  .menu__item--btn6 > a {
    background: url("/img/default/bg_btn_pink.png") repeat center center;
  }

  /* add 20240426 */
  .menu > ul > li {
    font-size: 1.9rem;
  }
  .menu .menu__item--top {
    width: 60px;
  }
  .menu .menu__item {
    width: calc((100% - 60px - (4px * 7)) / 7);
  }
  .menu .menu__item .menu__item--sub {
    font-size: 1.2rem;
  }
  .menu .menu__item.menu__item--small {
    font-size: 1.2rem;
  }
  .menu__item--btn7 > a {
    background: url("/img/default/bg_btn_orange.png") repeat center center;
  }
  .menu > ul > li.menu__item--btn7 a {
    padding: 7px 0 11px;
  }

  /* メガメニューの位置 */
  .menu > ul > li > ul.menu__subitem1 {
    width: 800px;
    left: 7%;
  }

  .menu > ul > li > ul.menu__subitem1 > .balloon {
    position: absolute;
    top: -10px;
    left: 0;
  }

  .menu > ul > li > ul.menu__subitem2 {
    width: 650px;
    left: 24.2%;
  }

  .menu > ul > li > ul.menu__subitem2 > .balloon {
    position: absolute;
    top: -10px;
    left: 0;
  }

  .menu > ul > li > ul.menu__subitem3 {
    width: 620px;
    left: 30%;
  }

  .menu > ul > li > ul.menu__subitem3 > .balloon {
    position: absolute;
    top: -10px;
    left: 100px;
  }

  .menu > ul > li > ul.menu__subitem4 {
    width: 650px;
    left: 39%;
  }

  .menu > ul > li > ul.menu__subitem4 > .balloon {
    position: absolute;
    top: -10px;
    left: 478px;
  }

  /* add 20240426 */
  .menu > ul > li > ul.menu__subitem1 {
    left: 3%;
  }
  .menu > ul > li > ul.menu__subitem2 {
    left: 18.2%;
  }
  .menu > ul > li > ul.menu__subitem3 {
    left: 23%;
  }
  .menu > ul > li > ul.menu__subitem4 {
    left: 26%;
  }

  /* ヘッダーローカルナビ */
  .header-local-navi .local-navi-wrap {
    padding: 12px 0;
  }

  .header-local-navi .local-navi {
    /* width: 685px; */
    width: 100%;
  }

  .header-local-navi .local-navi > ul > li {
    font: normal 16px/1 "はんなり明朝";
    color: #217ba1;
    vertical-align: middle;
  }

  .header-local-navi .local-navi > ul > li:nth-child(3),
  .header-local-navi .local-navi > ul > li:nth-child(4) {
    vertical-align: bottom;
  }

  .header-local-navi .local-navi > ul > li a {
    display: block;
    padding: 10px 0 14px;
    text-align: center;
  }

  .header-local-navi .local-navi__item {
    width: 110px;
    height: 40px;
    margin-left: 4px;
  }

  .local-navi__item--btn1 > a {
    background: url("/img/default/bg_btn_lightpurple.png") repeat center center;
  }

  .local-navi__item--btn2 > a {
    background: url("/img/default/bg_btn_lightgreen.png") repeat center center;
  }

  .local-navi__item--btn3 > a {
    background: url("/img/default/bg_btn_lightyellow.png") repeat center center;
  }

  .local-navi__item--btn4 > a {
    background: url("/img/default/bg_btn_lightblue.png") repeat center center;
  }

  .local-navi__item--btn5 > a {
    background: url("/img/default/bg_btn_lightpink.png") repeat center center;
  }
  .local-navi__item--btn6 > a {
    background: url("/img/default/bg_btn_q&a.png") repeat center center;
  }
  .local-navi__item--btn7 > a {
    background: url("/img/default/bg_btn_bluegreen.png") repeat center center;
    font-size: 12px;
    padding: 7px 0 9px!important;
  }
  .local-navi__item--btn8 > a {
    background: url("/img/default/bg_btn_dark_yellow.png") repeat center center;
  }
  .local-navi__item--btn9 > a {
    background: url("/img/default/bg_btn_grassgreen.png") repeat center center;
    font-size: 12px;
    padding: 7px 0 9px!important;
  }
}

@media screen and (min-width: 1024px) {
  .menu-sp .header-local-navi .local-navi__item {
    display: block;
    margin: inherit;
    border-bottom: solid 2px #c1edff;
  }
  .menu-sp .header-local-navi .local-navi__item > a {
    position: relative;
    padding: 5.625% 3.125%;
  }
}

/*-----------------------------------------------
    言語選択メニュー
  -----------------------------------------------*/
.lang {
  font-size: 0;
  list-style: none;
  padding: 0;
  float: left;
}
.lang li {
  color: #000;
  font-size: 1.4rem;
  display: inline-block;
  border-right: solid 1px #000;
}
.lang li:last-child {
  border-right: none;
}
.lang li a {
  padding: 2px 10px;
}
@media screen and (min-width: 1025px) {
  .lang {
    margin: 0 0 0 220px;
  }
  .lang a:hover {
    text-decoration: underline;
  }
}

/*-----------------------------------------------
    SNS シェアボタン
  -----------------------------------------------*/
.sns {
  font-size: 0;
  padding: 0;
  list-style: none;
  float: left;
  width: 50.667%;
  max-width: 160px;
}
.sns li {
  width: 20.5%;
  display: inline-block;
  margin-right: 12.5%;
}
@media screen and (min-width: 1025px) {
  .sns {
    float: right;
    width: 138px;
  }
  .sns li {
    width: 46px;
    padding: 0 0 0 10px;
    margin-right: 0;
  }
  .sns a:hover {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);
    opacity: 0.9;
  }
}

.mini-menu--sp {
  background-color: #2691be;
  padding: 1.563% 3.125%;
}

/*-----------------------------------------------
    運行状況
  -----------------------------------------------*/
.traffic_area {
  padding: 1.563% 3.125% 0;
  overflow: hidden;
}
.traffic_area dl {
  font-size: 1.2rem;
  color: #fff;
  display: table;
  width: 100%;
  margin-bottom: 1.667%;
  table-layout: fixed;
  border-radius: 8px 8px;
  background-color: rgba(255, 255, 255, 0.2);
}
.traffic_area dt {
  font-weight: bold;
  vertical-align: middle;
  display: table-cell;
  width: 31%;
  padding: 1.667% 3.334%;
}
.traffic_area dd {
  vertical-align: middle;
  display: table-cell;
  padding: 1.667% 3.334% 1.667% 0;
}

.ticker div {
  font-size: 0;
}
.ticker p {
  font-size: 1.2rem;
  line-height: 1.25;
}
.ticker p a {
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  .traffic_area dl {
    font-size: 1.4rem;
  }

  .ticker p {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 1024px) {
  .traffic_area {
    width: 1040px;
    padding: 10px 20px 0;
  }

  .traffic_area dl {
    margin-bottom: 10px;
  }

  .traffic_area dt {
    width: 160px;
    padding: 10px 20px;
  }

  .traffic_area dd {
    padding: 10px 20px 10px 0;
  }

  .ticker p a:hover {
    text-decoration: none;
  }
}
/*-----------------------------------------------
    フッター エリア
        BLOCK名'footer'
  ---------------------------------------------*/
#footer {
  width: 100%;
  overflow: hidden;
}
#footer a:hover {
  text-decoration: underline;
}

.footer-layout {
  margin-bottom: 6.250%;
  background: url("/img/default/bg_pattern_softblue-l.png") repeat center center;
  -moz-background-size: 12.5% auto;
  -o-background-size: 12.5% auto;
  -webkit-background-size: 12.5% auto;
  background-size: 12.5% auto;
}
.footer-layout2 {
  -moz-background-size: 12.5% auto;
  -o-background-size: 12.5% auto;
  -webkit-background-size: 12.5% auto;
  background-size: 12.5% auto;
}
.footer-bottom {
  padding: 3.750%;
}
.footer-bottom p {
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
}

/* ローカルナビ */
.local-navi ul {
  list-style: none;
}
.local-navi__item {
  color: #fff;
  border-bottom: solid 2px #c1edff;
}
.local-navi__item:last-child {
  border-bottom: none;
}
.local-navi__item > a {
  position: relative;
  padding: 5.625% 3.125%;
}
.local-navi__item span {
  position: absolute;
  top: 0;
  right: 3.125%;
  bottom: 0;
  width: 6px;
  height: 18px;
  margin: auto;
}
.local-navi__item i {
  font-size: 1.8rem;
}

@media screen and (min-width: 480px) {
  .footer-bottom p {
    font-size: 1.2rem;
  }

  .local-navi__item span {
    width: 8px;
    height: 20px;
  }
  .local-navi__item i {
    font-size: 2rem;
  }
}
@media screen and (min-width: 1024px) {
  #footer .u-bp1025--pc {
    display: block; 
  }

  .footer-layout {
    margin-bottom: 0;
    -moz-background-size: 80px auto;
    -o-background-size: 80px auto;
    -webkit-background-size: 80px auto;
    background-size: 80px auto;
  }

  .footer-bottom {
    padding: 30px 20px;
  }

  .local-navi-wrap {
    font-size: 1.4rem;
    width: 1040px;
    /* padding: 30px 20px; */
    padding: 18px 20px 27px;
  }

  .local-navi--page-top {
    color: #fff;
    float: left;
    width: 150px;
    padding-top: 15px;
  }

  .local-navi--page-top i {
    font-size: 2rem;
    vertical-align: -2px;
  }

  .local-navi {
    font-size: 0;
    float: right;
    width: 657px;
    /*background: #0C0;*/
  }

  .local-navi__item {
    font-size: 1.4rem;
    display: inline-block;
    margin-left: 20px;
    border-bottom: none;
  }

  .local-navi__item > a {
    position: static;
    padding: 0;
  }

  .local-navi__item span {
    vertical-align: -2px;
    position: static;
    width: 8px;
    height: auto;
    margin: 0 0 0 10px;
  }

  .sitemap-l-wrap {
    display: table;
    width: 1040px;
    padding: 20px;
    table-layout: fixed;
  }

  .sitemap-wrap {
    vertical-align: top;
    display: table-cell;
    width: 250px;
  }

  .sitemap-list,
  .sitemap-sublist {
    color: #fff;
    list-style: none;
  }

  .sitemap-list > li {
    font-size: 1.8rem;
  }

  .sitemap-sublist {
    margin-top: 24px;
  }

  .sitemap-sublist > li {
    font-size: 1.4rem;
    line-height: 1.5;
  }

  .sitemap-sublist--chartered-bus {
    margin-top: 64px;
  }
}
/*-----------------------------------------------
    お知らせ 設定
  -----------------------------------------------*/
.news-wrap {
  padding: 4.688% 3.125%;
}

.news__header {
  font-size: 1.75rem;
  line-height: 1.111111111111111;
  overflow: hidden;
  width: 100%;
  /*margin-bottom: 4%;*/
  padding-bottom: 30px;
}

.news__heading {
  float: left;
}

.news__subheading {
  font-size: 1.4rem;
  color: #aca291;
  float: right;
  margin-top: 1em;
}

.news__content {
  overflow: hidden;
  border: solid 1px #aca291;
  border-radius: 10px 10px;
  background-color: #fbfaf5;
}

.news__content > a:not(:first-child),
.news__content > div:not(:first-child) {
  border-top: solid 1px #aca291;
}

.news-block {
  display: table;
  width: 100%;
  padding: 5.017% 3.344%;
}

.news-block > div {
  vertical-align: middle;
  display: table-cell;
}

.news-block__arrow {
  width: 12px;
  padding-left: 5px;
}

.news-block__data {
  font-size: 0;
  list-style: none;
}

.news-block__data li {
  font-size: 1.2rem;
  vertical-align: middle;
  display: inline-block;
  list-style: none;
}

.news-block__data .category {
  width: 18.051%;
  max-width: 100px;
}

.news-block__title {
  line-height: 1.25;
  margin: 0.5em 0 0 !important;
}

.news-block i {
  font-size: 2rem;
  color: #aca291;
}

.news-layout a:not(.c-btn) {
  color: #0084ce;
  text-decoration: underline;
  display: inline;
}

.news-layout a:hover {
  text-decoration: none;
}

.news-layout ol {
  margin: 1em 0 1em 1.5em;
}

.news-layout ul {
  margin: 1em 0 1em 1.5em;
}

@media screen and (min-width: 1024px) {
  .news-wrap {
    width: 1040px;
    padding: 26px 20px 30px;
  }

  .news__header {
    font-size: 2.7rem;
    text-align: center;
    margin-bottom: 0;
  }

  .news__heading {
    float: none;
  }

  .news__subheading {
    font-size: 1.6rem;
    color: #000;
    margin: 20px 0 0;
  }

  .news-block {
    padding: 9px 0;
  }

  .news-block a {
    display: block;
  }

  .news-block > div:nth-child(1) {
    width: 26%;
  }

  .news-block > div:nth-child(2) {
    text-align: left;
    width: 74%;
  }

  .news-block > div:nth-child(2) > a {
    text-decoration: underline;
  }

  .news-block > div:nth-child(2) > a:hover {
    text-decoration: none;
  }

  .news-block__data li {
    font-size: 1.6rem;
  }

  .news-block__data .category {
    width: 100px;
    max-width: none;
  }

  .news-block__title {
    margin: 0 !important;
  }
}
/**
 *     $Component / Object (再利用できるパターンとして最低限の機能を持ったモジュール)
 *         プレフィックス"c-"を付ける
 ------------------------------------------------------------------------------------------------*/
/*-----------------------------------------------
    Font Color
  ---------------------------------------------*/
.c-fcolor {
  color: #fff;
}

.c-fcolor--black {
  color: #404040;
}

.c-fcolor--dark-blue {
  color: #217ba1;
}

/*-----------------------------------------------
    Background Color
  ---------------------------------------------*/
.c-bg {
  background-color: #fff;
}

.c-bg--blue {
  background-color: #0084ce;
}

.c-bg--dm_pink {
  background-color: #b23e80;
}

.c-bg--m_white {
  background-color: #f6f6f6;
}

.c-bg--pale_orange {
  background-color: #fff6ee;
}

.c-bg--pale_pink {
  background-color: #ffeef8;
}

.c-bg--pale_pink2 {
  background-color: #fff5fb;
}

.c-bg--pale_red {
  background-color: #fff2f2;
}

.c-bg--skyblue {
  background-color: #44aae3;
}

.c-bg--soft_blue {
  background-color: #54abdb;
}

.c-bg--v_soft_blue {
  background-color: #b1dff8;
}

.c-bg--white2 {
  background-color: #f1f1f1;
}

.c-bg--yellow {
  background-color: #ffd800;
}

.c-bg--yellow2 {
  background-color: #fff000;
}

/*-----------------------------------------------
    Background Image
  ---------------------------------------------*/
.c-bg-pattern--brown {
  background: url("/img/default/bg_pattern_brown.png") repeat 0 0;
}

.c-bg-pattern--darkblue {
  background: url("/img/default/bg_pattern_darkblue.png") repeat 0 0;
}

.c-bg-pattern--deep-darkblue {
  background: url("/img/default/bg_pattern_deep-darkblue.png") repeat 0 0;
}

.c-bg-pattern--darkred {
  background: url("/img/default/bg_pattern_darkred.png") repeat 0 0;
}

.c-bg-pattern--diagonal {
  background: url("/img/default/bg_pattern_diagonal.png") repeat 0 0;
}

.c-bg-pattern--green {
  background: url("/img/default/bg_pattern_green.png") repeat 0 0;
}

.c-bg-pattern--lightcyan {
  background: url("/img/default/bg_pattern_lightcyan.png") repeat 0 0;
}

.c-bg-pattern--navy {
  background: url("/img/default/bg_pattern_navy.png") repeat 0 0;
}

.c-bg-pattern--orange {
  background: url("/img/default/bg_pattern_orange.png") repeat 0 0;
}

.c-bg-pattern--softblue {
  background: url("/img/default/bg_pattern_softblue.png") repeat 0 0;
}

.c-bg-pattern--strongblue {
  background: url("/img/default/bg_pattern_strongblue.png") repeat 0 0;
}

.c-bg-pattern--white {
  background: url("/img/default/bg_pattern_white.png") repeat 0 0;
}

.c-bg-pattern--yellow {
  background: url("/img/default/bg_pattern_lg_yellow.png") repeat 0 0;
}

/*-----------------------------------------------
    ボタン
  ---------------------------------------------*/
.c-btn {
  border-radius: 8px 8px;
  display: table;
}

.c-btn > * {
  vertical-align: middle;
  display: table-cell;
}

/* ボタンの背景色 */
.c-btn--blue {
  background-color: #0084ce;
}

.c-btn--white {
  background-color: #fff;
}

.c-btn--orange {
  background-color: #ff9c00;
}

.c-btn--skyblue {
  background-color: #44aae3;
}

@media screen and (min-width: 1024px) {
  .c-btn--white:hover {
    background-color: #eaffff;
  }

  .c-btn--blue:hover {
    background-color: #1a9ee8;
  }

  .c-btn--orange:hover {
    background-color: #ffb61a;
  }
}
/* ボタンの横幅 */
.c-btn--full {
  width: 100%;
}

/*共通*/
.c-btn_common {
  font-weight: bold;
  padding: 5% 3.333%;
}

/*-----------------------------------------------
    Flex Box
        スマホの時は縦並び、タブレット・PCの時は
        横並びにする
  ---------------------------------------------*/
.c-flex {
  -js-display: flex;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-direction: column;
  /* IE10 */
  -webkit-flex-direction: column;
  /* Safari */
  flex-direction: column;
}

@media screen and (min-width: 768px) {
  .c-flex {
    -ms-flex-direction: row;
    /* IE10 */
    -webkit-flex-direction: row;
    /* Safari */
    flex-direction: row;
    -ms-flex-wrap: wrap;
    /* IE10 */
    -webkit-flex-wrap: wrap;
    /* Safari */
    flex-wrap: wrap;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    /* Safari */
    justify-content: space-between;
  }

  .c-flex__item {
    -ms-flex-align: stretch;
    -webkit-align-items: stretch;
    align-items: stretch;
  }
}
/*-----------------------------------------------
        横並びにする
  ---------------------------------------------*/
.c-parallel {
  font-size: 0;
  display: block;
}

.c-parallel__item {
  display: inline-block;
}

/*-----------------------------------------------
    ページャー
  -----------------------------------------------*/
.c-pager {
  position: relative;
  left: 50%;
  float: left;
}

.c-pager__item {
  position: relative;
  left: -50%;
  float: left;
}

/*-----------------------------------------------
    ホバーアクションのベースとなる設定
  ---------------------------------------------*/
@media screen and (min-width: 1024px) {
  .c-hover::before,
  .c-hover::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
  }

  .c-hover,
  .c-hover::before,
  .c-hover::after {
    -webkit-transition: all .3s;
    transition: all .3s;
  }
}
/*-----------------------------------------------
    パンくず
  ---------------------------------------------*/
.c-breadcrumb {
  display: none;
}

@media screen and (min-width: 1025px) {
  .c-breadcrumb {
    display: block;
    width: 1040px;
    margin: 0 auto;
    padding: 10px 20px;
  }
  .c-breadcrumb ul {
    font-size: 0;
  }
  .c-breadcrumb li {
    font-size: 1.4rem;
    margin-right: 12px;
    display: inline-block;
  }
  .c-breadcrumb .root {
    color: #0084ce;
  }
  .c-breadcrumb .root > a {
    text-decoration: underline;
  }
  .c-breadcrumb .root > a:hover {
    text-decoration: none;
  }
  .c-breadcrumb .current {
    color: #000;
  }
  .c-breadcrumb .current i {
    margin-right: 12px;
  }
}
/*-----------------------------------------------
    ページの見出し 設定
  ---------------------------------------------*/
.c-article-header {
  font-size: 1.8rem;
  color: #217ba1;
}

.c-article-heading {
  padding: 3.75% 3.125% 3.75% 3.125%;
}
.c-article-heading--icn {
  background-repeat: no-repeat;
  background-position: 3% center;
  -moz-background-size: 12.5% auto;
  -o-background-size: 12.5% auto;
  -webkit-background-size: 12.5% auto;
  background-size: 12.5% auto;
}

.c-article-subheading {
  color: #fff;
  font-size: 2rem;
  background-color: #d05c5c;
  padding: 3.125%;
}

@media screen and (min-width: 768px) {
  .c-article-header {
    font-size: 2.7rem;
  }

  .c-article-heading {
    padding: 3.125% 3.125% 3.125% 15.625%;
  }
  .c-article-heading--icn {
    background-image: url("/img/default/icn_bus.png");
    -moz-background-size: 80px auto;
    -o-background-size: 80px auto;
    -webkit-background-size: 80px auto;
    background-size: 80px auto;
  }
}
@media screen and (min-width: 1024px) {
  .c-article-heading {
    width: 1040px;
    padding: 24px 20px 24px 120px;
  }
  .c-article-heading-sdgs {
    padding: 24px 20px 24px 20px;
  }

  .c-article-heading > h2 {
    position: relative;
    top: -8px;
  }

  .c-article-subheading {
    padding: 2px 20px 20px;
  }

  .c-article-subheading > h3 {
    font-size: 4rem;
  }

  .c-article-subheading > h3 > span {
    font-size: 5rem;
  }
}
/*-----------------------------------------------
    セクションの見出し 設定
  ---------------------------------------------*/
.c-section {
  -moz-background-size: 12.5% auto;
  -o-background-size: 12.5% auto;
  -webkit-background-size: 12.5% auto;
  background-size: 12.5% auto;
}

.c-section-header {
  color: #fff;
  font-size: 2rem;
  line-height: 1.25;
  text-align: center;
  padding: 1.875% 3.125% 3.125%;
}

.c-section-header > p {
  line-height: 1.5;
  margin-top: 2%;
}

.c-section-body {
  -moz-background-size: 12.5% auto;
  -o-background-size: 12.5% auto;
  -webkit-background-size: 12.5% auto;
  background-size: 12.5% auto;
}

@media screen and (min-width: 768px) {
  .c-section {
    -moz-background-size: 10.417% auto;
    -o-background-size: 10.417% auto;
    -webkit-background-size: 10.417% auto;
    background-size: 10.417% auto;
  }

  .c-section-header {
    padding: 1.563% 2.605% 2.605%;
  }

  .c-section-header h3 {
    font-size: 3.6rem;
  }

  .c-section-body {
    -moz-background-size: 10.417% auto;
    -o-background-size: 10.417% auto;
    -webkit-background-size: 10.417% auto;
    background-size: 10.417% auto;
  }
}
@media screen and (min-width: 1024px) {
  .c-section {
    -moz-background-size: 80px auto;
    -o-background-size: 80px auto;
    -webkit-background-size: 80px auto;
    background-size: 80px auto;
  }

  .c-section-header {
    width: 1040px;
    margin: 0 auto;
    padding: 8px 20px 20px;
  }

  .c-section-header h3 {
    font-size: 3.6rem;
  }

  .c-section-body {
    -moz-background-size: 80px auto;
    -o-background-size: 80px auto;
    -webkit-background-size: 80px auto;
    background-size: 80px auto;
  }
}

/*# sourceMappingURL=default.css.map */
