/**
 * カスタムプロパティ
 */
:root {
  /* ホバー時にしようする水色 */
  --HOVER-BLUE: #57BDCC;
  /* 黒 */
  --DARK-GRAY__333: #333;
  --DARK-GRAY__535353: #535353;
  --DARK-GRAY__666: #666;
  --DARK-GRAY__878787: #878787;
  /* 赤 */
  --RED__d33929: #d33929;
  /* 白 */
  --WHITE__F2F2F2: #F2F2F2;
  --WHITE: #FFF;
}

/**
 * カスタムCSS
 */
.content-top-in {
  padding-left: 29px;
  padding-right: 29px;
}

/* ベース */
body {
  font-family: "Century Gothic",Arial,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}

/* CSSの打ち消し */
@media screen and (max-width: 1280px) {
  .main, .sidebar, .sidebar-left .main, .sidebar-left .sidebar {
    margin: 0;
  }
}

@media screen and (max-width: 834px) {
  .content-top-in {
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media screen and (max-width: 1260px) {
  .header-in.wrap,
  .navi-in.wrap,
  .content-in.wrap,
  .content-top-in.wrap,
  .content-bottom-in.wrap,
  #sidebar,
  .footer-in.wrap,
  main#main {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

/* ナビゲーションバー */
.item-label {
  /* 文字数が多いとメニューがはみ出すのでメニューの文字サイズを調整 */
  font-size: 14px;
}

.item-label:hover {
  /* 水色 */
  color: var(--HOVER-BLUE);
}

.navi-in>ul .sub-menu ul {
  display: none;
  position: absolute;
  top: 63px;
  left: 0px;
  margin: 0;
  padding: 0;
  list-style-type: none;
  height: auto;
  z-index: 99999;
}

.navi-in>ul .sub-menu li {
  float: none;
  height: auto;
  line-height: 0;
  padding: 0;
  margin: 0;
  text-align: left;
  background: none;
  display: block;
  background: var(--DARK-GRAY__333);
}

#navi .navi-in>ul .sub-menu a {
  position: relative;
  display: inline-block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 10px 15px 8px;
  color: var(--WHITE);
  font-size: 14px;
  font-weight: 400;
  line-height: 180%;
  text-align: left;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.navi-in>ul .sub-menu a:hover {
  background: var(--HOVER-BLUE);
}

.sub-menu .item-label:hover {
  color: var(--WHITE);
}

/* ヘッダー */
.logo.logo-header.logo-image img {
  margin-top: 20px;
}

@media screen and (max-width: 1023px) {
  .tagline, .logo-header {
    display: none;
  }
}

/*
@media screen and (max-width: 600px){
  .has-logo-button .logo-menu-button {
     position: relative;
  }

  a.menu-button-in {
    margin: 0;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
  }
}
*/

/* サイドバー */
.sidebar {
  padding-right: 29px;
}

.sidebar img {
  margin-bottom: 20px;
}

@media screen and (max-width: 1023px) {
  div.sidebar {
    width: 65%;
  }
}

@media screen and (max-width: 790px) {
  div.sidebar {
    width: 100%;
  }
}

.sidebar H3 {
  border: none;
  font-size: 20px;
  margin: 0 0 10px;
  padding-bottom: 5px;
  /* background: url(images/dot_02.png) repeat-x left bottom; */
  border-bottom: dotted 1px #888;
  min-height: 30px;
}

.widget-sidebar li {
  position: relative;
  font-weight: bold;
  font-size: 12px;
  line-height: 170%;
  margin: 0 0 10px 0;
  padding: 0 0 5px 15px;
  box-sizing: border-box;
  border-bottom: dotted 1px #888;
  min-height: 25px;
}

.widget-sidebar li:before {
  content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  display: inline-block;
  border-width: 5px;
  border-style: solid;
  border-right-color: transparent;
  border-left-color: var(--DARK-GRAY__333);
  border-bottom-color: transparent;
  border-top-color: transparent;
  box-sizing: border-box;
  left: 0.5em;
  top: 1.1em;
}

.widget li {
  list-style: none;
}

/* 投稿日、更新日非表示にする */
.entry-date.date,
.fa-clock-o, .fa-history {
  display: none;
}

/* カード型記事（新着記事、関連記事、検索結果画面） */
.article H3 {
  border: none;
}

.wp-block-latest-posts__list li,
.related-entry-card-wrap,
.entry-card-wrap {
  background-color: var(--WHITE__F2F2F2);
}

.wp-block-latest-posts__list li {
  margin: 0 12px;
}

.post-date {
  margin: 0 15px 7px 0;
}

.ect-3-columns .entry-card-wrap,
.rect-vertical-card .related-entry-card-wrap {
  padding: 0;
}

.ect-3-columns,
.rect-vertical-card .related-list  {
  justify-content: flex-start;
}

@media screen and (max-width: 599px) {
  .wp-block-latest-posts__list.is-grid li {
    margin-right: 0;
  }
}

.wp-block-latest-posts__list li>a,
.related-entry-card-title,
.ect-vertical-card-3.ect-vertical-card.ect-3-columns .entry-card-title {
  text-decoration: none;
  font-weight: bold;
  color: var(--DARK-GRAY__333);
  font-size: 16px;
  line-height: 20px;
  padding: 0 15px;
  display: inline-block;
}

.ect-vertical-card .entry-card-wrap {
  margin-bottom: 1.2em;
}

.wp-block-latest-posts__featured-image img {
  width: 100%;
}

.ect-vertical-card .entry-card-thumb,
.rect-vertical-card.rect-vertical-card-3 .related-entry-card-thumb,
.wp-block-latest-posts__featured-image {
  margin-bottom: 10px;
}

.wp-block-latest-posts__featured-image>a,
.rect-vertical-card.rect-vertical-card-3 .related-entry-card-thumb,
.ect-vertical-card-3.ect-vertical-card.ect-3-columns .entry-card-thumb {
  position: relative;
  display: block;
  width: 100%;
}

.wp-block-latest-posts__featured-image>a::before,
.rect-vertical-card.rect-vertical-card-3 .related-entry-card-thumb::before,
.ect-vertical-card-3.ect-vertical-card.ect-3-columns .entry-card-thumb::before {
  content: "";
  display: block;
  /* 245 × 150px */
  padding-top: 61.2%;
}

.wp-block-latest-posts__featured-image>a>img,
.rect-vertical-card.rect-vertical-card-3 .related-entry-card-thumb-image,
.rect-vertical-card.rect-vertical-card-3 .related-entry-card-no-image,
.ect-vertical-card-3.ect-vertical-card.ect-3-columns .entry-card-thumb-image {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  object-fit: cover;
}

@media screen and (max-width: 599px) {
  .wp-block-latest-posts__featured-image>a,
  .related-entry-card-thumb,
  .entry-card-thumb {
    width: 100%;
    position: static;
  }

  .wp-block-latest-posts__featured-image>a::before,
  .related-entry-card-thumb::before,
  .entry-card-thumb::before {
    padding-top: 0;
  }

  .wp-block-latest-posts__featured-image>a>img,
  .related-entry-card-thumb-image,
  .entry-card-thumb-image {
    position: static;
    height: auto;
  }
}

.ect-3-columns .entry-card-wrap,
.rect-vertical-card-3 .related-entry-card-wrap {
  box-sizing: border-box;
  width: calc(33.33333% - .83333em);
}

@media screen and (min-width: 600px) {
  .ect-3-columns .entry-card-wrap:not(:nth-child(3n)),
  .rect-vertical-card-3 .related-entry-card-wrap:not(:nth-child(3n)) {
    margin: 0 1.25em 1.25em 0;
  }
}

@media screen and (max-width: 599px) {
  .ect-3-columns .entry-card-wrap,
  .rect-vertical-card-3 .related-entry-card-wrap {
    width: 100%;
  }
}

.wp-block-latest-posts__post-excerpt,
.related-entry-card-snippet,
.entry-card-snippet,
.entry-card .admin-pv {
  outline: none;
  color: var(--DARK-GRAY__333);
  font-size: 12px;
  margin-top: .5em;
  margin-bottom: 1em;
  padding: 0 15px;
  font-weight: 500;
}

.ect-3-columns .entry-card-snippet,
.entry-card-snippet, .related-entry-card-snippet {
  max-height: none;
}

/* 共通 */
.site-logo-image.header-site-logo-image:hover,
.three-win>div>figure>a:hover>img,
.wp-block-latest-posts__featured-image>a:hover>img,
.related-entry-card-thumb-image:hover,
.related-entry-card-no-image:hover,
.entry-card-thumb-image:hover {
  opacity: 0.5;
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.three-win a:hover,
.wp-block-latest-posts__list li>a:hover,
.related-entry-card-title:hover,
.entry-card-title:hover,
.related-entry-card-snippet:hover,
.entry-card-snippet:hover,
.entry-card .admin-pv:hover,
.post-date:hover {
  color: var(--HOVER-BLUE);
}

/* フッター */
.footer-left .footer-title {
  font-size: 14px;
}

.footer-bottom-logo ,
.footer-bottom-content {
  width: 100%;
  float: none;
  position: static;
}

.footer-bottom-content {
  text-align: center;
}

#footer-in a:hover {
  color: var(--HOVER-BLUE);
  transition: none;
  /* 水色 */
  background: inherit;
}

.footer-copy a {
  text-decoration: none;
  font-size: 16px;
}

.footer-title {
  font-size: 16px;
  border-bottom: 1px dotted;
  margin-bottom: 5px;
}

.footer-copy p {
  font-size: 12px;
}

.popular-entry-card-title {
  font-size: 14px;
}

.widget_nav_menu ul li ul {
  padding-left: 10px;
}

.widget_nav_menu ul li a {
  font-size: 12px;
  padding-top: 2.5px;
  padding-bottom: 2.5px;
}

.footer-widgets-mobile .widget_mobile_text p {
  font-size: 12px;
}

/* プロジェクト */
/* ナビゲーションエリア */
.q_button {
  min-width: 200px;
  max-width: 90%;
  background-color: var(--DARK-GRAY__535353);
  display: inline-block;
  vertical-align: middle;
  padding: .6em 1.3em .5em;
  font-weight: 400;
  font-size: 100%;
  color: var(--WHITE);
  margin: 0;
  text-decoration: none;
  text-align: center;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  transition: all 0.3s ease-in-out 0s;
  box-shadow: 0 1px 3px rgb(0 0 0 / 15%);
}

.rounded {
  border-radius: 6px;
}

.sz_l {
  width: 350px;
  max-width: 100%;
  font-size: 110%;
  padding: .8em 1.5em .7em;
}

.bt_red {
  background: #c01f0e;
  color: var(--WHITE);
}

.q_button:hover, .q_button:focus {
    text-decoration: none;
    box-shadow: 0 2px 2px rgb(0 0 0 / 15%) inset;
}

.bt_red:hover, .bt_red:focus {
    background-color: var(--RED__d33929);
    color: var(--WHITE);
}

hr {
  display: block;
  unicode-bidi: isolate;
  margin-block-start: 0.5em;
  margin-block-end: 0.5em;
  margin-inline-start: auto;
  margin-inline-end: auto;
  overflow: hidden;
  border-style: inset;
}

hr.concept-hr {
  width: 100%;
  border: none;
  border-bottom: dotted 1px var(--DARK-GRAY__878787);
  height: 1px;
  margin: 40px 0;
  background-image: url(images/dot_02.png);
  background-repeat: repeat-x;
  background-position: left bottom;
}

/* サイドバー お知らせ START */
#sidebar div.whatsnew dl {
  padding: 8px 0 12px 0;
}

#sidebar div.whatsnew dl a {
  padding: 0;
}

#sidebar div.whatsnew dt,
#sidebar div.whatsnew dd {
  font-size: 12px;
  color: var(--DARK-GRAY__333);
}

#sidebar div.whatsnew dt {
  width: 100%;
  margin: 0;
  line-height: 180%;
  font-weight: normal;
}

#sidebar div.whatsnew dd {
  font-weight: bold;
  line-height: 170%;
}

#sidebar div.whatsnew hr {
  border:none;
  border-top: dotted 1px var(--DARK-GRAY__666);
}
/* サイドバー お知らせ END */

/* ユーティリティ */
.u-display-block {
  display: block;
}

.u-clear-a {
  text-decoration: none;
}

.u-width-100per {
  width: 100%;
}

@media (max-width: 1260px) and (min-width: 600px) {
  .u-width-50per-tb {
    width: 50%;
  }
}

.u-font-weight-bold {
  font-weight: bold;
}

.u-mgn-horizontal-auto {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.u-mgn-top-20px {
  margin-bottom: 20px;
}

.u-mgn-bottom-10px {
  margin-bottom: 18px;
}

.u-mgn-bottom-18px {
  margin-bottom: 18px;
}

.u-mgn-vertical-1em {
  margin-top: 1em;
  margin-bottom: 1em;
}

.u-fontsize-12px {
  font-size: 12px;
}

.u-fontsize-14px {
  font-size: 14px;
}

.u-visible-pc {
  display: block;
}

.u-visible-sp {
  display: none;
  width: 100%;
}

@media screen and (max-width: 599px) {
  .u-visible-pc {
    display: none;
  }
  .u-visible-sp {
    display: block;
  }
}
