
@charset "UTF-8";

/* bootstrap のスタイルを変更
--------------------------------- */
.page-header {
  border: none;
}

.navbar {
  margin-bottom: 0;
}

.breadcrumb {
  margin-bottom: 8px;
}
.breadcrumb > li + li:before { /* セパレータを変更 */
  content: ">\00a0";
}

/* Alert
--------------------------------- */
.alert-notice {
  border: 1px solid #e34628 !important;
  padding: 8px !important;
}
.header-notice {
  background-color: #ffffff;
}

/* リスト
--------------------------------- */
/* 横並びリスト */
ul.list-horizon {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
ul.list-horizon li {
  float: left;
  margin: 0;
  padding: 0;
}

/* マーカーが矢印のリスト */
ul.list-arrow {
  list-style: none;
  padding: 0;
}
ul.list-arrow>li {
  background: url('/img/common/line/line-dotted.png') left bottom repeat-x;
}
ul.list-arrow>li.last {
  background: none;
}
ul.list-arrow>li span,
ul.list-arrow>li a {
  background: url('/img/common/icons/arrow_04.png') 10px 1.3em no-repeat;
  display: block;
  padding: 10px 10px 10px 20px;
}

/* ライン (色指定は theme.css にて行っています)
--------------------------------- */
hr.gradation,
hr.topics {
  padding: 0;
  margin: 0;
  height: 2px;
  display: block;
  border: none;
}

/* ベーススタイル
--------------------------------- */

/* ヘッダー */
.header {
  background-color: #ffffff;
  height: 76px;
}
.header ul.list-horizon li,
.page-main-visual ul.list-horizon li { /* TEL, mail, access */
  margin: 0 1px 0 0;
  float: right;
}
.header ul.list-horizon li.last,
.page-main-visual ul.list-horizon li.last {
  margin: 0;
}
/* ページヘッダー */
.page-header {
  margin: 10px 0 10px 0;
  padding: 0;
}


/* バナーフッター */
.banner-footer {
  margin-top: 70px;
  margin-bottom: 30px;
}
.page .banner-footer {
  margin-top: 50px;
  margin-bottom: 30px;
}
.banner-footer img {
  border: solid 1px #e6e6e6;
}

/* リッチフッター */
.rich-footer {
  background-color: #e3e3e3;
}
.rich-footer h4 {
  color: #131313;
  font-size: 16px;
}
.rich-footer>.container-fluid {
  padding: 0;
}
.rich-footer .rich-footer-top {
  padding-top: 8px;
  background: url('/img/common/footer/pc/line-footer-top.png') left top repeat-x;
}
.rich-footer .rich-footer-bottom {
  padding-bottom: 8px;
  background: url('/img/common/footer/pc/line-footer-bottom.png') left bottom repeat-x;
}

.rich-footer .list-arrow li br { /* リッチフッターでは改行させない */
  display: none;
}


/* BOX */
.box {
  margin-bottom: 15px;
}
.box-gray-border-width1,
.box-gray-border-width5 {
  border-width: 1px;
  border-style: solid;
  border-color: #d0d0d0;
  background-color: #ffffff;
}
.box-gray-border-width5 {
  border-width: 5px;
}
.box-contents {
  background-color: #ffffff;
  margin-top: 2px;
}
.box-contents p {
  margin-bottom: 0;
  padding-bottom: 20px;
}

/* サイドバー */
.sidenavi {
  padding: 15px;
}
.sidenavi img.pull-left {
  margin: 0 10px 10px 0;
}
.sidenavi-page-index ul {
  margin: 0;
}
.sidenavi-page-index ul li a {
  background-position: 12px 1.3em;
  padding: 10px 10px 10px 22px;
}
.sidenavi-page-index .title {
  background: #676767;
  color: #ffffff;
  padding: 4px 0;
  margin-bottom: 0;
}
.page .sidenavi-pr-smartphone .pr-smartphone-image {
  width: 80%;
  height: 80%;
}
.page .sidenavi-pr-smartphone .box.sidenavi {
  padding: 8px 15px;
}


/* TOP ページ コンテンツ用 BOX 定義 */
.home .box-gray-border-width1 {
  border-color: #b9b9b9;
}
.home .box-gray-border-width1.small {
  border-top: none;
}
.home .box div.text {
  padding: 14px 20px;
}
.home .box.small div.text {
  padding: 25px 0 10px 20px;
}
.home .box .text p {
  padding-bottom: 6px;
}
.home .box p.link {
  padding-bottom: 0;
}
.home .box p.link a {
  text-decoration: none;
}
.home .box p.link a:hover {
  text-decoration: underline;
}
.home .box.small p {
  padding-bottom: 0;
}
.home .box.small div.text,
.home .box.small div.image {
  color: #2f2f2f;
  float: left;
  width: 50%;
}
.home .box.small div.image {
  text-align: right;
}
.home .box.small p.title {
  font-size: 16px;
  padding: 4px 0 0 0;
  margin: 0;
}

.home .box.mouseenter:hover { cursor: pointer; }
.home .box.mouseenter p.link a { text-decoration: underline; }
.home .box.mouseenter img {
  opacity: 0.50;
  filter: alpha(opacity=50);
  -moz-opacity: 0.50;
  -ms-filter: "alpha(opacity=50)";
}

/* 下層ページ メインビジュアル */
.page-main-visual,
.main-visual-titleonly {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.page-main-visual .main-visual-img img {
  width: 150%;
  margin-left: 5%;
}

.page-main-visual .main-visual-copy {
  background-color: #fff;
  padding: 20px 14px 0 14px;
  margin: 0 -14px;
}

.page-main-visual .main-visual-copy img {
  width: 100%;
  height: auto;
}

/* トピックス */
div.topics .topics-inner dl dd { background: url('/img/common/line/line-dotted.png') left bottom repeat-x; }
div.topics .topics-inner dd { line-height: 1.7em; }
div.topics .topics-inner dd a { color: #2f2f2f; }
div.topics .topics-inner dd a:hover { color: #2f2f2f; text-decoration: underline; }
div.topics .topics-inner dl dt {
  clear: left;
  float: left;
  *width: 210px;
  padding: 10px 0.5em 10px 0;
  font-weight: normal;
  }
div.topics .topics-inner dl dd {
  margin-left: 0;
  padding: 10px 0 10px 180px;
}

/* トピックス (TOP 用) */
.home div.topics { margin-top: 30px; }
.home div.topics .topics-header { margin-bottom: 15px; }
.home div.topics .topics-header ul { width: 100%; }
.home div.topics .topics-header ul li { width: 50%; }
.home div.topics .topics-header ul li p { padding: 0; }
.home div.topics .topics-header ul li p a { text-decoration: none; }
.home div.topics .topics-header ul li p a:hover { text-decoration: underline; }

.home div.topics .topics-inner {
  height: 250px;
  width: 684px;
  margin-top: 10px;
}
.home div.topics .topics-inner dl {
  width: 690px;
  margin: 0;
  padding: 0;
}

/* PC 用ナビゲーション */
.navigation-bar {
  background-color: #ffffff;
  background: url('/img/common/navigation/pc/navigation-background.png') left top repeat;
}

.home .navigation-bar { height: 56px }
.page .navigation-bar { height: 66px }

.navigation-bar .navigation{
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.navigation-bar .navigation>li {
  float: left;
  margin: 0;
  padding: 0;
  position: relative;
}

/* ナビゲーションメニューの高さ定義 */
.navigation-bar .navigation>li { height: 56px; }

/* ナビゲーションメニューの定義 (文字を表示外へ飛ばす) */
.navigation-bar .navigation>li>a {
  display: block;
  height: 0;
  margin: 0;
  padding: 0;
  padding-top: 56px;
  overflow: hidden;
}
.navigation-bar .navigation .sub-menu {
  display: none;
  position: absolute;
  background-color: #ffffff;
  list-style-type: none;
  margin: 0;
  padding: 0;
  z-index: 99;
}
.navigation-bar .navigation .sub-menu>li>a{
  display: block;
}

/* ナビゲーションのドロップダウンメニューの定義 */
.navigation-bar .navigation .sub-menu {
  left: 1px;
  border-width: 2px;
  border-style: solid;
  border-top: none;
}

/* TOP ページ用定義 */
.home .contents {
  margin-top: 367px; /* PC 用のマージンを設定 */
  background: url('/img/common/top/pc/home-contents-row-top.png') left top no-repeat;
  padding: 32px 6px 0 6px;
  margin-left: -20px;
  margin-right: -20px;
}


/* ブレイクポイント時の切り替えスタイル
--------------------------------- */
@media (min-width: 647px) { /* スマートフォンの解像度以上の場合 */

  .container { /* 横幅を固定化する */
    /* 980px (design width) + 40px (padding left 18, right 18) */
    width: 1016px;
    padding-left: 18px;
    padding-right: 18px;
  }

  /* 下層ページのナビゲーション、ドロップダウンメニューの高さ */
  .page .navigation-bar .navigation>li>a {
    padding-top: 66px;
  }
  .page .navigation-bar .navigation>li {
    height: 66px;
  }

  /* 下層ページ時のドロップダウンメニュー表示位置 */
  .page .navigation-bar .navigation .sub-menu {
    top: 56px;
  }

  .home .contents .contents-row {
    width: 698px;
    padding-right: 0;
  }

  .home .contents .contents-row .content-row {
    width: 349px;
    padding-right: 0;
  }

  .home .contents .side-row {
    width: 294px;
    padding-right: 0;
    padding-left: 28px;
  }

  /* 下層ページ用定義 */
  .page .contents { margin-top: 32px; }
  .page .contents .contents-row { width: 718px; }
  .page .contents .side-row { width: 290px; }

  /* フッター */
  .footer ul.list-arrow li {
    background: none;
  }
  .footer ul.list-arrow>li span,
  .footer ul.list-arrow>li a {
    background: url('/img/common/icons/arrow_04.png') 10px 0.6em no-repeat;
    padding: 0 0 4px 20px;
    font-size: 13px;
  }
  .footer .rich-footer .container { /* リッチフッター */
    margin-top: 30px;
    margin-bottom: 30px;
  }
  .footer .copyright {
    margin-top: 15px;
    font-size: 13px;
  }

  /* 画像ロールオーバー */
  a:hover img { /* 画像のロールオーバーをアルファで指定 */
    opacity: 0.50;
    filter: alpha(opacity=50);
    -moz-opacity: 0.50;
    -ms-filter: "alpha(opacity=50)";
  }
  .page-header a:hover img.logo {
    opacity: 100;
    filter: alpha(opacity=100);
    -moz-opacity: 100;
    -ms-filter: "alpha(opacity=100)";
  }
  
  /* 下層ページ メインビジュアル */
  .page-main-visual .main-visual-img img,
  .main-visual-titleonly .main-visual-img img {
    width: 100%;
    margin-left: 0;
  }
  .page-main-visual .main-visual-copy {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 490px;
    padding: 0;
    margin: -50px 0 0 0;
    background-color: transparent;
  }
  .main-visual-titleonly {
    height: 80px;
  }
  .main-visual-titleonly .main-visual-img img {
    width: 100%;
  }
  .main-visual-titleonly .main-visual-copy {
    width: 430px;
    padding: 0;
    background-color: transparent;
  }
  .main-visual-titleonly .main-visual-copy.topics {
    margin: -60px 0 0 -110px;
  }
  .main-visual-titleonly .main-visual-copy.contact {
    margin: -60px 0 0 -27px;
  }
  .main-visual-titleonly .main-visual-copy.privacy {
    margin: -60px 0 0 -37px;
  }
  .main-visual-titleonly .main-visual-copy img {
    width: 100%;
  }
  .page-main-visual .main-visual-copy.top-65 {
    top: 65%;
  } 
  .page-main-visual .main-visual-copy.top-55 {
    top: 55%;
  }  
  .page-main-visual .main-visual-copy.top-45 {
    top: 45%;
  }  
  .page-main-visual .main-visual-copy.top-40 {
    top: 40%;
  }  
  .page-main-visual ul.list-horizon {
    position: absolute;
    top: 65%;
    left: 50%;
    padding: 0 60px 0 0;
    width: 490px;
  }
}

@media (max-width: 647px) { /* スマートフォンの解像度の場合 */

  .container {
    width: auto;
    padding-left: 14px;
    padding-right: 14px;
  }

  .navbar-default {
    background-color: #ffffff;
  }

  .navbar-header {
    padding-left: 20px;
  }

  /* ナビゲーションドロップダウン表示の overflow を解除する */
  .navbar-collapse {
    max-height: none;
    overflow-x: auto;
  }

  .navbar-header .navbar-toggle {
    width: 16.5625%;
    padding: 0;
    margin-right: 4px;
    border: none;
  }

  .navbar-header .navbar-brand {
    width: 57.8125%;
    height: auto;
    padding: 0;
    margin: 0;
    margin-top: 0.4em;
  }

  /* ナビゲーション */
  .navbar-default ul { padding: 0; }
  /* ナビゲーションメニューの下線 */
  .navbar-default a,
  .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus
  {
    background: url('/img/common/line/line-dotted.png') left bottom repeat-x;
  }
  /* ナビゲーションメニューの矢印画像 */
  .navbar-default .navbar-nav a .arrow {
    width: 13px;
    height: 13px;
    display: inline-block;
    float: right;
    background-position: left top;
    background-repeat: no-repeat;
    background-image: url('/img/common/icons/arrow_02.png');
  }
  /* ナビゲーションメニューのプラス、マイナス画像 */
  .navbar-default .navbar-nav .dropdown>a .arrow,
  .navbar-default .navbar-nav .open>a .arrow {
    width: 14px;
    height: 14px;
  }
  .navbar-default .navbar-nav .dropdown>a .arrow {
    background-image: url('/img/common/icons/icon_plus.png');
  }
  .navbar-default .navbar-nav .open>a .arrow {
    background-image: url('/img/common/icons/icon_minus.png');
  }

  /* ナビゲーションのドロップダウンメニューの定義 */
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    display: block;
    padding: 10px 15px 10px 25px;
  }
  /* 閉じるボタン */
  .navbar-default .navbar-nav li.nav-close a {
    text-align: center;
    background: none;
  }

  /* ヘッダー */
  .header { height: auto; }
  .header .container-fluid { padding: 0; }
  .header ul.list-horizon li,
  .page-main-visual ul.list-horizon li { /* TEL, mail, access */
    margin: 0;
  }
  .header li.icon { width: 16.25%; }
  .header li.tel { width: 67.5%; }

  /* パンくず */
  .breadcrumb { margin-bottom: 2px; }

  /* TOP ページ用定義 */
  .home .contents {
    margin-top: 20px;
    background: none;
    padding: 0;
    margin-left: -14px;
    margin-right: -14px;
  }

  /* 下層ページ用定義 */
  .page .contents {
    margin-top: 20px;
  }

  /* メインビジュアル */
  .carousel-caption {
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0;
    text-align: left;
    top: 54%;
    text-shadow: none;
    color: #000000;
  }
  .carousel-caption p {
    padding: 5px 10px 0 10px;
    margin: 0;
  }
  .carousel-caption p button {
    z-index: 0;
  }
  .carousel-control .icon-prev, .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-next, .carousel-control .glyphicon-chevron-right  {
    top: 25%;
  }
  .carousel-indicators {
    z-index: 20;
    bottom: 0;
    left: 12%;
  }
  .carousel-indicators li {
    color: #000000;
    border: #000000;
    border-radius: 0;
  }
  .carousel-indicators .active {
    color: #000000;
  }
  .carousel-control.left {
    background-image: none;
  }
  .carousel-control.right {
    background-image: none;
  }
  .page-main-visual ul.list-horizon {
    display: none;
  }

  /* トピックス */
  .home div.topics .topics-inner { width: auto; height: auto; margin: 0; }
  .home div.topics .topics-inner dl { width: auto; margin-bottom: 10px; }
  div.topics .topics-inner dl dt {
    display: block;
    float: none;
    padding: 10px 0 5px 0;
  }
  div.topics .topics-inner dl dd {
    display: block;
    padding: 5px 0 10px 0;
  }

  /* TOP ページ コンテンツ用 BOX 定義 */
  .home .box.small p {
    padding: 0;
    margin: 0;
  }
  .home .box.small div.text,
  .home .box.small div.image {
    float: left;
  }
  .home .box.small div.text {
    width: 60%;
  }
  .home .box.small div.image {
    width: 40%;
  }
  .home .box.small p.title {
    padding: 0;
    margin: 0;
  }

  /* バナーフッター */
  .banner-footer {
    margin-top: 10px;
  }
  .banner-footer .list-horizon li {
    width:49.5%;
    margin-right: 1% !important;
    margin-bottom: 1% !important;
  }
  .banner-footer .list-horizon li.last {
    width:49.5%;
    margin-right: 0 !important;
  }
  
  /* 下層ページ用バナーフッター */
  .page .banner-footer {
    margin-top: 20px;
  }
  
  /* ページトップへ戻る */
  .page-top {
    background-color: #797979;
  }
  .page-top p {
    padding: 0;
  }
  .page-top p a {
    color: #ffffff;
    padding: 8px 0;
    display: block;
    text-decoration:none !important;
  }

  /* リッチフッター */
  .rich-footer .rich-footer-top {
    background: url('/img/common/footer/sp/line-footer-top.png') left top repeat-x;
    padding: 0;
  }
  .rich-footer .rich-footer-bottom {
    background: url('/img/common/footer/sp/line-footer-bottom.png') left bottom repeat-x;
    padding: 0;
  }
  .rich-footer ul.list-arrow {
    width: 100%;
    margin: 0;
  }
  .rich-footer .list-arrow li {
    width: 50%;
    height: 60px;
    float: left;
    border: 1px dashed #cacaca;
    background: none;
  }
  .rich-footer .list-arrow li.upper {
    border-top: none;
  }
  .rich-footer .list-arrow li.bottom {
    border-top: none;
    border-bottom: none;
  }
  .rich-footer .list-arrow li.left {
    border-left: none;
  }
  .rich-footer .list-arrow li.right {
    border-left: none;
    border-right: none;
  }
  .rich-footer .list-arrow li p {
    padding: 0;
  }

  .rich-footer .list-arrow li p a {
    background-position: 14px 2.2em;
    padding: 19px 0 19px 24px;
    text-decoration: none;
  }

  .copyright {
    margin-top: 30px;
  }

  /* 画像を 100% 表示 */
  .img-full {
    width: 100%;
  }
  
  /* 下層ページ メインビジュアル */
  .main-visual-titleonly {
    background-color: #fff !important;
  }
 .main-visual-titleonly .main-visual-img img {
    display: none;
  }
  .main-visual-titleonly .main-visual-copy {  
    background-color: #fff;
    padding: 20px 14px 0 14px;
    margin: 0 -14px 0 -14px;
  }
  .main-visual-titleonly .main-visual-copy img {
    width: 100%;
  }

  .video {
    width: 100%;
  }

}

