@charset "UTF-8";
/* ================================================

- 装飾：三角

================================================ */
.m-triangle {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent #3a3a3a transparent; }

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

- 装飾：アロー白

================================================ */
.m-arrow-w {
  content: "";
  display: block;
  position: absolute;
  width: 26px;
  height: 4px;
  -webkit-transform: skewX(45deg);
  transform: skewX(45deg);
  border-right: 1px solid #FFFFFF;
  border-bottom: 1px solid #FFFFFF;
  z-index: 3; }

.m-arrow-w-l {
  content: "";
  display: block;
  position: absolute;
  width: 26px;
  height: 4px;
  -webkit-transform: skewX(-45deg);
  transform: skewX(-45deg);
  border-left: 1px solid #FFFFFF;
  border-bottom: 1px solid #FFFFFF;
  z-index: 3; }

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

- 装飾：アロー青

================================================ */
.m-arrow-b {
  content: '';
  position: absolute;
  bottom: 31px;
  right: 20px;
  display: inline-block;
  width: 33px;
  height: 7px;
  -webkit-transform: skewX(45deg);
          transform: skewX(45deg);
  border-right: 2px solid #5a92ac;
  border-bottom: 2px solid #5a92ac; }

.m-arrow-t-b {
  content: '';
  position: absolute;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-top: 2px solid #3a3a3a;
  border-right: 2px solid #3a3a3a;
  cursor: pointer; }

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

- 装飾：ホバー

================================================ */
.s_about .l-main {
  padding-bottom: 0; }

/* - @media screen */
@media screen and (max-width: 767px) {
  .s_about .l-main {
    padding: 2.533vw 0 0; }
  .s_about .l-main-top {
    padding: 0 4vw; } }
/* ================================================

- 

================================================ */
.p-s_about__wrap1 {
  margin-top: 72px;
  overflow: hidden; }
  .p-s_about__wrap1 .p-s_about__wrap1__sc {
    position: relative;
    padding-bottom: 54px; }
    .p-s_about__wrap1 .p-s_about__wrap1__sc .l-colorBg-layout-desc {
      padding-top: 157px; }

/* - @media screen */
@media screen and (max-width: 767px) {
  .p-s_about__wrap1 {
    margin-top: 9.600vw;
    padding: 0 4vw; }
    .p-s_about__wrap1 .p-s_about__wrap1__sc {
      padding-bottom: 7.200vw; }
      .p-s_about__wrap1 .p-s_about__wrap1__sc .l-colorBg-layout {
        margin-top: 6.667vw; }
      .p-s_about__wrap1 .p-s_about__wrap1__sc .l-colorBg-layout-desc {
        padding-top: 4.267vw; } }
/* ================================================

- 

================================================ */
/* - @media screen */
@media screen and (max-width: 767px) {
  .p-s_about__wrap2 {
    padding: 0 4vw; } }
/* ================================================

- 

================================================ */
.p-s_about__wrap3 {
  padding: 80px 0; }

.p-s_about__wrap3__sc__flex {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  margin-top: 40px; }
  .p-s_about__wrap3__sc__flex .p-s_about__wrap3__sc__img {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 527px; }
  .p-s_about__wrap3__sc__flex .p-s_about__wrap3__sc__desc {
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto;
    margin-left: 74px; }
    .p-s_about__wrap3__sc__flex .p-s_about__wrap3__sc__desc .m-common-btn {
      display: -ms-flexbox;
      display: -webkit-box;
      display: flex;
      -ms-flex-pack: start;
      -webkit-box-pack: start;
              justify-content: flex-start;
      margin-top: 35px; }

/* - @media screen */
@media screen and (max-width: 767px) {
  .p-s_about__wrap3 {
    padding: 10.533vw 4vw 10.667vw; }

  .p-s_about__wrap3__sc__flex {
    display: block;
    margin-top: 5.333vw; }
    .p-s_about__wrap3__sc__flex .p-s_about__wrap3__sc__img {
      width: 100%; }
    .p-s_about__wrap3__sc__flex .p-s_about__wrap3__sc__desc {
      margin: 5.867vw auto 0; }
      .p-s_about__wrap3__sc__flex .p-s_about__wrap3__sc__desc .m-common-btn {
        display: -ms-flexbox;
        display: -webkit-box;
        display: flex;
        -ms-flex-pack: center;
        -webkit-box-pack: center;
                justify-content: center;
        margin-top: 7.200vw; } }
/* ================================================

- 

================================================ */
.p-s_about__wrap4 {
  padding: 80px 0; }

.p-s_about__wrap4__sc {
  margin-top: 40px;
  padding: 55px 100px 80px; }

.p-s_about__timeline > ul > li > dl {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start; }
  .p-s_about__timeline > ul > li > dl > dt {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 88px;
    font-size: 2.8rem;
    letter-spacing: 0.08em;
    position: relative; }
  .p-s_about__timeline > ul > li > dl > dt::before {
    content: '';
    position: absolute;
    top: 8px;
    right: 0;
    height: 100%;
    border-left: 1px #AAAAAA dashed; }
  .p-s_about__timeline > ul > li > dl > dd {
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto;
    padding-left: 82px;
    padding-bottom: 31px;
    position: relative; }
  .p-s_about__timeline > ul > li > dl > dd::before {
    content: '';
    position: absolute;
    top: 8px;
    left: -5px;
    width: 9px;
    height: 9px;
    background-color: #d4ab37;
    border-radius: 100%; }
  .p-s_about__timeline > ul > li > dl > dd::after {
    content: '';
    position: absolute;
    top: 12px;
    left: 23px;
    width: 42px;
    height: 1px;
    background-color: #d4ab37; }
.p-s_about__timeline > ul > li:last-of-type > dl > dt::before {
  display: none; }
.p-s_about__timeline > ul > li:last-of-type > dl > dd {
  padding-bottom: 0; }

.p-s_about__list {
  margin-top: 53px; }
  .p-s_about__list ul {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around; }
    .p-s_about__list ul li {
      width: 320px; }

/* - @media screen */
@media screen and (max-width: 767px) {
  .p-s_about__wrap4 {
    padding: 10.667vw 4vw; }

  .p-s_about__wrap4__sc {
    margin-top: 6.667vw;
    padding: 9.333vw 4vw 8vw; }

  .p-s_about__timeline > ul > li > dl {
    display: block;
    padding-left: 14.533vw;
    position: relative; }
    .p-s_about__timeline > ul > li > dl > dt {
      width: 100%;
      font-size: 6.4vw;
      position: static; }
    .p-s_about__timeline > ul > li > dl > dt::before {
      top: 1.867vw;
      right: auto;
      left: 0;
      height: 100%; }
    .p-s_about__timeline > ul > li > dl > dd {
      margin-top: 3.067vw;
      padding-left: 0;
      padding-bottom: 4.933vw;
      position: static; }
    .p-s_about__timeline > ul > li > dl > dd::before {
      top: 1.867vw;
      left: -1.200vw;
      width: 2.400vw;
      height: 2.400vw; }
    .p-s_about__timeline > ul > li > dl > dd::after {
      top: 3.067vw;
      left: 4.267vw;
      width: 8vw;
      height: 0.267vw; }

  .p-s_about__list {
    margin-top: 6.800vw; }
    .p-s_about__list ul {
      display: block; }
      .p-s_about__list ul li {
        width: 100%;
        margin-top: 5.333vw; }
      .p-s_about__list ul li:first-of-type {
        margin-top: 0; } }
/* ================================================

- 

================================================ */
.p-s_about__wrap5 {
  padding: 80px 0; }

.p-s_about__wrap5__sc {
  max-width: 1150px;
  margin: 24px auto 0; }
  .p-s_about__wrap5__sc > ul {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between; }
    .p-s_about__wrap5__sc > ul > li {
      width: 560px; }
      .p-s_about__wrap5__sc > ul > li > dl {
        display: -ms-flexbox;
        display: -webkit-box;
        display: flex;
        -ms-flex-pack: start;
        -webkit-box-pack: start;
                justify-content: flex-start;
        padding: 19px 0 17px;
        font-size: 1.8rem;
        letter-spacing: 0.06em;
        border-bottom: solid 1px #aaaaaa; }
        .p-s_about__wrap5__sc > ul > li > dl > dt {
          -webkit-box-flex: 0;
          -ms-flex: none;
          flex: none;
          width: 150px;
          font-weight: 500;
          color: #a9800d; }
        .p-s_about__wrap5__sc > ul > li > dl > dd {
          -webkit-box-flex: 1;
          -ms-flex: auto;
          flex: auto; }
          .p-s_about__wrap5__sc > ul > li > dl > dd a {
            color: #3a3a3a; }

/* - @media screen */
@media screen and (max-width: 767px) {
  .p-s_about__wrap5 {
    padding: 10.667vw 4vw; }

  .p-s_about__wrap5__sc {
    margin: 2.667vw auto 0; }
    .p-s_about__wrap5__sc > ul {
      display: block; }
      .p-s_about__wrap5__sc > ul > li {
        width: 100%; }
        .p-s_about__wrap5__sc > ul > li > dl {
          display: -ms-flexbox;
          display: -webkit-box;
          display: flex;
          -ms-flex-pack: start;
          -webkit-box-pack: start;
                  justify-content: flex-start;
          padding: 5.467vw 0 5.200vw;
          font-size: 4.2666666667vw; }
          .p-s_about__wrap5__sc > ul > li > dl > dt {
            width: 22.400vw; }
          .p-s_about__wrap5__sc > ul > li > dl > dd {
            letter-spacing: 0.025em; } }
