/* from _mainVisual */
.mainVisual {
  position: relative; }
  .mainVisual__back {
    overflow: hidden;
    width: 100%;
    position: relative;
    height: 90vh; }
    @media screen and (max-width: 1023px) {
      .mainVisual__back {
        height: auto; } }
    .mainVisual__back::before {
      content: "";
      display: block;
      padding-top: 70%; }
      @media screen and (max-width: 1023px) {
        .mainVisual__back::before {
          padding-top: 58%; } }
      @media screen and (max-width: 767px) {
        .mainVisual__back::before {
          padding-top: 71vh; } }
    .mainVisual__back img {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 100%;
      height: 100%;
      object-fit: cover; }
      @media screen and (max-width: 1023px) {
        .mainVisual__back img {
          object-fit: contain;
          height: auto;
          top: 0;
          transform: translate(-50%, 0%); } }
  .mainVisual__title {
    color: #fff;
    position: absolute;
    top: 45%;
    transform: translateY(-50%);
    margin-left: 10%;
    font-weight: normal;
    width: 50%; }
    @media screen and (max-width: 1023px) {
      .mainVisual__title {
        margin-left: 5%;
        width: 60%;
        top: 40%; } }
    @media screen and (max-width: 767px) {
      .mainVisual__title {
        margin-right: 5%;
        width: 90%;
        background: rgba(40, 70, 154, 0.8);
        padding: 20px;
        top: 50%; } }
    .mainVisual__title--small {
      font-size: 2.2rem; }
      @media screen and (max-width: 1023px) {
        .mainVisual__title--small {
          font-size: 1.6rem; } }
    .mainVisual__title--large {
      font-size: 4.0rem; }
      @media screen and (max-width: 1023px) {
        .mainVisual__title--large {
          font-size: 3.0rem; } }
      @media screen and (max-width: 767px) {
        .mainVisual__title--large {
          font-size: 2.2rem; } }
      .mainVisual__title--large .product {
        float: right;
        padding: 10px 20px 10px 40px;
        margin: 20px 20px 20px 30px;
        position: relative; }
        @media screen and (max-width: 1023px) {
          .mainVisual__title--large .product {
            padding: 10px 0 10px 40px; } }
        @media screen and (max-width: 767px) {
          .mainVisual__title--large .product {
            margin: 30px 0 0 1%;
            float: none;
            width: 50%;
            position: absolute;
            top: 90%;
            left: 50%;
            transform: translateX(-50%); } }
        .mainVisual__title--large .product img {
          width: 50%; }
          @media screen and (max-width: 1023px) {
            .mainVisual__title--large .product img {
              width: 47%; } }
          @media screen and (max-width: 767px) {
            .mainVisual__title--large .product img {
              width: 60px; } }
        .mainVisual__title--large .product::before {
          content: "";
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          border-left: 1px solid #fff;
          border-right: 1px solid #fff;
          transform: skewX(-30deg);
          width: 90%;
          height: 81%; }
          @media screen and (max-width: 767px) {
            .mainVisual__title--large .product::before {
              width: 147px; } }
      .mainVisual__title--large::after {
        content: "";
        display: block;
        height: 0;
        clear: right; }

.header {
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  padding: 10px 15px;
  text-align: center;
  z-index: 1;
  width: 30%; }
  .header__logo {
    margin: 0 auto; }

.lead {
  background: #fff;
  padding: 50px 85px;
  transform: translateY(-20%);
  font-size: 1.8rem;
  width: 60%;
  line-height: 1.8;
  box-shadow: 5px 5px 20px 1px rgba(40, 70, 154, 0.2); }
  @media screen and (max-width: 1023px) {
    .lead {
      width: 90%;
      font-size: 1.6rem;
      padding: 30px 35px; } }
  @media screen and (max-width: 767px) {
    .lead {
      width: 100%;
      transform: translateY(0);
      font-size: 1.6rem;
      box-shadow: 0 0 0 0 rgba(40, 70, 154, 0.2); } }

.normalSecton {
  width: 100%; }
  .normalSecton__inner {
    padding: 50px 0;
    max-width: 1200px;
    width: 90%;
    margin: 0 auto; }
  .normalSecton p {
    line-height: 2.2;
    margin-bottom: 20px; }

.back--blue {
  background: #F1F5FC; }

.sectionNo01 {
  position: relative; }
  @media screen and (max-width: 767px) {
    .sectionNo01 {
      overflow: hidden; } }
  .sectionNo01__inner {
    padding: 0 0 50px 0;
    margin-top: -50px;
    max-width: 1200px;
    width: 90%;
    margin: 0 auto; }
  .sectionNo01::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 670px;
    height: 670px;
    background: url("../images/geometry.png") no-repeat 9% 65%; }
  .sectionNo01::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 670px;
    height: 670px;
    background: url("../images/geometry.png") no-repeat 91% 3%; }
  .sectionNo01__title {
    color: #28469A;
    font-size: 4.3rem;
    font-weight: normal;
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      .sectionNo01__title {
        font-size: 2.6rem;
        padding: 50px 0 0 0;
        margin-bottom: 30px; } }
  .sectionNo01__cont {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .sectionNo01__cont--left {
      width: 60%; }
      @media screen and (max-width: 767px) {
        .sectionNo01__cont--left {
          width: 100%; } }
    .sectionNo01__cont--right {
      width: 38%; }
      @media screen and (max-width: 767px) {
        .sectionNo01__cont--right {
          width: 100%;
          margin-top: 30px; } }
      .sectionNo01__cont--right figure {
        position: relative; }
        .sectionNo01__cont--right figure img {
          position: relative;
          z-index: 1; }
        .sectionNo01__cont--right figure::before {
          content: "";
          width: 100%;
          height: 85%;
          background: #fff;
          display: block;
          position: absolute;
          top: 40px;
          left: 40px;
          z-index: 0; }
      .sectionNo01__cont--right figcaption {
        margin-top: 10px;
        position: relative;
        z-index: 1; }

.sectionNo02__title {
  position: absolute;
  color: #fff;
  font-weight: normal;
  font-size: 4.0rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%; }
  @media screen and (max-width: 767px) {
    .sectionNo02__title {
      font-size: 2.6rem; } }
.sectionNo02__cont {
  display: flex;
  flex-wrap: wrap; }
  .sectionNo02__cont--left {
    width: 50%;
    align-self: stretch;
    position: relative;
    overflow: hidden; }
    @media screen and (max-width: 1023px) {
      .sectionNo02__cont--left {
        width: 100%;
        height: 300px; } }
    .sectionNo02__cont--left ::before {
      content: "";
      padding-top: 100%; }
    .sectionNo02__cont--left img {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .sectionNo02__cont--right {
    width: 50%;
    align-self: center;
    padding: 50px 50px; }
    @media screen and (max-width: 1023px) {
      .sectionNo02__cont--right {
        width: 100%;
        padding: 20px 20px 0 20px; } }

.sectionNo03__cont {
  display: flex;
  flex-wrap: wrap;
  background: #F1F5FC;
  padding: 60px 40px;
  margin: 50px 0; }
  @media screen and (max-width: 1023px) {
    .sectionNo03__cont {
      padding: 60px 40px; } }
  @media screen and (max-width: 767px) {
    .sectionNo03__cont {
      padding: 30px 20px; } }
  .sectionNo03__cont--left {
    width: 50%; }
    @media screen and (max-width: 767px) {
      .sectionNo03__cont--left {
        width: 100%; } }
  .sectionNo03__cont--right {
    width: 50%; }
    @media screen and (max-width: 767px) {
      .sectionNo03__cont--right {
        width: 100%; } }
.sectionNo03__title {
  margin-bottom: 20px; }
@media screen and (max-width: 1023px) {
  .sectionNo03 .normalSecton__inner {
    padding: 0 0 50px 0; } }

.footer__cont {
  display: flex;
  flex-wrap: wrap; }
  .footer__cont a {
    display: block;
    padding: 20px;
    text-align: center;
    margin: 60px;
    padding: 40px 20px;
    display: block;
    color: #fff;
    text-decoration: none;
    transition: 0.3s all; }
    .footer__cont a .text {
      font-size: 2.0rem; }
      @media screen and (max-width: 767px) {
        .footer__cont a .text {
          font-size: 1.8rem; } }
      .footer__cont a .text small {
        font-size: 1.6rem; }
    .footer__cont a img {
      display: inline-block;
      width: 16px;
      margin: 0 0 0 3px; }
    .footer__cont a:hover {
      filter: brightness(1.5); }
    @media screen and (max-width: 767px) {
      .footer__cont a {
        margin: 20px 20px 20px 20px; } }
  .footer__cont--left {
    width: 50%; }
    .footer__cont--left .btn--blue {
      background: #0D2A5F url("../images/compass.png") no-repeat 95% 50%; }
      @media screen and (max-width: 1023px) {
        .footer__cont--left .btn--blue {
          margin: 60px 60px 0 60px;
          padding: 20px 20px 60px 20px;
          background: #0D2A5F url("../images/compass.png") no-repeat 50% 93%;
          background-size: 60px; } }
      @media screen and (max-width: 767px) {
        .footer__cont--left .btn--blue {
          margin: 20px 20px 0 20px; } }
    @media screen and (max-width: 1023px) {
      .footer__cont--left {
        width: 100%; } }
  .footer__cont--right {
    width: 50%; }
    .footer__cont--right .btn--gray {
      background: #525252; }
    @media screen and (max-width: 1023px) {
      .footer__cont--right {
        width: 100%; } }
