/* contents-01 */
.contents-01 {
  background: #ECF4FF;
}
.contents-01 p {
  font-size: 22px;
  margin-bottom: 20px;
  line-height: 1.8;
}
.contents-01 .inner-wrap {
  width: 100%;
  padding: 30px 40px;
}
.contents-01 .area1 {
  overflow: hidden;
}
.contents-01 .area1 .left {
  width: calc(780 / 1440 * 100%);
  float: left;
}
.contents-01 .area1 .right {
  width: calc(580 / 1440 * 100%);
  float: right;
}
.contents-01-ttl1 {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 40px;
}
.contents-01-ttl1 .contents-01-ttl1-large {
  font-size: 42px;
}
.contents-01-ttl2 {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 20px;
}
.contents-01 .period {
  font-weight: bold;
  text-align: center;
  background: #fff;
  padding: 10px 15px;
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .contents-01 p {
    font-size: min(4.7vw, 22px);
    margin-bottom: 5%;
  }
  .contents-01 .inner-wrap {
    width: 100%;
    padding: 5%;
  }
  .contents-01 .area1 .left {
    width: 100%;
    float: none;
  }
  .contents-01 .area1 .right {
    width: 100%;
    float: none;
    margin-bottom: 4%;
  }
  .contents-01-ttl1 {
    font-size: min(6.6vw, 32px);
    margin-bottom: 5%;
  }
  .contents-01-ttl1 .contents-01-ttl1-large {
    font-size: min(8.8vw, 42px);
  }
  .contents-01-ttl2 {
    font-size: min(6.6vw, 32px);
    margin-bottom: 5%;
  }
  .contents-01 .period {
    padding: 2% 3%;
  }
}

/* contents-02 */
.contents-02 p {
  font-size: 22px;
  margin-bottom: 20px;
  line-height: 1.8;
}
.contents-02 .inner-wrap {
  width: 100%;
  padding: 30px 40px;
}
.contents-02 .area1 {
  overflow: hidden;
}
.contents-02 .area1 .left {
  width: calc(810 / 1440 * 100%);
  float: left;
}
.contents-02 .area1 .right {
  width: calc(492 / 1440 * 100%);
  float: right;
}
.contents-02-ttl1 {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 20px;
}
.contents-02 .contents-02-note {
  font-size: 18px;
}
@media (max-width: 768px) {
  .contents-02 p {
    font-size: min(4.7vw, 22px);
    margin-bottom: 5%;
  }
  .contents-02 .inner-wrap {
    width: 100%;
    padding: 5%;
  }
  .contents-02 .area1 .left {
    width: 100%;
    float: none;
  }
  .contents-02 .area1 .right {
    width: 100%;
    float: none;
  }
  .contents-02-ttl1 {
    font-size: min(6.6vw, 32px);
    margin-bottom: 5%;
  }
  .contents-02 .contents-02-note {
    font-size: min(3.8vw, 18px);
  }
}

/* contents-03 */
.contents-03 {
  background: #EEEDF7;
}
.contents-03 p {
  font-size: 22px;
  margin-bottom: 20px;
  line-height: 1.8;
}
.contents-03 .inner-wrap {
  width: 100%;
  padding: 30px 40px;
}
.contents-03-ttl1 {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  .contents-03 p {
    font-size: min(4.7vw, 22px);
    margin-bottom: 5%;
  }
  .contents-03 .inner-wrap {
    width: 100%;
    padding: 5%;
  }
  .contents-03-ttl1 {
    font-size: min(6.6vw, 32px);
    margin-bottom: 5%;
  }
}

/* 汎用 */
.txt-bold {
  font-weight: bold;
}
.btn-blank {
  display: block;
  position: relative;
  max-width: 380px;
  background: #060198;
  border-radius: 15px;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  padding: 20px 45px 20px 15px;
}
.btn-blank:hover {
  color: #fff;
  opacity: 0.7;
}
.btn-blank::after {
  content: "";
  display: block;
  position: absolute;
  width: 1.8rem;
  height: 1.8rem;
  -webkit-mask-image: url(/assets/images/ico_external1_1.svg);
  mask-image: url(/assets/images/ico_external1_1.svg);
  -webkit-mask-position: 50%;
  mask-position: 50%;
  -webkit-mask-size: cover;
  mask-size: cover;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background: #fff;
  top: 50%;
  transform: translateY(-50%);
  right: 25px;
}
@media (max-width: 768px) {
  .btn-blank {
    border-radius: 15px;
    font-size: min(4.5vw, 20px);
    padding: 4% 7% 4% 2%;
    margin: 0 auto;
  }
  .btn-blank::after {
    width: min(8vw, 1.8rem);
    height: min(8vw, 1.8rem);
    right: 6%;
  }
}


