@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap");
.note {
  font-size: clamp(1.3rem, 1.2vw, 1.5rem);
  padding: 0.7em 0;
}
.note-r {
  text-align: right;
}

.bg_top {
  position: relative;
}

.bg_top img {
  width: 40%;
  position: absolute;
  top: -70px;
  left: -72px;
}
@media screen and (min-width: 769px) {
  .bg_top img {
    width: 19%;
    position: absolute;
    top: -200px;
    left: 55px;
  }
}

.sec01, .sec02, .sec03, .sec04, .sec05, .sec06 {
  margin-bottom: auto;
}

.function_bg, .environment_bg, .option_bg, .step_bg {
  padding: 50px 0px;
}
@media screen and (min-width: 769px) {
  .function_bg, .environment_bg, .option_bg, .step_bg {
    padding: 120px 0px;
  }
}

.top_bg, .point_bg {
  margin-bottom: 50px;
}
@media screen and (min-width: 769px) {
  .top_bg, .point_bg {
    margin-bottom: 100px;
  }
}

.function_bg, .environment_bg {
  background-color: #F2F8FE;
}

.pc_img {
  display: none;
}
@media screen and (min-width: 769px) {
  .pc_img {
    display: block;
  }
}

.sp_img {
  display: block;
}
@media screen and (min-width: 769px) {
  .sp_img {
    display: none;
  }
}

.sec_function_ttl {
  color: #003E92;
  text-align: center;
  font-weight: 700;
  font-size: clamp(2.4rem, 3vw, 3.6rem);
  position: relative;
  margin-bottom: 1rem;
}
@media screen and (min-width: 769px) {
  .sec_function_ttl {
    margin-bottom: 10px;
  }
}

.sec_logo {
  display: block;
  margin: 0 auto;
  width: 60%;
  margin-bottom: 20px;
}
@media screen and (min-width: 769px) {
  .sec_logo {
    width: 20%;
    margin-bottom: 60px;
  }
}

.sec_caption {
  font-size: clamp(1.5rem, 1.7vw, 2.2rem);
  line-height: 2;
  margin-bottom: 60px;
}

.sec_illustration {
  margin-bottom: 40px;
}
@media screen and (min-width: 769px) {
  .sec_illustration {
    margin-bottom: 80px;
  }
}

@media screen and (min-width: 769px) {
  .point_list {
    display: flex;
    justify-content: space-between;
    width: 89.1%;
    margin: auto;
  }
}

.point_list_item {
  width: auto;
  padding: 25px;
  background-color: #DEF0FE;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.16));
  transform: translateZ(0);
  border-radius: 10px;
  margin-bottom: 20px;
}
@media screen and (min-width: 769px) {
  .point_list_item {
    width: calc((100% - 40px) / 3);
    padding: 50px 30px;
    transform: inherit;
  }
}
.point_list_item .point_ttl {
  position: relative;
  text-align: center;
  margin-bottom: 10px;
  color: #003E92;
  font-size: clamp(1.6rem, 1.7vw, 2rem);
  font-family: "Bebas Neue", sans-serif;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 769px) {
  .point_list_item .point_ttl {
    text-align: center;
    margin-bottom: 28px;
    color: #003E92;
  }
}
.point_list_item .point_ttl::after {
  content: url(/assets/img/function/bg_point.svg);
  position: absolute;
  top: -30px;
  right: 30px;
  z-index: -1;
  display: inline-block;
  transform: scale(0.7);
}
@media screen and (min-width: 769px) {
  .point_list_item .point_ttl::after {
    top: -10px;
    right: 50px;
    display: inline-block;
    transform: none;
  }
}
.point_list_item > h4 {
  font-size: clamp(1.5rem, 1.45vw, 2.4rem);
  font-weight: bold;
  color: #003E92;
  text-align: center;
}
.point_list_item .point_txt {
  margin-top: 10px;
}
@media screen and (min-width: 769px) {
  .point_list_item .point_txt {
    margin-top: 30px;
  }
}

.sec02 .btn-link-bl {
  margin-top: 30px;
}
@media screen and (min-width: 769px) {
  .sec02 .btn-link-bl {
    margin-top: 60px;
  }
}

.plan_btn {
  padding: 20px 40px;
  border-radius: 100px;
  border: 1px solid #003E92;
  text-align: center;
  width: 100%;
  background-color: #003E92;
  display: block;
  margin: 0 auto;
  margin-top: 60px;
}
@media screen and (min-width: 769px) {
  .plan_btn {
    width: 30%;
  }
}

.plan_btn a {
  color: #fff;
}

.sp_btn {
  display: block;
  padding: 10px 40px;
  border-radius: 100px;
  border: 1px solid #003E92;
  font-weight: bold;
  text-align: center;
  width: 70%;
  display: block;
  margin: 0 auto;
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .sp_btn {
    display: none;
    width: 30%;
  }
}

.function_list .function_item {
  display: flex;
  flex-flow: column;
  background-color: #fff;
  border-radius: 10px;
  padding: 30px;
  margin-bottom: 15px;
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.16));
  position: relative;
}
@media screen and (min-width: 769px) {
  .function_list .function_item {
    flex-flow: row;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    transform: inherit;
  }
}
.function_list .item_ttl {
  color: #003E92;
  font-weight: bold;
  font-size: clamp(1.8rem, 1.9vw, 2.2rem);
}
@media screen and (min-width: 769px) {
  .function_list .item_ttl {
    width: 32%;
  }
}
.function_list .item_ttl span {
  display: block;
  font-size: clamp(1.4rem, 1.36vw, 1.6rem);
}
.function_list .item_cap {
  width: auto;
}
@media screen and (min-width: 769px) {
  .function_list .item_cap {
    width: 68%;
  }
}

.sec_option {
  background-image: url(/assets/img/common/bg_img_a.svg), url(/assets/img/common/bg_page_r.svg);
  background-repeat: no-repeat;
  background-position: -250% 5%, 520% 100%;
  background-size: 85%, 90%;
}
@media screen and (min-width: 769px) {
  .sec_option {
    background-position: -6% 32%, 118% 97%;
    background-size: 23%, 26%;
  }
}

.option__ttl-icon01,
.option__ttl-icon02,
.option__ttl-icon03,
.option__ttl-icon04 {
  font-weight: 700;
  font-size: clamp(2rem, 1.92vw, 2.4rem);
  margin-bottom: 18px;
}

.option__ttl-icon01::before {
  content: url(/assets/img/function/img_option_icon01.svg);
  padding-right: 5px;
  vertical-align: middle;
  display: inline-block;
  transform: scale(0.8);
}
@media screen and (min-width: 769px) {
  .option__ttl-icon01::before {
    padding-right: 10px;
    transform: scale(0.9);
  }
}

.option__ttl-icon02::before {
  content: url(/assets/img/function/img_option_icon02.svg);
  padding-right: 5px;
  vertical-align: middle;
  display: inline-block;
  transform: scale(0.8);
}
@media screen and (min-width: 769px) {
  .option__ttl-icon02::before {
    padding-right: 10px;
    transform: scale(0.9);
  }
}

.option__ttl-icon03::before {
  content: url(/assets/img/function/img_option_icon03.svg);
  padding-right: 5px;
  vertical-align: middle;
  display: inline-block;
  transform: scale(0.8);
}
@media screen and (min-width: 769px) {
  .option__ttl-icon03::before {
    padding-right: 10px;
    transform: scale(0.9);
  }
}

.option__ttl-icon04::before {
  content: url(/assets/img/function/img_option_icon04.svg);
  padding-right: 5px;
  vertical-align: middle;
  display: inline-block;
  transform: scale(0.8);
}
@media screen and (min-width: 769px) {
  .option__ttl-icon04::before {
    padding-right: 10px;
    transform: scale(0.9);
  }
}

.option_list {
  display: flex;
  flex-flow: column;
  flex-wrap: wrap;
}
@media screen and (min-width: 769px) {
  .option_list {
    flex-flow: row;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}

.option_item {
  width: auto;
  background-color: #fff;
  padding: 20px;
  border-radius: 10px;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.16));
}
@media screen and (min-width: 769px) {
  .option_item {
    width: calc((100% - 45px) / 2);
    padding: 40px;
    transform: inherit;
  }
}

.mb_30 {
  margin-bottom: 30px;
}

.option_caption {
  margin-bottom: 10px;
}

@media screen and (min-width: 769px) {
  .cost_about {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.cost_about li {
  width: 100%;
  display: flex;
  align-items: flex-end;
  margin-top: 15px;
}
@media screen and (min-width: 769px) {
  .cost_about li {
    width: calc((100% - 20px) / 2);
  }
}
.cost_about li .cost_ttl {
  padding: 2px 20px 3px;
  border: 1px solid #003e92;
  border-radius: 100px;
  background-color: #003e92;
  color: #fff;
  font-weight: bold;
  white-space: nowrap;
  line-height: 1.4;
  margin-right: 1.2em;
}
.cost_about li .cost_price {
  color: #003e92;
  font-weight: 500;
  font-family: "Bebas Neue", sans-serif;
  line-height: 1;
  letter-spacing: 0.05em;
  font-size: 2.4rem;
}
.cost_about li .cost_price span {
  font-size: 1.8rem;
}

.environment__ttl-icon {
  color: #003E92;
  margin-top: 20px;
  font-weight: 700;
  font-size: clamp(1.5rem, 1.7vw, 2.2rem);
}

.environment__ttl-icon::before {
  content: url(/assets/img/function/img_device_icon.svg);
  vertical-align: middle;
  display: inline-block;
  transform: scale(0.8);
}
@media screen and (min-width: 769px) {
  .environment__ttl-icon::before {
    transform: scale(0.7);
  }
}

.environment_item h4 {
  padding-bottom: 20px;
  font-size: clamp(1.6rem, 1.82vw, 2.4rem);
  font-weight: 700;
  border-bottom: 3px dotted #003E92;
  text-align: center;
}

.access_txt {
  padding: 30px 0px 70px 0px;
  font-size: clamp(1.5rem, 1.55vw, 1.8rem);
  text-align: center;
}

.device_list {
  margin-bottom: 10px;
}

.device_item {
  display: flex;
  flex-flow: column;
  background-color: #fff;
  padding: 15px;
}
@media screen and (min-width: 769px) {
  .device_item {
    flex-flow: row;
    justify-content: space-between;
    align-items: center;
  }
}

.d_item_ttl {
  width: auto;
  font-weight: 700;
  font-size: clamp(1.6rem, 1.7vw, 2rem);
}
@media screen and (min-width: 769px) {
  .d_item_ttl {
    width: 30%;
  }
}
.d_item_ttl span {
  font-size: clamp(1.4rem, 1.36vw, 1.6rem);
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .d_item_ttl span {
    display: block;
  }
}

.d_item_cap {
  width: auto;
  font-size: clamp(1.6rem, 1.7vw, 2rem);
}
@media screen and (min-width: 769px) {
  .d_item_cap {
    width: 70%;
  }
}
.d_item_cap .txtS {
  font-size: clamp(1.4rem, 1.36vw, 1.6rem);
}

.back_color {
  background-color: #CDE8FE;
}

.back_color_w {
  background-color: #fff;
}
.back_color_w > .d_item_cap {
  font-size: clamp(1.5rem, 1.55vw, 1.8rem);
}

.ttl_bold {
  font-weight: bold;
}

.caution_txt {
  text-align: right;
  font-size: small;
  margin-top: 10px;
}

.annotation_group {
  margin-top: 20px;
}

.mb_60 {
  margin-bottom: 60px;
}

.step_bg {
  background-color: #CDE8FE;
}

.step_wrap {
  padding: 0px 20px;
}

.step_txt {
  margin-bottom: 40px;
  text-align: left;
}
@media screen and (min-width: 769px) {
  .step_txt {
    margin-bottom: 60px;
    text-align: center;
  }
}
.step_txt span {
  font-weight: 700;
  font-size: 124%;
}

.step_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (min-width: 769px) {
  .step_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
  }
}

.step_item {
  width: calc((100% - 30px) / 2);
}
@media screen and (min-width: 769px) {
  .step_item {
    width: calc((100% - 120px) / 5);
  }
}

.step_ttl {
  font-weight: bold;
  display: block;
  text-align: center;
  margin-top: 30px;
}

.point_list_item.item-okurn {
  background-color: #F4F4F4;
}

.function_bg.bg-okurn, .environment_bg.bg-okurn {
  background-color: #F4F4F4;
}

.back_color.color-okurn {
  background-color: #A19F9F;
}

.point_list_item.item-sharern {
  background-color: #FFF7EF;
}

.function_bg.bg-sharern, .environment_bg.bg-sharern {
  background-color: #FFF7EF;
}

.back_color.color-sharern {
  background-color: #EBC09B;
}

.icon-new{
  text-align: center;
  font-size: 1.6rem;
  /* font-family: "Bebas Neue", sans-serif; */
  position: absolute;
  display: grid;
  place-content: center;
  top: -10px;
  left: -10px;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  color: #fff;
  font-weight: bold;
  background-color: #EC1145;
  /* background: linear-gradient(90deg,#003e92 0%, #003e92 9.6%, #1a5bb4 41%, #266ac5 59%, #407dd1 74.4%, #3e87e8 100%); */
}
/* .icon-new.u-col-orange{
  background: #FF9200;
} */
