/* base
============================================================ */

:root {
  --font-size: 16px;
  --font-normal: "Noto Sans JP", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --font-mincho: "Noto Serif JP", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "YuMincho", "游明朝", "Yu Mincho", "游明朝体", "MS Mincho", "ＭＳ 明朝", serif;
  --font-arial: Arial, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --color-text: #333333;
  --color-main: #f7cb20;
  --color-main2: #e8ab10;
  --color-sub: #f8f5e8;
  --color-em: #f0463e;
  --width-content: 1100px;
  --header-height: 0px;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow-wrap: break-word;
}

html:not(.ignore) {
  font-family: var(--font-normal);
  font-size: 62.5%;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .05em;
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: var(--header-height);
}
@media (prefers-reduced-motion: no-preference) {
  html:not(.ignore) {
    scroll-behavior: smooth;
  }
}

html body {
  color: var(--color-text);
  font-family: var(--font-normal);
  font-size: var(--font-size);
  font-weight: 400;
  line-height: 1;
  width: auto;
  min-width: auto;
  padding: 0;
  margin: 0;
  border: none;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
  font-size: var(--font-size);
  font-weight: 400;
  line-height: 1;
  margin: 0;
}

body p {
  margin: 0;
}

body ol,
body ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

body dl,
body dd,
body figure,
body pre,
body blockquote {
  margin: 0;
}

body table {
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
}

body th {
  font-weight: 400;
  text-align: left;
  padding: 0;
}

body td {
  padding: 0;
}

body a {
  color: inherit;
  text-decoration: none;
}

body picture {
  display: block;
}

body img {
  display: block;
  max-width: 100%;
  height: auto;
}

body button,
body input,
body textarea {
  cursor: pointer;
  color: inherit;
  font-family: inherit;
  font-size: var(--font-size);
  font-weight: 400;
  line-height: 1;
  padding: 0;
  border: 0;
  background: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

body small {
  font-size: inherit;
}

body strong {
  font-weight: inherit;
}

body em {
  font-style: normal;
}

/* layout
============================================================ */

.ly_header {
  position: sticky;
  top: 0;
  z-index: 100;
  padding: 15px 25px;
  background: #fff;
}

.ly_firstview {
  padding: 28px 0 40px;
  background: var(--color-main);
}
.ly_firstview > .bl_fv {
  max-width: var(--width-content);
  margin-inline: auto; 
}

.ly_section.ly_section__intro {
  padding: 76px 0 0;
  background: url(../../images/original/deco.webp) no-repeat top -48px right calc(50% + 889px / 2 + 326px) / 889px 561px #fff;
}
.ly_section.ly_section__intro > .bl_ttl {
  margin-bottom: 75px;
}

.ly_section.ly_section__cost {
  padding: 96px 0;
  background-color: var(--color-sub);
}
.ly_section.ly_section__cost > .bl_ttl {
  margin-bottom: 75px;
}

.ly_section.ly_section__crm {
  padding: 100px 0;
  background-color: #fff;
}
.ly_section.ly_section__crm > .bl_ttl {
  margin-bottom: 115px;
}

.ly_section.ly_section__case {
  padding: 100px 0 120px;
  background-color: var(--color-sub);
}
.ly_section.ly_section__case > .bl_ttl {
  margin-bottom: 80px;
}

.ly_section.ly_section__about {
  padding: 90px 0 116px;
  background: url(../../images/original/bg_about_pc.webp) no-repeat center top / cover var(--color-main);
}
.ly_section.ly_section__about > .bl_ttl {
  margin-bottom: 77px;
}

.ly_section > [class^="bl_"] {
  max-width: var(--width-content);
  margin-inline: auto;
}

.ly_navi {
  display: -ms-grid;
  display: grid;
  place-items: center;
  padding: 35px 0 38px;
  background: #fff;
}

.ly_footer {
  background: #e9e9e9;
}
.ly_footer .bl_footer {
  max-width: var(--width-content);
  padding: 32px 0;
  margin: 0 auto;
}
.ly_footer .bl_copyright {
  color: #fff;
  padding: 13px 0;
  background: #2049bb;
}

/* block
============================================================ */

/* header */
.bl_header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
}
.bl_header_logo {
  margin: 3px 0 0;
}

.bl_logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  gap: 36px;
}
.bl_logo_pic {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 290px;
  max-width: 100%;
}
.bl_logo_txt {
  color: #024fa2;
  font-size: 19px;
  font-weight: 700;
  margin: 0 0 7px;
}

/* firstview */
.bl_fv {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
}
.bl_fv_ttl {
  grid-column: 1 / -1;
  color: #000;
  font-size: 39px;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 13px;
  margin: 0 0 22px;
}
.bl_fv_logo {
  width: 281px;
  max-width: 100%;
}
.bl_fv_box {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1 / 2;
}
.bl_fv_txt {
  width: 525px;
  max-width: 100%;
  margin: 63px 0 0;
}
.bl_fv_txtUnit {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
}
.bl_fv_txt2 {
  position: relative;
  width: 522px;
  max-width: 100%;
  margin: 0 auto;
}
.bl_fv_txt2::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 8px;
  display: block;
  width: 555px;
  height: 239px;
  background: url(../../images/original/txt_fv2_2.webp) no-repeat center bottom / contain;
}
.bl_fv_txt2 img {
  position: relative;
  z-index: 1;
}
.bl_fv_txt3 {
  margin: 10px 0 0;
}
.bl_fv_txt3 picture {
  width: 527px;
  max-width: 100%;
  margin: 0 auto;
}
.bl_fv_note {
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  text-align: right;
  margin: 10px 10px 0 0;
}
.bl_fv_link {
  grid-column: 1 / -1;
  display: -ms-grid;
  display: grid;
  place-items: center;
  margin: 37px 0 0;
}

/* ttl */
.bl_ttl {
  display: block;
  font-size: 39px;
  font-weight: 700;
  line-height: calc(59 / 39);
  text-align: center;
}
.bl_ttl_em {
  color: var(--color-em);
}

/* intro */
.bl_intro {
  display: block;
}
.bl_intro_container {
  position: relative;
  padding: 0 0 62px 273px;
}
.bl_intro_container::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 304px;
  height: 437px;
  background: url(../../images/original/img_woman.webp) no-repeat center bottom / contain;
  translate: -66px 0;
}
.bl_intro_i {
  position: relative;
  font-size: 19px;
  font-weight: 700;
  line-height: calc(29 / 19);
  padding: 10px 0 10px 28px;
  border-bottom: 1px solid #e9e9e9;
}
.bl_intro_i::before {
  content: "";
  position: absolute;
  top: calc(10px + 9px);
  left: 4px;
  display: inline-block;
  width: 12px;
  height: 12px;
  background: url(../../images/original/arrow.png) no-repeat center / contain;
}
.bl_intro_em {
  color: var(--color-em);
}

/* cost */
.bl_costUnit {
  display: block;
}
.bl_costUnit > * {
  max-width: 970px;
  margin-inline: auto;
}
.bl_costUnit > * + * {
  margin-top: 15px;
}

.bl_cost {
  display: block;
}
.bl_cost_tbl {
  width: 100%;
}
.bl_cost_cap {
  font-size: 18px;
  font-weight: 500;
  text-align: left;
  margin: 0 0 8px;
}
.bl_cost_tbl {
  border-collapse: initial;
}
.bl_cost_tbl thead tr th {
  font-size: 19px;
  font-weight: 700;
  line-height: calc(30 /19);
  text-align: center;
  padding: 15px 24px;
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  background: var(--color-main);
}
.bl_cost_tbl thead tr th:first-child {
  border-radius: 10px 0 0 0;
}
.bl_cost_tbl thead tr th:last-child {
  border-right: 1px solid #fff;
  border-radius: 0 10px 0 0;
}
.bl_cost_tbl tbody tr th,
.bl_cost_tbl tbody tr td {
  font-size: 19px;
  font-weight: 500;
  line-height: calc(30 /19);
  padding: 14px 24px;
  border-top: 1px solid var(--color-main);
  border-left: 1px solid var(--color-main);
  background: #fff;
}
.bl_cost_tbl tbody tr td:last-child {
  border-right: 1px solid var(--color-main);
}
.bl_cost_tbl tbody tr:last-child th,
.bl_cost_tbl tbody tr:last-child td {
  border-bottom: 1px solid var(--color-main);
}
.bl_cost_tbl tbody tr:last-child th:first-child {
  border-radius: 0 0 0 10px;
}
.bl_cost_tbl tbody tr:last-child td:last-child {
  border-radius: 0 0 10px 0;
}
.bl_cost_dsc {
  margin: 10px 0 0 calc(100% / 3);
}
.bl_cost_dsc picture {
  max-width: 100%;
  margin: 0 auto;
}
.bl_cost_dsc.bl_cost_dsc__1 picture {
  width: 430px;
}
.bl_cost_dsc.bl_cost_dsc__2 picture {
  width: 430px;
}
.bl_cost_dsc.bl_cost_dsc__3 picture {
  width: 430px;
}

/* CRM */
.bl_crm {
  display: block;
}
.bl_crm_box {
  position: relative;
  padding: 0 0 36px;
  border: 1px solid #cacaca;
  border-radius: 20px;
  background: var(--color-sub);
}
.bl_crm_box::after {
  content: "";
  position: absolute;
  top: 100%;
  left: calc(50% - 136px / 2);
  display: block;
  width: 136px;
  height: 40px;
  background: var(--color-main);
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.bl_crm_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 0 80px;
  translate: 0 -50%;
}
.bl_crm_i {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  width: 265px;
  max-width: 100%;
  padding: 12px 0;
  border-radius: 24px;
  background: var(--color-main);
}
.bl_crm_img {
  margin: 10px 0 0 15px;
}
.bl_crm_img picture {
  width: 1052px;
  max-width: 100%;
}
.bl_crm_box2 {
  padding: 0 10px 36px;
  border-radius: 20px;
  background: var(--color-main);
  margin: 60px 0 0;
}
.bl_crm_cap {
  color: var(--color-em);
  font-size: 24px;
  font-weight: 900;
  text-align: center;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  padding: 11px 25px;
  border: 1px solid #7e7e7e;
  border-radius: 24px;
  background: #fff;
  margin: 0 auto;
  translate: 0 -17px;
}
.bl_crm_list2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 10px 0 0;
}
.bl_crm_i2 {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  text-align: center;
}
.bl_crm_num img {
  width: auto;
  height: 25px;
  margin: 0 auto;
}
.bl_crm_in {
  font-size: 20px;
  font-weight: 700;
  line-height: calc(26 / 20);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 52px;
  margin: 24px 0 0;
}
li + li .bl_crm_in {
  border-left: 1px solid #f6edc8;
}
.bl_crm_txt {
  margin: 60px 0 0;
}
.bl_crm_txt2 {
  color: #fff;
  font-size: 38px;
  font-weight: 700;
  text-align: center;
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  padding: 15px 25px;
  background: var(--color-em);
  margin: 0 auto;
}
.bl_crm_txt2 + .bl_crm_txt2 {
  margin-top: 12px;
}
.bl_crm_list3 {
  max-width: 735px;
  margin: 40px auto 0;
}
.bl_crm_i3 {
  position: relative;
  font-size: 20px;
  font-weight: 700;
  line-height: calc(30 / 20);
  padding: 14px 14px 14px 30px;
}
.bl_crm_i3 + .bl_crm_i3 {
  border-top: 2px solid #f4f4f4;
}
.bl_crm_i3::before {
  content: "";
  position: absolute;
  top: calc(14px + 15px);
  left: 15px;
  translate: 0 -50%;
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 100%;
  background: currentColor;
}
.bl_crm_em {
  color: var(--color-em);
}

/* case */
.bl_caseUnit {
  display: block;
}
.bl_caseUnit > .bl_case {
  min-height: 434px;
  padding: 23px 27px 23px 45px;
  border-radius: 10px;
  background-color: #fff;
  -webkit-box-shadow: 0 0 10px rgb(0 0 0 / .15);
          box-shadow: 0 0 10px rgb(0 0 0 / .15);
}
.bl_caseUnit > .bl_case:nth-child(2n) {
  padding-right: 45px;
  padding-left: 27px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 70px;
}
.bl_caseUnit > .bl_case + .bl_case {
  margin-top: 55px;
}

.bl_case {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 90px;
}
.bl_case_box {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 25px 0 0;
}
.bl_case_ttl {
  color: var(--color-main2);
  font-size: 28px;
  font-weight: 700;
  line-height: calc(40 / 28);
  margin: 0 0 28px;
}
.bl_case_txt {
  font-size: 18px;
  line-height: calc(29 / 18);
}
.bl_case_box2 {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.bl_case_img {
  width: 284px;
  max-width: 100%;
  border-radius: 10px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  margin: 0 auto;
}
.bl_case_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.bl_case_cap {
  font-size: 17px;
  font-weight: 500;
  line-height: calc(24 / 17);
  text-align: center;
  margin: 22px 0 0;
}
.bl_case_cap2 {
  display: block;
}

/* about */
.bl_about {
  display: block;
}
.bl_about_txt {
  font-size: 28px;
  font-weight: 700;
  text-align: center;
}
.bl_about_txt2 {
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  padding: 15px 25px;
  background: var(--color-em);
  margin: 0 auto;
}
.bl_about_txt2 + .bl_about_txt2 {
  margin-top: 10px;
}
.bl_about_txt3 {
  color: #fff;
}
.bl_about_txt4 {
  color: #ffe460;
}
.bl_about_img {
  margin: 35px 0 0;
}
.bl_about_img picture {
  width: 342px;
  margin: 0 auto;
}
.bl_about_list {
  max-width: 892px;
  margin: 30px auto 0;
}
.bl_about_i {
  position: relative;
  font-size: 19px;
  font-weight: 500;
  line-height: calc(27 / 19);
  padding: 9px 0 9px 57px;
  border-radius: 5px;
  background: rgb(255 255 255 / .9);
}
.bl_about_i::before {
  content: "";
  position: absolute;
  top: calc(9px + 27px / 2);
  left: 17px;
  translate: 0 -50%;
  display: inline-block;
  width: 21px;
  height: 17px;
  background: url(../../images/original/ico_check.png) no-repeat center / contain;
}
.bl_about_i + .bl_about_i {
  margin-top: 23px;
}
.bl_about_btnUnit {
  display: -ms-grid;
  display: grid;
  place-items: center;
  margin: 38px 0 0;
}

/* footer */
.bl_footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.bl_footer_logo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.bl_footer_logo picture {
  width: 213px;
  max-width: 100%;
}
.bl_footer_txt {
  font-size: 13px;
  line-height: calc(22 / 13);
}

/* copyright */
.bl_copyright {
  display: block;
  text-align: center;
  line-height: 1;
}
.bl_copyright_txt {
  display: inline-block;
  font-size: 11px;
}

/* element
============================================================ */

.el_naviBtn {
  color: #fff;
  font-size: 19px;
  font-weight: 700;
  text-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 278px;
  max-width: 100%;
  min-height: 53px;
  padding: 0 18px;
  border-radius: 10px;
  background: var(--color-em);
}
.el_naviBtn.el_naviBtn__2 {
  font-size: 31px;
  width: 486px;
  min-height: 90px;
  padding-inline: 48px;
}
.el_naviBtn.el_naviBtn__3 {
  font-size: 24px;
  width: 375px;
  min-height: 70px;
  padding-inline: 36px;
}
.el_naviBtn::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(../../images/original/ico_arrow__1.png) no-repeat center / contain;
}
.el_naviBtn.el_naviBtn__2::after {
  width: 25px;
  height: 25px;
}
.el_naviBtn_txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (hover: hover) {
  .el_naviBtn::after {
    -webkit-transition: .3s translate;
    -o-transition: .3s translate;
    transition: .3s translate;
  }
  .el_naviBtn:hover::after {
    translate: 50% 0;
  }
}

.el_linkBtn {
  font-size: 19px;
  font-weight: 700;
  text-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 425px;
  max-width: 100%;
  min-height: 62px;
  padding: 0 18px;
  border: 1px solid;
  border-radius: 10px;
  background: transparent;
}
.el_linkBtn::after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 12px;
  background: url(../../images/original/arrow2.png) no-repeat center / contain;
}
.el_linkBtn_txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (hover: hover) {
  .el_linkBtn::after {
    -webkit-transition: .3s translate;
    -o-transition: .3s translate;
    transition: .3s translate;
  }
  .el_linkBtn:hover::after {
    translate: 100% 0;
  }
}

/* helper
============================================================ */

.hp_hide {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
}

@media screen and (min-width: 751px) {
  .hp_sp {
    display: none !important;
  }
}
@media screen and (max-width: 750px) {
  .hp_pc {
    display: none !important;
  }
}

/* responsive
============================================================ */
@media (min-width: 751px) and (max-width: 1200px) {
  /* base
  ============================================================ */
  :root {
    --font-size: 1.3333vw;
    --width-content: 91.6667vw;
  }
  
  /* layout
  ============================================================ */
  
  .ly_header {
    padding: 1.25vw 2.0833vw;
  }
  
  .ly_firstview {
    padding: 2.3333vw 0 3.3333vw;
  }
  
  .ly_section.ly_section__intro {
    padding: 6.3333vw 0 0;
    background: url(../../images/original/deco.webp) no-repeat top -4vw right calc(50% + 74.0833vw / 2 + 27.1667vw) / 74.0833vw 46.75vw #fff;
  }
  .ly_section.ly_section__intro > .bl_ttl {
    margin-bottom: 6.25vw;
  }
  
  .ly_section.ly_section__cost {
    padding: 8vw 0;
  }
  .ly_section.ly_section__cost > .bl_ttl {
    margin-bottom: 6.25vw;
  }
  
  .ly_section.ly_section__crm {
    padding: 8.3333vw 0;
  }
  .ly_section.ly_section__crm > .bl_ttl {
    margin-bottom: 9.5833vw;
  }
  
  .ly_section.ly_section__case {
    padding: 8.3333vw 0 10vw;
  }
  .ly_section.ly_section__case > .bl_ttl {
    margin-bottom: 6.6667vw;
  }
  
  .ly_section.ly_section__about {
    padding: 7.5vw 0 9.6667vw;
  }
  .ly_section.ly_section__about > .bl_ttl {
    margin-bottom: 6.4167vw;
  }
  
  .ly_navi {
    padding: 2.9167vw 0 3.1667vw;
  }
  
  .ly_footer .bl_footer {
    padding: 2.6667vw 0;
  }
  .ly_footer .bl_copyright {
    padding: 1.0833vw 0;
  }
  
  /* block
  ============================================================ */
  
  /* header */
  .bl_header {
    gap: 0.8333vw;
  }
  .bl_header_logo {
    margin: 0.25vw 0 0;
  }
  
  .bl_logo {
    gap: 3vw;
  }
  .bl_logo_pic {
    width: 24.1667vw;
  }
  .bl_logo_txt {
    font-size: 1.5833vw;
    margin: 0 0 0.5833vw;
  }
  
  /* firstview */
  .bl_fv_ttl {
    font-size: 3.25vw;
    gap: 0 1.0833vw;
    margin: 0 0 1.8333vw;
  }
  .bl_fv_logo {
    width: 23.4167vw;
  }
  .bl_fv_txt {
    width: 43.75vw;
    margin: 5.25vw 0 0;
  }
  .bl_fv_txt2 {
    width: 43.5vw;
  }
  .bl_fv_txt2::before {
    left: 0.6667vw;
    width: 46.25vw;
    height: 19.9167vw;
  }
  .bl_fv_txt3 {
    margin: 0.8333vw 0 0;
  }
  .bl_fv_txt3 picture {
    width: 43.9167vw;
  }
  .bl_fv_note {
    font-size: 1.0833vw;
    margin: 0.8333vw 0.8333vw 0 0;
  }
  .bl_fv_link {
    margin: 3.0833vw 0 0;
  }
  
  /* ttl */
  .bl_ttl {
    font-size: 3.25vw;
  }
  
  /* intro */
  .bl_intro_container {
    padding: 0 0 5.1667vw 22.75vw;
  }
  .bl_intro_container::before {
    width: 25.3333vw;
    height: 36.4167vw;
    translate: -5.5vw 0;
  }
  .bl_intro_i {
    font-size: 1.5833vw;
    padding: 0.8333vw 0 0.8333vw 2.3333vw;
    border-bottom: 0.0833vw solid #e9e9e9;
  }
  .bl_intro_i::before {
    top: calc(0.8333vw + 0.75vw);
    left: 0.3333vw;
    width: 1vw;
    height: 1vw;
  }
  
  /* cost */
  .bl_costUnit > * {
    max-width: 80.8333vw;
  }
  .bl_costUnit > * + * {
    margin-top: 1.25vw;
  }
  
  .bl_cost_cap {
    font-size: 1.5vw;
    margin: 0 0 0.6667vw;
  }
  .bl_cost_tbl thead tr th {
    font-size: 1.5833vw;
    padding: 1.25vw 2vw;
    border-top: 0.0833vw solid #fff;
    border-left: 0.0833vw solid #fff;
  }
  .bl_cost_tbl thead tr th:first-child {
    border-radius: 0.8333vw 0 0 0;
  }
  .bl_cost_tbl thead tr th:last-child {
    border-right: 0.0833vw solid #fff;
    border-radius: 0 0.8333vw 0 0;
  }
  .bl_cost_tbl tbody tr th,
  .bl_cost_tbl tbody tr td {
    font-size: 1.5833vw;
    padding: 1.1667vw 2vw;
    border-top: 0.0833vw solid var(--color-main);
    border-left: 0.0833vw solid var(--color-main);
  }
  .bl_cost_tbl tbody tr td:last-child {
    border-right: 0.0833vw solid var(--color-main);
  }
  .bl_cost_tbl tbody tr:last-child th,
  .bl_cost_tbl tbody tr:last-child td {
    border-bottom: 0.0833vw solid var(--color-main);
  }
  .bl_cost_tbl tbody tr:last-child th:first-child {
    border-radius: 0 0 0 0.8333vw;
  }
  .bl_cost_tbl tbody tr:last-child td:last-child {
    border-radius: 0 0 0.8333vw 0;
  }
  .bl_cost_dsc {
    margin: 0.8333vw 0 0 calc(100% / 3);
  }
  .bl_cost_dsc.bl_cost_dsc__1 picture {
    width: 35.8333vw;
  }
  .bl_cost_dsc.bl_cost_dsc__2 picture {
    width: 35.8333vw;
  }
  .bl_cost_dsc.bl_cost_dsc__3 picture {
    width: 35.8333vw;
  }
  
  /* CRM */
  .bl_crm_box {
    padding: 0 0 3vw;
    border: 0.0833vw solid #cacaca;
    border-radius: 1.6667vw;
  }
  .bl_crm_box::after {
    left: calc(50% - 11.3333vw / 2);
    width: 11.3333vw;
    height: 3.3333vw;
  }
  .bl_crm_list {
    gap: 0 6.6667vw;
  }
  .bl_crm_i {
    font-size: 2vw;
    width: 22.0833vw;
    padding: 1vw 0;
    border-radius: 2vw;
  }
  .bl_crm_img {
    margin: 0.8333vw 0 0 1.25vw;
  }
  .bl_crm_img picture {
    width: 87.6667vw;
  }
  .bl_crm_box2 {
    padding: 0 0.8333vw 3vw;
    border-radius: 1.6667vw;
    margin: 5vw 0 0;
  }
  .bl_crm_cap {
    font-size: 2vw;
    padding: 0.9167vw 2.0833vw;
    border: 0.0833vw solid #7e7e7e;
    border-radius: 2vw;
    translate: 0 -1.4167vw;
  }
  .bl_crm_list2 {
    margin: 0.8333vw 0 0;
  }
  .bl_crm_num img {
    height: 2.0833vw;
  }
  .bl_crm_in {
    font-size: 1.6667vw;
    min-height: 4.3333vw;
    margin: 2vw 0 0;
  }
  li + li .bl_crm_in {
    border-left: 0.0833vw solid #f6edc8;
  }
  .bl_crm_txt {
    margin: 5vw 0 0;
  }
  .bl_crm_txt2 {
    font-size: 3.1667vw;
    padding: 1.25vw 2.0833vw;
  }
  .bl_crm_txt2 + .bl_crm_txt2 {
    margin-top: 1vw;
  }
  .bl_crm_list3 {
    max-width: 61.25vw;
    margin: 3.3333vw auto 0;
  }
  .bl_crm_i3 {
    font-size: 1.6667vw;
    padding: 1.1667vw 1.1667vw 1.1667vw 2.5vw;
  }
  .bl_crm_i3 + .bl_crm_i3 {
    border-top: 0.1667vw solid #f4f4f4;
  }
  .bl_crm_i3::before {
    top: calc(1.1667vw + 1.25vw);
    left: 1.25vw;
    width: 0.4167vw;
    height: 0.4167vw;
  }
  
  /* case */
  .bl_caseUnit > .bl_case {
    min-height: 36.1667vw;
    padding: 1.9167vw 2.25vw 1.9167vw 3.75vw;
    border-radius: 0.8333vw;
    -webkit-box-shadow: 0 0 0.8333vw rgb(0 0 0 / .15);
            box-shadow: 0 0 0.8333vw rgb(0 0 0 / .15);
  }
  .bl_caseUnit > .bl_case:nth-child(2n) {
    padding-right: 3.75vw;
    padding-left: 2.25vw;
    gap: 5.8333vw;
  }
  .bl_caseUnit > .bl_case + .bl_case {
    margin-top: 4.5833vw;
  }
  
  .bl_case {
    gap: 7.5vw;
  }
  .bl_case_box {
    margin: 2.0833vw 0 0;
  }
  .bl_case_ttl {
    font-size: 2.3333vw;
    margin: 0 0 2.3333vw;
  }
  .bl_case_txt {
    font-size: 1.5vw;
  }
  .bl_case_img {
    width: 23.6667vw;
    border-radius: 0.8333vw;
  }
  .bl_case_cap {
    font-size: 1.4167vw;
    margin: 1.8333vw 0 0;
  }
  
  /* about */
  .bl_about_txt {
    font-size: 2.3333vw;
  }
  .bl_about_txt2 {
    padding: 1.25vw 2.0833vw;
  }
  .bl_about_txt2 + .bl_about_txt2 {
    margin-top: 0.8333vw;
  }
  .bl_about_img {
    margin: 2.9167vw 0 0;
  }
  .bl_about_img picture {
    width: 28.5vw;
  }
  .bl_about_list {
    max-width: 74.3333vw;
    margin: 2.5vw auto 0;
  }
  .bl_about_i {
    font-size: 1.5833vw;
    padding: 0.75vw 0 0.75vw 4.75vw;
    border-radius: 0.4167vw;
  }
  .bl_about_i::before {
    top: calc(0.75vw + 2.25vw / 2);
    left: 1.4167vw;
    width: 1.75vw;
    height: 1.4167vw;
  }
  .bl_about_i + .bl_about_i {
    margin-top: 1.9167vw;
  }
  .bl_about_btnUnit {
    margin: 3.1667vw 0 0;
  }
  
  /* footer */
  .bl_footer_logo picture {
    width: 17.75vw;
  }
  .bl_footer_txt {
    font-size: 1.0833vw;
  }
  
  /* copyright */
  .bl_copyright_txt {
    font-size: 0.9167vw;
  }
  
  /* element
  ============================================================ */
  
  .el_naviBtn {
    font-size: 1.5833vw;
    width: 23.1667vw;
    min-height: 4.4167vw;
    padding: 0 1.5vw;
    border-radius: 0.8333vw;
  }
  .el_naviBtn.el_naviBtn__2 {
    font-size: 2.5833vw;
    width: 40.5vw;
    min-height: 7.5vw;
    padding-inline: 4vw;
  }
  .el_naviBtn.el_naviBtn__3 {
    font-size: 2vw;
    width: 31.25vw;
    min-height: 5.8333vw;
    padding-inline: 3vw;
  }
  .el_naviBtn::after {
    width: 1.6667vw;
    height: 1.6667vw;
  }
  .el_naviBtn.el_naviBtn__2::after,
  .el_naviBtn.el_naviBtn__3::after {
    width: 2.0833vw;
    height: 2.0833vw;
  }
  
  .el_linkBtn {
    font-size: 1.5833vw;
    width: 35.4167vw;
    min-height: 5.1667vw;
    padding: 0 1.5vw;
    border: 0.0833vw solid;
    border-radius: 0.8333vw;
  }
  .el_linkBtn::after {
    width: 0.5833vw;
    height: 1vw;
  }
}
@media (max-width: 750px) {

  /* layout
  ============================================================ */

  .ly_header {
    padding: 1.8667vw 1.3333vw;
  }

  .ly_firstview {
    padding-top: 2.2667vw;
    padding-bottom: 8.8vw;
  }
  .ly_firstview > .bl_fv {
    max-width: none;
    margin-inline: 5.3333vw;
  }

  .ly_section.ly_section__intro {
    padding-top: 10.9333vw;
    padding-bottom: 12vw;
    background-position: top 25.0667vw right 36.8vw;
    background-size: 87.0667vw 54.9333vw;
  }
  .ly_section.ly_section__intro > .bl_ttl {
    margin-bottom: 9.8667vw;
  }

  .ly_section.ly_section__cost {
    padding-top: 14.4vw;
    padding-bottom: 18vw;
  }
  .ly_section.ly_section__cost > .bl_ttl {
    margin-bottom: 15.3333vw;
  }

  .ly_section.ly_section__crm {
    padding-top: 14.6667vw;
    padding-bottom: 9.3333vw;
  }
  .ly_section.ly_section__crm > .bl_ttl {
    margin-bottom: 11.6vw;
  }

  .ly_section.ly_section__case {
    padding-top: 15.3333vw;
    padding-bottom: 18.4vw;
  }
  .ly_section.ly_section__case > .bl_ttl {
    margin-bottom: 31.2vw;
  }

  .ly_section.ly_section__about {
    padding-top: 16vw;
    padding-bottom: 18.6667vw;
    background-image: url(../../images/original/bg_about_sp.webp);
  }
  .ly_section.ly_section__about > .bl_ttl {
    margin-bottom: 13.0667vw;
  }

  .ly_section > [class^="bl_"] {
    max-width: none;
    margin-inline: 5.3333vw;
  }
  .ly_section > .bl_ttl {
    margin-inline: 0;
  }

  .ly_navi {
    padding-top: 9.6vw;
    padding-bottom: 10.6667vw;
  }

  .ly_footer .bl_footer {
    max-width: none;
    padding-top: 10.2667vw;
    padding-bottom: 5.8667vw;
    margin-inline: 5.3333vw;
  }
  .ly_footer .bl_copyright {
    padding-block: 4.5333vw;
  }

  /* block
  ============================================================ */

  /* header */
  .bl_header {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.6667vw;
  }
  .bl_header_logo {
    margin-top: 0;
  }

  .bl_logo {
    gap: 3.4667vw;
  }
  .bl_logo_pic {
    width: 36.4vw;
  }
  .bl_logo_txt {
    font-size: 2.5333vw;
    margin-bottom: 1.0667vw;
  }

  /* firstview */
  .bl_fv {
    display: block;
    /* display: grid;
    grid-template-columns: repeat(2, 1fr); */
  }
  .bl_fv_ttl {
    font-size: 5.2vw;
    text-align: center;
    display: block;
    margin-bottom: 0;
  }
  .bl_fv_logo {
    display: inline-block;
    vertical-align: bottom;
    width: 37.4667vw;
    margin-inline: 2.9333vw;
    translate: 0 2.1333vw;
  }
  .bl_fv_ttl2 {
    display: block;
    margin-top: 5.8667vw;
  }
  .bl_fv_box {
    margin-top: 8vw;
  }
  .bl_fv_txt {
    width: 82.1333vw;
    margin-top: 0;
    margin-inline: auto;
  }
  .bl_fv_txt img {
    width: 100%;
  }
  .bl_fv_box2 {
    margin-top: 5.7333vw;
  }
  .bl_fv_txtUnit {
    width: auto;
    max-width: none;
  }
  .bl_fv_txt2 {
    width: 81.0667vw;
  }
  .bl_fv_txt2::before {
    left: 1.3333vw;
    width: 86.1333vw;
    height: 37.2vw;
  }
  .bl_fv_txt2 img {
    width: 100%;
  }
  .bl_fv_txt3 {
    margin-top: 1.6vw;
  }
  .bl_fv_txt3 picture {
    width: 81.7333vw;
  }
  .bl_fv_txt3 picture img {
    width: 100%;
  }
  .bl_fv_note {
    font-size: 2.6667vw;
    margin-top: 2.9333vw;
    margin-right: 2.1333vw;
  }
  .bl_fv_link {
    margin-top: 9.3333vw;
  }

  /* ttl */
  .bl_ttl {
    font-size: 6.6667vw;
    line-height: calc(70 / 50);
  }

  /* intro */
  .bl_intro_container {
    padding-bottom: 0;
    padding-left: 0;
  }
  .bl_intro_container::before {
    position: static;
    width: 40.5333vw;
    height: 58.2667vw;
    translate: none;
    margin-inline: auto;
    translate: -8.6667vw 0;
  }
  .bl_intro_list {
    margin-top: 3.4667vw;
  }
  .bl_intro_i {
    font-size: 3.8667vw;
    line-height: calc(40 / 30);
    padding-top: 2.5333vw;
    padding-bottom: 0;
    padding-left: 5.7333vw;
    border-bottom: none;
  }
  .bl_intro_i::before {
    top: calc(2.5333vw + 2.6667vw);
    left: 0.9333vw;
    width: 2.1333vw;
    height: 2.1333vw;
    translate: 0 -50%;
  }
  .bl_intro_i + .bl_intro_i {
    margin-top: 2.5333vw;
    border-top: 0.2667vw solid #e9e9e9;
  }

  /* cost */
  .bl_costUnit > * {
    max-width: none;
  }
  .bl_costUnit > * + * {
    margin-top: 9.0667vw;
  }

  .bl_cost_cap {
    font-size: 3.2vw;
    margin-bottom: 2.1333vw;
  }
  .bl_cost_tbl thead tr th {
    font-size: 3.2vw;
    line-height: calc(34 /24);
    padding: 3.3333vw 2.5333vw;
  }
  .bl_cost_tbl thead tr th:first-child {
    border-radius: 1.3333vw 0 0 0;
  }
  .bl_cost_tbl thead tr th:last-child {
    border-radius: 0 1.3333vw 0 0;
  }
  .bl_cost_tbl tbody tr th,
  .bl_cost_tbl tbody tr td {
    font-size: 3.2vw;
    line-height: calc(34 /24);
    padding: 3.3333vw 1.2vw 3.3333vw 2.5333vw;
  }
  .bl_cost_tbl tbody tr:last-child th:first-child {
    border-radius: 0 0 0 1.3333vw;
  }
  .bl_cost_tbl tbody tr:last-child td:last-child {
    border-radius: 0 0 1.3333vw 0;
  }
  .bl_cost_dsc {
    margin-top: 2vw;
  }
  .bl_cost_dsc.bl_cost_dsc__1 picture {
    width: 49.7333vw;
  }
  .bl_cost_dsc.bl_cost_dsc__2 picture {
    width: 49.7333vw;
  }
  .bl_cost_dsc.bl_cost_dsc__3 picture {
    width: 49.7333vw;
  }

  /* CRM */
  .bl_crm_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 1.0667vw;
    padding: 6.9333vw 4.5333vw 7.6vw 3.6vw;
    border-radius: 2.6667vw;
  }
  .bl_crm_box::after {
    left: calc(50% - 29.6vw / 2);
    width: 29.6vw;
    height: 8.9333vw;
  }
  .bl_crm_list {
    display: block;
    translate: none;
    margin-top: 5.6vw;
  }
  .bl_crm_i {
    font-size: 4.5333vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 9.2vw;
    min-height: 50.4vw;
    padding: 0 2.1333vw;
    border-radius: 4.6667vw;
  }
  .bl_crm_i.bl_crm_i__2 {
    margin-top: 20.1333vw;
  }
  .bl_crm_i.bl_crm_i__3 {
    margin-top: 13.7333vw;
  }
  .bl_crm_k {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
  .bl_crm_img {
    margin-top: 0;
    margin-left: 0;
  }
  .bl_crm_img picture {
    width: 70.6667vw;
  }
  .bl_crm_box2 {
    padding-inline: 8.8vw;
    padding-bottom: 5.7333vw;
    border-radius: 2.6667vw;
    margin-top: 18.2667vw;
  }
  .bl_crm_cap {
    font-size: 4.5333vw;
    line-height: calc(44 / 34);
    padding: 1.6vw 9.3333vw;
    border-width: 0.2667vw;
    border-radius: 7.8667vw;
    translate: 0 -3.7333vw;
  }
  .bl_crm_list2 {
    display: block;
    margin-top: 2.6667vw;
  }
  .bl_crm_i2 {
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 10.4vw;
    padding: 0 1.8667vw;
  }
  .bl_crm_i2 + .bl_crm_i2 {
    padding-top: 4.2667vw;
    border-top: 0.1333vw solid #f6edc8;
    margin-top: 4.4vw;
  }
  .bl_crm_num {
    margin-top: 3.7333vw;
  }
  .bl_crm_num img {
    height: 5.2vw;
    margin-inline: 0;
  }
  .bl_crm_in {
    font-size: 4.5333vw;
    line-height: calc(44 / 34);
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    min-height: 11.7333vw;
    margin-top: 0;
  }
  li + li .bl_crm_in {
    border-left: none;
  }
  .bl_crm_txt {
    margin-top: 10.5333vw;
  }
  .bl_crm_txt2 {
    font-size: 5.7333vw;
    width: auto;
    max-width: none;
    padding: 0;
    background: none;
  }
  .bl_crm_txt2 + .bl_crm_txt2 {
    margin-top: 1.8667vw;
  }
  .bl_crm_txt3 {
    display: block;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    padding: 2.4vw 3.2vw;
    background: var(--color-em);
    margin: 0 auto;
  }
  .bl_crm_txt3 + .bl_crm_txt3 {
    margin-top: 1.4667vw;
  }
  .bl_crm_list3 {
    max-width: none;
    margin-top: 7.4667vw;
  }
  .bl_crm_i3 {
    font-size: 4.2667vw;
    line-height: calc(42 / 32);
    padding: 3.0667vw 6vw;
  }
  .bl_crm_i3 + .bl_crm_i3 {
    border-top-width: 0.2667vw;
  }
  .bl_crm_i3::before {
    top: calc(3.0667vw + 2.8vw);
    left: 3.2vw;
    width: 1.0667vw;
    height: 1.0667vw;
  }

  /* case */
  .bl_caseUnit > .bl_case {
    min-height: auto;
    padding: 0 4.2667vw 8.5333vw;
    border-radius: 2.6667vw;
    -webkit-box-shadow: 0 0 1.3333vw rgb(0 0 0 / .15);
            box-shadow: 0 0 1.3333vw rgb(0 0 0 / .15);
  }
  .bl_caseUnit > .bl_case:nth-child(2n) {
    padding-inline: 4vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 0;
  }
  .bl_caseUnit > .bl_case + .bl_case {
    margin-top: 26.2667vw;
  }

  .bl_case {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 0;
  }
  .bl_case_box {
    -webkit-box-flex: initial;
        -ms-flex: initial;
            flex: initial;
    margin-top: 5.6vw;
  }
  .bl_case_ttl {
    font-size: 5.3333vw;
    line-height: calc(56 / 40);
    margin-bottom: 5.3333vw;
  }
  .bl_case_txt {
    font-size: 3.7333vw;
    line-height: calc(43 / 28);
  }
  .bl_case_box2 {
    -ms-flex-negative: initial;
        flex-shrink: initial;
    translate: 0 -17.0667vw;
    margin-bottom: -17.0667vw;
  }
  .bl_case_img {
    width: 37.8667vw;
    border-radius: 1.3333vw;
  }
  .bl_case_cap {
    font-size: 3.6vw;
    line-height: calc(40 / 27);
    margin-top: 1.3333vw;
  }

  /* about */
  .bl_about_txt {
    font-size: 5.4667vw;
  }
  .bl_about_txt2 {
    width: auto;
    max-width: none;
    padding: 0;
    background: none;
  }
  .bl_about_txt2 + .bl_about_txt2 {
    margin-top: 1.6vw;
  }
  .bl_about_txt3,
  .bl_about_txt4 {
    display: block;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    padding: 3.2vw 2.6667vw;
    background-color: var(--color-em);
    margin-inline: auto;
  }
  .bl_about_txt3 + .bl_about_txt3,
  .bl_about_txt4 + .bl_about_txt4 {
    margin-top: 1.6vw;
  }
  .bl_about_img {
    margin-top: 8.4vw;
  }
  .bl_about_img picture {
    width: 59.4667vw;
  }
  .bl_about_list {
    max-width: none;
    margin-top: 8.9333vw;
  }
  .bl_about_i {
    font-size: 4.2667vw;
    line-height: calc(45 / 32);
    text-align: center;
    padding: 3.6vw 1.3333vw 4.4vw;
    border-radius: 0.6667vw;
  }
  .bl_about_i::before {
    position: static;
    translate: none;
    display: block;
    width: 7.3333vw;
    height: 6.1333vw;
    margin-inline: auto;
    margin-bottom: 3.3333vw;
  }
  .bl_about_i + .bl_about_i {
    margin-top: 4vw;
  }
  .bl_about_btnUnit {
    margin-top: 12vw;
  }

  /* footer */
  .bl_footer {
    display: block;
  }
  .bl_footer_logo {
    margin-bottom: 10.2667vw;
  }
  .bl_footer_logo picture {
    width: 52.4vw;
    margin-inline: auto;
  }
  .bl_footer_txt {
    font-size: 3.2vw;
    line-height: calc(38 / 24);
  }

  /* copyright */
  .bl_copyright_txt {
    font-size: 2.4vw;
  }

  /* element
  ============================================================ */

  .el_naviBtn {
    font-size: 2.8vw;
    width: 19.4667vw;
    min-height: 8vw;
    padding-inline: 1.6vw;
    border-radius: 1.3333vw;
  }
  .el_naviBtn.el_naviBtn__2,
  .el_naviBtn.el_naviBtn__3 {
    font-size: 5.3333vw;
    width: 89.3333vw;
    min-height: 15.3333vw;
    padding-inline: 10.1333vw;
  }
  .el_naviBtn::after {
    width: 2.6667vw;
    height: 2.6667vw;
  }
  .el_naviBtn.el_naviBtn__2::after,
  .el_naviBtn.el_naviBtn__3::after {
    width: 4.2667vw;
    height: 4.2667vw;
  }

  .el_linkBtn {
    font-size: 4vw;
    width: 89.3333vw;
    min-height: 16.4vw;
    padding-inline: 4.2667vw;
    border-width: 0.2667vw;
    border-radius: 1.3333vw;
  }
  .el_linkBtn::after {
    width: 1.6vw;
    height: 2.5333vw;
  }

}