@charset "UTF-8";

* {
  box-sizing: border-box;
}
body {
  background-color: #fff;
  font-family: Hiragino Sans;
}
#wrapper {
  min-width: 1024px;
  overflow-x: hidden;
}
#contents {
  display: block;
  font-size: 14px;
  color: #333;
}
figure {
  margin: 0;
}
img {
  vertical-align: bottom;
}
.ContentsWrapper a {
  color: #0059b3;
  text-decoration: none;
}
.ContentsWrapper a:hover {
  color: #017fff;
}
.ContentsWrapper a:visited {
  color: #6524a6;
}
.ContentsWrapper a:visited:hover {
  color: #8a2be8;
}

/*Masthead------------------*/
.Masthead {
  margin: 0 auto;
  position: relative;
  background-color: #fff;
  width: 990px;
}


/*ServiceIntroduction------------------*/
.ServiceIntroduction {
  margin: 20px auto 0;
  padding: 8px 12px;
  font-family: "Hiragino Sans";
  background-color: #0064c8;
  border-radius: 4px;
  width: 990px;
}
.ServiceIntroduction__other {
  display: flex;
}
.ServiceIntroduction__otherItem {
  width: 25%;
}
.ServiceIntroduction__otherItem:not(:first-child) {
  margin-left: 12px;
}
a.ServiceIntroduction__otherLink {
  display: block;
  padding: 12px;
  color: #fff;
  background-color: #133b9b;
  border-radius: 8px;
  height: 100%;
}
a.ServiceIntroduction__otherLink:hover,
a.ServiceIntroduction__otherLink:visited:hover {
  background-color: #003871;
  color: #fff;
}
a.ServiceIntroduction__otherLink:visited {
  color: #fff;
}
.ServiceIntroduction__otherInner {
  position: relative;
  min-height: 60px;
  padding-left: 68px;
}
.ServiceIntroduction__otherTitle {
  font-size: 13px;
  font-weight: bold;
  line-height: 1.4;
}
.ServiceIntroduction__otherDescription {
  font-size: 12px;
  margin-top: 4px;
  line-height: 1.6;
}
.ServiceIntroduction__otherPhoto {
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
}
.ServiceIntroduction__nav {
  font-size: 13px;
  display: flex;
  justify-content: center;
  margin-top: 8px;
  font-weight: bold;
  line-height: 1.4;
}
.ServiceIntroduction__navItem {
  margin: 0 12px;
}
a.ServiceIntroduction__navLink {
  display: flex;
  align-items: center;
  color: #fff;
}
a.ServiceIntroduction__navLink:hover,
a.ServiceIntroduction__navLink:visited:hover {
  color: #fff;
  opacity: 0.75;
}
a.ServiceIntroduction__navLink:visited {
  color: #fff;
}
.ServiceIntroduction__navLink--icon::after {
  content: "";
  display: block;
  margin-left: 4px;
  width: 11px;
  height: 11px;
  background: url(https://s.yimg.jp/images/finance/mt/special/article/pc/images/icon_login.png)
    no-repeat center / contain;
}

/*footer------------------*/
#footer address {
  padding: 42px 0;
  border: none;
  color: #333;
}
#footer address a {
  color: #0050a0;
}
#footer address a:hover {
  opacity: 0.75;
}

@media screen and (max-width: 990px) {
  #contents,
  #footer {
    min-width: 990px;
  }
  #footer address {
    padding: 40px 20px;
  }
}


/* MonoIcon ------------------*/
  .MonoIcon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-family: "monoIcon";
      font-style: normal;
      font-weight: 400;
      font-variant: normal;
      line-height: 1;
      text-decoration: none;
      text-transform: normal;
      white-space: nowrap;
      vertical-align: top;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale
  }
  .MonoIcon::before {
      content: attr(data-icon-name)
  }









/* Main------------------- */
.ContentsWrapper {
  padding-top: 8px;
  background-color: #ebebeb;
  word-wrap: break-word;
  min-width: 1006px;
  line-height: 1.4;
}
.Main {
  width: 990px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.Main > section {
  background: #fff;
  border-radius: 4px;
  padding: 8px 12px;
}


/* article_crumb--------- */
.article_crumb {
  flex-wrap: wrap;
  display: flex;
  font-size: 12px;
  margin: 0 auto;
  padding-bottom: 8px;
  width: 990px;
}
.article_crumb li {
  padding-right: 32px;
  position: relative;
}
.article_crumb li:after {
  content: '';
  position: absolute;
  right: 12px;
  top: 4px;
  width: 8px;
  height: 8px;
  border-right: 1px solid #757575;
  border-bottom: 1px solid #757575;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.article_crumb li:last-child {
  padding-right: 0;
  font-weight: 600;
}
.article_crumb li:last-child:after {
  display: none;
}
.article_crumb a {
  color: #005983;
  text-decoration: none;
}
.article_crumb a:hover {
  opacity: 0.75;
}


/* 共通---------------------------- */
h1 {font-size: 18px; font-weight: 700; padding-bottom: 8px;}
h2 {font-size: 16px; font-weight: 700; padding-bottom: 8px;}

/* icon */
.Label {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 12px;
  font-size: 27px;
  vertical-align: middle;
}
.Label::before {
  position: absolute;
  top: 13%;
  left: 14%;
  width: 73%;
  height: 74%;
  content: "";
  background-color: #fff;
}
.Label__icon {
  position: relative;
  font-size: 120%;
  pointer-events: none;
}
.Label--vip {
  color: #84733d;
}
.Label--new {
  color: #ffb700;
}

/* card */
.card_wrap {
  display: grid;
  gap: 12px;
}
.card {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
}
.card_img a:hover {
  opacity: 0.75;
}
.card_title {
  font-size: 16px;
  max-height: calc(1.56em * 3);
}
.card_title a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
  max-height: calc(1.56em * 3);
}
.card_title a:hover {
  color: #017fff;
}
.card_other {
  font-size: 12px;
  color: #757575;
}
.card .category {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-bottom: 8px;
  line-height: 1;
}
.card .category > a {
  color: #333;
  font-size: 12px;
  border: 1px solid #ccc;
  background: #F2F7FC;
  padding: 2px 4px;
}
.card .category > a:hover {
  color: #333;
  opacity: 0.75;
}
.card .date {
  display: inline-block;
  padding-bottom: 6px;
  line-height: 1;
}
.seemore {
  text-align: right;
  padding-top: 8px;
  font-weight: 400;
}

.seeall {
  margin: 8px 0 0;
  text-align: center;
}
.seeall a {
  display: inline-block;
  border-radius: 4px;
  border: 1px solid #CCC;
  background: #F7F7F7;
  font-size: 16px;
  font-weight: 700;
  margin: 0 auto;
  padding: 8px 12px;
  min-width: 300px;
  line-height: 1;
  color: #333;
}
.seeall a:hover {
  color: #333;
  opacity: 0.75;
}
.seeall a:visited,
.seeall a:visited:hover {color: #333;}


/* section個別--------------------------- */

.mainVisual {
  overflow: hidden;
  position: relative;
}
.headText {
  padding-bottom: 10px;
}
/* カルーセル */
.carousel_container {
  position: relative;;
}
.carousel_wrapper {
  overflow-x: hidden;
  position: relative;
}

.carousel_paging {
  position: absolute;
  top: 50%;
  width: 32px;
  height: 32px;
  content: "";
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTYiIGZpbGw9IiMwMTYzQzciLz4KPHBhdGggZD0iTTE2IDhMMTQuNTkgOS40MUwyMC4xNyAxNUg4VjE3SDIwLjE3TDE0LjU5IDIyLjU5TDE2IDI0TDI0IDE2TDE2IDhaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K");
  border-radius: 50%;
  transform: translateY(-50%);
  border: none;
  cursor: pointer;
}

.carousel_paging:disabled {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBvcGFjaXR5PSIwLjIiIGN4PSIxNiIgY3k9IjE2IiByPSIxNiIgZmlsbD0iIzAxNjNDNyIvPgo8cGF0aCBkPSJNMTYgOEwxNC41OSA5LjQxTDIwLjE3IDE1SDhWMTdIMjAuMTdMMTQuNTkgMjIuNTlMMTYgMjRMMjQgMTZMMTYgOFoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=");
  cursor: default;
}

.carousel_paging--prev {
  left: 0;
  transform: scaleX(-1) translateY(-50%);
}

.carousel_paging--next {
  right: 0;
}
.carousel_indicator {
  display: flex;
  justify-content: center;
  column-gap: 8px;
  margin-top: 16px;
}
.carousel_indicator_item {
  display: flex;
  height: max-content;
}
.carousel_indicator_button {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  background-color: #d9d9d9;
  cursor: pointer;
}
.carousel_indicator_button--current {
  background-color: #757575;
}
.carousel_block {
  display: flex;
  transition: all .5s ease-in-out;
  width: fit-content;
}
.CarouselCard {
  width: 880px;
  margin: 0 43px;
  border: 1px solid #ccc;
  border-radius: 4px;
  display: flex;
  align-items: center;
}
.CarouselCard .carousel_text {
  width: 390px;
  padding: 12px;
}
.CarouselCard .carousel_img img {
  border-radius: 3px 0 0 3px; 
}
.CarouselCard .carousel_img a:hover {
  opacity: 0.75;
}
.CarouselCard .carousel_title {
  font-size: 18px;
  font-weight: 700;
  max-height: calc(1.56em * 3);
  margin-bottom: 8px;
}
.CarouselCard .carousel_title a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
  max-height: calc(1.56em * 3);
}
.CarouselCard .carousel_disc {
  padding-bottom: 12px;
}

.CarouselCard .carousel_other {
  font-size: 12px;
  color: #757575;
}
.CarouselCard .category {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-bottom: 8px;
  line-height: 1;
}
.CarouselCard .category > a {
  color: #333;
  font-size: 12px;
  border: 1px solid #ccc;
  background: #F2F7FC;
  padding: 2px 4px;
}
.CarouselCard .category > a:hover {
  color: #333;
  opacity: 0.75;
}
.CarouselCard .date {
  display: inline-block;
  padding-bottom: 6px;
  line-height: 1;
}

/* 4記事 */
.newest,
.incentives,
.financial_report,
.millionaire {
  width: 100%;
}
.newest .card_wrap,
.incentives .card_wrap,
.financial_report .card_wrap,
.millionaire .card_wrap {
  grid-auto-flow: column;
  grid-auto-columns: 232.5px;
}

/* 2記事 */
.interview_company,
.interview_ir {
  width: calc((100% - 8px) / 2);
}
.interview_company .card_wrap,
.interview_ir .card_wrap {
  grid-auto-flow: column;
  grid-auto-columns: 228px;
}

/* カテゴリから探す */
.search h2 {
  padding-bottom: 0;
}
.search_word_wrap {
  display: flex;
  flex-wrap: wrap;
}
.search_word_wrap > li {
  width: calc(100% / 3);
  font-size: 16px;
  padding: 8px 0;
}

/* フッター上バナーエリア */
.info_area {
  display: flex;
  width: 100%;
  gap:8px;
  justify-content: center;
}
.info_item a:hover {
  opacity: 0.75;
}