@charset "UTF-8";

/* ==========================================
  Index Common
========================================== */
.sec-heading {
  font-family: serif;
  font-size: 40px;
  font-size: 4.0rem;
  font-weight: 400;
  letter-spacing: 0.15em;
  text-align: center;
}
.sec-heading span {
  margin: 35px 0 0;
  display: block;
}

/* ==========================================
  Slider
========================================== */
.slider-unit {
  position: relative;
  width: 100%;
}
.slider-unit p img {
  width: 100%;
  height: auto;
}

/* bxSlider PAGER Overwrite
----------------------------------------- */
.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: 40px;
  width: 3px;
}
.bx-wrapper .bx-pager {
  color: #ffffff;
  padding: 0;
}
.bx-wrapper .bx-pager .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: block;
}
.bx-wrapper .bx-pager.bx-default-pager a {
  background: #ffffff;
  width: 3px;
  height: 34px;
  margin: 3px 0;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active {
  background: #b8180a;
}

/* ==========================================
  News
========================================== */
.news-unit {
  position: relative;
  width: 100%;
  padding: 110px 0 90px;
  background-color: #b8180a;
}
.news-unit p {
  position: absolute;
  top: -13px;
  left: 0;
  right: 0;
  width: 100%;
}
.news-unit p img {
  height: 45px;
  -o-object-fit: cover;
     object-fit: cover;
}
.news-item {
  width: 1000px;
  margin: 0 auto;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.news-item h3 {
  font-family: serif;
  font-size: 30px;
  font-size: 3.0rem;
  font-weight: 400;
  letter-spacing: 0.15em;
  margin: 0 45px 0 0;
  padding: 0 45px 0 0;
  border-right: solid 1px #ffffff;
}
.news-item dl {
  font-size: 18px;
  font-size: 1.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.news-item dl dt {
  color: #ffb1b1;
  margin: 0 1em 0 0;
}

/* ==========================================
  特徴
========================================== */
.news-item dl dd a{
color: #ffffff;
text-decoration: none;
}


.feature-unit {
  text-align: center;
  padding: 150px 0 100px;
  background-color: #ffffff;
}
.feature-unit h3 {
  font-size: 18px;
  font-size: 1.8rem;
  color: #b8180a;
  line-height: 2.2;
  letter-spacing: 0.1em;
  margin: 0 0 30px;
}
.feature-unit p {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2.2;
  letter-spacing: 0.1em;
}

/* ==========================================
  Interval
========================================== */
.interval {
  position: relative;
  width: 100%;
}
.bgsp-space {
  display: none;
}
.interval img {
  width: 100%;
  height: auto;
}

/* ==========================================
  ご挨拶
========================================== */
.greeting-unit {
  position: relative;
  width: 100%;
  margin: 100px 0 230px;
  background-color: #ffffff;
  padding: 0 0 125px;
  border-bottom: solid 1px #eeeeee;
}
.greeting-unit > p {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background-color: #fbfbfb;
}
.greeting-items {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
/*
.greeting-items h4 {
  font-family: serif;
  font-size: 36px;
  font-size: 3.6rem;
  font-weight: 400;
  letter-spacing: 0.15em;
  color: #b8180a;
  margin: 0 0 40px;
}
*/
.red-line {
  width: 40px;
  border-top: solid 3px #cc0000;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
}
.greeting-items dl {
  position: relative;
  width: 705px;
  padding: 0 0 0 195px;
}
.greeting-items dl dt {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.15em;
  margin: 0 0 30px;
}
.greeting-items dl dd {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.85;
}
.greeting-items:last-of-type .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.greeting-items figure {
  width: 225px;
}
.greeting-items figure figcaption {
  margin: 20px 0 0;
}
.greeting-items figure figcaption span {
  font-size: 15px;
  font-size: 1.5rem;
  display: block;
  margin: 0 0 10px;
}
.greeting-interval {
  margin: 90px 0;
}
.greeting-interval img {
  width: 100%;
  max-width: 100%;
  height: auto;
}

/* ==========================================
  わたしたちのサービス
========================================== */
.service-unit {
  position: relative;
  width: 100%;
  background-color: #ffffff;
}
.service-unit h2 {
  position: relative;
  top: -80px;
}
.service-item-wrap {
  background-color: #b8180a;
}
.service-item-wrap .inner {
  position: relative;
  top: -80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.service-item {
  width: 380px;
  margin: 0 0 30px;
}
.service-item a {
  text-decoration: none;
  color: #000000;
}
.service-item a p {
  position: relative;
  overflow: hidden;
}
.service-item a p img {
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.service-item a:hover p img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.service-item a p span {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0);
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.service-item a:hover p span {
  background: rgba(0,0,0,0.25);
}
.service-item div {
  position: relative;
  background-color: #ffffff;
  padding: 25px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.service-item div span {
  position: absolute;
  right: 25px;
  bottom: 15px;
  display: block;
}
.service-item dl {
  margin: 0 0 20px;
}
.service-item dl dt {
  font-family: serif;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 400;
  letter-spacing: 0.15em;
  margin: 0 0 5px;
}
.service-item:nth-of-type(5) dl dt {
  letter-spacing: 0;
}
.service-item dl dd {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.875;
}

/* ==========================================
  相続法務グループ
========================================== */
.group-unit {
  position: relative;
  width: 100%;
  padding: 150px 0;
  background-color: #ffffff;
}
.group-unit .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.group-item {
  width: 380px;
}
.group-item a {
  text-decoration: none;
  color: #000000;
  display: block;
}
.group-item a dl dt, .group-item a dl dt img {
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.group-item a:hover dl dt {
  background: rgba(0,0,0,0.25);
}
.group-item a:hover dl dt img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.group-item dl dt {
  width: 100%;
  height: 140px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: solid 1px #eeeeee;
  overflow: hidden;
}
.group-item:first-of-type dl dt img {
  width: 58%;
}
.group-item:nth-of-type(2) dl dt img {
  width: 85%;
}
.group-item:last-of-type dl dt img {
  width: 80%;
}
.group-item dl dd:first-of-type {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.875;
  padding: 0 6.5%;
}
.group-item dl dd:last-of-type {
  text-align: right;
  margin: 30px 0 0;
}

/* ==========================================
  FadeIn
========================================== */
@media screen and (min-width:481px){
  .fadeInLeft {
    opacity: 0;
    transform: translate(75px, 0);
    -webkit-transform: translate(75px, 0);
    transition: all 1.25s;
    -webkit-transition: all 1.25s;
  }
  .fadeInLeft.scrollIn {
    opacity: 1;
    transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
  }
  .fadeInUp {
    opacity: 0;
    transform: translate(0, 75px);
    -webkit-transform: translate(0, 75px);
    transition: all 1.25s;
    -webkit-transition: all 1.25s;
  }
  .fadeInUp.scrollIn {
    opacity: 1;
    transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
  }
  .delay01 {
    transition-delay: .25s;
    -webkit-transition-delay: .25s;
  }
  .delay02 {
    transition-delay: .5s;
    -webkit-transition-delay: .5s;
  }
  .delay03 {
    transition-delay: .75s;
    -webkit-transition-delay: .75s;
  }
  .delay04 {
    transition-delay: 1.0s;
    -webkit-transition-delay: 1.0s;
  }
  .delay05 {
    transition-delay: 1.25s;
    -webkit-transition-delay: 1.25s;
  }
  .delay06 {
    transition-delay: 1.5s;
    -webkit-transition-delay: 1.5s;
  }
}