@charset "UTF-8";
/* ==========================================================================
   Index
   ========================================================================== */
.p-top-container {
  max-width: none;
  margin-top: 0;
  padding: 0;
  line-height: 1.4;
}

.p-top-container a {
  position: relative;
  display: block;
  text-decoration: none;
}

.p-top-container img {
  display: block;
  width: 100%;
}

@media screen and (min-width: 769px) {
  .p-top-5min a:hover,
  .p-top-bhcf__l a:hover,
  .p-top-kv a:hover,
  .p-top-president a:hover,
  .p-top-summary a:hover {
    opacity: 1;
  }
}

.p-top-complex {
  overflow: hidden;
}

/* ローディング
   ----------------------------------------------------------------- */
.js-scrollable {
  overflow: auto;
}

.p-top-loading {
  position: fixed;
  z-index: 1001;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .p-top-loading {
    display: none;
  }
}

.p-top-loading__circle,
.p-top-loading__circleg:after {
  width: 80px;
  height: 80px;
  border-radius: 50%;
}

.p-top-loading__circle {
  position: relative;
  display: inline-block;
  animation: loading 1.1s infinite linear;
  border-top: 10px solid rgba(163, 11, 26, 0.2);
  border-right: 10px solid rgba(163, 11, 26, 0.2);
  border-bottom: 10px solid rgba(163, 11, 26, 0.2);
  border-left: 10px solid #a30b1a;
  font-size: 10px;
}

@keyframes loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* KV
   ----------------------------------------------------------------- */
@media screen and (min-width: 769px) {
  .p-top-kv {
    transition: opacity 0.5s;
    opacity: 0;
  }
  .p-top-kv.js-visible {
    opacity: 1;
  }
  .p-top-kv + .p-top-bhcf > div:first-child {
    transition: opacity 0.5s;
    opacity: 0;
  }
  .p-top-kv.js-visible + .p-top-bhcf > div:first-child {
    opacity: 1;
  }
}

.p-top-kv a {
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto;
}
@media screen and (min-width: 769px) {
  .p-top-kv a {
    height: 0;
    padding-top: 25%;
  }
}
@media screen and (max-width: 768px) {
  .p-top-kv a {
    padding: 15px;
    background-size: cover;
  }
}

@media screen and (min-width: 769px) {
  .p-top-kv__body {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 0 5.56% 0 3.82%;
    transition: opacity 0.75s 0.5s;
    opacity: 0;
  }
}

.js-visible .p-top-kv__body {
  opacity: 1;
}

/*
 * スクエアサイトタイトル
 */
@media screen and (min-width: 769px) {
  .p-top-kv__ttl {
    width: 17.01% !important;
  }
}
@media screen and (max-width: 768px) {
  .p-top-kv__ttl {
    width: 40% !important;
    margin-bottom: 15px;
  }
}

/*
 * 特集タイトル
 */
.p-top-kv__lead {
  color: #fff;
}
@media screen and (min-width: 769px) {
  .p-top-kv__lead {
    margin-left: 260px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .p-top-kv__lead {
    margin-left: 130px;
  }
}
@media screen and (max-width: 768px) {
  .p-top-kv__lead {
    display: block;
    width: 90%;
    max-width: 400px;
    margin: 0 auto;
  }
}

.p-top-kv__lead__subttl {
  display: block;
  font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
  .p-top-kv__lead__subttl {
    font-size: 2rem;
  }
}

.p-top-kv__lead__ttl {
  display: block;
  margin-bottom: 0.5em;
  font-size: 5rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-top-kv__lead__ttl {
    font-size: 3rem;
  }
}

.p-top-kv__lead__more {
  display: block;
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  .p-top-kv__lead__more {
    font-size: 1.8rem;
  }
}

.p-top-kv__lead__more::after {
  position: relative;
  top: -2px;
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  margin-left: 0.5em;
  content: '';
  transform: rotate(45deg);
  vertical-align: middle;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

/* Update / Building a Human Centric Future
   ----------------------------------------------------------------- */
.p-top-row1 {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}

/* Update
   ----------------------------------------------------------------- */
.p-top-update {
  display: flex;
  flex-wrap: wrap;
  width: 50%;
}
@media screen and (max-width: 768px) {
  .p-top-update {
    width: 100%;
  }
}

.p-top-update > div {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .p-top-update > div {
    display: flex;
    width: 100%;
  }
  .p-top-update > div a {
    display: flex;
    align-items: start;
  }
}

.p-top-update img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-top-update img {
    width: 50%;
  }
}

.p-top-update__body {
  position: absolute;
  bottom: 0;
  width: 100%;
  min-height: 33.3%;
  padding: 15px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .p-top-update__body {
    position: static;
    width: 50%;
    min-height: 0;
    padding: 5px 15px;
    color: #000;
    background: #fff !important;
  }
}

.p-top-update > div:first-child .p-top-update__body {
  background: rgba(104, 26, 20, 0.9);
}

.p-top-update > div:nth-child(2) .p-top-update__body {
  background: rgba(134, 23, 24, 0.9);
}

.p-top-update__date {
  display: block;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-top-update__date {
    font-size: 1.4rem;
  }
}

.p-top-update__new {
  display: inline-block;
  margin-left: 7px;
  padding: 0 7px;
  letter-spacing: 1px;
  color: #fff;
  background: #ff0000;
  font-size: 14px;
  vertical-align: top;
}

.p-top-update__ttl {
  display: block;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .p-top-update__ttl {
    font-size: 1.45rem;
    line-height: 1.2;
  }
}

/* Building a Human Centric Future
   ----------------------------------------------------------------- */
.p-top-bhcf {
  overflow: hidden;
  width: 50%;
}
@media screen and (max-width: 768px) {
  .p-top-bhcf {
    width: 100%;
  }
}

.p-top-bhcf > div {
  float: left;
  width: 50%;
}
@media screen and (max-width: 768px) {
  .p-top-bhcf > div {
    float: none;
    width: 100%;
  }
  .p-top-bhcf > div a {
    display: flex;
    align-items: flex-start;
  }
  .p-top-bhcf > div img {
    width: 50%;
  }
}

/*Large版 */
.p-top-bhcf__l .p-top-bhcf__hover {
  color: #000;
}
@media screen and (min-width: 769px) {
  .p-top-bhcf__l .p-top-bhcf__hover {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    height: 100%;
    padding: 0 25px;
    transition: opacity 0.25s;
    opacity: 0;
    background: rgba(255, 255, 255, 0.85);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1279px) {
  .p-top-bhcf__l .p-top-bhcf__hover {
    padding: 0 15px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .p-top-bhcf__l .p-top-bhcf__hover {
    padding: 0 10px;
  }
}
@media screen and (max-width: 768px) {
  .p-top-bhcf__l .p-top-bhcf__hover {
    width: 50%;
    padding: 15px 20px;
  }
}

.p-top-bhcf__l a:hover .p-top-bhcf__hover {
  opacity: 1;
}

/* Small版 */
@media screen and (max-width: 768px) {
  .p-top-bhcf__s img:first-child {
    display: none;
  }
}
.p-top-bhcf__s img:first-child + img {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-top-bhcf__s img:first-child + img {
    display: block;
    width: 50%;
  }
}

.p-top-bhcf__s .p-top-bhcf__hover {
  width: 50%;
}
@media screen and (min-width: 769px) {
  .p-top-bhcf__s .p-top-bhcf__hover {
    position: absolute;
    top: 0;
    right: -100%;
    display: flex;
    align-items: center;
    height: 100%;
    padding: 20px 15px;
    transition: right 0.5s 0.25s;
    color: #fff;
    font-size: 2rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-top-bhcf__s .p-top-bhcf__hover {
    display: flex;
    align-items: center;
    font-size: 75%;
    line-height: 1.2;
  }
}
@media screen and (max-width: 768px) {
  .p-top-bhcf__s .p-top-bhcf__hover {
    padding: 10px 20px;
    line-height: 1.3;
  }
}

@media screen and (min-width: 769px) {
  .p-top-bhcf > div:nth-child(2) .p-top-bhcf__hover {
    background: #b11e24;
  }

  .p-top-bhcf > div:nth-child(3) .p-top-bhcf__hover {
    background: #861718;
  }
}
/* アニメーション */
.js-visible .p-top-bhcf > div:not(:first-child) .p-top-bhcf__hover {
  right: 0;
}

.p-top-bhcf > div:nth-of-type(2)::after,
.p-top-bhcf > div:nth-of-type(2)::before {
  transition-delay: 0.25s;
}

.p-top-bhcf > div:nth-of-type(2) .p-top-bhcf__hover {
  transition-delay: 0.5s;
}

.p-top-bhcf > div:nth-of-type(3)::after,
.p-top-bhcf > div:nth-of-type(3)::before {
  transition-delay: 0.5s;
}

.p-top-bhcf > div:nth-of-type(3) .p-top-bhcf__hover {
  transition-delay: 0.75s;
}

.p-top-bhcf__ttl {
  display: block;
  line-height: 1.1;
}

.p-top-bhcf__ttl span {
  display: block;
  margin-bottom: 0.25em;
  font-size: 2rem;
}
@media screen and (min-width: 1001px) and (max-width: 1279px) {
  .p-top-bhcf__ttl span {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .p-top-bhcf__ttl span {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .p-top-bhcf__ttl span {
    font-size: 1.8rem;
  }
}

.p-top-bhcf__l .p-top-bhcf__ttl strong {
  display: block;
  color: #e73440;
  font-size: 3rem;
}
@media screen and (min-width: 1001px) and (max-width: 1279px) {
  .p-top-bhcf__l .p-top-bhcf__ttl strong {
    font-size: 2.4rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .p-top-bhcf__l .p-top-bhcf__ttl strong {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .p-top-bhcf__l .p-top-bhcf__ttl strong {
    font-size: 2.4rem;
  }
}

.p-top-bhcf__s .p-top-bhcf__ttl strong {
  color: #fff;
  font-size: 2rem;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .p-top-bhcf__s .p-top-bhcf__ttl strong {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .p-top-bhcf__s .p-top-bhcf__ttl strong {
    color: #e73440;
    font-size: 1.8rem;
  }
}

:lang(en) .p-top-bhcf__ttl strong {
  font-family: FujitsuSansBold,Verdana,Lucida Grande,"メイリオ",Meiryo,"ＭＳ Ｐゴシック","ヒラギノ角ゴ Pro W3",sans-serif;
  font-weight: normal;
}

.p-top-bhcf__summary {
  display: block;
  margin-top: 1.11em;
}
@media screen and (min-width: 1001px) and (max-width: 1279px) {
  .p-top-bhcf__summary {
    margin-top: 0.5em;
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .p-top-bhcf__summary {
    margin-top: 0.2em;
    font-size: 1.4rem;
    line-height: 1.1;
  }
}
@media screen and (max-width: 768px) {
  .p-top-bhcf__summary {
    display: none;
  }
}

/* 5分で分かる
   ----------------------------------------------------------------- */
.p-top-5min {
  float: left;
  overflow: hidden;
  width: 25%;
}
@media screen and (max-width: 768px) {
  .p-top-5min {
    width: 100%;
  }
}

@media screen and (min-width: 769px) {
  .p-top-5min__photo.mobile {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .p-top-5min__photo {
    width: 100%;
  }
  .p-top-5min__photo.pc {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .p-top-5min__mobilebody {
    position: absolute;
    bottom: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0.5);
  }
}

.p-top-5min__ttl {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: flex-start;
  width: 100%;
  padding: 20px;
}
@media screen and (max-width: 768px) {
  .p-top-5min__ttl {
    position: static;
    padding-bottom: 0.5em;
  }
}

.p-top-5min__ttl > img {
  width: 55px;
  height: 55px;
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  .p-top-5min__ttl > img {
    display: none;
  }
}

.p-top-5min__ttl > span {
  /* for IE11 */
  width: calc(100% - 65px);
}
@media screen and (max-width: 768px) {
  .p-top-5min__ttl > span {
    width: 100%;
  }
}

.p-top-5min__subttl {
  display: inline-block;
  padding: 2px 5px;
  color: #fff;
  background: #e73440;
  font-size: 1.4rem;
}

.p-top-5min__lead {
  display: block;
  margin-top: 0.25em;
  color: #e73440;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .p-top-5min__lead {
    color: #fff;
  }
  .p-top-5min__lead br {
    display: none;
  }
}

.p-top-5min__hover {
  position: absolute;
  bottom: -50%;
  left: 0;
  display: flex;
  align-items: center;
  width: 100%;
  height: 50%;
  padding: 25px;
  transition: bottom 0.25s;
  color: #fff;
  background: rgba(0, 0, 0, 0.6);
}
@media screen and (max-width: 768px) {
  .p-top-5min__hover {
    position: static;
    padding-top: 0 !important;
    background: transparent;
  }
}

@media screen and (max-width: 768px) {
  .p-top-5min__hover {
    bottom: 0;
    height: auto;
    padding: 20px;
  }
}
@media screen and (min-width: 769px) {
  a:hover .p-top-5min__hover {
    bottom: 0;
  }
}
/* 動画
   ----------------------------------------------------------------- */
.p-top-movie {
  float: left;
  width: 50%;
}
@media screen and (max-width: 768px) {
  .p-top-movie {
    overflow: hidden;
    width: 100%;
    height: 0;
    padding-top: 50%;
  }
  .p-top-movie a {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
  }
}

.p-top-movie__playbtn {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 7.29% !important;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .p-top-movie__playbtn {
    width: 10% !important;
  }
}

/* トップメッセージ
   ----------------------------------------------------------------- */
.p-top-president {
  float: left;
  width: 25%;
}
@media screen and (max-width: 768px) {
  .p-top-president {
    width: 100%;
  }
  .p-top-president a {
    display: flex;
    align-items: flex-start;
  }
  .p-top-president img {
    width: 50%;
  }
}

.p-top-president__hover {
  padding: 15px 20px;
}
@media screen and (min-width: 769px) {
  .p-top-president__hover {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    width: 100%;
    height: 100%;
    transition: opacity 0.25s;
    opacity: 0;
    color: #fff;
    background: rgba(0, 0, 0, 0.6);
  }
}
@media screen and (max-width: 768px) {
  .p-top-president__hover {
    width: 50%;
    padding: 10px 20px;
  }
}

a:hover .p-top-president__hover {
  opacity: 1;
}

.p-top-president__ttl {
  display: block;
  line-height: 1.2;
}

.p-top-president__ttl strong {
  display: block;
  font-size: 3rem;
}
@media screen and (min-width: 1001px) and (max-width: 1279px) {
  .p-top-president__ttl strong {
    font-size: 2.4rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .p-top-president__ttl strong {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .p-top-president__ttl strong {
    font-size: 2rem;
  }
}

:lang(en) .p-top-president__ttl strong {
  font-family: FujitsuSansBold,Verdana,Lucida Grande,"メイリオ",Meiryo,"ＭＳ Ｐゴシック","ヒラギノ角ゴ Pro W3",sans-serif;
  font-weight: normal;
}

.p-top-president__summary {
  display: block;
  margin-top: 1.11em;
}
@media screen and (min-width: 1001px) and (max-width: 1279px) {
  .p-top-president__summary {
    margin-top: 0.55em;
    font-size: 1.4rem;
    line-height: 1.3;
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .p-top-president__summary {
    margin-top: 0.55em;
    font-size: 1.2rem;
    line-height: 1.3;
  }
}
@media screen and (max-width: 768px) {
  .p-top-president__summary {
    margin-top: 0.55em;
    font-size: 1.3rem;
    line-height: 1.3;
  }
}

.p-top-president__summary span {
  display: block;
  margin-top: 0.87em;
  font-size: 2.3rem;
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-top-president__summary span {
    margin-top: 0.25em;
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .p-top-president__summary span {
    display: none;
  }
}

/* 事例
 *  事例トップページでもパーツ流用。その際は .p-cslist--2col を併せて付与
   ----------------------------------------------------------------- */
.p-cslist > * {
  float: left;
  width: 25%;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-cslist > * {
    width: 100%;
  }
}

/* Mac Safari カラム落ち防止 */
.p-top-container .p-cslist > div:nth-of-type(5) {
  clear: left;
}

/* 5つ目以降の事例はモバイル版では非表示 */
@media screen and (max-width: 768px) {
  .p-top-container .p-cslist > div:nth-of-type(4) ~ div {
    display: none;
  }
}

/*
 *  見出し
 */
.p-cslist h2 {
  position: relative;
  padding-top: 25%;
  text-align: center;
  color: #fff;
  background: #000;
  font-family: FujitsuSans,Verdana,Lucida Grande,"メイリオ",Meiryo,"ＭＳ Ｐゴシック","ヒラギノ角ゴ Pro W3",sans-serif;
  font-size: 3rem;
  font-weight: normal;
  line-height: 1.4;
}

.p-cslist h2 span {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 15px;
}

/*
 *  個別事例
 */
.p-cslist a {
  position: relative;
  display: block;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .p-cslist a {
    display: flex;
    align-items: center;
  }
  .p-cslist a img {
    width: 50%;
  }
}

.p-cslist__hover {
  width: 50%;
}
@media screen and (min-width: 769px) {
  .p-cslist__hover {
    position: absolute;
    top: 0;
    right: -100%;
    height: 100%;
    padding: 20px 15px;
    transition: right 0.5s 0.25s;
    color: #fff;
    font-size: 2rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-cslist__hover {
    display: flex;
    align-items: center;
    font-size: 75%;
    line-height: 1.2;
  }
}
@media screen and (max-width: 768px) {
  .p-cslist__hover {
    padding: 0 15px;
    line-height: 1.3;
  }
}

@media screen and (min-width: 769px) {
  .p-cslist > div:nth-of-type(3n+1) .p-cslist__hover {
    background: rgba(107, 74, 43, 0.85);
  }

  .p-cslist > div:nth-of-type(3n+2) .p-cslist__hover {
    background: rgba(114, 92, 48, 0.85);
  }

  .p-cslist > div:nth-of-type(3n) .p-cslist__hover {
    background: rgba(119, 60, 34, 0.85);
  }
}
/* スライドイン */
.js-visible .p-cslist__hover {
  right: 0;
}

/*
 * PCビュー表示アニメーション
 * 個別事例は左上〜右下へ向かって順次表示
 */
.p-cslist > div:nth-of-type(1)::after,
.p-cslist > div:nth-of-type(1)::before {
  transition-delay: 0.25s;
}

.p-cslist > div:nth-of-type(1) .p-cslist__hover {
  transition-delay: 0.5s;
}

.p-cslist > div:nth-of-type(2)::after,
.p-cslist > div:nth-of-type(2)::before {
  transition-delay: 0.5s;
}

.p-cslist > div:nth-of-type(2) .p-cslist__hover {
  transition-delay: 0.75s;
}

.p-cslist > div:nth-of-type(3)::after,
.p-cslist > div:nth-of-type(3)::before {
  transition-delay: 0.75s;
}

.p-cslist > div:nth-of-type(3) .p-cslist__hover {
  transition-delay: 1s;
}

.p-cslist > div:nth-of-type(4)::after,
.p-cslist > div:nth-of-type(4)::before {
  transition-delay: 1s;
}

.p-cslist > div:nth-of-type(4) .p-cslist__hover {
  transition-delay: 1.25s;
}

.p-cslist > div:nth-of-type(5)::after,
.p-cslist > div:nth-of-type(5)::before {
  transition-delay: 1.25s;
}

.p-cslist > div:nth-of-type(5) .p-cslist__hover {
  transition-delay: 1.5s;
}

.p-cslist > div:nth-of-type(6)::after,
.p-cslist > div:nth-of-type(6)::before {
  transition-delay: 1.5s;
}

.p-cslist > div:nth-of-type(6) .p-cslist__hover {
  transition-delay: 1.75s;
}

.p-cslist > div:nth-of-type(7)::after,
.p-cslist > div:nth-of-type(7)::before {
  transition-delay: 1.75s;
}

.p-cslist > div:nth-of-type(7) .p-cslist__hover {
  transition-delay: 2s;
}

.p-cslist > div:nth-of-type(8)::after,
.p-cslist > div:nth-of-type(8)::before {
  transition-delay: 2s;
}

.p-cslist > div:nth-of-type(8) .p-cslist__hover {
  transition-delay: 2.25s;
}

.p-cslist > div:nth-of-type(9)::after,
.p-cslist > div:nth-of-type(9)::before {
  transition-delay: 2.25s;
}

.p-cslist > div:nth-of-type(9) .p-cslist__hover {
  transition-delay: 2.5s;
}

.p-cslist > div:nth-of-type(10)::after,
.p-cslist > div:nth-of-type(10)::before {
  transition-delay: 2.5s;
}

.p-cslist > div:nth-of-type(10) .p-cslist__hover {
  transition-delay: 2.75s;
}

.p-cslist > div:nth-of-type(11)::after,
.p-cslist > div:nth-of-type(11)::before {
  transition-delay: 2.75s;
}

.p-cslist > div:nth-of-type(11) .p-cslist__hover {
  transition-delay: 3s;
}

.p-cslist > div:nth-of-type(12)::after,
.p-cslist > div:nth-of-type(12)::before {
  transition-delay: 3s;
}

.p-cslist > div:nth-of-type(12) .p-cslist__hover {
  transition-delay: 3.25s;
}

/*
 * 事例トップページ用
 */
.p-cslist--3col {
  overflow: hidden;
}

.p-cslist--3col > * {
  width: 33.33%;
}
@media screen and (max-width: 768px) {
  .p-cslist--3col > * {
    width: 100%;
  }
}

.p-cslist--3col .p-cslist__hover {
  right: 0;
}

/* カーテン開く風にコンテンツ表示
   ----------------------------------------------------------------- */
.p-curtain {
  position: relative;
}

.p-curtain::after,
.p-curtain::before {
  position: absolute;
  z-index: 9;
  top: 0;
  display: block;
  width: 50%;
  height: 100%;
  content: "";
  transition: width 0.25s;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .p-curtain::after,
  .p-curtain::before {
    display: none;
  }
}

.p-curtain::before {
  left: 0;
}

.p-curtain::after {
  right: 0;
}

.js-visible .p-curtain::after,
.js-visible .p-curtain::before,
.js-visible.p-curtain::after,
.js-visible.p-curtain::before {
  width: 0;
}

/* ==========================================================================
   Layout 20180626追加
   ========================================================================== */
/* フッター
   ----------------------------------------------------------------- */
.l-footernav__primary2 > a {
  background-color: #e73440;
}

.l-footernav__primary2 > a img {
  position: relative;
  top: -2px;
  height: 22px;
  margin-right: 0.5em;
  vertical-align: middle;
}
