@charset "UTF-8";
/* --------------------
 CSS common
------------------- */
/* --------------------
  base
-------------------- */
/* #base{
  width: 1200px;
} */
div#cont {
  width: auto;
  margin: 0;
}
/* div#cont div#c3_lrr {
  width: 950px;
} */

ul,
ol {
  list-style: none;
}
#mainCont {
  line-height: 1.6;
  text-align: left;
  font-weight: 400;
  font-size: 16px;
}

/* --------------------
  layout
-------------------- */
/* 節 */
.l_section {
}
.l_section__item {
}
.l_section--primary > .l_section__item + .l_section__item {
  margin-top: 80px;
}
.l_section--secondary > .l_section__item + .l_section__item {
  margin-top: 64px;
}

/* グリッド */
/* .l_grid{
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
} */
.l_grid__item {
  display: flex;
}
.l_grid__inner {
  display: block;
  width: 100%;
}
.l_grid--service {
  overflow: hidden;
}
.l_grid--service > .l_grid__item {
  position: relative;
  left: 1px;
}
.l_grid--service > .l_grid__item::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  display: block;
  width: 1px;
  height: calc(100% - 40px);
  margin: auto 0;
  background: #999;
}
.l_grid--service > .l_grid__item::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  display: block;
  width: calc(100% - 40px);
  height: 1px;
  margin: 0 auto;
  background: #999;
}
.l_grid--works {
  margin: -20px;
}
.l_grid--works > .l_grid__item {
  padding: 20px;
  justify-content: center;
}
/* ナビ */
.l_nav {
  display: flex;
  align-items: stretch;
  margin-bottom: 0px;
}
.l_nav__item {
  display: flex;
  width: 100%;
  padding: 5px;
}
.l_nav__target {
  display: block;
  width: 100%;
  color: inherit;
}
.l_nav--wrapper {
  border-bottom: 1px solid #eee;
}
.l_grid--case {
  margin: -20px;
}
.l_grid--case .l_grid__item {
  padding: 20px;
}
.l_grid--campaign {
  justify-content: center;
  margin: -11px;
}
.l_grid--campaign:after {
  content: "";
  width: 486px;
}

.l_grid--campaign .l_grid__item {
  padding: 11px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .l_nav--wrapper {
    border-bottom: none;
  }
  .l_nav--wrap.l_wrap_inr {
    width: 100%;
  }
  .l_nav--service {
    display: block;
  }
  .l_nav--local .l_nav__target {
    font-size: 13px;
  }
 .l_nav--local .l_nav__item {
    width: 100%;
  }

  /* サイドナビ */

  .l_nav {
    display: block;
    margin: 0 auto 0;
    background-color: #f9f9f9;
  }
  .l_nav li {
    border-left: none;
    border-right: none;
    border-bottom: 1px solid #eeeeee;
    height: 50px;
  }
  .l_nav li:last-child {
    border-bottom: none;
    height: 50px;
  }

  .l_nav__item {
    display: flex;
    width: 100%;
    padding: 5px 20px;
  }
  .l_nav--wrap.l_wrap_inr {
    margin-top: 30px;
  }
}

/* ヒーローズエリア */
.m_herosArea {
  margin-bottom: 40px;
}
.m_herosArea__keyvisual {
  line-height: 0;
}
.m_herosArea__keyvisual img {
  max-width: 100%;
  height: auto;
}

/* ローカルナビ */
.m_localNav {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #333;
  text-align: center;
  transition: 0.3s opacity;
}
.m_localNav:hover {
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
  .m_localNav {
    display: flex;
    justify-content: left;
    align-items: center;
    color: #2d546b;
    text-align: left;
    transition: 0.3s opacity;
  }
}
/* --------------------
 CSS layout
------------------- */
/*    txt
=====================================================*/
.l_alignC {
  text-align: center;
}

.l_alignL {
  text-align: left;
}
.l_alignR {
  text-align: right;
}
@media (max-width: 576px) {
  .l_alignL_sp {
    text-align: left;
  }
  .l_alignC_sp {
    text-align: center;
  }
}

/*    Wrapper
=====================================================*/
.l_wrap {
  width: 100%;
  margin: auto;
}
.l_wrap_inr {
  max-width: 1225px;
  padding: 0 5px;
  margin: auto;
}

/* Large devices (desktops, 992px and under) */
@media (max-width: 1040px) {
}

/* Medium devices (tablets, 768px and under) */
@media (max-width: 768px) {
}

/* Small devices (landscape phones, 576px and under) */
@media (max-width: 576px) {
  .l_wrap_inr {
  }
}

.l_wrapper {
  width: 100%;
  /*   overflow: hidden; */
}

/*    Grid
=====================================================*/
.l_grid {
  display: -ms-grid;
  display: grid;
}
.l_grid_2 {
  -ms-grid-columns: (1fr) [2];
  grid-template-columns: repeat(2, 1fr);
}
.l_grid_2-5 {
  -ms-grid-columns: (1fr) [2];
  grid-template-columns: 1fr 2fr;
}
.l_grid_2-6 {
  -ms-grid-columns: (1fr) [2];
  grid-template-columns: 2fr 3fr;
}
.l_grid_3 {
  -ms-grid-columns: (1fr) [3];
  grid-template-columns: repeat(3, 1fr);
}
.l_grid_4 {
  -ms-grid-columns: (1fr) [4];
  grid-template-columns: repeat(4, 1fr);
}
.l_gap_5 {
  gap: 5px;
}
.l_gap_10 {
  gap: 10px;
}
.l_gap_20 {
  gap: 20px;
}
.l_gap_30 {
  gap: 30px;
}
.l_gap_40 {
  gap: 40px;
}
.l_gap_c40 {
  -webkit-column-gap: 40px;
     -moz-column-gap: 40px;
          column-gap: 40px;
}
.l_gap_50 {
  gap: 50px;
}
.l_gap_60 {
  gap: 60px;
}
.l_gap_80 {
  gap: 80px;
}

@media (max-width: 768px) {
  .l_grid_md_1 {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .l_grid_md_2 {
    -ms-grid-columns: (1fr) [2];
    grid-template-columns: repeat(2, 1fr);
  }
  .l_gap_md_10 {
    gap: 10px;
  }
  .l_gap_md_20 {
    gap: 20px;
  }
  .l_gap_md_40 {
    gap: 40px;
  }
}
@media (max-width: 576px) {
  .l_grid_sm_1 {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }

  .l_gap_sm_0 {
    gap: 0px;
  }
  .l_gap_sm_20 {
    gap: 20px;
  }
}

/*    Flex box
=====================================================*/
.l_flex {
  display: flex;
}
.l_flexWrap {
  flex-wrap: wrap;
}
.l_directionColumn {
  flex-direction: column !important;
}
.l_alignItemsCenter {
  align-items: center !important;
}
.l_alignItemsStart {
  align-items: flex-start !important;
}
.l_alignItemsEnd {
  align-items: flex-end !important;
}
.l_alignContentCenter {
  align-content: center !important;
}
.l_alignContentStart {
  align-content: flex-start !important;
}
.l_alignContentEnd {
  align-content: flex-end !important;
}
.l_alignSelfCenter {
  -ms-grid-row-align: center !important;
      align-self: center !important;
}
.l_alignSelfStart {
  align-self: flex-start !important;
}
.l_alignSelfEnd {
  align-self: flex-end !important;
}
.l_justifyContentCenter {
  justify-content: center !important;
}
.l_justifyContentStart {
  justify-content: flex-start !important;
}
.l_justifyContentEnd {
  justify-content: flex-end !important;
}
.l_justifyContentAround {
  justify-content: space-around !important;
}
.l_justifyContentBetween {
  justify-content: space-between !important;
}

/* Large devices (desktops, 992px and under) */
@media (max-width: 1040px) {
  .l_flex_lg {
    display: flex;
  }
  .l_flexWrap_lg {
    flex-wrap: wrap;
  }
  .l_directionColumn_lg {
    flex-direction: column !important;
  }
  .l_alignItemsCenter_lg {
    align-items: center !important;
  }
  .l_alignItemsStart_lg {
    align-items: flex-start !important;
  }
  .l_alignItemsEnd_lg {
    align-items: flex-end !important;
  }
  .l_alignContentCenter_lg {
    align-content: center !important;
  }
  .l_alignContentStart_lg {
    align-content: flex-start !important;
  }
  .l_alignContentEnd_lg {
    align-content: flex-end !important;
  }
  .l_alignSelfCenter_lg {
    -ms-grid-row-align: center !important;
        align-self: center !important;
  }
  .l_alignSelfStart_lg {
    align-self: flex-start !important;
  }
  .l_alignSelfEnd_lg {
    align-self: flex-end !important;
  }
  .l_justifyContentCenter_lg {
    justify-content: center !important;
  }
  .l_justifyContentStart_lg {
    justify-content: flex-start !important;
  }
  .l_justifyContentEnd_lg {
    justify-content: flex-end !important;
  }
  .l_justifyContentAround_lg {
    justify-content: space-around !important;
  }
  .l_justifyContentBetween_lg {
    justify-content: space-between !important;
  }
}

/* Medium devices (tablets, 768px and under) */
@media (max-width: 768px) {
  .l_flex_md {
    display: flex;
  }
  .l_flexWrap_md {
    flex-wrap: wrap;
  }
  .l_directionColumn_md {
    flex-direction: column !important;
  }
  .l_alignItemsCenter_md {
    align-items: center !important;
  }
  .l_alignItemsStart_md {
    align-items: flex-start !important;
  }
  .l_alignItemsEnd_md {
    align-items: flex-end !important;
  }
  .l_alignContentCenter_md {
    align-content: center !important;
  }
  .l_alignContentStart_md {
    align-content: flex-start !important;
  }
  .l_alignContentEnd_md {
    align-content: flex-end !important;
  }
  .l_alignSelfCenter_md {
    -ms-grid-row-align: center !important;
    align-self: center !important;
  }
  .l_alignSelfStart_md {
    align-self: flex-start !important;
  }
  .l_alignSelfEnd_md {
    align-self: flex-end !important;
  }
  .l_justifyContentCenter_md {
    justify-content: center !important;
  }
  .l_justifyContentStart_md {
    justify-content: flex-start !important;
  }
  .l_justifyContentEnd_md {
    justify-content: flex-end !important;
  }
  .l_justifyContentAround_md {
    justify-content: space-around !important;
  }
  .l_justifyContentBetween_md {
    justify-content: space-between !important;
  }
}

/* Small devices (landscape phones, 576px and under) */
@media (max-width: 576px) {
  .l_flex_sm {
    display: flex;
  }
  .l_flexWrap_sm {
    flex-wrap: wrap;
  }
  .l_directionColumn_sm {
    flex-direction: column !important;
  }
  .l_alignItemsCenter_sm {
    align-items: center !important;
  }
  .l_alignItemsStart_sm {
    align-items: flex-start !important;
  }
  .l_alignItemsEnd_sm {
    align-items: flex-end !important;
  }
  .l_alignContentCenter_sm {
    align-content: center !important;
  }
  .l_alignContentStart_sm {
    align-content: flex-start !important;
  }
  .l_alignContentEnd_sm {
    align-content: flex-end !important;
  }
  .l_alignSelfCenter_sm {
    -ms-grid-row-align: center !important;
        align-self: center !important;
  }
  .l_alignSelfStart_sm {
    align-self: flex-start !important;
  }
  .l_alignSelfEnd_sm {
    align-self: flex-end !important;
  }
  .l_justifyContentCenter_sm {
    justify-content: center !important;
  }
  .l_justifyContentStart_sm {
    justify-content: flex-start !important;
  }
  .l_justifyContentEnd_sm {
    justify-content: flex-end !important;
  }
  .l_justifyContentAround_sm {
    justify-content: space-around !important;
  }
  .l_justifyContentBetween_sm {
    justify-content: space-between !important;
  }
}

/*    Inline block
=====================================================*/
.l_col {
  font-size: 0;
}
.l_col_chd {
  display: inline-block;
}

/*    Column
=====================================================*/
/* 2カラム */
.l_clm2 {
  width: 48%;
  margin: 30px 4% 0 0;
}
.l_clm2:nth-of-type(2n) {
  margin-right: 0;
}
.l_clm2:nth-of-type(1),
.l_clm2:nth-of-type(2) {
  margin-top: 0;
}

/* 3カラム */
.l_clm3 {
  width: 32%;
  margin: 35px 2% 0 0;
}
.l_clm3:nth-of-type(3n) {
  margin-right: 0;
}
.l_clm3:nth-of-type(1),
.l_clm3:nth-of-type(2),
.l_clm3:nth-of-type(3) {
  margin-top: 0;
}

/* 4カラム */
.l_clm4 {
  width: 23.5%;
  margin: 30px 2% 0 0;
}
.l_clm4:nth-of-type(4n) {
  margin-right: 0;
}
.l_clm4:nth-of-type(1),
.l_clm4:nth-of-type(2),
.l_clm4:nth-of-type(3),
.l_clm4:nth-of-type(4) {
  margin-top: 0;
}

@media (max-width: 1040px) {
  /* 1カラム */
  .l_clm1_lg,
  .l_clm1_lg:nth-of-type(2),
  .l_clm1_lg:nth-of-type(3),
  .l_clm1_lg:nth-of-type(4) {
    width: 100%;
    margin: 30px auto 0 0;
  }
  .l_clm1_lg:nth-of-type(1) {
    margin-top: 0;
  }

  /* 2カラム */
  .l_clm2_lg,
  .l_clm2_lg:nth-of-type(2),
  .l_clm2_lg:nth-of-type(3),
  .l_clm2_lg:nth-of-type(4) {
    width: 48%;
    margin: 30px 4% 0 0;
  }
  .l_clm2_lg:nth-of-type(2n) {
    margin-right: 0;
  }
  .l_clm2_lg:nth-of-type(1),
  .l_clm2_lg:nth-of-type(2) {
    margin-top: 0;
  }

  /* 3カラム */
  .l_clm3_lg,
  .l_clm3_lg:nth-of-type(2),
  .l_clm3_lg:nth-of-type(3),
  .l_clm3_lg:nth-of-type(4) {
    width: 32%;
    margin: 35px 2% 0 0;
  }
  .l_clm3_lg:nth-of-type(3n) {
    margin-right: 0;
  }
  .l_clm3_lg:nth-of-type(1),
  .l_clm3_lg:nth-of-type(2),
  .l_clm3_lg:nth-of-type(3) {
    margin-top: 0;
  }

  /* 4カラム */
  .l_clm4_lg,
  .l_clm4_lg:nth-of-type(2),
  .l_clm4_lg:nth-of-type(3),
  .l_clm4_lg:nth-of-type(4) {
    width: 23.5%;
    margin: 30px 2% 0 0;
  }
  .l_clm4_lg:nth-of-type(4n) {
    margin-right: 0;
  }
  .l_clm4_lg:nth-of-type(1),
  .l_clm4_lg:nth-of-type(2),
  .l_clm4_lg:nth-of-type(3),
  .l_clm4_lg:nth-of-type(4) {
    margin-top: 0;
  }
}

@media (max-width: 768px) {
  /* 1カラム */
  .l_clm1_md,
  .l_clm1_md:nth-of-type(2),
  .l_clm1_md:nth-of-type(3),
  .l_clm1_md:nth-of-type(4) {
    width: 100%;
    margin: 30px auto 0 0;
  }
  .l_clm1_md:nth-of-type(1) {
    margin-top: 0;
  }

  /* 2カラム */
  .l_clm2_md,
  .l_clm2_md:nth-of-type(2),
  .l_clm2_md:nth-of-type(3),
  .l_clm2_md:nth-of-type(4) {
    width: 48%;
    margin: 30px 4% 0 0;
  }
  .l_clm2_md:nth-of-type(2n) {
    margin-right: 0;
  }
  .l_clm2_md:nth-of-type(1),
  .l_clm2_md:nth-of-type(2) {
    margin-top: 0;
  }

  /* 3カラム */
  .l_clm3_md,
  .l_clm3_md:nth-of-type(2),
  .l_clm3_md:nth-of-type(3),
  .l_clm3_md:nth-of-type(4) {
    width: 32%;
    margin: 35px 2% 0 0;
  }
  .l_clm3_md:nth-of-type(3n) {
    margin-right: 0;
  }
  .l_clm3_md:nth-of-type(1),
  .l_clm3_md:nth-of-type(2),
  .l_clm3_md:nth-of-type(3) {
    margin-top: 0;
  }

  /* 4カラム */
  .l_clm4_md,
  .l_clm4_md:nth-of-type(2),
  .l_clm4_md:nth-of-type(3),
  .l_clm4_md:nth-of-type(4) {
    width: 23.5%;
    margin: 30px 2% 0 0;
  }
  .l_clm4_md:nth-of-type(4n) {
    margin-right: 0;
  }
  .l_clm4_md:nth-of-type(1),
  .l_clm4_md:nth-of-type(2),
  .l_clm4_md:nth-of-type(3),
  .l_clm4_md:nth-of-type(4) {
    margin-top: 0;
  }
}

@media (max-width: 576px) {
  /* 1カラム */
  .l_clm1_sm,
  .l_clm1_sm:nth-of-type(2),
  .l_clm1_sm:nth-of-type(3),
  .l_clm1_sm:nth-of-type(4) {
    width: 100%;
    margin: 8vw auto 0 0;
  }
  .l_clm1_sm:nth-of-type(1) {
    margin-top: 0;
  }

  /* 2カラム */
  .l_clm2_sm,
  .l_clm2_sm:nth-of-type(2),
  .l_clm2_sm:nth-of-type(3),
  .l_clm2_sm:nth-of-type(4) {
    width: 48%;
    margin: 30px 4% 0 0;
  }
  .l_clm2_sm:nth-of-type(2n) {
    margin-right: 0;
  }
  .l_clm2_sm:nth-of-type(1),
  .l_clm2_sm:nth-of-type(2) {
    margin-top: 0;
  }

  /* 3カラム */
  .l_clm3_sm,
  .l_clm3_sm:nth-of-type(2),
  .l_clm3_sm:nth-of-type(3),
  .l_clm3_sm:nth-of-type(4) {
    width: 32%;
    margin: 9.33vw 2% 0 0;
  }
  .l_clm3_sm:nth-of-type(3n) {
    margin-right: 0;
  }
  .l_clm3_sm:nth-of-type(1),
  .l_clm3_sm:nth-of-type(2),
  .l_clm3_sm:nth-of-type(3) {
    margin-top: 0;
  }

  /* 4カラム */
  .l_clm4_sm,
  .l_clm4_sm:nth-of-type(2),
  .l_clm4_sm:nth-of-type(3),
  .l_clm4_sm:nth-of-type(4) {
    width: 23.5%;
    margin: 8vw 2% 0 0;
  }
  .l_clm4_sm:nth-of-type(4n) {
    margin-right: 0;
  }
  .l_clm4_sm:nth-of-type(1),
  .l_clm4_sm:nth-of-type(2),
  .l_clm4_sm:nth-of-type(3),
  .l_clm4_sm:nth-of-type(4) {
    margin-top: 0;
  }
}

/*    Ratio
=====================================================*/
.l_ratio3_1_l {
  width: 32%;
  margin-right: 2%;
}
.l_ratio3_2_r,
.l_ratio3_2_l {
  width: 66%;
}
.l_ratio3_1_r {
  width: 32%;
  margin-left: 2%;
}

.l_ratio4_1_l {
  width: 23%;
  margin-right: 2%;
}
.l_ratio4_3_r,
.l_ratio4_3_l {
  width: 75%;
}
.l_ratio4_1_r {
  width: 23%;
  margin-left: 2%;
}

@media (max-width: 768px) {
  .l_ratio3_1_l {
    width: 48.5%;
    margin-right: 3%;
  }
  .l_ratio3_1_r {
    width: 48.5%;
    margin-left: 3%;
  }
  .l_ratio3_2_r,
  .l_ratio3_2_l {
    width: 48.5%;
  }

  .l_ratio4_1_l {
    width: 32%;
    margin-right: 2%;
  }
  .l_ratio4_1_r {
    width: 32%;
    margin-left: 2%;
  }
  .l_ratio4_3_r,
  .l_ratio4_3_l {
    width: 66%;
  }
}

@media (max-width: 576px) {
  .l_ratio3_1_l {
    order: 1;
    width: 100%;
    margin-right: 0;
    margin-bottom: 8vw;
  }
  .l_ratio3_1_r {
    order: 1;
    width: 100%;
    margin-left: 0;
    margin-bottom: 8vw;
  }
  .l_ratio3_2_r,
  .l_ratio3_2_l {
    width: 100%;
    order: 2;
  }

  .l_ratio4_1_l {
    width: 100%;
    margin-right: 0;
    margin-bottom: 8vw;
  }
  .l_ratio4_1_r {
    width: 100%;
    margin-left: 0;
    margin-top: 8vw;
  }
  .l_ratio4_3_r,
  .l_ratio4_3_l {
    width: 100%;
  }
}

@media (max-width: 576px) {
  .l_clm_o1_sm {
    order: 1;
  }
  .l_clm_o2_sm {
    order: 2;
  }
  .l_clm_o2_sm.l_clm2_sm_1,
  .l_clm_o2_sm.l_clm2_sm_1:nth-last-of-type(2) {
    margin: 8vw 0 0;
  }
}

/*    Padding
=====================================================*/
.pt_204040 {
  padding: 20px 40px 40px;
}

/*-- Horizontal / Vertical--*/
.px_0 {
  padding-left: auto !important;
  padding-right: auto !important;
}
.py_0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
@media (max-width: 768px) {
  .px_0_md {
    padding-left: auto !important;
    padding-right: auto !important;
  }
  .py_0_md {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}
@media (max-width: 576px) {
  .px_0_sm {
    padding-left: auto !important;
    padding-right: auto !important;
  }
  .py_0_sm {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/*-- top --*/
.pt_0 {
  padding-top: 0 !important;
}
.pt_5 {
  padding-top: 5px !important;
}
.pt_10 {
  padding-top: 10px !important;
}
.pt_15 {
  padding-top: 15px !important;
}
.pt_20 {
  padding-top: 20px !important;
}
.pt_25 {
  padding-top: 25px !important;
}
.pt_30 {
  padding-top: 30px !important;
}
.pt_35 {
  padding-top: 35px !important;
}
.pt_40 {
  padding-top: 40px !important;
}
.pt_45 {
  padding-top: 45px !important;
}
.pt_50 {
  padding-top: 50px !important;
}
.pt_60 {
  padding-top: 60px !important;
}
.pt_70 {
  padding-top: 70px !important;
}
.pt_80 {
  padding-top: 80px !important;
}
.pt_90 {
  padding-top: 90px !important;
}
.pt_100 {
  padding-top: 100px !important;
}
@media (max-width: 768px) {
  .pt_0_md {
    padding-top: 0 !important;
  }
  .pt_5_md {
    padding-top: 5px !important;
  }
  .pt_10_md {
    padding-top: 10px !important;
  }
  .pt_15_md {
    padding-top: 15px !important;
  }
  .pt_20_md {
    padding-top: 20px !important;
  }
  .pt_25_md {
    padding-top: 25px !important;
  }
  .pt_30_md {
    padding-top: 30px !important;
  }
  .pt_35_md {
    padding-top: 35px !important;
  }
  .pt_40_md {
    padding-top: 40px !important;
  }
  .pt_45_md {
    padding-top: 45px !important;
  }
  .pt_50_md {
    padding-top: 50px !important;
  }
  .pt_60_md {
    padding-top: 60px !important;
  }
  .pt_70_md {
    padding-top: 70px !important;
  }
  .pt_80_md {
    padding-top: 80px !important;
  }
  .pt_90_md {
    padding-top: 90px !important;
  }
  .pt_100_md {
    padding-top: 100px !important;
  }
}
@media (max-width: 576px) {
  .pt_5_sm {
    padding-top: 1.3vw !important;
  }
  .pt_10_sm {
    padding-top: 2.6vw !important;
  }
  .pt_15_sm {
    padding-top: 4vw !important;
  }
  .pt_20_sm {
    padding-top: 5.3vw !important;
  }
  .pt_25_sm {
    padding-top: 6.6vw !important;
  }
  .pt_30_sm {
    padding-top: 8vw !important;
  }
  .pt_35_sm {
    padding-top: 9.3vw !important;
  }
  .pt_40_sm {
    padding-top: 10.6vw !important;
  }
  .pt_45_sm {
    padding-top: 12vw !important;
  }
  .pt_50_sm {
    padding-top: 13.3vw !important;
  }
  .pt_60_sm {
    padding-top: 16vw !important;
  }
  .pt_70_sm {
    padding-top: 18.6vw !important;
  }
  .pt_80_sm {
    padding-top: 21.3vw !important;
  }
  .pt_90_sm {
    padding-top: 24vw !important;
  }
  .pt_100_sm {
    padding-top: 26.6vw !important;
  }
}

/*-- bottom --*/
.pb_0 {
  padding-bottom: 0 !important;
}
.pb_5 {
  padding-bottom: 5px !important;
}
.pb_10 {
  padding-bottom: 10px !important;
}
.pb_15 {
  padding-bottom: 15px !important;
}
.pb_20 {
  padding-bottom: 20px !important;
}
.pb_25 {
  padding-bottom: 25px !important;
}
.pb_30 {
  padding-bottom: 30px !important;
}
.pb_35 {
  padding-bottom: 35px !important;
}
.pb_40 {
  padding-bottom: 40px !important;
}
.pb_45 {
  padding-bottom: 45px !important;
}
.pb_50 {
  padding-bottom: 50px !important;
}
.pb_60 {
  padding-bottom: 60px !important;
}
.pb_70 {
  padding-bottom: 70px !important;
}
.pb_80 {
  padding-bottom: 80px !important;
}
.pb_90 {
  padding-bottom: 90px !important;
}
.pb_100 {
  padding-bottom: 100px !important;
}
@media (max-width: 768px) {
  .pb_0_md {
    padding-bottom: 0 !important;
  }
  .pb_5_md {
    padding-bottom: 5px !important;
  }
  .pb_10_md {
    padding-bottom: 10px !important;
  }
  .pb_15_md {
    padding-bottom: 15px !important;
  }
  .pb_20_md {
    padding-bottom: 20px !important;
  }
  .pb_25_md {
    padding-bottom: 25px !important;
  }
  .pb_30_md {
    padding-bottom: 30px !important;
  }
  .pb_35_md {
    padding-bottom: 35px !important;
  }
  .pb_40_md {
    padding-bottom: 40px !important;
  }
  .pb_45_md {
    padding-bottom: 45px !important;
  }
  .pb_50_md {
    padding-bottom: 50px !important;
  }
  .pb_60_md {
    padding-bottom: 60px !important;
  }
  .pb_70_md {
    padding-bottom: 70px !important;
  }
  .pb_80_md {
    padding-bottom: 80px !important;
  }
  .pb_90_md {
    padding-bottom: 90px !important;
  }
  .pb_100_md {
    padding-bottom: 100px !important;
  }
}
@media (max-width: 576px) {
  .pb_5_sm {
    padding-bottom: 1.3vw !important;
  }
  .pb_10_sm {
    padding-bottom: 2.6vw !important;
  }
  .pb_15_sm {
    padding-bottom: 4vw !important;
  }
  .pb_20_sm {
    padding-bottom: 5.3vw !important;
  }
  .pb_25_sm {
    padding-bottom: 6.6vw !important;
  }
  .pb_30_sm {
    padding-bottom: 8vw !important;
  }
  .pb_35_sm {
    padding-bottom: 9.3vw !important;
  }
  .pb_40_sm {
    padding-bottom: 10.6vw !important;
  }
  .pb_45_sm {
    padding-bottom: 12vw !important;
  }
  .pb_50_sm {
    padding-bottom: 13.3vw !important;
  }
  .pb_60_sm {
    padding-bottom: 16vw !important;
  }
  .pb_70_sm {
    padding-bottom: 18.6vw !important;
  }
  .pb_80_sm {
    padding-bottom: 21.3vw !important;
  }
  .pb_90_sm {
    padding-bottom: 24vw !important;
  }
  .pb_100_sm {
    padding-bottom: 26.6vw !important;
  }
}

/*    Margin
=====================================================*/
/*-- Horizontal / Vertical--*/
.mx_auto {
  margin-left: auto !important;
  margin-right: auto !important;
}
.mx_0 {
  margin-left: auto !important;
  margin-right: auto !important;
}
.my_auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}
.my_0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
@media (max-width: 768px) {
  .mx_auto_md {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .mx_0_md {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .my_auto_md {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .my_0_md {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}
@media (max-width: 576px) {
  .mx_auto_sm {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .mx_0_sm {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .my_auto_sm {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .my_0_sm {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

/*-- top --*/
.mt_0 {
  margin-top: 0 !important;
}
.mt_5 {
  margin-top: 5px !important;
}
.mt_10 {
  margin-top: 10px !important;
}
.mt_15 {
  margin-top: 15px !important;
}
.mt_18 {
  margin-top: 18px !important;
}
.mt_20 {
  margin-top: 20px !important;
}
.mt_25 {
  margin-top: 25px !important;
}
.mt_27 {
 margin-top: 27px !important;
}
.mt_30 {
  margin-top: 30px !important;
}
.mt_35 {
  margin-top: 35px !important;
}
.mt_40 {
  margin-top: 40px !important;
}
.mt_45 {
  margin-top: 45px !important;
}
.mt_47 {
  margin-top: 47px !important;
}
.mt_50 {
  margin-top: 50px !important;
}
.mt_54 {
  margin-top: 54px !important;
}
.mt_60 {
  margin-top: 60px !important;
}
.mt_70 {
  margin-top: 70px !important;
}
.mt_74 {
  margin-top: 74px !important;
}
.mt_80 {
  margin-top: 80px !important;
}
.mt_90 {
  margin-top: 90px !important;
}
.mt_100 {
  margin-top: 100px !important;
}
@media (max-width: 768px) {
  .mt_0_md {
    margin-top: 0 !important;
  }
  .mt_5_md {
    margin-top: 5px !important;
  }
  .mt_10_md {
    margin-top: 10px !important;
  }
  .mt_15_md {
    margin-top: 15px !important;
  }
  .mt_20_md {
    margin-top: 20px !important;
  }
  .mt_25_md {
    margin-top: 25px !important;
  }
  .mt_30_md {
    margin-top: 30px !important;
  }
  .mt_35_md {
    margin-top: 35px !important;
  }
  .mt_40_md {
    margin-top: 40px !important;
  }
  .mt_45_md {
    margin-top: 45px !important;
  }
  .mt_50_md {
    margin-top: 50px !important;
  }
  .mt_60_md {
    margin-top: 60px !important;
  }
  .mt_70_md {
    margin-top: 70px !important;
  }
  .mt_80_md {
    margin-top: 80px !important;
  }
  .mt_90_md {
    margin-top: 90px !important;
  }
  .mt_100_md {
    margin-top: 100px !important;
  }
}
@media (max-width: 576px) {
  .mt_-1_sm {
    margin-top: -1vw !important;
  }
  .mt_5_sm {
    margin-top: 1.3vw !important;
  }
  .mt_10_sm {
    margin-top: 2.6vw !important;
  }
  .mt_15_sm {
    margin-top: 4vw !important;
  }
  .mt_20_sm {
    margin-top: 5.3vw !important;
  }
  .mt_25_sm {
    margin-top: 6.6vw !important;
  }
  .mt_30_sm {
    margin-top: 8vw !important;
  }
  .mt_35_sm {
    margin-top: 9.3vw !important;
  }
  .mt_40_sm {
    margin-top: 10.6vw !important;
  }
  .mt_45_sm {
    margin-top: 12vw !important;
  }
  .mt_50_sm {
    margin-top: 13.3vw !important;
  }
  .mt_60_sm {
    margin-top: 16vw !important;
  }
  .mt_70_sm {
    margin-top: 18.6vw !important;
  }
  .mt_80_sm {
    margin-top: 21.3vw !important;
  }
  .mt_90_sm {
    margin-top: 24vw !important;
  }
  .mt_100_sm {
    margin-top: 26.6vw !important;
  }
}

/*-- bottom --*/
.mb_0 {
  margin-bottom: 0 !important;
}
.mb_5 {
  margin-bottom: 5px !important;
}
.mb_10 {
  margin-bottom: 10px !important;
}
.mb_15 {
  margin-bottom: 15px !important;
}
.mb_20 {
  margin-bottom: 20px !important;
}
.mb_25 {
  margin-bottom: 25px !important;
}
.mb_30 {
  margin-bottom: 30px !important;
}
.mb_35 {
  margin-bottom: 35px !important;
}
.mb_40 {
  margin-bottom: 40px !important;
}
.mb_45 {
  margin-bottom: 45px !important;
}
.mb_50 {
  margin-bottom: 50px !important;
}
.mb_60 {
  margin-bottom: 60px !important;
}
.mb_70 {
  margin-bottom: 70px !important;
}
.mb_80 {
  margin-bottom: 80px !important;
}
.mb_90 {
  margin-bottom: 90px !important;
}
.mb_100 {
  margin-bottom: 100px !important;
}
@media (max-width: 768px) {
  .mb_0_md {
    margin-bottom: 0 !important;
  }
  .mb_5_md {
    margin-bottom: 5px !important;
  }
  .mb_10_md {
    margin-bottom: 10px !important;
  }
  .mb_15_md {
    margin-bottom: 15px !important;
  }
  .mb_20_md {
    margin-bottom: 20px !important;
  }
  .mb_25_md {
    margin-bottom: 25px !important;
  }
  .mb_30_md {
    margin-bottom: 30px !important;
  }
  .mb_35_md {
    margin-bottom: 35px !important;
  }
  .mb_40_md {
    margin-bottom: 40px !important;
  }
  .mb_45_md {
    margin-bottom: 45px !important;
  }
  .mb_50_md {
    margin-bottom: 50px !important;
  }
  .mb_60_md {
    margin-bottom: 60px !important;
  }
  .mb_70_md {
    margin-bottom: 70px !important;
  }
  .mb_80_md {
    margin-bottom: 80px !important;
  }
  .mb_90_md {
    margin-bottom: 90px !important;
  }
  .mb_100_md {
    margin-bottom: 100px !important;
  }
}
@media (max-width: 576px) {
  .mb_-1_sm {
    margin-bottom: -1vw !important;
  }
  .mb_5_sm {
    margin-bottom: 1.3vw !important;
  }
  .mb_10_sm {
    margin-bottom: 2.6vw !important;
  }
  .mb_15_sm {
    margin-bottom: 4vw !important;
  }
  .mb_20_sm {
    margin-bottom: 5.3vw !important;
  }
  .mb_25_sm {
    margin-bottom: 6.6vw !important;
  }
  .mb_30_sm {
    margin-bottom: 8vw !important;
  }
  .mb_35_sm {
    margin-bottom: 9.3vw !important;
  }
  .mb_40_sm {
    margin-bottom: 10.6vw !important;
  }
  .mb_45_sm {
    margin-bottom: 12vw !important;
  }
  .mb_50_sm {
    margin-bottom: 13.3vw !important;
  }
  .mb_60_sm {
    margin-bottom: 16vw !important;
  }
  .mb_70_sm {
    margin-bottom: 18.6vw !important;
  }
  .mb_80_sm {
    margin-bottom: 21.3vw !important;
  }
  .mb_90_sm {
    margin-bottom: 24vw !important;
  }
  .mb_100_sm {
    margin-bottom: 26.6vw !important;
  }

  /* padding left */
  .pl_40_sm {
    padding-left: 40px;
  }
  .pl_50_sm {
    padding-left: 50px;
  }
}

/*-- right --*/
.mr_0 {
  margin-right: 0px;
}
.mr_5 {
  margin-right: 5px;
}
.mr_10 {
  margin-right: 10px;
}
.mr_20 {
  margin-right: 20px;
}

/* padding x */
.px_10 {
  padding-top: 10px;
  padding-bottom: 10px;
}
.px_20 {
  padding-top: 20px;
  padding-bottom: 20px;
}
.px_30 {
  padding-top: 30px;
  padding-bottom: 30px;
}

/* padding y */
.py_10 {
  padding-left: 10px;
  padding-right: 10px;
}
.py_20 {
  padding-left: 20px;
  padding-right: 20px;
}
.py_30 {
  padding-left: 30px;
  padding-right: 30px;
}

/* padding xy */
.pxy_10 {
  padding: 10px;
}
.pxy_20 {
  padding: 20px;
}
.pxy_30 {
  padding: 30px;
}

/* --------------------
 CSS unique
------------------- */

body {
  font-family: 500 16px "Helvetica Neue", "Noto Sans JP", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, メイリオ, Meiryo, sans-serif;
  line-height: 1.7;
  text-align: left;
}

.m_herosArea__keyvisual {
  background-color: #007FBF;
}

.m_herosArea__keyvisual img {
  display: block;
  margin: 0 auto;
}

.symbolbar {
  border-top: 3px solid #007FBF;
  width: 30px;
  margin: 0 auto;
}
.symbolbox {
  background-color: #007FBF;
  width: 20px;
  height: 20px;
  border-radius: 30%;
}

@media (max-width: 576px) {
  .symbolbar {
    border-top: 3px solid #007FBF;
    width: 30px;
    margin: 0 0;
  }
}

/* background color */
.bc_f8 {
  background-color: #f8f8f8;
}

/* img */
.u_img {
  display: block;
  line-height: 0;
}
.u_img img {
  width: 100%;
  max-width: 100%;
  line-height: 0;
}

/*-- Icon --*/
.u_ic {
  position: relative;
}
.u_ic::before,
.u_ic::after {
  content: "";
  margin: auto;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% auto;
  position: absolute;
  pointer-events: none;
}

/*-- Text Indent --*/
.u_indent {
  text-indent: -1em;
  padding-left: 1em;
}

/* 幅 */
.width_10 {
  width: 10px;
}
.width_15 {
  width: 15px;
}
.width_20 {
  width: 20px;
}
.width_25 {
  width: 25px;
}
.width_30 {
  width: 30px;
}

.width_47 {
  width: 47%;
}
/* フォント */

.fw_b {
  font-weight: bold;
}

.fc_red {
  color: #007FBF;
}
.fs_14 {
  font-size: 14px;
}
.fs_18 {
  font-size: 18px;
}
.fs_20 {
  font-size: 20px;
}
.fs_21 {
  font-size: 21px;
}
.fs_22 {
  font-size: 22px;
}
.fs_28 {
  font-size: 28px;
}
.fs_36 {
  font-size: 36px;
}
.fs_45 {
  font-size: 45px;
}



/* ボーダー */
.border_eee {
  border: 1px solid #eeeeee;
}
.border_sha {
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
.border_rab {
  border-radius: 10px;
}

.border_left {
  border-left: 1px solid #eeeeee!important;
}
.border_right {
  border-right: 1px solid #eeeeee!important;
}
.border_bottom {
  border-bottom: 1px solid #eeeeee!important;
}

.border_top {
  border-top: 1px solid #eeeeee!important;
}
.border_line_bt {
  border-bottom: 3px solid #eeeeee!important;
  position: relative;
}
.border_line_bt::after {
  content: "";
  position: absolute;
  width: 15%;
  display: block;
  border-bottom: 3px solid #007FBF;
}

.border_line2_bt {
  border-bottom: 2px solid #eeeeee!important;
  position: relative;
  margin-bottom: 10px;
}
.border_line2_bt::after {
  content: "";
  position: absolute;
  width: 5%;
  display: block;
  border-bottom: 2px solid #007FBF;
  padding-bottom: 10px;
}

@media (max-width: 576px) {
  .border_right {
    border-right: none!important;
  }
  }
/* ボタン */

.btn_red {
  position: relative;
  text-decoration: none;
  font-weight: bold;
  border: 1px solid #007FBF;
  border-radius: 10px;
  color: #ffffff;
  background: #007FBF;
  transition: 0.3s background, 0.3s color;
  max-width: 250px;
  width: 100%;
  height: 56px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.btn_red:hover {
  text-decoration: none;
  color: #007FBF;
  background-color: #ffffff;
}

.btn_red::after {
  content: "";
  width: 5px;
  height: 5px;
  right: 30px;
  position: absolute;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}

.btn_red_45deg::after {
  content: "";
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.btn_red:hover::after {
  border-top: 2px solid #007FBF;
  border-right: 2px solid #007FBF;
}
.arrow {
  padding-right: 40px;
  position: relative;
}
.arrow::after {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  right: 12px;
  position: absolute;
  border-top: 2px solid #007FBF;
  border-right: 2px solid #007FBF;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.btn_circle_s {
  text-decoration: none;
  color: #333333;
  position: relative;
}
.btn_circle_s::before {
  content: "";
  width: 20px;
  height: 20px;
  top: 0;
  bottom: 0;
  right: 260px;
  position: absolute;
  background-color: #007FBF;
  border-radius: 50%;
}
.btn_circle_s::after {
  content: "";
  width: 5px;
  height: 5px;
  right: 267px;
  top: 6px;
  position: absolute;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.btn_circle_s19::before {
  right: 270px;
}
.btn_circle_s19::after {
  right: 277px;
}

.btn_circle_sweb::before {
  right: 275px;
}
.btn_circle_sweb::after {
  right: 282px;
}

.btn_circle_m {
  display: inline-block;
  padding-left: 45px;
  text-decoration: none;
  color: #333333;
  position: relative;
  transition: color 0.2s;
}
.btn_circle_m::before {
  content: "";
  width: 35px;
  height: 35px;
  top: -8px;
  bottom: 0;
  left: 0;
  position: absolute;
  background-color: #007FBF;
  border-radius: 50%;
}
.btn_circle_m::after {
  content: "";
  width: 5px;
  height: 5px;
  left: 13px;
  top: 6px;
  position: absolute;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.btn_circle_m:hover {
  color: #007FBF;
}

/* footer */
.web_footer {
  margin: 0;
  padding: 0;
}

@media (max-width: 768px) {
}

@media (max-width: 576px) {
  .btn_red {
    padding: 0 20px 0 10px;
  }
  .btn_red::after {
    margin-right: -242px;
  }
}

/*-- PC --*/
.u_tbl {
  display: none !important;
}
.u_sp {
  display: none !important;
}
.u_pc {
  display: block !important;
}

@media (max-width: 768px) {
  .u_pc {
    display: none !important;
  }
  .u_sp {
    display: none !important;
  }
  .u_tbl {
    display: block !important;
  }
}
/*-- SP --*/
@media (max-width: 576px) {
  .u_pc {
    display: none !important;
  }
  .u_tbl {
    display: none !important;
  }
  .u_sp {
    display: block !important;
  }
}

.g_icHd {
  padding-left: 30px;
}
.g_icHd::before {
  left: 0;
  top: 0;
  bottom: 0;
}
.g_icHd__book::before {
  width: 15px;
  height: 20px;
  background-image: url(../../img/web/icon_book.png);
}
.g_icHd__works::before {
  width: 21px;
  height: 18px;
  background-image: url(../../img/web/icon_pc.png);
}

.lineup_head {
  font-size: 36px;
}
.lineup_head_num {
  font-size: 45px;
  line-height: 1.3;
}

.works_itm figure {
  aspect-ratio: 16 / 10;
  border: 1px solid #eee;
  border-radius: 10px;
  overflow: hidden;
}
.works_itm img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
}
.works_itm a {
  color: #333333;
  transition: opacity 0.2s;
}
.works_itm a:hover {
  opacity: 0.7;
}

.product_itm {
  border-radius: 10px;
  overflow: hidden;
}
.product_itm a {
  display: grid;
  color: #333333;
  transition: opacity 0.2s;
  height: 100%;
}
.product_itm a:hover {
  opacity: 0.7;
}

.product_itm a > dl,
.product_itm a div dl {
  padding: 30px;
}
.product_itm_price{
  padding: 0 30px 30px;
  align-self: end;
}
bnr_itm a {
  color: #333333;
  transition: opacity 0.2s;
}
.bnr_itm a:hover {
  opacity: 0.7;
}

.point_itm {
  padding-top: 40px;
}
.point_itm + .point_itm {
  margin-top: 40px;
  border-top: 1px solid #eee;
}
.point_itm figure {
  max-width: 20%;
  flex-shrink: 0;
  margin: auto;
}

.service_itm a {
  display: block;
  color: #333333;
  transition: opacity 0.2s;
}
.service_itm a:hover {
  opacity: 0.7;
}

.faq_itm + .faq_itm {
  border-top: 1px solid #eee;
}
.faq_itm dt {
  position: relative;
  display: flex;
  padding: 15px 40px 15px 0;
  cursor: pointer;
  transition: color 0.2s;
}
.faq_itm dt > span {
  font-size: 21px;
  line-height: 1.2;
}
.faq_itm dt:hover {
  color: #007FBF;
}
.faq_itm dt::before,
.faq_itm dt::after {
  display: block;
  background-color: #007FBF;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}
.faq_itm dt::before {
  width: 12px;
  height: 2px;
  right: 15px;
}
.faq_itm dt::after {
  width: 2px;
  height: 12px;
  right: 20px;
  border: none !important;
  -webkit-transform: rotate(0);
  transform: rotate(0);
}
.faq_itm dt.js_open::before {
  display: none;
}
.faq_itm dt.js_open::after {
  -webkit-transform: rotate(90deg) translateY(0px);
  transform: rotate(90deg) translateY(0px);
}
.faq_itm dd {
  display: none;
  margin-bottom: 20px;
}
.faq_itm dd > div {
  padding: 20px;
}

.column_lst {
  -webkit-column-gap: 30px;
     -moz-column-gap: 30px;
          column-gap: 30px;
}
.column_itm {
  border-top: 1px solid #eee;
}
.column_itm:nth-of-type(1),
.column_itm:nth-of-type(2) {
  border-top: none;
}
.column_itm a {
  position: relative;
  color: #333333;
  transition: color 0.2s;
}
.column_itm a:hover {
  color: #007FBF;
}
.column_itm a::after {
  top: 0;
  bottom: 0;
  margin: auto;
}

@media (max-width: 768px) {
  .lineup_head {
    font-size: 26px;
  }
  .lineup_head_num {
    font-size: 35px;
  }

  .product_itm a > dl {
    padding: 20px;
  }

  .faq_itm dt {
    font-size: 15px;
  }
  .faq_itm dt > span {
    font-size: 18px;
  }

  .point_itm figure {
    max-width: 50%;
  }
}
@media (max-width: 576px) {
  .point_itm figure {
    max-width: 100%;
  }
.column_itm:nth-of-type(2) {
    border-top: 1px solid #eee;
  }
}