.container-header {
  display: flex;
  flex-direction: column;
  align-items: center; }
  @media only screen and (max-width: 767px) {
    .container-header {
      padding-top: 2rem; } }
  .container-header-ttl {
    font-size: 4.8rem;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      .container-header-ttl {
        font-size: 3rem; } }
    .container-header-ttl span {
      font-size: 2rem; }
  .container-header-en {
    color: #3871af;
    font-size: 2rem;
    font-weight: 700; }
    @media only screen and (max-width: 767px) {
      .container-header-en {
        font-size: 1.6rem; } }
  .container-header-illust {
    width: 26.6rem;
    margin-top: -10rem;
    position: relative;
    bottom: -12rem; }
    @media only screen and (max-width: 767px) {
      .container-header-illust {
        margin-top: -5rem;
        bottom: -6rem; } }
.container-inner {
  padding: 3rem 0 0; }
  @media only screen and (max-width: 767px) {
    .container-inner {
      padding: 2rem 0 0; } }
  .container-inner-txt p {
    text-align: center; }
    @media only screen and (max-width: 767px) {
      .container-inner-txt p strong {
        font-size: 2.4rem; } }
  @media only screen and (max-width: 767px) {
    .container-inner-txt {
      padding: 0 2rem; } }
  .container-inner .aside-contact {
    background: #f4f0e9;
    position: relative;
    padding-bottom: 20rem; }
    @media only screen and (max-width: 767px) {
      .container-inner .aside-contact {
        padding-bottom: 10rem; } }
    .container-inner .aside-contact-mes-illust {
      position: relative;
      z-index: 2; }
    .container-inner .aside-contact:before {
      content: "";
      background: url("../../img/common/bg_nami.svg") no-repeat;
      background-size: 100% 100%;
      width: 100%;
      height: 10rem;
      position: absolute;
      left: 0;
      top: -0.1rem;
      transform: scaleY(-1);
      z-index: 1; }
      @media only screen and (max-width: 767px) {
        .container-inner .aside-contact:before {
          height: 5rem; } }
    .container-inner .aside-contact:after {
      content: "";
      background: url("../../img/common/bg_nami.svg") no-repeat;
      background-size: 100% 100%;
      width: 100%;
      height: 10rem;
      position: absolute;
      left: 0;
      bottom: -0.1rem; }
      @media only screen and (max-width: 767px) {
        .container-inner .aside-contact:after {
          height: 5rem; } }

#wrap > .aside-contact {
  position: relative;
  top: -15rem;
  margin-bottom: -15rem;
  padding-top: 0; }
  @media only screen and (max-width: 767px) {
    #wrap > .aside-contact {
      top: -10rem;
      margin-bottom: -10rem; } }

.section-check {
  padding: 6rem 2rem 10rem 2rem;
  background: #4190c2; }
  @media only screen and (max-width: 767px) {
    .section-check {
      padding: 3rem 1.5rem 9rem; } }
  .section-check-header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; }
    .section-check-header-en {
      font-size: 2rem;
      line-height: 1.1;
      font-weight: 700;
      color: #fbb03b; }
    .section-check-header-ttl {
      font-size: 3.6rem;
      line-height: 1.3;
      color: #fff;
      border-bottom: 0.5rem solid #094b95; }
      @media only screen and (max-width: 767px) {
        .section-check-header-ttl {
          font-size: 2.4rem; } }
  .section-check-inner {
    margin: 0 auto;
    padding: 6rem 3rem 1rem; }
    @media only screen and (max-width: 767px) {
      .section-check-inner {
        padding: 5rem 1.5rem 1rem; } }
    .section-check-inner dl {
      display: flex;
      justify-content: center; }
      @media only screen and (max-width: 767px) {
        .section-check-inner dl {
          flex-direction: column; } }
      .section-check-inner dl div {
        margin: 0 1rem 4rem; }
        @media only screen and (max-width: 767px) {
          .section-check-inner dl div {
            margin: 0 0 2.5rem; } }
        .section-check-inner dl div dt {
          background: #fff;
          border-radius: 1rem;
          padding: 1.5rem 2rem;
          font-size: 2rem;
          margin-bottom: 1.5rem;
          text-align: center;
          position: relative; }
          @media only screen and (max-width: 767px) {
            .section-check-inner dl div dt {
              font-size: 1.7rem; } }
          .section-check-inner dl div dt:after {
            content: "";
            border-width: .8rem;
            border-color: #fff transparent transparent;
            border-style: solid;
            position: absolute;
            left: 50%;
            margin-left: -.8rem;
            bottom: -1.5rem; }
          @media only screen and (max-width: 767px) {
            .section-check-inner dl div dt {
              line-height: 1.3; } }
        .section-check-inner dl div dd figure {
          text-align: center;
          margin: 1rem 0 3rem; }
          .section-check-inner dl div dd figure img {
            width: auto;
            height: 19rem; }
        .section-check-inner dl div dd span {
          width: 3rem;
          height: 3rem;
          border-radius: 50%;
          background: #fff;
          display: flex;
          justify-content: center;
          align-items: center;
          font-size: 2.2rem;
          position: relative;
          margin: auto;
          color: #fbb03b;
          font-weight: 700;
          top: -1.5rem; }
        .section-check-inner dl div dd div {
          font-size: 2rem;
          line-height: 1.5;
          padding: 0 2rem 2rem;
          background: #094b95;
          color: #fff;
          border-radius: 1rem;
          text-align: center; }
          .section-check-inner dl div dd div strong {
            color: #fbb03b; }
          @media only screen and (max-width: 767px) {
            .section-check-inner dl div dd div {
              font-size: 1.7rem;
              padding: 0 .5rem 1.5rem; } }
.section-work {
  padding: 0 0 10rem 0;
  background: rgba(123, 185, 223, 0.7); }
  @media only screen and (max-width: 767px) {
    .section-work {
      padding: 0; } }
  .section-work-header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    top: -5rem; }
    @media only screen and (max-width: 767px) {
      .section-work-header {
        margin-bottom: -3rem; } }
    .section-work-header-en {
      font-size: 2rem;
      line-height: 1;
      font-weight: 700;
      color: #fbb03b; }
    .section-work-header-ttl {
      font-size: 3.2rem;
      text-align: center;
      line-height: 1.2;
      background: #132b51;
      color: #fff;
      padding: 1rem 2.5rem;
      border-radius: 10rem;
      position: relative; }
      @media only screen and (max-width: 767px) {
        .section-work-header-ttl {
          font-size: 2rem; } }
      .section-work-header-ttl:before, .section-work-header-ttl:after {
        content: "";
        background-size: 100% auto;
        background-repeat: no-repeat;
        position: absolute;
        bottom: 0; }
      .section-work-header-ttl:before {
        width: 7.4rem;
        height: 10rem;
        background-image: url("../../img/about/icon_works1.png");
        left: -3rem; }
        @media only screen and (max-width: 767px) {
          .section-work-header-ttl:before {
            left: -2.5rem; } }
      .section-work-header-ttl:after {
        width: 3.9rem;
        height: 10rem;
        background-image: url("../../img/about/icon_works2.png");
        right: -3rem; }
        @media only screen and (max-width: 767px) {
          .section-work-header-ttl:after {
            right: -2.5rem; } }
  .section-work-txt {
    text-align: center;
    font-size: 1.6rem;
    padding-bottom: 8rem; }
    @media only screen and (max-width: 767px) {
      .section-work-txt {
        padding: 0 2rem 2.5rem; } }
  .section-work-inner {
    display: flex;
    justify-content: center; }
    @media only screen and (max-width: 767px) {
      .section-work-inner {
        flex-direction: column; } }
    .section-work-inner .article-work {
      width: 30rem;
      margin: 0 1rem; }
      @media only screen and (max-width: 767px) {
        .section-work-inner .article-work {
          width: 28rem;
          margin: 0 1rem 3rem; } }
      .section-work-inner .article-work-ttl {
        background: #4190c2;
        color: #fff;
        font-size: 2.4rem;
        line-height: 1.3;
        padding: 1.2rem 2rem;
        border-radius: 8rem;
        margin-bottom: 2rem;
        text-align: center; }
        @media only screen and (max-width: 767px) {
          .section-work-inner .article-work-ttl {
            font-size: 2rem; } }
      .section-work-inner .article-work-img {
        width: 100%;
        max-width: 28rem;
        height: auto;
        aspect-ratio: 1 / 1;
        border: .8rem solid #fff;
        border-radius: 2.5rem;
        overflow: hidden;
        margin: 0 auto 1.5rem;
        background-size: cover;
        background-position: 50% 50%;
        background-repeat: no-repeat; }
      .section-work-inner .article-work p {
        font-size: 1.6rem;
        padding: 0 1rem 2rem; }
.section-message {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10rem 2rem 10rem 2rem; }
  @media only screen and (max-width: 767px) {
    .section-message {
      padding: 2rem 2rem 5rem;
      flex-direction: column; } }
  .section-message-header {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    flex-shrink: 0;
    margin-right: 5rem; }
    @media only screen and (max-width: 767px) {
      .section-message-header {
        margin: 0 auto 2rem; } }
    .section-message-header-fig {
      width: 27rem;
      height: 27rem;
      border-radius: 50%;
      background-size: cover;
      background-position: 50% 50%;
      border: 0.8rem solid #f4f0e9;
      margin: 0 auto; }
    .section-message-header-en {
      font-size: 6.4rem;
      font-weight: 700;
      color: #3871af;
      line-height: 1.2; }
    .section-message-header-ttl {
      font-size: 1.6rem; }
  .section-message-inner {
    max-width: 60rem; }
    .section-message-inner p {
      font-size: 1.6rem;
      line-height: 1.8;
      padding-bottom: 1.5rem; }
      .section-message-inner p.right {
        text-align: right;
        font-weight: 600; }
        .section-message-inner p.right span {
          font-size: 1.3rem; }
.section-about {
  padding: 8rem 2rem 12rem; }
  @media only screen and (max-width: 767px) {
    .section-about {
      padding: 5rem 1.5rem; } }
  .section-about-header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 4rem; }
    @media only screen and (max-width: 767px) {
      .section-about-header {
        margin-bottom: 2.5rem; } }
    .section-about-header-illust {
      max-width: 41.8rem;
      margin-bottom: 3rem; }
      @media only screen and (max-width: 767px) {
        .section-about-header-illust {
          margin-bottom: 1.5rem; } }
    .section-about-header-ttl {
      font-size: 3.2rem;
      line-height: 1.1; }
      @media only screen and (max-width: 767px) {
        .section-about-header-ttl {
          font-size: 2.4rem;
          text-align: center; } }
  .section-about-txt {
    max-width: 90rem;
    margin: 0 auto; }
    .section-about-txt p {
      font-size: 1.6rem;
      line-height: 1.9;
      padding-bottom: 2rem; }
      .section-about-txt p.center {
        text-align: center; }
      .section-about-txt p strong {
        text-align: center;
        font-size: 2rem;
        border-bottom: 0.4rem solid #fbb03b; }
        @media only screen and (max-width: 767px) {
          .section-about-txt p strong {
            font-size: 1.8rem; } }
  .section-about-inner {
    max-width: 90rem;
    margin: 0 auto;
    background: #f4f0e9;
    border-radius: 1.5rem;
    padding: 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: stretch; }
    @media only screen and (max-width: 767px) {
      .section-about-inner {
        flex-direction: column; } }
    .section-about-inner dt {
      width: 22rem;
      color: #fff;
      background: #3871af;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 2.6rem;
      line-height: 1.4;
      flex-shrink: 0;
      text-align: center;
      border-radius: 1rem; }
      @media only screen and (max-width: 767px) {
        .section-about-inner dt {
          width: 100%;
          padding: 2rem; }
          .section-about-inner dt br {
            display: none; } }
    .section-about-inner dd {
      width: 100%;
      line-height: 1.8;
      padding: 3rem; }
      @media only screen and (max-width: 767px) {
        .section-about-inner dd {
          padding: 2rem 0 0; } }
      .section-about-inner dd ul li {
        display: flex;
        align-items: center; }
        @media only screen and (max-width: 767px) {
          .section-about-inner dd ul li {
            flex-direction: column;
            margin-bottom: 1.5rem; } }
        .section-about-inner dd ul li span {
          width: 3rem;
          height: 3rem;
          background: #fff;
          border-radius: 50%;
          display: flex;
          justify-content: center;
          align-items: center;
          flex-shrink: 0;
          margin-right: 1rem;
          font-size: 2.6rem;
          color: #fbb03b;
          font-weight: 600; }
          @media only screen and (max-width: 767px) {
            .section-about-inner dd ul li span {
              margin: 0 auto .5rem; } }
        .section-about-inner dd ul li strong {
          font-size: 2.7rem;
          font-weight: 700;
          margin-right: 1rem;
          flex-shrink: 0; }
          @media only screen and (max-width: 767px) {
            .section-about-inner dd ul li strong {
              line-height: 1.2;
              font-size: 2.4rem;
              margin: 0 auto .5rem; } }
        .section-about-inner dd ul li p {
          font-size: 1.6rem;
          color: #3871af; }
          @media only screen and (max-width: 767px) {
            .section-about-inner dd ul li p {
              text-align: center; } }
.section-reviews {
  background: #fbb03b;
  padding: 3rem 0 18rem 0;
  position: relative;
  z-index: 1; }
  @media only screen and (max-width: 767px) {
    .section-reviews {
      padding: 0 0 10rem; } }
  .section-reviews:after {
    content: "";
    width: 100%;
    height: 2.5rem;
    background: url("../../img/common/bg_curve_o.svg") no-repeat;
    background-size: 100% 100%;
    transform: scaleY(-1);
    position: absolute;
    top: -2.4rem;
    left: 0;
    z-index: -1; }
  .section-reviews-header {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    padding-bottom: 5rem; }
    .section-reviews-header-en {
      font-size: 6.4rem;
      font-weight: 700;
      color: #fff;
      line-height: 1.2; }
    .section-reviews-header-ttl {
      font-size: 1.6rem; }
  .section-reviews-inner {
    display: flex;
    justify-content: center; }
    .section-reviews-inner .article-reviews {
      width: 30rem;
      margin: 0 2rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      color: #fff; }
      .section-reviews-inner .article-reviews-fig {
        width: 14rem;
        height: 14rem;
        background: #fff;
        border-radius: 50%;
        margin: 0 auto 1.5rem; }
      .section-reviews-inner .article-reviews-header {
        padding: 0 0 2rem;
        text-align: center; }
        .section-reviews-inner .article-reviews-header > p {
          line-height: 1.3;
          text-align: center; }
        .section-reviews-inner .article-reviews-header-ttl {
          font-size: 1.6rem;
          line-height: 1.3; }
          .section-reviews-inner .article-reviews-header-ttl strong {
            font-size: 2.4rem; }
      .section-reviews-inner .article-reviews p {
        font-size: 1.6rem; }
.section-step {
  max-width: 110rem;
  margin: 0 auto;
  padding: 10rem 2rem 8rem;
  position: relative;
  z-index: 2; }
  @media only screen and (max-width: 767px) {
    .section-step {
      padding: 5rem 1.5rem; } }
  .section-step-header {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-bottom: 6rem;
    position: relative; }
    @media only screen and (max-width: 767px) {
      .section-step-header {
        margin-bottom: 3rem; } }
    .section-step-header-ttl {
      font-size: 1.6rem;
      line-height: 1; }
    .section-step-header-en {
      font-size: 6.4rem;
      line-height: 1.3;
      font-weight: 700;
      color: #3871af; }
  .section-step-inner {
    display: flex;
    justify-content: center;
    flex-wrap: wrap; }
    .section-step-inner > div {
      background: #f4f0e9;
      border-radius: 1rem;
      width: 24rem;
      margin: 0 1rem 2rem;
      position: relative;
      display: flex;
      flex-direction: column; }
      @media only screen and (max-width: 1024px) {
        .section-step-inner > div {
          width: 22rem; } }
  @media only screen and (max-width: 1024px) and (max-width: 767px) {
    .section-step-inner > div {
      width: 28rem; } }

      .section-step-inner > div:after {
        content: "\e5c8";
        font-family: "Material Symbols Rounded";
        color: #7bb9df;
        font-size: 3rem;
        position: absolute;
        right: -2rem;
        top: 2rem; }
        @media only screen and (max-width: 767px) {
          .section-step-inner > div:after {
            content: "\e5db";
            right: 50%;
            margin-right: -.5em;
            line-height: 1;
            top: auto;
            bottom: -2rem; } }
      .section-step-inner > div:nth-last-of-type(1):after {
        display: none; }
      .section-step-inner > div dt {
        background: #3871af;
        color: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        padding: 1.5rem;
        border-radius: 1rem 1rem 0 0;
        font-size: 2.4rem;
        line-height: 1.2;
        text-align: center; }
        .section-step-inner > div dt span {
          color: #132b51;
          font-size: 1.6rem;
          margin-bottom: .3rem; }
      .section-step-inner > div dd {
        font-size: 1.6rem;
        padding: 1.5rem; }
