#main {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  width: 960px !important;
  padding-bottom: 110px; }

/* === home-feature-block === */
.home-feature-block {
  position: relative;
  width: 960px;
  margin: 0 auto; }

.home-feature-tile {
  *zoom: 1;
  position: relative;
  width: 960px;
  min-height: 378px;
  /*height: 766px;*/
  margin: 0 auto;
  text-align: left; }
  .home-feature-tile:before, .home-feature-tile:after {
    content: " ";
    display: table; }
  .home-feature-tile:after {
    clear: both; }
  .home-feature-tile li {
    position: relative;
    float: left;
    width: 766px;
    height: auto; }
    .home-feature-tile li .title {
      display: block;
      height: 24px;
      padding: 0 8px;
      background-color: #eeeef0;
      font-size: 13px;
      line-height: 24px;
      overflow: hidden; }
    .home-feature-tile li a {
      display: block;
      width: 100%; }
      .home-feature-tile li a img {
        width: 100%;
        height: auto; }
      .home-feature-tile li a:hover img {
        opacity: 0.7;
        filter: alpha(opacity=70);
        -ms-filter: alpha(opacity=70); }
    .home-feature-tile li.layout-B01 .text {
      display: block;
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 63px; }
      .home-feature-tile li.layout-B01 .text a {
        display: block;
        width: 100%;
        height: 100%; }
        .home-feature-tile li.layout-B01 .text a img {
          width: 100%;
          height: 100%; }
        .home-feature-tile li.layout-B01 .text a:hover {
          opacity: 0.3;
          filter: alpha(opacity=30);
          -ms-filter: alpha(opacity=30);
          background-color: #fff; }
    .home-feature-tile li.layout-C01 .video, .home-feature-tile li.layout-C02 .video {
      position: absolute;
      left: 20px;
      bottom: 20px;
      width: 170px;
      height: 95px; }
      .home-feature-tile li.layout-C01 .video a, .home-feature-tile li.layout-C02 .video a {
        height: 100%; }
        .home-feature-tile li.layout-C01 .video a img, .home-feature-tile li.layout-C02 .video a img {
          width: 100%;
          height: 100%; }
        .home-feature-tile li.layout-C01 .video a:hover, .home-feature-tile li.layout-C02 .video a:hover {
          opacity: 0.3;
          filter: alpha(opacity=30);
          -ms-filter: alpha(opacity=30);
          background-color: #fff; }
    .home-feature-tile li.layout-C02 .video {
      left: auto;
      right: 20px; }
    .home-feature-tile li.idx01 {
      width: 572px;
      height: 378px;
      margin-right: 10px; }
    .home-feature-tile li.idx02 {
      width: 378px;
      height: 184px; }
      .home-feature-tile li.idx02.layout-B01 .text {
        height: 40px; }
      .home-feature-tile li.idx02.layout-C01 .video, .home-feature-tile li.idx02.layout-C02 .video {
        display: none; }
    .home-feature-tile li.idx03 {
      width: 378px;
      height: 184px;
      margin-top: 10px; }
      .home-feature-tile li.idx03.layout-B01 .text {
        height: 40px; }
      .home-feature-tile li.idx03.layout-C01 .video, .home-feature-tile li.idx03.layout-C02 .video {
        display: none; }
    .home-feature-tile li.idx04 {
      width: 378px;
      height: 378px;
      margin: 10px 10px 0 0; }
      .home-feature-tile li.idx04.layout-B01 .text {
        height: 54px; }
      .home-feature-tile li.idx04.layout-C01 .video, .home-feature-tile li.idx04.layout-C02 .video {
        left: 20px;
        bottom: 20px;
        width: 125px;
        height: 70px; }
      .home-feature-tile li.idx04.layout-C02 .video {
        left: auto;
        right: 20px; }
    .home-feature-tile li.idx05 {
      width: 378px;
      height: 378px;
      margin: 10px 10px 0 0; }
      .home-feature-tile li.idx05.layout-B01 .text {
        height: 54px; }
      .home-feature-tile li.idx05.layout-C01 .video, .home-feature-tile li.idx05.layout-C02 .video {
        left: 20px;
        bottom: 20px;
        width: 125px;
        height: 70px; }
      .home-feature-tile li.idx05.layout-C02 .video {
        left: auto;
        right: 20px; }

.home-feature-info {
  position: absolute;
  right: 0;
  top: 0;
  width: 184px;
  height: 378px; }
  .home-feature-info #fontSizeModule #sizeChangeBtn {
    position: absolute;
    top: 0;
    right: 0;
    width: 182px;
    height: auto;
    padding: 0;
    border: 1px solid #dedede;
    background: none; }
    .home-feature-info #fontSizeModule #sizeChangeBtn dt, .home-feature-info #fontSizeModule #sizeChangeBtn dd {
      margin: 0; }
    .home-feature-info #fontSizeModule #sizeChangeBtn dd {
      border-left: 1px solid #dedede; }
  .home-feature-info .home-feature-banner {
    width: 100%; }
    .home-feature-info .home-feature-banner li {
      margin-top: 10px; }
      .home-feature-info .home-feature-banner li a {
        display: block;
        border: 1px solid #dedede; }
        .home-feature-info .home-feature-banner li a:hover img {
          opacity: 0.7;
          filter: alpha(opacity=70);
          -ms-filter: alpha(opacity=70); }

/* === home-button-block === */
.home-button-block {
  *zoom: 1;
  margin-top: 60px; }
  .home-button-block:before, .home-button-block:after {
    content: " ";
    display: table; }
  .home-button-block:after {
    clear: both; }
  .home-button-block h2 {
    float: left;
    width: 350px;
    text-align: center; }
    .home-button-block h2 a {
      margin: 3px;
      padding: 15px 30px;
      color: #ffffff;
      display: block; }
      .home-button-block h2 a .title {
        padding-left: 15px;
        font-size: 200%;
        font-weight: bold;
        background: url(/pack/images/home_button_icon.png) no-repeat left 0.5em; }
      .home-button-block h2 a .description {
        margin-top: 5px;
        font-size: 116%;
        line-height: 1.5;
        display: block; }
    .home-button-block h2 :hover {
      text-decoration: none; }
  .home-button-block .home-button-personal {
    margin-right: 10px;
    margin-left: 120px;
    background-color: #00a273; }
    .home-button-block .home-button-personal a {
      border: 1px solid #26b088; }
  .home-button-block .home-button-personal:hover {
    background-color: #26b088; }
    .home-button-block .home-button-personal:hover a {
      border: 1px solid #00a273; }
  .home-button-block .home-button-business {
    margin-right: 120px;
    margin-left: 10px;
    background-color: #018890; }
    .home-button-block .home-button-business a {
      border: 1px solid #279aa1; }
  .home-button-block .home-button-business:hover {
    background-color: #279aa1; }
    .home-button-block .home-button-business:hover a {
      border: 1px solid #018890; }

.home-index-block-01 a:hover img,
.home-index-block-02 a:hover img,
.home-index-block-03 a:hover img,
.home-index-block-04 a:hover img,
.home-group-list a:hover img,
.home-banner-list a:hover img,
.home-link-list a:hover img {
  opacity: 0.7; }

/* === home-index-block === */
.home-index-block-01,
.home-index-block-02,
.home-index-block-03,
.home-index-block-04,
.home-index-block-05 {
  *zoom: 1; }
  .home-index-block-01:before, .home-index-block-01:after,
  .home-index-block-02:before,
  .home-index-block-02:after,
  .home-index-block-03:before,
  .home-index-block-03:after,
  .home-index-block-04:before,
  .home-index-block-04:after,
  .home-index-block-05:before,
  .home-index-block-05:after {
    content: " ";
    display: table; }
  .home-index-block-01:after,
  .home-index-block-02:after,
  .home-index-block-03:after,
  .home-index-block-04:after,
  .home-index-block-05:after {
    clear: both; }
  .home-index-block-01 .home-index-item,
  .home-index-block-02 .home-index-item,
  .home-index-block-03 .home-index-item,
  .home-index-block-04 .home-index-item,
  .home-index-block-05 .home-index-item {
    float: left;
    position: relative; }
    .home-index-block-01 .home-index-item p,
    .home-index-block-02 .home-index-item p,
    .home-index-block-03 .home-index-item p,
    .home-index-block-04 .home-index-item p,
    .home-index-block-05 .home-index-item p {
      margin-top: 5px;
      font-size: 116%;
      line-height: 1.5; }

.home-index-block-01,
.home-index-block-02,
.home-index-block-03 {
  margin-top: 42px; }
  .home-index-block-01 .home-index-item img,
  .home-index-block-02 .home-index-item img,
  .home-index-block-03 .home-index-item img {
    position: absolute;
    left: 0;
    top: 0; }

.home-index-block-01 {
  margin-top: 0; }
  .home-index-block-01 .home-index-item {
    width: 306px;
    padding-right: 21px; }
    .home-index-block-01 .home-index-item h3 {
      margin-top: 180px; }
  .home-index-block-01 .right-column {
    padding-right: 0; }

.home-index-block-02 {
  min-height: 115px;
  _height: 115px; }
  .home-index-block-02 .home-index-item {
    width: 470px;
    padding-right: 20px; }
    .home-index-block-02 .home-index-item h3, .home-index-block-02 .home-index-item p {
      margin-left: 196px; }
  .home-index-block-02 .right-column {
    padding-right: 0; }

.home-index-block-03 {
  min-height: 80px;
  _height: 80px; }
  .home-index-block-03 .home-index-item {
    width: 306px;
    padding-right: 21px; }
    .home-index-block-03 .home-index-item h3, .home-index-block-03 .home-index-item p {
      margin-left: 143px; }
  .home-index-block-03 .right-column {
    padding-right: 0; }

.home-index-block-04 .home-index-item {
  width: 234px;
  margin-bottom: 30px;
  padding-left: 10px;
  padding-right: 10px;
  border-right: 1px solid #e6e6e6; }
  .home-index-block-04 .home-index-item h3 {
    text-align: center; }
.home-index-block-04 .right-column {
  border-right: 0 none; }

.home-index-block-05 .home-index-item {
  width: 372px;
  padding-right: 20px; }
.home-index-block-05 .right-column {
  padding-right: 0; }

/* === home-parallel-block === */
.home-parallel-block {
  *zoom: 1;
  width: 960px; }
  .home-parallel-block:before, .home-parallel-block:after {
    content: " ";
    display: table; }
  .home-parallel-block:after {
    clear: both; }
  .home-parallel-block .home-article-block {
    width: 764px;
    float: left; }
  .home-parallel-block .home-aside-block {
    width: 176px;
    float: right; }

/* === home-heading === */
.home-heading-02 {
  margin-top: 60px;
  margin-bottom: 18px;
  padding-bottom: 5px;
  border-bottom: 3px solid #e0e0e0;
  font-size: 200%;
  font-weight: bold; }
  .home-heading-02 .home-rss {
    vertical-align: -3px;
    margin-left: 10px; }

.home-heading-03 {
  font-size: 150%;
  font-weight: bold; }

.home-heading-04 {
  font-size: 116%;
  font-weight: bold; }

/* === home-news-block === */
.home-news-heading {
  position: relative; }
  .home-news-heading .home-news-index {
    font-size: 116%;
    position: absolute;
    right: 0;
    top: 0.5em; }
    .home-news-heading .home-news-index li a {
      padding-left: 10px;
      background: url(/pack/images/home_index_icon.png) no-repeat left 0.4em; }

/* Articles 
-------------------------------------------------- */
div.articles {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e6e6e6; }

div.articles dl dt {
  margin-bottom: 10px; }
  div.articles dl dt .categoryIco img {
    vertical-align: -0.1em; }

div.articles dl dt,
div.articles dl dd {
  font-size: 116%; }

div.articles dl dd.textLinkIco01 {
  padding-left: 0;
  background-image: none; }

.home-news-important {
  margin: 20px 0;
  font-size: 116%;
  font-weight: bold; }
  .home-news-important li a {
    padding: 5px 0 5px 20px;
    background: url(/pack/images/home_important_icon.png) no-repeat left 0.2em; }

.home-news-more {
  margin-top: 10px;
  padding: 10px;
  border: 1px solid #dedede;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  background-color: #f5f5f5;
  font-size: 116%;
  font-weight: bold;
  line-height: 1;
  cursor: pointer; }
  .home-news-more li {
    text-align: center; }
    .home-news-more li a {
      display: block;
      color: #000000; }
      .home-news-more li a span {
        padding-left: 20px; }
    .home-news-more li :hover {
      text-decoration: none; }
  .home-news-more .open a span {
    background: url(/pack/images/home_open_icon.png) no-repeat left 0.2em; }
  .home-news-more .close a span {
    background: url(/pack/images/home_close_icon.png) no-repeat left 0.2em; }

.home-news-more:hover {
  border: 1px solid #cccccc;
  background-color: #efefef; }

/* === home-group-list === */
.home-group-list {
  *zoom: 1;
  margin-right: -22px; }
  .home-group-list:before, .home-group-list:after {
    content: " ";
    display: table; }
  .home-group-list:after {
    clear: both; }
  .home-group-list li {
    float: left;
    width: 240px;
    padding-right: 22px; }

/* === home-banner-list === */
.home-banner-list {
  margin-top: 60px; }
  .home-banner-list li {
    margin-bottom: 8px; }

/* === home-link-list === */
.home-link-list {
  margin-top: 12px;
  border-left: 1px solid #d8d8d8;
  border-top: 1px solid #d8d8d8; }
  .home-link-list li {
    border-right: 1px solid #d8d8d8;
    border-bottom: 1px solid #d8d8d8; }

/* === home-rank === */
.home-rank-heading {
  margin-top: 25px;
  font-size: 116%;
  font-weight: bold; }

.home-rank-table {
  width: 100%;
  margin-top: 10px;
  border-left: 1px solid #d8d8d8;
  border-top: 1px solid #d8d8d8; }
  .home-rank-table th,
  .home-rank-table td {
    padding: 9px 12px;
    border-bottom: 1px solid #d8d8d8;
    font-size: 116%; }
  .home-rank-table th {
    width: 15%;
    text-align: center;
    background-color: #b8b8b8;
    color: #ffffff; }
  .home-rank-table .rank-1 {
    background-color: #ec4166; }
  .home-rank-table .rank-2 {
    background-color: #3f84d4; }
  .home-rank-table .rank-3 {
    background-color: #21c45c; }
  .home-rank-table td {
    width: 85%;
    border-right: 1px solid #d8d8d8; }

.home-rank-update {
  margin-top: 5px;
  text-align: right;
  font-size: 116%; }
