@charset "UTF-8";

/*   
Theme Name: KEIJI SHM
Description: KEIJI SHM
Version: 2026.04
Author: MS
*/

/* ===========================================================================================

	Common

=========================================================================================== */
.contents_area > *:not(#breadlist) {
  font-weight: 400;
  overflow: hidden;
  color: #000;
  -webkit-text-size-adjust: none;
  height: auto !important;
  * {
    letter-spacing: normal;
    font-family: "游ゴシック", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
  }
  h1 {
    margin: 0;
  }
  p {
    color: inherit;
    font-size: 16px;
    line-height: 1.8;
  }
  a,
  a img {
    text-decoration: none;
    color: #000;
    transition:
      color 0.3s ease,
      background 0.3s ease,
      opacity 0.3s ease;
    outline: none;
  }
  a:hover {
    opacity: 0.75;
  }

  img {
    display: block;
    max-width: 100%;
    height: auto;
  }
  .non_pc {
    display: none !important;
  }
  .f_min {
    font-family: "游明朝", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "HGS明朝E", serif;
  }
  .bt_more {
    display: block;
    background: #202020;
    border-radius: 6px;
  }
  .bt_more > span {
    display: flex;
    padding: 0 0 0 20px;
    color: #fff;
    font-weight: bold;
    position: relative;
    height: 40px;
    align-items: center;
  }
  .bt_more > span::before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    height: 40px;
    width: 40px;
    border-left: 1px solid #707070;
  }
  .bt_more > span::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translate(0, -50%);
    background: url(../img/common/icon_arrow_w.png) no-repeat center center / 8px;
  }
  .img {
    position: relative;
  }
  .img .caption {
    position: absolute;
    left: 10px;
    bottom: 10px;
    color: #fff;
    font-size: 12px;
    text-shadow: 0 0 3px #000;
    line-height: 1em;
  }
  .img .caption.r {
    left: auto;
    right: 10px;
  }
  .img .caption.b {
    color: #000;
    text-shadow: 0 0 3px #fff;
  }
  .img .caption.out {
    position: relative;
    left: auto;
    bottom: auto;
    margin: 0 0 0 9px;
    color: #707070;
  }
  &.visual {
    padding-bottom: 80px;
  }
  &.visual .lead {
    text-align: center;
    font-size: 36px;
    margin-top: 72px;
  }
  &.visual .text {
    text-align: center;
    color: #707070;
    margin-top: 27px;
  }
  &.inner_sec {
    padding: 90px 0;
  }
  &.inner_sec > .inner {
    max-width: 1160px;
    margin: 0 auto;
  }

  @media screen and (max-width: 767px) {
    .non_pc {
      display: block !important;
    }
    .non_sp {
      display: none !important;
    }
    .img .caption {
      position: absolute;
      left: 8px;
      bottom: 8px;
      color: #fff;
      font-size: 10px;
      text-shadow: 0 0 3px #000;
      line-height: 1em;
    }
    .img .caption.r {
      left: auto;
      right: 8px;
    }
    &.visual .lead {
      text-align: center;
      font-size: 20px;
      margin-top: 42px;
    }
    &.visual .text {
      text-align: left;
      color: #707070;
      margin-top: 17px;
      font-size: 15px;
      padding: 0 5%;
    }
    .contact .list .box > .bt_more {
      margin-top: 15px;
    }
    .inner .inner_sec {
      padding: 60px 0;
    }
    &.inner_sec > .inner {
      max-width: 90%;
      margin: 0 auto;
    }
  }
}
