@charset "UTF-8";
.feature {
  padding-top: 150px;
}
@media print, screen and (max-width: 1280px) {
  .feature {
    padding-top: clamp(127px, 11.719vw, 150px);
  }
}
.feature-item-ttl {
  margin-bottom: 32px;
  color: #1C409D;
  font-size: 24px;
  line-height: calc(40 / 24);
  letter-spacing: 0.03em;
}
@media print, screen and (max-width: 1280px) {
  .feature-item-ttl {
    margin-bottom: clamp(27px, 2.5vw, 32px);
    font-size: clamp(20px, 1.875vw, 24px);
  }
}
@media screen and (max-width: 480px) {
  .feature-item-ttl {
    font-size: clamp(13px, 4.167vw, 20px);
  }
}
.feature-item-desc {
  max-width: 370px;
  font-family: "Noto Sans", sans-serif;
  font-size: 16px;
  line-height: calc(30 / 16);
  letter-spacing: 0.05em;
}
@media print, screen and (max-width: 1280px) {
  .feature-item-desc {
    max-width: clamp(312px, 28.906vw, 370px);
    font-size: clamp(14px, 1.25vw, 16px);
  }
}
@media print, screen and (max-width: 1080px) {
  .feature-item-desc {
    max-width: initial;
  }
}
.feature .feature-item01 {
  padding-left: calc((100% - 900px) / 2);
}
@media print, screen and (max-width: 1280px) {
  .feature .feature-item01 {
    padding-left: calc((100% - clamp(760px, 70.313vw, 900px)) / 2);
  }
}
@media print, screen and (max-width: 1080px) {
  .feature .feature-item01 {
    padding-left: clamp(54px, 7.037vw, 76px);
  }
}
@media screen and (max-width: 767px) {
  .feature .feature-item01 {
    padding-left: clamp(23px, 7.04vw, 54px);
  }
}
.feature .feature-item01 .feature-col {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 37px;
}
@media print, screen and (max-width: 1280px) {
  .feature .feature-item01 .feature-col {
    gap: clamp(31px, 2.891vw, 37px);
  }
}
@media screen and (max-width: 767px) {
  .feature .feature-item01 .feature-col {
    flex-direction: column;
  }
}
.feature .feature-item01 .feature-col-left {
  width: 568px;
}
@media print, screen and (max-width: 1280px) {
  .feature .feature-item01 .feature-col-left {
    width: clamp(480px, 44.375vw, 568px);
  }
}
@media screen and (max-width: 767px) {
  .feature .feature-item01 .feature-col-left {
    width: 100%;
    padding-right: clamp(23px, 7.04vw, 54px);
  }
}
.feature .feature-item01 .feature-col-right {
  width: calc(100% - 605px);
}
@media print, screen and (max-width: 1280px) {
  .feature .feature-item01 .feature-col-right {
    width: calc(100% - (clamp(480px, 44.375vw, 568px) + clamp(31px, 2.891vw, 37px)));
  }
}
@media print, screen and (max-width: 1080px) {
  .feature .feature-item01 .feature-col-right {
    min-width: 380px;
  }
}
@media screen and (max-width: 767px) {
  .feature .feature-item01 .feature-col-right {
    width: 100%;
  }
}
.feature .feature-item01 .feature-item-figcol {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 28px;
  margin-top: 142px;
}
@media print, screen and (max-width: 1280px) {
  .feature .feature-item01 .feature-item-figcol {
    gap: clamp(24px, 2.188vw, 28px);
    margin-top: clamp(120px, 11.094vw, 142px);
  }
}
@media screen and (max-width: 767px) {
  .feature .feature-item01 .feature-item-figcol {
    gap: clamp(20px, 1.875vw, 24px);
    margin-top: clamp(50px, 15.645vw, 120px);
  }
}
.feature .feature-item01 .feature-item-figcol img {
  border-radius: 10px;
}
.feature .feature-item01 .feature-item-fig img {
  border-radius: 10px 0 0 10px;
}
.feature .feature-item02 {
  margin-top: 120px;
  padding-right: calc((100% - 820px) / 2);
}
@media print, screen and (max-width: 1280px) {
  .feature .feature-item02 {
    margin-top: clamp(101px, 9.375vw, 120px);
    padding-right: calc((100% - clamp(693px, 64.063vw, 820px)) / 2);
  }
}
@media print, screen and (max-width: 1080px) {
  .feature .feature-item02 {
    padding-right: clamp(54px, 7.037vw, 76px);
  }
}
@media screen and (max-width: 767px) {
  .feature .feature-item02 {
    padding-right: clamp(23px, 7.04vw, 54px);
  }
}
.feature .feature-item02 .feature-col {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 90px;
}
@media print, screen and (max-width: 1280px) {
  .feature .feature-item02 .feature-col {
    gap: clamp(76px, 7.031vw, 90px);
  }
}
@media print, screen and (max-width: 1080px) {
  .feature .feature-item02 .feature-col {
    gap: 31px;
  }
}
@media screen and (max-width: 767px) {
  .feature .feature-item02 .feature-col {
    flex-direction: column;
  }
}
.feature .feature-item02 .feature-col-left {
  width: 380px;
}
@media print, screen and (max-width: 1280px) {
  .feature .feature-item02 .feature-col-left {
    width: clamp(321px, 29.688vw, 380px);
  }
}
@media screen and (max-width: 767px) {
  .feature .feature-item02 .feature-col-left {
    width: 100%;
    padding-left: clamp(23px, 7.04vw, 54px);
  }
}
.feature .feature-item02 .feature-col-right {
  width: calc(100% - 470px);
}
@media print, screen and (max-width: 1280px) {
  .feature .feature-item02 .feature-col-right {
    width: calc(100% - (clamp(321px, 29.688vw, 380px) + clamp(76px, 7.031vw, 90px)));
  }
}
@media print, screen and (max-width: 1080px) {
  .feature .feature-item02 .feature-col-right {
    min-width: 380px;
  }
}
@media screen and (max-width: 767px) {
  .feature .feature-item02 .feature-col-right {
    width: 100%;
  }
}
.feature .feature-item02 .feature-item-fig img {
  border-radius: 0 10px 10px 0;
}
.feature .feature-item03 {
  margin-top: 200px;
  padding-left: calc((100% - 900px) / 2);
  padding-right: calc((100% - 820px) / 2);
}
@media print, screen and (max-width: 1280px) {
  .feature .feature-item03 {
    margin-top: clamp(169px, 15.625vw, 200px);
    padding-left: calc((100% - clamp(760px, 70.313vw, 900px)) / 2);
    padding-right: calc((100% - clamp(693px, 64.063vw, 820px)) / 2);
  }
}
@media print, screen and (max-width: 1080px) {
  .feature .feature-item03 {
    padding-left: clamp(54px, 7.037vw, 76px);
    padding-right: clamp(54px, 7.037vw, 76px);
  }
}
@media screen and (max-width: 767px) {
  .feature .feature-item03 {
    padding-left: clamp(23px, 7.04vw, 54px);
    padding-right: clamp(23px, 7.04vw, 54px);
  }
}
.feature .feature-item03 .feature-col {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: stretch;
  gap: 99px;
}
@media print, screen and (max-width: 1280px) {
  .feature .feature-item03 .feature-col {
    gap: clamp(84px, 7.734vw, 99px);
  }
}
@media print, screen and (max-width: 1080px) {
  .feature .feature-item03 .feature-col {
    gap: 31px;
  }
}
@media screen and (max-width: 767px) {
  .feature .feature-item03 .feature-col {
    flex-direction: column;
  }
}
.feature .feature-item03 .feature-col-left {
  width: calc(100% - 549px);
}
@media print, screen and (max-width: 1280px) {
  .feature .feature-item03 .feature-col-left {
    width: calc(100% - (clamp(380px, 35.156vw, 450px) + clamp(84px, 7.734vw, 99px)));
  }
}
@media print, screen and (max-width: 1080px) {
  .feature .feature-item03 .feature-col-left {
    width: calc(100% - 411px);
  }
}
@media screen and (max-width: 767px) {
  .feature .feature-item03 .feature-col-left {
    width: 100%;
  }
}
.feature .feature-item03 .feature-col-right {
  width: 450px;
}
@media print, screen and (max-width: 1280px) {
  .feature .feature-item03 .feature-col-right {
    width: clamp(380px, 35.156vw, 450px);
  }
}
@media screen and (max-width: 767px) {
  .feature .feature-item03 .feature-col-right {
    width: 100%;
  }
}
.feature .feature-item03 .feature-item-fig img {
  border-radius: 10px;
}

.outline {
  padding-top: 160px;
  padding-bottom: 160px;
  padding-left: calc((100% - 900px) / 2);
  padding-right: calc((100% - 820px) / 2);
}
@media print, screen and (max-width: 1280px) {
  .outline {
    padding-top: clamp(135px, 12.5vw, 160px);
    padding-left: calc((100% - clamp(760px, 70.313vw, 900px)) / 2);
    padding-right: calc((100% - clamp(693px, 64.063vw, 820px)) / 2);
  }
}
@media print, screen and (max-width: 1080px) {
  .outline {
    padding-left: clamp(54px, 7.037vw, 76px);
    padding-right: clamp(54px, 7.037vw, 76px);
  }
}
@media screen and (max-width: 767px) {
  .outline {
    padding-left: clamp(23px, 7.04vw, 54px);
    padding-right: clamp(23px, 7.04vw, 54px);
  }
}
.outline-inner {
  padding-left: 115px;
}
@media print, screen and (max-width: 1280px) {
  .outline-inner {
    padding-left: clamp(97px, 8.984vw, 115px);
  }
}
@media print, screen and (max-width: 810px) {
  .outline-inner {
    padding-left: 0;
  }
}
.outline-ttl {
  margin-bottom: 18px;
  color: #1C409D;
  font-size: 18px;
  line-height: calc(40 / 18);
  letter-spacing: 0.03em;
}
@media print, screen and (max-width: 1280px) {
  .outline-ttl {
    margin-bottom: clamp(15px, 1.406vw, 18px);
    font-size: clamp(15px, 1.406vw, 18px);
  }
}
.outline-cnt .tbl-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
}
@media screen and (max-width: 480px) {
  .outline-cnt .tbl-row {
    flex-direction: column;
  }
}
.outline-cnt .tbl-row-th {
  width: 130px;
  padding-left: 1em;
  padding-right: 1em;
  border-bottom: 1px solid #9FC1F0;
  color: #1C409D;
  font-family: "Noto Sans", sans-serif;
  font-size: 14px;
  line-height: calc(50 / 14);
  letter-spacing: 0.05em;
}
@media print, screen and (max-width: 1280px) {
  .outline-cnt .tbl-row-th {
    width: clamp(120px, 10.156vw, 130px);
  }
}
@media screen and (max-width: 480px) {
  .outline-cnt .tbl-row-th {
    width: 100%;
    border-bottom: none;
  }
}
.outline-cnt .tbl-row-td {
  width: calc(100% - 130px);
  padding-left: 1.5em;
  padding-right: 1.5em;
  border-bottom: 1px solid #E7E7E7;
  font-family: "Noto Sans", sans-serif;
  font-size: 14px;
  line-height: calc(50 / 14);
  letter-spacing: 0.05em;
  width: calc(100% - clamp(110px, 10.156vw, 130px));
}
@media screen and (max-width: 480px) {
  .outline-cnt .tbl-row-td {
    width: 100%;
    padding-left: 1em;
    padding-right: 1em;
    padding-top: 1em;
    padding-bottom: 1em;
    line-height: 1.4em;
  }
}
.outline-cnt .tbl-row:nth-of-type(1) .tbl-row-th {
  border-top: 1px solid #9FC1F0;
}
.outline-cnt .tbl-row:nth-of-type(1) .tbl-row-td {
  border-top: 1px solid #E7E7E7;
}
@media screen and (max-width: 480px) {
  .outline-cnt .tbl-row:nth-of-type(1) .tbl-row-td {
    border-top: none;
  }
}