@charset "UTF-8";
/* ----- H E R O ----- */
.main .hero {
  position: relative;
}
.main .hero .inner {
  position: relative;
}
.main .hero .hero-bg {
  display: block;
  width: 100%;
  height: 165px;
  background: url("../img/top/hero-2.jpg") no-repeat center center/cover;
}
.main .hero .hero-text {
  position: absolute;
  left: clamp(14.6px, 26.72vw - 70.88px, 36px);
  top: 16px;
}
.main .hero .hero-catch {
  width: 68px;
  display: block;
  background-repeat: no-repeat;
  overflow: hidden;
  height: 0 !important;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  background-image: url("../img/top/hero-text.png");
  padding-top: 114.59%;
}
.main .hero .salon-logo {
  position: absolute;
  right: 13px;
  bottom: -57px;
  width: 80px;
  height: 60px;
}
.main {
  /* ----- sec1: 繋ぐ相続サロンとは ----- */
}
.main .sec1 {
  padding: 34px 20px 36px;
  background-color: #fff;
}
.main .sec1 p,
.main .sec1 h3,
.main .sec1 h4,
.main .sec1 h5,
.main .sec1 strong {
  font-family: Georgia, "Hiragino Mincho ProN", "Yu Mincho", serif;
}
.main .sec1 .inner {
  max-width: 700px;
  margin: 0 auto;
}
.main .sec1 .lead {
  font-size: 13px;
  color: #666666;
  text-align: center;
  margin-bottom: 10px;
}
.main .sec1 .salon-title {
  width: 63%;
  max-width: 300px;
  margin: 0 auto 10px;
}
.main .sec1 .salon-title h4 {
  display: block;
  background-repeat: no-repeat;
  overflow: hidden;
  height: 0 !important;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  background-image: url("../img/top/salon-title.png");
  padding-top: 13.65%;
}
.main .sec1 .sub-ttl {
  font-size: 12px;
  color: #666666;
  text-align: center;
  margin-bottom: 19px;
}
.main .sec1 .sec-hdg {
  font-size: 14px;
  font-weight: 700;
  color: #7aaa96;
  border-left: 3px solid #7aaa96;
  padding-left: 10px;
  margin-bottom: 10px;
  line-height: 1.4em;
}
.main .sec1 .txt {
  text-align: center;
  font-size: 13px;
  line-height: 1.5em;
  color: #333333;
  margin-bottom: 22px;
}
.main .sec1 .txt-box {
  text-align: center;
}
.main .sec1 .txt-box h4 {
  font-size: 14px;
  margin-bottom: 8px;
  font-weight: 700;
  color: #275996;
}
.main .sec1 .txt-box p {
  font-size: 12px;
  line-height: 1.5em;
  color: #333333;
}
.main .sec1 .txt-box p u {
  font-weight: 700;
  color: #275996;
  text-decoration: none;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #fff06a));
  background: linear-gradient(transparent 60%, #fff06a 60%);
}
.main {
  /* ----- sec2: 私たちができること ----- */
}
.main .sec2 {
  background-color: #fdf5f7;
  padding: 34px 35px;
}
.main .sec2 .inner {
  background-color: #fff;
  max-width: 700px;
  margin: 0 auto;
  padding: 26px 18px;
  border-bottom: 5px solid #f7ced4;
}
.main .sec2 .title {
  width: 187px;
  margin: -37px auto 15px;
}
.main .sec2 .title h3 {
  display: block;
  background-repeat: no-repeat;
  overflow: hidden;
  height: 0 !important;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  background-image: url("../img/top/sec2-t1.svg");
  padding-top: 10.55%;
}
.main .sec2 .lead-txt {
  font-size: 13px;
  line-height: 1.5em;
  color: #333333;
  margin-bottom: 28px;
}
.main .sec2 .flow-diagram {
  background-color: #fff;
  padding: 24px 16px;
  margin: 0 auto 24px;
  max-width: 363px;
}
.main .sec2 .flow-diagram > div {
  display: block;
  background-repeat: no-repeat;
  overflow: hidden;
  height: 0 !important;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  background-image: url("../img/top/sec2-fig1-sp.png");
  padding-top: 311.18%;
}
.main .sec2 .service-cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
  gap: 16px;
}
.main .sec2 .service-cards .card {
  padding: 12px 14px 24px;
}
.main .sec2 .service-cards .card .card-icon {
  display: block;
  margin: 0 auto 14px;
  width: 60px;
}
.main .sec2 .service-cards .card h4 {
  font-family: Georgia, "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 7px;
  text-align: center;
}
.main .sec2 .service-cards .card p {
  font-size: 13px;
  line-height: 1.5em;
  color: #333333;
}
.main .sec2 .service-cards .card.card1, .main .sec2 .service-cards .card.card2 {
  position: relative;
  display: inline-block;
  border: 1px solid;
}
.main .sec2 .service-cards .card.card1 {
  border-color: #f5c3ce;
  -webkit-box-shadow: 3px 3px 0 #f5c3ce;
          box-shadow: 3px 3px 0 #f5c3ce;
}
.main .sec2 .service-cards .card.card1 h4 {
  color: #ed738c;
}
.main .sec2 .service-cards .card.card2 {
  border-color: #cec1db;
  -webkit-box-shadow: 3px 3px 0 #cec1db;
          box-shadow: 3px 3px 0 #cec1db;
}
.main .sec2 .service-cards .card.card2 h4 {
  color: #9885bc;
}
.main .sec2 .flow-title {
  width: 143px;
  margin: 28px auto;
}
.main .sec2 .flow-title h3 {
  display: block;
  background-repeat: no-repeat;
  overflow: hidden;
  height: 0 !important;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  background-image: url("../img/top/sec2-t2.svg");
  padding-top: 13.79%;
}
.main .sec2 .steps {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
  gap: 20px;
}
.main .sec2 .step {
  --step-color: #e97c95;
  border-bottom: 8px solid #f7ced4;
}
.main .sec2 .step .step-head {
  background-color: #fff;
  text-align: center;
  padding: 24px 20px;
}
.main .sec2 .step .step-head .step-num {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: var(--step-color);
  margin-bottom: 8px;
  line-height: 1em;
}
.main .sec2 .step .step-head .step-num span {
  margin-left: 2px;
  font-size: 16px;
}
.main .sec2 .step .step-head h4 {
  font-size: 18px;
  font-weight: 700;
  color: #4a4a4a;
  line-height: 1.5em;
}
.main .sec2 .step .step-body {
  position: relative;
  background-color: var(--step-color);
  padding: 32px 20px;
}
.main .sec2 .step .step-body::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-bottom: 10px solid var(--step-color);
}
.main .sec2 .step .step-body h5 {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  margin-bottom: 16px;
}
.main .sec2 .step .step-body p {
  font-size: 13px;
  line-height: 1.8em;
  color: #fff;
}
.main .sec2 .step .step-body ul {
  padding-left: 0;
  list-style: none;
}
.main .sec2 .step .step-body ul li {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5em;
  color: #fff;
}
.main .sec2 .step.step1 {
  --step-color: #ec859a;
}
.main .sec2 .step.step2 {
  --step-color: #cea6cb;
}
.main .sec2 .step.step3 {
  --step-color: #9a83bb;
}
.main {
  /* ----- sec3: ごあいさつ ----- */
}
.main .sec3 {
  padding: 34px 35px;
}
.main .sec3 .inner {
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 18px;
}
.main .sec3 .box {
  width: 100%;
}
.main .sec3 .title {
  margin-bottom: 14px;
}
.main .sec3 .title h3 {
  font-size: 22px;
  font-weight: 700;
  color: #e65a88;
  line-height: 1em;
}
.main .sec3 p {
  line-height: 1.5em;
}
.main .sec3 .daihyo {
  display: block;
  width: 50%;
  height: auto;
}
.main .sec3 .sign-block.pc-only {
  display: none;
}
.main .sec3 .sign-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.main .sec3 .sign-block .sign {
  font-family: Georgia, "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 14px;
  line-height: 2em;
}
.main .sec3 .sign-block .name {
  font-family: Georgia, "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 4px;
}

/* ------------------------------------------------------------------------------------------- over 768px (tablet) ----- */
@media only screen and (min-width: 768px) {
  .main {
    /* --- HERO --- */
  }
  .main .hero .hero-bg {
    height: 240px;
  }
  .main .hero .hero-text {
    left: 5%;
    top: 22px;
  }
  .main .hero .hero-catch {
    width: 88px;
  }
  .main .hero .salon-logo {
    right: 20px;
    bottom: -68px;
    width: 100px;
    height: 75px;
  }
  .main {
    /* --- sec1: 繋ぐ相続サロンとは --- */
  }
  .main .sec1 {
    padding: 52px 32px 48px;
  }
  .main .sec1 .inner {
    max-width: 720px;
  }
  .main .sec1 .lead {
    font-size: 14px;
    margin-bottom: 12px;
  }
  .main .sec1 .salon-title {
    width: 260px;
    max-width: none;
    margin-bottom: 12px;
  }
  .main .sec1 .sub-ttl {
    font-size: 13px;
    margin-bottom: 24px;
  }
  .main .sec1 .sec-hdg {
    font-size: 15px;
    margin-bottom: 12px;
  }
  .main .sec1 .txt {
    font-size: 14px;
    line-height: 1.7em;
    margin-bottom: 28px;
  }
  .main .sec1 .txt-box h4 {
    font-size: 15px;
    margin-bottom: 10px;
  }
  .main .sec1 .txt-box p {
    font-size: 13px;
    line-height: 1.7em;
  }
  .main {
    /* --- sec2: 私たちができること --- */
  }
  .main .sec2 {
    padding: 44px 32px;
  }
  .main .sec2 .inner {
    max-width: 720px;
    padding: 32px 24px;
  }
  .main .sec2 .title {
    width: 206px;
    margin-top: -44px;
    margin-bottom: 18px;
  }
  .main .sec2 .lead-txt {
    font-size: 14px;
    line-height: 1.7em;
    margin-bottom: 32px;
  }
  .main .sec2 .flow-diagram {
    padding: 24px 20px;
    margin-bottom: 28px;
    max-width: none;
  }
  .main .sec2 .flow-diagram > div {
    background-image: url("../img/top/sec2-fig1-pc.png");
    padding-top: 30.86%;
  }
  .main .sec2 .service-cards {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    gap: 20px;
  }
  .main .sec2 .service-cards .card {
    width: calc(50% - 10px);
    padding: 16px 18px 28px;
  }
  .main .sec2 .service-cards .card .card-icon {
    width: 64px;
    margin-bottom: 16px;
  }
  .main .sec2 .service-cards .card h4 {
    font-size: 17px;
    margin-bottom: 8px;
  }
  .main .sec2 .service-cards .card p {
    font-size: 14px;
    line-height: 1.6em;
  }
  .main .sec2 .flow-title {
    width: 157px;
    margin: 32px auto;
  }
  .main .sec2 .steps {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
    gap: 16px;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
  .main .sec2 .step {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .main .sec2 .step .step-head {
    padding: 20px 16px;
  }
  .main .sec2 .step .step-head .step-num {
    font-size: 12px;
  }
  .main .sec2 .step .step-head .step-num span {
    font-size: 16px;
  }
  .main .sec2 .step .step-head h4 {
    font-size: 16px;
  }
  .main .sec2 .step .step-body {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 24px 16px;
  }
  .main .sec2 .step .step-body h5 {
    font-size: 14px;
    margin-bottom: 14px;
  }
  .main .sec2 .step .step-body p {
    font-size: 13px;
    line-height: 1.7em;
  }
  .main .sec2 .step .step-body ul li {
    font-size: 13px;
  }
  .main {
    /* --- sec3: ごあいさつ --- */
  }
  .main .sec3 {
    padding: 44px 32px;
  }
  .main .sec3 .inner {
    max-width: none;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .main .sec3 .title {
    margin-bottom: 18px;
  }
  .main .sec3 .title h3 {
    font-size: 24px;
  }
  .main .sec3 p {
    font-size: 15px;
    line-height: 1.7em;
  }
  .main .sec3 .box p {
    font-size: 13px;
    line-height: 1.5em;
  }
  .main .sec3 .daihyo {
    width: 27.23%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
  .main .sec3 .box {
    width: 64.52%;
  }
  .main .sec3 .sign-block.sp-only {
    display: none;
  }
  .main .sec3 .sign-block.pc-only {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 13px;
  }
  .main .sec3 .sign-block.pc-only .sign {
    font-size: 15px;
  }
  .main .sec3 .sign-block.pc-only .name {
    font-size: 26px;
  }
}
/* ------------------------------------------------------------------------------------------- over 1024px ----- */
@media only screen and (min-width: 1024px) {
  .main .hero .hero-bg {
    height: 536px;
  }
  .main .hero .hero-text {
    left: calc(50% - 400px);
    top: 55px;
  }
  .main .hero .hero-text .hero-catch {
    width: 188px;
  }
  .main .hero .salon-logo {
    right: calc(50% - 367px);
    width: 206px;
    height: 154px;
    bottom: -126px;
  }
  .main .sec1 {
    padding: 67px 10px 64px;
  }
  .main .sec1 .lead {
    font-size: 19px;
  }
  .main .sec1 .salon-title {
    width: 352px;
    max-width: none;
  }
  .main .sec1 .sub-ttl {
    font-size: 25px;
  }
  .main .sec1 .txt-box h4 {
    font-size: 25px;
  }
  .main .sec1 .txt-box p {
    font-size: 16px;
  }
  .main .sec2 {
    padding: 77px 10px 66px;
  }
  .main .sec2 .service-cards .card h4 {
    font-size: 22px;
  }
  .main .sec2 .inner {
    max-width: 800px;
    padding-left: 38px;
    padding-right: 38px;
    padding-bottom: 38px;
    margin-bottom: 45px;
    border-bottom-width: 11px;
  }
  .main .sec2 .title {
    width: 302px;
  }
  .main .sec2 .lead-txt {
    margin-bottom: 14px;
  }
  .main .sec2 .flow-diagram {
    padding: 0;
  }
  .main .sec2 .flow-title {
    width: 234px;
    margin-top: 0;
    margin-bottom: 21px;
  }
  .main .sec2 .steps {
    max-width: 800px;
    margin: 0 auto;
  }
  .main .sec2 .step .step-head .step-num {
    font-size: 14px;
  }
  .main .sec2 .step .step-head .step-num span {
    font-size: 16px;
  }
  .main .sec2 .step .step-head h4 {
    font-size: 24px;
  }
  .main .sec2 .step .step-body h5 {
    font-size: 19px;
    line-height: 1.2em;
    min-height: 45.6px;
    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;
  }
  .main .sec3 {
    padding: 53px 10px 28px;
  }
  .main .sec3 .inner {
    max-width: 800px;
  }
}
/* ------------------------------------------------------------------------------------------- over 1200px ----- */
/*# sourceMappingURL=top.css.map */