.section-plan {
  max-width: 110rem;
  margin: 0 auto;
  position: relative;
  padding: 5rem 0;
  z-index: 1; }
  @media only screen and (max-width: 1024px) {
    .section-plan {
      padding: 5rem 0 3rem 0;
      flex-direction: column; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .section-plan {
      padding: 0 0 5rem 0; } }

  .section-plan_header {
    text-align: center;
    margin-bottom: 6rem; }
    @media only screen and (max-width: 1024px) {
      .section-plan_header {
        width: 100%;
        margin: 0 0 4rem; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .section-plan_header {
      margin-bottom: 2rem; } }

    .section-plan_header-ttl {
      font-size: 3.6rem;
      padding: 2rem 0;
      margin-bottom: 2rem;
      font-weight: 400;
      position: relative;
      z-index: 1;
      letter-spacing: .3rem; }
      @media only screen and (max-width: 767px) {
        .section-plan_header-ttl {
          font-size: 2rem;
          padding: 1.5rem 0;
          margin-bottom: 1rem; } }
      .section-plan_header-ttl:after {
        content: "";
        width: 32rem;
        height: 1px;
        background: linear-gradient(90deg, #13276d 0%, #6800b1 50%, #b100b1 100%);
        position: absolute;
        left: 50%;
        bottom: 0;
        margin-left: -16rem; }
        @media only screen and (max-width: 767px) {
          .section-plan_header-ttl:after {
            width: 20rem;
            margin-left: -10rem; } }
      .section-plan_header-ttl span {
        color: #13276d;
        background: linear-gradient(90deg, #13276d 0%, #6800b1 50%, #b100b1 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent; }
    .section-plan_header-price {
      font-size: 1.6rem;
      line-height: 1.2;
      text-align: center; }
      @media only screen and (max-width: 767px) {
        .section-plan_header-price {
          font-size: 1.4rem; } }
      .section-plan_header-price > b {
        font-size: 3rem;
        font-weight: 500; }
        @media only screen and (max-width: 767px) {
          .section-plan_header-price > b {
            font-size: 2.4rem; } }
      .section-plan_header-price span {
        font-size: 1.2rem; }
        @media only screen and (max-width: 767px) {
          .section-plan_header-price span {
            font-size: 1rem;
            display: block; } }
        .section-plan_header-price span b {
          font-size: 1.8rem;
          font-weight: 400; }
          @media only screen and (max-width: 767px) {
            .section-plan_header-price span b {
              font-size: 1.4rem; } }
  .section-plan_txt {
    font-size: 2rem;
    text-align: center;
    margin-bottom: 6rem;
    letter-spacing: .3rem;
    color: #13276d; }
    @media only screen and (max-width: 767px) {
      .section-plan_txt {
        margin: 0 1.5rem 1rem;
        font-size: 1.3rem;
        letter-spacing: .1rem;
        text-align: left; }
        .section-plan_txt br {
          display: none; } }
  .section-plan_other ul {
    display: flex;
    justify-content: center; }
    .section-plan_other ul li {
      max-width: 44rem;
      margin: 0 1rem; }
  .section-plan_fig {
    margin-bottom: 4rem;
    position: relative; }
    .section-plan_fig figcaption {
      position: absolute;
      right: 1rem;
      bottom: .5rem;
      font-size: 1rem;
      font-family: "Barlow", "Noto Sans JP", sans-serif;
      color: #fff; }
    @media only screen and (max-width: 767px) {
      .section-plan_fig {
        margin-bottom: 1.5rem; } }
  @media only screen and (max-width: 1024px) {
    .section-plan_inner {
      padding: 0 2rem; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .section-plan_inner {
      flex-direction: column;
      padding: 0 1rem; } }

  .section-plan_inner .div-more {
    max-width: 87rem;
    font-family: "Barlow", "Noto Sans JP", sans-serif;
    border-radius: .5rem;
    padding: 3rem;
    margin: 0 auto 10rem;
    background: rgba(164, 78, 201, 0.05);
    position: relative; }
    @media only screen and (max-width: 767px) {
      .section-plan_inner .div-more {
        margin-bottom: 6.5rem;
        padding: 2.5rem 1.5rem; } }
    .section-plan_inner .div-more:after {
      content: "+";
      font-size: 8rem;
      position: absolute;
      left: 0;
      bottom: -9rem;
      height: 9rem;
      width: 100%;
      text-align: center;
      color: #a44ec9;
      display: flex;
      align-items: center;
      justify-content: center; }
      @media only screen and (max-width: 767px) {
        .section-plan_inner .div-more:after {
          font-size: 6rem;
          bottom: -6rem;
          height: 6rem; } }
    .section-plan_inner .div-more h4 {
      font-size: 2rem;
      color: #6800b1;
      text-align: center;
      padding-bottom: 3rem;
      display: flex;
      flex-direction: column; }
      @media only screen and (max-width: 767px) {
        .section-plan_inner .div-more h4 {
          font-size: 1.5rem;
          padding-bottom: 1.5rem; } }
      .section-plan_inner .div-more h4 span {
        background: #fff;
        border: 0.1rem solid #6800b1;
        font-size: 1.2rem;
        padding: .2rem .8rem;
        font-weight: 400;
        margin: .5rem auto 0 auto; }
    .section-plan_inner .div-more dl dt {
      font-size: 1.3rem;
      color: #a44ec9;
      white-space: nowrap;
      margin-bottom: 3rem;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      @media only screen and (max-width: 767px) {
        .section-plan_inner .div-more dl dt {
          flex-direction: column;
          margin: 1rem 0; } }
      .section-plan_inner .div-more dl dt:after {
        content: "";
        width: 100%;
        height: 1px;
        background: rgba(164, 78, 201, 0.4);
        margin-left: 1.5rem; }
        @media only screen and (max-width: 767px) {
          .section-plan_inner .div-more dl dt:after {
            margin-left: 0; } }
    .section-plan_inner .div-more dl dd {
      width: 100%; }
      .section-plan_inner .div-more dl dd ul {
        display: flex;
        justify-content: center;
        margin-bottom: 3rem; }
        @media only screen and (max-width: 767px) {
          .section-plan_inner .div-more dl dd ul {
            flex-direction: column;
            align-items: center;
            margin-bottom: 1rem; } }
        .section-plan_inner .div-more dl dd ul li {
          font-size: 1.5rem;
          border-bottom: 0.6rem solid rgba(164, 78, 201, 0.5);
          margin: 0 4rem; }
          @media only screen and (max-width: 767px) {
            .section-plan_inner .div-more dl dd ul li {
              font-size: 1.3rem;
              margin: .5rem 0;
              border-width: .3rem; } }
          .section-plan_inner .div-more dl dd ul li b {
            font-size: 1.8rem; }
            @media only screen and (max-width: 767px) {
              .section-plan_inner .div-more dl dd ul li b {
                font-size: 1.5rem; } }
    .section-plan_inner .div-more p {
      text-align: center; }
      @media only screen and (max-width: 767px) {
        .section-plan_inner .div-more p {
          font-size: 1.2rem;
          line-height: 1.2; } }
  .section-plan_inner .div-plan {
    font-family: "Barlow", "Noto Sans JP", sans-serif;
    border-radius: .5rem;
    background: rgba(164, 78, 201, 0.1);
    padding: 5rem;
    margin-bottom: 10rem;
    position: relative; }
    .section-plan_inner .div-plan:after {
      content: "+";
      font-size: 8rem;
      position: absolute;
      left: 0;
      bottom: -9rem;
      height: 9rem;
      width: 100%;
      text-align: center;
      color: #a44ec9;
      display: flex;
      align-items: center;
      justify-content: center; }
      @media only screen and (max-width: 767px) {
        .section-plan_inner .div-plan:after {
          font-size: 6rem;
          bottom: -6rem;
          height: 6rem; } }
    @media only screen and (max-width: 1024px) {
      .section-plan_inner .div-plan {
        padding: 5rem 2rem; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .section-plan_inner .div-plan {
      padding: 2rem 0 1rem;
      margin-bottom: 6.8rem; } }

    .section-plan_inner .div-plan h4 {
      font-size: 2rem;
      color: #6800b1;
      text-align: center;
      padding-bottom: 3rem; }
      @media only screen and (max-width: 767px) {
        .section-plan_inner .div-plan h4 {
          font-size: 1.5rem;
          padding-bottom: 1.5rem; } }
    .section-plan_inner .div-plan dl {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      max-width: 84rem;
      margin: 0 auto; }
      .section-plan_inner .div-plan dl div {
        width: 10rem;
        min-height: 10rem;
        margin: 0 2rem 1rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        position: relative;
        z-index: 1; }
        @media only screen and (max-width: 767px) {
          .section-plan_inner .div-plan dl div {
            width: 8rem;
            min-height: 8rem;
            margin: 0 .4rem 1rem; } }
        .section-plan_inner .div-plan dl div:before {
          content: "";
          width: 10rem;
          height: 10rem;
          border-radius: 50%;
          background: #fff;
          position: absolute;
          left: 50%;
          top: 50%;
          margin: -5rem 0 0 -5rem;
          z-index: -1; }
          @media only screen and (max-width: 767px) {
            .section-plan_inner .div-plan dl div:before {
              width: 8rem;
              height: 8rem;
              margin: -4rem 0 0 -4rem; } }
        .section-plan_inner .div-plan dl div dt {
          font-size: 1.2rem;
          line-height: 1.2;
          text-align: center;
          font-weight: 400; }
          .section-plan_inner .div-plan dl div dt small {
            font-size: 1rem;
            letter-spacing: 0; }
          @media only screen and (max-width: 767px) {
            .section-plan_inner .div-plan dl div dt {
              font-size: .9rem; } }
        .section-plan_inner .div-plan dl div dd {
          text-align: center; }
          .section-plan_inner .div-plan dl div dd img {
            height: 8rem; }
            @media only screen and (max-width: 767px) {
              .section-plan_inner .div-plan dl div dd img {
                height: 6rem; } }
  .section-plan_inner .div-flow {
    margin-bottom: 5rem; }
    @media only screen and (max-width: 767px) {
      .section-plan_inner .div-flow {
        margin-bottom: 2rem; } }
    .section-plan_inner .div-flow ol {
      display: flex;
      justify-content: center; }
      @media only screen and (max-width: 767px) {
        .section-plan_inner .div-flow ol {
          flex-direction: column; } }
      .section-plan_inner .div-flow ol li {
        width: 12rem;
        height: 6rem;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        margin: 1rem;
        background: #fff;
        border: 0.2rem solid rgba(164, 78, 201, 0.3);
        background: #fff;
        font-size: 1.6rem; }
        @media only screen and (max-width: 1024px) {
          .section-plan_inner .div-flow ol li {
            font-size: 1.4rem; } }
        .section-plan_inner .div-flow ol li:nth-of-type(1):after {
          display: none; }
        .section-plan_inner .div-flow ol li.threw {
          border-color: rgba(164, 78, 201, 0.09);
          color: rgba(0, 0, 0, 0.3); }
          .section-plan_inner .div-flow ol li.threw:before {
            content: "";
            width: calc(100% + 2.5rem);
            height: .3rem;
            background: #a44ec9;
            position: absolute;
            left: -1.5rem;
            top: 50%;
            margin-top: -.15rem; }
            @media only screen and (max-width: 767px) {
              .section-plan_inner .div-flow ol li.threw:before {
                left: 50%;
                top: -1.5rem;
                margin-left: -.15rem;
                height: calc(100% + 2.5rem);
                width: .3rem;
                margin-top: 0; } }
          .section-plan_inner .div-flow ol li.threw:nth-of-type(n):after {
            display: none; }
        @media only screen and (max-width: 767px) {
          .section-plan_inner .div-flow ol li {
            width: 100%;
            height: 4rem;
            font-size: 1.4rem;
            margin: 1rem 0; } }
        .section-plan_inner .div-flow ol li:after {
          content: "";
          border-width: .6rem;
          border-style: solid;
          border-color: transparent transparent transparent #a44ec9;
          position: absolute;
          left: -1.5rem;
          top: 50%;
          margin-top: -.6rem; }
          @media only screen and (max-width: 767px) {
            .section-plan_inner .div-flow ol li:after {
              content: "";
              border-width: .6rem;
              border-style: solid;
              border-color: #a44ec9 transparent transparent transparent;
              position: absolute;
              top: -1rem;
              left: 50%;
              margin-left: -.6rem; } }
        .section-plan_inner .div-flow ol li span {
          font-family: "Barlow", "Noto Sans JP", sans-serif;
          position: absolute;
          font-size: 1.2rem;
          width: 100%;
          left: 0;
          top: -.5em;
          line-height: 1;
          color: #6800b1;
          text-align: center; }
          @media only screen and (max-width: 767px) {
            .section-plan_inner .div-flow ol li span {
              font-size: 1rem; } }
  .section-plan_inner .div-plus {
    max-width: 87rem;
    font-family: "Barlow", "Noto Sans JP", sans-serif;
    border-radius: .5rem;
    padding: 3rem;
    margin: 0 auto 10rem;
    border: 0.5rem solid rgba(164, 78, 201, 0.05); }
    @media only screen and (max-width: 767px) {
      .section-plan_inner .div-plus {
        padding: 2.5rem 1.5rem;
        margin-bottom: 2rem; } }
    .section-plan_inner .div-plus h4 {
      font-size: 2rem;
      color: #6800b1;
      text-align: center;
      padding-bottom: 3rem;
      display: flex;
      flex-direction: column; }
      @media only screen and (max-width: 767px) {
        .section-plan_inner .div-plus h4 {
          font-size: 1.5rem;
          padding-bottom: 1.5rem; } }
    .section-plan_inner .div-plus dl {
      display: flex;
      justify-content: center; }
      .section-plan_inner .div-plus dl div {
        margin: 0 3rem 5rem;
        position: relative;
        min-width: 10rem; }
        @media only screen and (max-width: 767px) {
          .section-plan_inner .div-plus dl div {
            min-width: 8rem;
            margin: 0 .5rem 3rem; } }
        .section-plan_inner .div-plus dl div:before {
          content: "";
          width: 10rem;
          height: 10rem;
          border-radius: 50%;
          background: rgba(164, 78, 201, 0.05);
          position: absolute;
          left: 50%;
          top: 0;
          margin: 0 0 0 -5rem;
          z-index: -1; }
          @media only screen and (max-width: 767px) {
            .section-plan_inner .div-plus dl div:before {
              width: 8rem;
              height: 8rem;
              margin: 0 0 0 -4rem; } }
        .section-plan_inner .div-plus dl div dt {
          font-size: 1.5rem;
          text-align: center;
          font-weight: 400;
          line-height: 1.2; }
          @media only screen and (max-width: 767px) {
            .section-plan_inner .div-plus dl div dt {
              font-size: 1.2rem; } }
          .section-plan_inner .div-plus dl div dt b {
            font-size: 1.8rem; }
            @media only screen and (max-width: 767px) {
              .section-plan_inner .div-plus dl div dt b {
                font-size: 1.5rem; } }
        .section-plan_inner .div-plus dl div dd {
          height: 10rem;
          text-align: center;
          line-height: 10rem;
          margin-bottom: .5rem; }
          @media only screen and (max-width: 767px) {
            .section-plan_inner .div-plus dl div dd {
              line-height: 8rem;
              height: 8rem; } }
          .section-plan_inner .div-plus dl div dd img {
            height: 8rem; }
            @media only screen and (max-width: 767px) {
              .section-plan_inner .div-plus dl div dd img {
                height: 6rem; } }
    .section-plan_inner .div-plus ul {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      margin-bottom: 3rem; }
      @media only screen and (max-width: 767px) {
        .section-plan_inner .div-plus ul {
          flex-direction: column;
          align-items: center;
          margin-bottom: 1rem;
          text-align: center; } }
      .section-plan_inner .div-plus ul li {
        font-size: 1.5rem;
        border-bottom: 0.6rem solid rgba(164, 78, 201, 0.5);
        margin: 0 1rem; }
        .section-plan_inner .div-plus ul li small {
          font-size: 1rem; }
          @media only screen and (max-width: 767px) {
            .section-plan_inner .div-plus ul li small {
              font-size: .9rem; } }
        @media only screen and (max-width: 767px) {
          .section-plan_inner .div-plus ul li {
            font-size: 1.1rem;
            line-height: 1.2;
            letter-spacing: 0;
            margin: .5rem 0;
            border-width: .3rem; } }
        .section-plan_inner .div-plus ul li b {
          font-size: 1.8rem; }
          @media only screen and (max-width: 767px) {
            .section-plan_inner .div-plus ul li b {
              font-size: 1.4rem; } }
    .section-plan_inner .div-plus p {
      text-align: center; }
      @media only screen and (max-width: 767px) {
        .section-plan_inner .div-plus p {
          font-size: 1.2rem;
          text-align: left;
          line-height: 1.2; } }
