/* #case-list
 ========================================================================== */
.case-detail .content {
  margin-top: 70px;
  position: relative; }
  @media screen and (min-width: 768px) {
    .case-detail .content:before {
      content: "";
      background: #F6F6F6;
      width: 100%;
      height: calc(100% - 250px);
      position: absolute;
      left: 0;
      bottom: 0;
      z-index: -1; } }
.case-detail .content-inner {
  max-width: 740px;
  margin: 40px auto 0; }
  @media screen and (max-width: 767px) {
    .case-detail .content-inner {
      margin: 10px auto 0; } }
.case-detail .main {
  width: 100%;
  max-width: 660px;
  margin: auto;
  padding: 54px 20px;
  position: relative; }
  @media screen and (min-width: 768px) {
    .case-detail .main {
      transform: translateY(-100px);
      padding: 40px 30px;
      background: rgba(255, 255, 255, 0.8); } }
  .case-detail .main p {
    font-size: 1.4rem;
    line-height: 1.8; }
  .case-detail .main a {
    color: #1FA8FC; }
.case-detail .main-title {
  font-size: 30px;
  font-weight: bold; }
  @media screen and (max-width: 767px) {
    .case-detail .main-title {
      font-size: 28px; } }
.case-detail .category {
  font-size: 11px;
  background: #fff;
  color: #757575;
  border-radius: 30px;
  border: 1px solid #757575;
  position: absolute;
  top: 30px;
  right: 30px;
  padding: 2px 10px; }
  @media screen and (max-width: 767px) {
    .case-detail .category {
      top: 20px;
      right: 20px; } }
.case-detail .par, .case-detail .img {
  margin-top: 40px; }
  @media screen and (max-width: 767px) {
    .case-detail .par, .case-detail .img {
      margin-top: 30px; } }
.case-detail .img {
  text-align: center; }
.case-detail .par p {
  margin-bottom: 15px; }
.case-detail .company-info {
  padding: 40px 0 0;
  border-top: 1px dashed #757575;
  margin-top: 40px; }
  .case-detail .company-info-title {
    font-size: 12px;
    font-weight: bold;
    color: #757575;
    margin-bottom: 1em; }
  @media screen and (min-width: 768px) {
    .case-detail .company-info .flex-pc {
      display: flex;
      margin-bottom: 10px; } }
  .case-detail .company-info dl {
    display: flex;
    align-items: center; }
    @media screen and (max-width: 767px) {
      .case-detail .company-info dl {
        margin-bottom: 10px; } }
    @media screen and (min-width: 768px) {
      .case-detail .company-info dl:nth-child(1) {
        margin-right: .5em; } }
    .case-detail .company-info dl dt span {
      font-size: 1.1rem;
      font-weight: bold;
      color: #757575;
      background: #F6F6F6;
      border-radius: 2px;
      padding: 2px 8px;
      margin-right: 0.5em; }
    .case-detail .company-info dl dd {
      font-size: 1.4rem; }

#case .keyvisual {
  background: url(/assets/images/case/mainvisual.png) no-repeat;
  background-size: cover; }
#case .section-inner {
  width: 100%;
  max-width: 1080px;
  padding: 80px 20px 120px;
  margin: auto; }
  @media screen and (max-width: 767px) {
    #case .section-inner {
      padding: 60px 20px; } }
@media screen and (min-width: 768px) {
  #case .case-lists {
    display: flex;
    justify-content: space-between; } }
#case .case-list {
  background: #fff;
  border: 1px solid #E0E0E0;
  box-shadow: 0px 10px 10px #00000029;
  border-radius: 10px 10px 0px 0px;
  position: relative;
  transition: .3s; }
  @media screen and (min-width: 768px) {
    #case .case-list {
      width: 33%;
      max-width: 320px; } }
  #case .case-list-image {
    transition: opacity .3s;
    position: relative;
    line-height: 0; }
  #case .case-list-maker {
    font-size: 1.4rem;
    font-weight: bold;
    background: #333333;
    color: #fff;
    padding: 2px 10px;
    position: absolute;
    bottom: 0;
    right: 0; }
  #case .case-list-detail {
    padding: 20px; }
  #case .case-list-title {
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px dotted #757575; }
    #case .case-list-title span {
      font-size: 2rem;
      font-weight: bold;
      padding-right: 0.3em; }
  #case .case-list-point {
    color: #757575;
    margin-bottom: 20px; }
    #case .case-list-point strong {
      font-size: 2.4rem;
      padding: 0 .1em; }
  #case .case-list-flex {
    display: flex;
    align-items: flex-end;
    justify-content: space-between; }
  #case .case-list-category {
    font-size: 11px;
    background: #fff;
    color: #757575;
    border-radius: 30px;
    border: 1px solid #757575;
    padding: 2px 10px; }
  #case .case-list-link {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    #case .case-list-link-text {
      font-size: 1.4rem;
      font-weight: bold;
      color: #20A8FC;
      position: relative;
      display: inline-block;
      padding-right: 1.1em; }
      #case .case-list-link-text:before, #case .case-list-link-text:after {
        content: "";
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        transition: .3s; }
      #case .case-list-link-text:before {
        width: 12px;
        height: 2px;
        background: #1FA8FC; }
      #case .case-list-link-text:after {
        width: 8px;
        height: 8px;
        border-top: 2px solid #1FA8FC;
        border-right: 2px solid #1FA8FC;
        transform: rotate(45deg); }
  #case .case-list:hover {
    box-shadow: none; }
    #case .case-list:hover .case-list-image {
      opacity: 0.7; }
    #case .case-list:hover .case-list-link-text:before, #case .case-list:hover .case-list-link-text:after {
      right: -10px; }


.mb104{
  margin-bottom: 104px;
}
@media screen and (man-width: 767px){
  .mb104{
    margin-bottom: 72px;
  }
}
.par p span{
  font-weight: bold;
}
.text-right{
  text-align: right;
}
