@charset "UTF-8";
/*=======================================================
LOWER_MV
=======================================================*/
/* ヘッダー下タイトル */
.bl_lower_mv {
  padding-top: 40px;
}
.bl_lower_mv_ttl {
  padding-right: 46px;
}
.bl_lower_mv_ttl span {
  padding-top: 10px;
  line-height: 1.4;
}
.bl_lower_mv_ttl span::after {
  bottom: 10px;
}
.bl_lower_mv_ttl::before, .bl_lower_mv_ttl::after {
  content: "";
}
.bl_lower_mv_ttl::before {
  background: url(../images/obc/icon_obc01.svg) top center/contain no-repeat;
  width: 102px;
  height: 78px;
  margin: 1px 60px 0 0;
}
.bl_lower_mv_ttl::after {
  background: url(../images/obc/icon_obc02.svg) top center/contain no-repeat;
  width: 68px;
  height: 80px;
  margin: 0px 0 0 48px;
}

@media screen and (max-width: 750px) {
  .bl_lower_mv {
    padding-top: 51px;
  }
  .bl_lower_mv_ttl {
    padding-right: 42px;
  }
  .bl_lower_mv_ttl span {
    padding-top: 0;
  }
  .bl_lower_mv_ttl span::after {
    bottom: 11px;
  }
  .bl_lower_mv_ttl::before {
    margin: 0 63px 0 0;
  }
  .bl_lower_mv_ttl::after {
    width: 75px;
    height: 88px;
    margin: 1px 0 0 48px;
  }
}
/*=======================================================
OBC
=======================================================*/
.bl_obc .ly_cont_inner {
  padding: 40px 0;
}
.bl_obc .bl_conts {
  padding: 24px 36px;
  background: #faeff7;
  position: relative;
  text-align: center;
  margin-bottom: 40px;
}
.bl_obc .bl_conts::after {
  position: absolute;
  content: "";
  background: url(../images/obc/icon_paper.svg) top center/contain no-repeat;
  width: 62px;
  height: 80px;
  top: 50%;
  right: 64px;
  transform: translateY(-50%);
}
.bl_obc .bl_conts_ttl {
  color: #7f1f62;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-bottom: 16px;
  line-height: 1.4;
}
.bl_obc_txt {
  text-align: center;
}

@media screen and (max-width: 750px) {
  .bl_obc .ly_cont_inner {
    padding: 80px 0 56px;
  }
  .bl_obc .bl_conts {
    padding: 24px 40px 32px;
    margin-bottom: 56px;
  }
  .bl_obc .bl_conts::after {
    display: none;
  }
  .bl_obc .bl_conts_ttl {
    font-size: 36px;
    letter-spacing: 0.04em;
    margin-bottom: 24px;
  }
}
/*=======================================================
ABOUT
=======================================================*/
.bl_about .ly_cont_inner {
  padding: 0 0 72px;
}

@media screen and (max-width: 750px) {
  .bl_about .ly_cont_inner {
    padding: 0 0 80px;
  }
  .bl_about .el_sec_aboutTtl {
    font-size: 40px;
    margin-bottom: 40px;
    padding: 5px 0 9px;
  }
  .bl_about .bl_media {
    gap: 56px;
  }
  .bl_about .bl_media_imgWrapper {
    margin: 0;
  }
  .bl_about .bl_media_ttl {
    font-size: 34px;
    letter-spacing: 0.06em;
  }
}
/*=======================================================
ABOUTCYBER
=======================================================*/
.bl_aboutCyber .el_sec_aboutTtl {
  background: #0181c0;
}

/*=======================================================
ABOUTREPUTATION
=======================================================*/
.bl_aboutReputation .el_sec_aboutTtl {
  background: #93cf30;
}
.bl_aboutReputation .bl_media_ttl {
  color: #93cf30;
}

/*=======================================================
FEATURE
=======================================================*/
.bl_feature {
  background: #f1f5f9;
  margin-bottom: 40px;
}
.bl_feature .el_sec_mainTtl {
  margin-bottom: 81px;
}
.bl_feature_list {
  display: flex;
  flex-wrap: wrap;
  gap: 73px 32px;
}
.bl_feature_item {
  background: #fff;
  width: 320px;
  min-height: 264px;
  padding: 73px 12px 24px;
  box-shadow: 24px 24px 40px rgba(0, 0, 0, 0.0509803922);
  border-radius: 8px;
  position: relative;
}
.bl_feature_item::before, .bl_feature_item::after {
  position: absolute;
  content: "";
  left: 50%;
  transform: translateX(-50%);
}
.bl_feature_item::before {
  width: 82px;
  height: 82px;
  border-radius: 50%;
  background: #0181c0;
  top: -41px;
}
.bl_feature_item::after {
  width: 40px;
  height: 28px;
  top: -14px;
}
.bl_feature_itemTtl {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-bottom: 32px;
  text-align: center;
  line-height: 1.4;
}
.bl_feature_itemTxt {
  font-size: 16px;
  padding: 0 4px;
}
.bl_feature_item:first-of-type::after {
  width: 34px;
  background: url(../images/obc/01.svg) top center/contain no-repeat;
}
.bl_feature_item:nth-of-type(2)::after {
  background: url(../images/obc/02.svg) top center/contain no-repeat;
}
.bl_feature_item:nth-of-type(3)::after {
  background: url(../images/obc/03.svg) top center/contain no-repeat;
}
.bl_feature_item:nth-of-type(4)::after {
  background: url(../images/obc/04.svg) top center/contain no-repeat;
}
.bl_feature_item:nth-of-type(5)::after {
  background: url(../images/obc/05.svg) top center/contain no-repeat;
}
.bl_feature_item:nth-of-type(6)::after {
  background: url(../images/obc/06.svg) top center/contain no-repeat;
}
.bl_feature_item:nth-of-type(7)::after {
  background: url(../images/obc/07.svg) top center/contain no-repeat;
}
.bl_feature_item:nth-of-type(8)::after {
  background: url(../images/obc/08.svg) top center/contain no-repeat;
}

@media screen and (max-width: 750px) {
  .bl_feature {
    margin-bottom: 80px;
  }
  .bl_feature .el_sec_mainTtl {
    margin-bottom: 98px;
  }
  .bl_feature_list {
    gap: 114px;
  }
  .bl_feature_item {
    width: 100%;
    min-height: auto;
    padding: 78px 40px 40px;
  }
  .bl_feature_item::before {
    width: 120px;
    height: 120px;
    top: -58px;
  }
  .bl_feature_item::after {
    width: 58px;
    height: 40px;
    top: -18px;
  }
  .bl_feature_itemTtl {
    font-size: 36px;
    margin-bottom: 16px;
  }
  .bl_feature_itemTxt {
    font-size: 28px;
    padding: 0;
    text-align: center;
  }
  .bl_feature_item:first-of-type::after {
    width: 50px;
  }
}
/*=======================================================
FEATURECYBER
=======================================================*/
.bl_featureCyber .el_sec_mainTtl {
  color: #0181c0;
}
.bl_featureCyber .bl_feature_item:nth-of-type(2), .bl_featureCyber .bl_feature_item:nth-of-type(3), .bl_featureCyber .bl_feature_item:nth-of-type(5), .bl_featureCyber .bl_feature_item:nth-of-type(6) {
  padding-top: 57px;
}
.bl_featureCyber .bl_feature_item:nth-of-type(2) .bl_feature_itemTtl, .bl_featureCyber .bl_feature_item:nth-of-type(3) .bl_feature_itemTtl, .bl_featureCyber .bl_feature_item:nth-of-type(5) .bl_feature_itemTtl, .bl_featureCyber .bl_feature_item:nth-of-type(6) .bl_feature_itemTtl {
  margin-bottom: 16px;
  line-height: 1.5;
}
.bl_featureCyber .bl_feature_item:nth-of-type(2) .bl_feature_itemTtl {
  letter-spacing: 0.04em;
}

@media screen and (max-width: 750px) {
  .bl_featureCyber .bl_feature_item:nth-of-type(2), .bl_featureCyber .bl_feature_item:nth-of-type(3), .bl_featureCyber .bl_feature_item:nth-of-type(5), .bl_featureCyber .bl_feature_item:nth-of-type(6) {
    padding-top: 78px;
  }
  .bl_featureCyber .bl_feature_item:nth-of-type(2) .bl_feature_itemTtl, .bl_featureCyber .bl_feature_item:nth-of-type(3) .bl_feature_itemTtl, .bl_featureCyber .bl_feature_item:nth-of-type(5) .bl_feature_itemTtl, .bl_featureCyber .bl_feature_item:nth-of-type(6) .bl_feature_itemTtl {
    line-height: 1.4;
  }
  .bl_featureCyber .bl_feature_item:nth-of-type(2) .bl_feature_itemTtl {
    letter-spacing: 0.06em;
  }
  .bl_featureCyber .bl_feature_item:nth-of-type(4) .bl_feature_itemTxt {
    letter-spacing: 0.03em;
  }
}
/*=======================================================
FEATUREREPUTATION
=======================================================*/
.bl_featureReputation {
  margin-bottom: 0;
}
.bl_featureReputation .el_sec_mainTtl {
  color: #93cf30;
}
.bl_featureReputation .bl_feature_item {
  width: 232px;
  padding: 57px 16px 12px;
  min-height: 288px;
}
.bl_featureReputation .bl_feature_item::before {
  background: #93cf30;
}
.bl_featureReputation .bl_feature_itemTtl {
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 16px;
  letter-spacing: 0.04em;
}
.bl_featureReputation .bl_feature_itemTxt {
  padding: 0;
  letter-spacing: 0.04em;
}
.bl_featureReputation .bl_feature_item:nth-of-type(2), .bl_featureReputation .bl_feature_item:nth-of-type(4), .bl_featureReputation .bl_feature_item:nth-of-type(5) {
  padding-top: 71px;
}
.bl_featureReputation .bl_feature_item:nth-of-type(2) .bl_feature_itemTtl, .bl_featureReputation .bl_feature_item:nth-of-type(4) .bl_feature_itemTtl, .bl_featureReputation .bl_feature_item:nth-of-type(5) .bl_feature_itemTtl {
  margin-bottom: 30px;
}
.bl_featureReputation .bl_feature_item:nth-of-type(3) {
  padding: 58px 9px 12px;
}
.bl_featureReputation .bl_feature_item:nth-of-type(3) .bl_feature_itemTtl {
  font-size: 17px;
}
.bl_featureReputation .bl_feature_item:nth-of-type(3) .bl_feature_itemTxt {
  padding: 0 7px;
}
.bl_featureReputation .bl_feature_item:nth-of-type(7) {
  padding-top: 63px;
}
.bl_featureReputation .bl_feature_item:nth-of-type(7) .bl_feature_itemTtl {
  margin-bottom: 22px;
}

@media screen and (max-width: 750px) {
  .bl_featureReputation .bl_feature_item {
    width: 100%;
    padding: 78px 40px 40px;
    min-height: auto;
  }
  .bl_featureReputation .bl_feature_itemTtl {
    font-size: 36px;
    letter-spacing: 0.06em;
    line-height: 1.4;
  }
  .bl_featureReputation .bl_feature_item:nth-of-type(2), .bl_featureReputation .bl_feature_item:nth-of-type(4), .bl_featureReputation .bl_feature_item:nth-of-type(5) {
    padding-top: 78px;
  }
  .bl_featureReputation .bl_feature_item:nth-of-type(2) .bl_feature_itemTtl, .bl_featureReputation .bl_feature_item:nth-of-type(4) .bl_feature_itemTtl, .bl_featureReputation .bl_feature_item:nth-of-type(5) .bl_feature_itemTtl {
    margin-bottom: 16px;
  }
  .bl_featureReputation .bl_feature_item:nth-of-type(3) {
    padding: 78px 40px 40px;
  }
  .bl_featureReputation .bl_feature_item:nth-of-type(3) .bl_feature_itemTtl {
    font-size: 36px;
  }
  .bl_featureReputation .bl_feature_item:nth-of-type(3) .bl_feature_itemTxt {
    padding: 0;
    letter-spacing: 0.03em;
  }
  .bl_featureReputation .bl_feature_item:nth-of-type(7) {
    padding-top: 78px;
  }
  .bl_featureReputation .bl_feature_item:nth-of-type(7) .bl_feature_itemTtl {
    margin-bottom: 16px;
  }
  .bl_featureReputation .bl_feature_item:nth-of-type(7) .bl_feature_itemTxt {
    letter-spacing: 0.03em;
  }
}
/*=======================================================
CTAOBC
=======================================================*/
.bl_ctaObc {
  padding: 32px 0;
  background: url(../images/common/cta_bg.png) top center/cover no-repeat;
}
.bl_ctaObc .ly_cont_inner {
  width: 880px;
  padding: 33px 40px;
  background: rgba(255, 255, 255, 0.75);
  border-radius: 8px;
}
.bl_ctaObc_ttl {
  margin-bottom: 24px;
  font-size: 26px;
  font-weight: 700;
  color: #0f2d98;
  text-align: center;
  letter-spacing: 0.06em;
  line-height: 1.4;
}
.bl_ctaObc_ttl:not(:first-of-type) {
  margin-top: 40px;
}
.bl_ctaObc .bl_btnList {
  gap: 24px 32px;
}
.bl_ctaObc .el_btn {
  width: 384px;
}
.bl_ctaObc .el_btn::after {
  position: absolute;
  top: 48%;
  right: 24px;
  transform: translateY(-50%);
  margin: 0;
}

@media screen and (max-width: 750px) {
  .bl_ctaObc {
    padding: 40px 0 56px;
    background: url(../images/common/cta_bg_sp.png) top center/cover no-repeat;
  }
  .bl_ctaObc .ly_cont_inner {
    width: 610px;
    padding: 56px 35px;
  }
  .bl_ctaObc_ttl {
    margin-bottom: 40px;
    font-size: 38px;
    line-height: 1.4;
  }
  .bl_ctaObc_ttl:not(:first-of-type) {
    margin-top: 56px;
  }
  .bl_ctaObc .bl_btnList {
    gap: 40px;
  }
  .bl_ctaObc .bl_btnList:nth-of-type(2) .el_btn {
    padding-right: 44px;
  }
  .bl_ctaObc .bl_btnList > li:nth-of-type(3) .el_btn {
    font-size: 28px;
  }
  .bl_ctaObc .bl_btnList > li:nth-of-type(4) .el_btn {
    font-size: 30px;
  }
  .bl_ctaObc .el_btn {
    width: 540px;
  }
  .bl_ctaObc .el_btn::after {
    border-width: 12px 0 12px 20px;
    margin-top: 0;
  }
}
/*=======================================================
ATT
=======================================================*/
.bl_att .ly_cont_inner {
  width: 885px;
  padding: 40px 0;
}
.bl_att_txt {
  letter-spacing: 0.03em;
}

@media screen and (max-width: 750px) {
  .bl_att {
    display: none;
  }
}