@charset "UTF-8";
/*--------------------------------------*
* foundation
*--------------------------------------*/
/*--------------------------------------*
 * base
 *--------------------------------------*/
/*--------------------------------------*
 * color
 *--------------------------------------*/
/*--------------------------------------*
 * breakpoint
 *--------------------------------------*/
/*--------------------------------------*
 * px to vw
 *--------------------------------------*/
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  line-height: 1.6;
  height: 100%;
  scroll-behavior: smooth;
  font-size: clamp(14px, 0.8333333333vw, 18px);
}

body {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  width: 100%;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
}

img,
video,
object {
  max-width: 100%;
  height: auto;
  border: none;
  display: block;
}

a {
  text-decoration: underline;
  -webkit-transition: 0.25s;
  transition: 0.25s;
}
a:hover {
  text-decoration: none;
}

a:hover img {
  text-decoration: none;
  opacity: 0.8;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

/*--------------------------------------*
* layout
*--------------------------------------*/
/*--------------------------------------*
 * header
 *--------------------------------------*/
/*--------------------------------------*
 * svg
 *--------------------------------------*/
/*--------------------------------------*
 * header
 *--------------------------------------*/
/*--------------------------------------*
 * button
 *--------------------------------------*/
.c-header_wrap {
  position: fixed;
  width: 100%;
  background: rgba(0, 0, 0, 0.7607843137);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 12px;
  height: 60px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  z-index: 1;
}
@media (max-width: 767px) {
  .c-header_wrap {
    padding: 6px 8px 6px 12px;
  }
}
.c-header_men {
  text-align: center;
  margin: 22px;
}
@media (max-width: 767px) {
  .c-header_men {
    display: none;
  }
}
@media (min-width: 1279px) {
  .c-header_men {
    margin-left: auto;
  }
}
.c-header_ttl {
  height: 30px;
  display: inline-block;
}
@media (max-width: 767px) {
  .c-header_ttl {
    height: 24px;
  }
}
.c-header_lst {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  font-weight: bold;
  gap: 10px;
}
@media (min-width: 1279px) {
  .c-header_lst {
    gap: 66px;
  }
}
.c-header_lst li a {
  text-decoration: none;
  color: #fff;
}
.c-header_lst li:last-child a {
  color: #F7D149;
}
.c-header_btn {
  margin-left: auto;
  color: #000;
  text-decoration: none;
  font-size: 14px;
  background: #F7D257;
  display: inline-block;
  padding: 10px 21px;
  border-radius: 20px;
  font-weight: bold;
  line-height: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-header_btn > span {
  display: block;
  text-align: center;
  font-size: 1.5rem;
  width: 90%;
}
@media (max-width: 767px) {
  .c-header_btn > span {
    width: auto;
  }
}
.c-header_btn .c-icon_c_arw {
  margin-right: 5px;
}

/*--------------------------------------*
 * footer
 *--------------------------------------*/
.c-footer_wrap {
  font-family: Roboto, Avenir, "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, 游ゴシック, "Yu Gothic", 游ゴシック体, YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background: #323232;
  text-align: center;
  padding: 2rem;
}
.c-footer_address {
  color: #fff;
  text-align: left;
  display: block;
  margin: 0 auto 1rem;
  width: 465px;
}
@media (max-width: 767px) {
  .c-footer_address {
    width: 100%;
  }
}
.c-footer_address_block {
  text-align: center;
}
.c-footer_copy {
  color: #939393;
}

/*--------------------------------------*
* object > component
*--------------------------------------*/
/*--------------------------------------*
 * header
 *--------------------------------------*/
/*--------------------------------------*
 * icon
 *--------------------------------------*/
.c-icon_n_arw {
  display: inline-block;
  vertical-align: middle;
  color: #ffffff;
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-right: 9px;
  position: relative;
  top: -1px;
}
.c-icon_c_arw {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 20px;
  height: 20px;
  background-color: #333;
  color: #fff;
  border-radius: 50%; /* 正円にする */
  text-decoration: none;
  cursor: pointer;
}
.c-icon_c_arw::after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg); /* 45度回転させて > に見せる */
  position: relative;
  left: -1px;
}
.c-icon_c_arw_btm {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2rem;
  height: 2rem;
  background-color: #fff;
  color: #FD444B;
  border-radius: 50%; /* 正円にする */
  text-decoration: none;
  cursor: pointer;
}
.c-icon_c_arw_btm::after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  position: relative;
  left: 0px;
  top: -1px;
}

/*--------------------------------------*
 * inner
 *--------------------------------------*/
.c-inner-body {
  overflow-x: hidden;
}

.c-inner {
  max-width: 1260px;
  margin: 0 auto;
  padding-left: 8vw;
  padding-right: 8vw;
}
@media (min-width: 768px) {
  .c-inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}

.c-inner-md {
  max-width: 960px;
  margin: 0 auto;
  padding-left: 8vw;
  padding-right: 8vw;
}
@media (min-width: 768px) {
  .c-inner-md {
    padding-left: 40px;
    padding-right: 40px;
  }
}

.c-inner-sm {
  max-width: 800px;
  margin: 0 auto;
  padding-left: 8vw;
  padding-right: 8vw;
}
@media (min-width: 768px) {
  .c-inner-sm {
    padding-left: 40px;
    padding-right: 40px;
  }
}

/*--------------------------------------*
 * quote
 *--------------------------------------*/
/*--------------------------------------*
 * header
 *--------------------------------------*/
/*--------------------------------------*
 * category
 *--------------------------------------*/
/*--------------------------------------*
* object > project
*--------------------------------------*/
/*--------------------------------------*
 * header
 *--------------------------------------*/
/*--------------------------------------*
 * fv
 *--------------------------------------*/
.c-hero_wrap {
  width: 100vw;
  height: 100vh;
  background-color: #f0f0f0;
  /* 画像の指定 */
  background-image: url("../img/hero/mainv.jpg");
  /* 常にセンターにする */
  background-position: center;
  /* ブラウザの幅と高さに合わせて、隙間なく埋める */
  background-size: cover;
  /* 画像を繰り返さない */
  background-repeat: no-repeat;
  /* スクロールしても背景を固定する場合（お好みで） */
  background-attachment: fixed;
  /* 表示領域をブラウザの高さ100%にする */
  min-height: 100vh;
  margin: 0;
  position: relative;
  z-index: 0;
}
.c-hero_ttl {
  padding: 16vh 0;
  width: auto;
  max-width: 120rem;
  margin: 0 auto;
  min-width: 80rem;
}
@media (max-width: 767px) {
  .c-hero_ttl {
    min-width: auto;
    padding: 16vh 0;
  }
}
@media (min-width: 768px) {
  .c-hero_ttl {
    min-width: auto;
    padding: 16vh 8vw;
  }
}
.c-hero_ttl_pc {
  display: inline-block;
}
@media (max-width: 767px) {
  .c-hero_ttl_pc {
    display: none;
  }
}
.c-hero_ttl_sp {
  display: none;
}
@media (max-width: 767px) {
  .c-hero_ttl_sp {
    display: inline-block;
    width: 85%;
    margin: 0 auto;
  }
}
.c-hero_ttl h2 {
  margin-bottom: 4vh;
}
@media (max-width: 767px) {
  .c-hero_ttl h2 {
    text-align: center;
  }
}
.c-hero_ttl h3 {
  width: 80%;
  display: block;
  text-align: center;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .c-hero_ttl h3 {
    width: 100%;
    padding: 0 12px;
  }
}
.c-hero_row {
  background: #FD444B;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: 3rem;
  line-height: 1;
  padding: 1.5rem 2rem;
  border: 2px solid #000;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
@media (max-width: 767px) {
  .c-hero_row {
    text-align: center;
    border-radius: 8vh;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 2.5vh;
  }
}
.c-hero_row > img {
  width: 88%;
}
@media (max-width: 767px) {
  .c-hero_row > img {
    width: 70%;
  }
}
.c-hero_btm {
  width: 100%;
  background: #f7d149 url(../img/hero/bnr_bg_left.svg) 10vh 0 no-repeat;
  position: absolute;
  bottom: 0;
  padding: 1vh;
}
@media (max-width: 767px) {
  .c-hero_btm {
    background: #f7d149;
    background-image: none;
  }
}
@media (max-width: 767px) {
  .c-hero_btm {
    text-align: center;
    padding: 3vh;
  }
}
.c-hero_btm::after {
  content: "";
  background: url(../img/hero/bnr_bg_right.svg) right top no-repeat;
  display: block;
  width: 100%;
  height: 140px;
  position: absolute;
  right: 8vh;
  top: 0;
  z-index: 0;
}
@media (max-width: 767px) {
  .c-hero_btm::after {
    display: none;
  }
}
.c-hero_btm_dtl {
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  bottom: 0;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  max-width: 66rem;
  min-width: 40rem;
  z-index: 1;
}
@media (max-width: 767px) {
  .c-hero_btm_dtl {
    display: block;
    min-width: auto;
  }
}
.c-hero_btm_lbl {
  position: absolute;
  top: -61px;
  width: 10vh;
}
@media (max-width: 767px) {
  .c-hero_btm_lbl {
    position: absolute;
    top: -11vh;
    width: 27vh;
    margin: auto;
    left: 0;
    right: 0;
  }
}
.c-hero_btm_sttl {
  width: 26vh;
  display: block;
  margin-bottom: 1vh;
}
@media (max-width: 767px) {
  .c-hero_btm_sttl {
    width: 90%;
    margin-bottom: 1vh;
    display: inline-block;
    padding-top: 21px;
    padding-bottom: 5px;
  }
}
.c-hero_btm_mttl {
  display: block;
  width: 100vh;
}
@media (max-width: 767px) {
  .c-hero_btm_mttl {
    margin-bottom: 10px;
  }
}
.c-hero_btm_btn {
  background: #FD444B;
  display: block;
  border-radius: 3vh;
  line-height: 1;
  padding: 1.5vh;
  border: 2px solid #000;
}

/*--------------------------------------*
 * header
 *--------------------------------------*/
/*--------------------------------------*
 * solution
 *--------------------------------------*/
.c-about_wrap {
  margin: 2rem;
  background: #FEF7EC url(../img/parts/about_bg.svg) repeat;
  padding: 4rem 2rem;
  text-align: center;
}
@media (max-width: 767px) {
  .c-about_wrap {
    margin: 0;
    padding: 1rem 1.2rem;
  }
}
.c-about_pgf {
  font-size: 2.4rem;
  line-height: 5rem;
  margin-bottom: 1rem;
}
@media (max-width: 767px) {
  .c-about_pgf {
    font-size: 2rem;
    line-height: 3.4rem;
  }
}
.c-about_pgf b {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #f7d257));
  background: linear-gradient(transparent 60%, #f7d257 60%);
  display: inline;
}
.c-about_mttl {
  width: 31vh;
  display: block;
  margin: 0 auto 2rem auto;
}
@media (max-width: 767px) {
  .c-about_mttl {
    width: 100%;
  }
}
.c-about_spgf {
  color: #52493A;
  font-size: 1.6rem;
  line-height: 3rem;
  margin-bottom: 2rem;
}
.c-about_sec {
  width: auto;
  margin: 0 auto;
  min-width: 67vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 767px) {
  .c-about_sec {
    display: block;
    width: 100%;
  }
}
@media (min-width: 768px) {
  .c-about_sec {
    gap: 2rem;
    max-width: auto;
  }
}
@media (min-width: 980px) {
  .c-about_sec {
    gap: 3rem;
    max-width: 80vw;
  }
}
.c-about_sec div {
  width: 33.3%;
  text-align: center;
  border-radius: 0.6rem;
  background: #fff;
  border: 2px solid #000;
  padding: 2rem;
  -webkit-box-shadow: 0px 4px 4px 0px #777777;
          box-shadow: 0px 4px 4px 0px #777777;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (max-width: 767px) {
  .c-about_sec div {
    width: 100%;
    margin-bottom: 25px;
  }
}
.c-about_sec div span {
  text-align: center;
  width: 5.8vh;
  height: 5.8vh;
  background: #FEF7EC;
  border-radius: 50%;
  display: block;
  margin: 0 auto 1rem auto;
  padding: 0.5rem;
}
@media (max-width: 767px) {
  .c-about_sec div span {
    width: 10.8vh;
    height: 10.8vh;
  }
}
.c-about_sec div span img {
  width: 18rem;
  display: block;
}
.c-about_sec div h3 b {
  font-size: 1.6rem;
  font-weight: bold;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #f7d257));
  background: linear-gradient(transparent 60%, #f7d257 60%);
  display: inline;
}
.c-about_sec div p {
  font-size: 1.2rem;
  margin-top: 1rem;
}

/*--------------------------------------*
 * header
 *--------------------------------------*/
/*--------------------------------------*
 * solution
 *--------------------------------------*/
.c-recommend_wrap {
  margin: 4rem;
  text-align: center;
}
@media (max-width: 767px) {
  .c-recommend_wrap {
    margin: 2rem 2rem;
  }
}
.c-recommend_ttl {
  font-size: 2.3rem;
  font-weight: bold;
  color: #3B3800;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #f7d257));
  background: linear-gradient(transparent 60%, #f7d257 60%);
  display: inline-block;
  margin-bottom: 2.5rem;
  position: relative;
}
@media (max-width: 767px) {
  .c-recommend_ttl {
    font-size: 2.05rem;
  }
}
.c-recommend_ttl::after {
  content: "";
  background: url(../img/parts/attention.svg) left top no-repeat;
  position: absolute;
  left: -33px;
  top: -20px;
  width: 34px;
  height: 39px;
  display: block;
}
@media (max-width: 767px) {
  .c-recommend_ttl::after {
    left: -15px;
    top: -10px;
    width: 21px;
    height: 27px;
    display: block;
    background-size: 20px;
  }
}
.c-recommend_sec {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .c-recommend_sec {
    display: block;
    width: 100%;
  }
}
@media (min-width: 768px) {
  .c-recommend_sec {
    width: 89vw;
    gap: 1.5rem;
  }
}
@media (min-width: 980px) {
  .c-recommend_sec {
    width: 66vw;
    gap: 3rem;
  }
}
.c-recommend_sec div {
  width: 30vw;
  text-align: center;
  border-radius: 1rem;
  -webkit-box-shadow: 0px 3px 6px 0px #bdbdbd;
          box-shadow: 0px 3px 6px 0px #bdbdbd;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (max-width: 767px) {
  .c-recommend_sec div {
    width: 100%;
    margin-bottom: 26px;
  }
}
.c-recommend_sec div span {
  display: block;
  padding: 3rem 0;
  border-left: 3px solid #f7d149;
  border-right: 3px solid #f7d149;
  border-top: 3px solid #f7d149;
  border-radius: 1rem 1rem 0 0;
}
.c-recommend_sec div span img {
  display: inline;
  width: 10rem;
  height: 140px;
}
.c-recommend_sec div h3 {
  font-size: 1.4rem;
  text-align: left;
  background: #f7d149;
  padding: 2rem;
  font-weight: bold;
  line-height: 2.4rem;
  border-left: 3px solid #f7d149;
  border-right: 3px solid #f7d149;
  border-bottom: 3px solid #f7d149;
  border-radius: 0 0 1rem 1rem;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/*--------------------------------------*
 * header
 *--------------------------------------*/
/*--------------------------------------*
 * solution
 *--------------------------------------*/
@media (max-width: 767px) {
  .c-meetup_wrap {
    padding: 1.8rem;
  }
}
@media (min-width: 768px) {
  .c-meetup_wrap {
    padding: 4rem;
  }
}
.c-meetup_sec {
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 767px) {
  .c-meetup_sec {
    display: block;
    width: 100%;
  }
}
@media (min-width: 768px) {
  .c-meetup_sec {
    width: 83vw;
  }
}
@media (min-width: 980px) {
  .c-meetup_sec {
    width: 72vw;
  }
}
.c-meetup_sec .c-header_btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  border: 2px solid #000;
}
@media (max-width: 767px) {
  .c-meetup_sec .c-header_btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 75%;
    padding: 14px;
    border-radius: 31px;
  }
}
.c-meetup_ttl {
  font-size: 2.4rem;
  font-weight: bold;
  background: #f7d149;
  display: inline;
  position: relative;
}
.c-meetup_ttl::before {
  content: "";
  background: url(../img/parts/attention.svg) left top no-repeat;
  position: absolute;
  left: -33px;
  top: -32px;
  width: 34px;
  height: 39px;
  display: block;
}
@media (max-width: 767px) {
  .c-meetup_ttl::before {
    left: -21px;
    top: -24px;
    width: 22px;
    height: 29px;
    display: block;
    background-size: 22px;
  }
}
.c-meetup_pgf {
  margin-top: 1.6rem;
  font-size: 1.3rem;
  line-height: 3rem;
  margin-right: 5rem;
  margin-bottom: 1rem;
}
@media (max-width: 767px) {
  .c-meetup_pgf {
    font-size: 1.3rem;
    line-height: 2.6rem;
    margin-right: 0;
    margin-bottom: 22px;
  }
}
@media (max-width: 767px) {
  .c-meetup_ss {
    display: none;
  }
}
.c-meetup_ss img {
  background: #F3F3F3;
  padding: 1rem;
  max-width: 450px;
}

/*--------------------------------------*
 * header
 *--------------------------------------*/
/*--------------------------------------*
 * solution
 *--------------------------------------*/
.c-campaign_wrap {
  margin: 2rem 2rem 0 2rem;
  background: #FEF7EC url(../img/parts/about_bg.svg) repeat;
  padding: 7rem 2rem;
  text-align: center;
}
@media (max-width: 767px) {
  .c-campaign_wrap {
    padding: 2rem;
    margin: 0;
  }
}
.c-campaign_ttl {
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .c-campaign_ttl {
    margin-bottom: 0;
  }
}
.c-campaign_ttl_pc {
  display: inline-block;
}
@media (max-width: 767px) {
  .c-campaign_ttl_pc {
    display: none;
  }
}
.c-campaign_ttl_sp {
  display: none;
}
@media (max-width: 767px) {
  .c-campaign_ttl_sp {
    display: inline-block;
  }
}
.c-campaign_ttl img {
  height: auto;
  width: auto;
  margin: 0 auto;
}
.c-campaign_sttl {
  margin-bottom: 2rem;
}
.c-campaign_sttl img {
  height: 3rem;
  margin: 0 auto;
}
.c-campaign_pgf {
  font-size: 1.5rem;
  line-height: 2.4;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .c-campaign_pgf {
    line-height: 2;
    text-align: left;
  }
}
.c-campaign_sec {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 72.2vw;
  margin: 0 auto 3rem auto;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  row-gap: 20px;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
}
@media (max-width: 767px) {
  .c-campaign_sec {
    display: block;
    width: 100%;
    margin: 0 auto;
  }
}
@media (min-width: 768px) {
  .c-campaign_sec {
    width: 82.2vw;
  }
}
.c-campaign_sec div {
  width: 47.2%;
  padding: 4rem 0 0 0;
  border: 3px solid #000;
  background: #fff;
  border-radius: 1.6rem;
  -webkit-box-shadow: 0px 3px 6px 0px #bdbdbd;
          box-shadow: 0px 3px 6px 0px #bdbdbd;
  position: relative;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .c-campaign_sec div {
    width: 100%;
    padding: 2rem;
    margin-bottom: 5rem;
  }
}
.c-campaign_sec div:nth-child(1)::before {
  content: "";
  background: #FF3884 url(../img/numbers/01.svg) center no-repeat;
  padding: 3rem;
  border: 2px solid #000;
  border-radius: 50%;
  position: absolute;
}
@media (max-width: 767px) {
  .c-campaign_sec div:nth-child(1)::before {
    position: absolute;
    left: -25px;
    top: -29px;
    background-size: 27px;
    padding: 2rem;
  }
}
@media (min-width: 768px) {
  .c-campaign_sec div:nth-child(1)::before {
    left: -27px;
    top: -29px;
    background-size: 29px;
    padding: 2rem;
  }
}
@media (min-width: 980px) {
  .c-campaign_sec div:nth-child(1)::before {
    left: -46px;
    top: -39px;
    padding: 3rem;
    background-size: 40px;
  }
}
.c-campaign_sec div:nth-child(1)::after {
  content: "※1";
  position: absolute;
  right: 14px;
  bottom: 12px;
}
.c-campaign_sec div:nth-child(2)::before {
  content: "";
  background: #FF3884 url(../img/numbers/02.svg) center no-repeat;
  padding: 3rem;
  border: 2px solid #000;
  border-radius: 50%;
  position: absolute;
}
@media (max-width: 767px) {
  .c-campaign_sec div:nth-child(2)::before {
    position: absolute;
    left: -25px;
    top: -29px;
    background-size: 27px;
    padding: 2rem;
  }
}
@media (min-width: 768px) {
  .c-campaign_sec div:nth-child(2)::before {
    left: -27px;
    top: -29px;
    background-size: 29px;
    padding: 2rem;
  }
}
@media (min-width: 980px) {
  .c-campaign_sec div:nth-child(2)::before {
    left: -46px;
    top: -39px;
    padding: 3rem;
    background-size: 40px;
  }
}
.c-campaign_sec div:nth-child(2)::after {
  content: "※2";
  position: absolute;
  right: 14px;
  bottom: 12px;
}
.c-campaign_sec div:nth-child(3)::before {
  content: "";
  background: #FF3884 url(../img/numbers/03.svg) center no-repeat;
  padding: 3rem;
  border: 2px solid #000;
  border-radius: 50%;
  position: absolute;
}
@media (max-width: 767px) {
  .c-campaign_sec div:nth-child(3)::before {
    position: absolute;
    left: -25px;
    top: -29px;
    background-size: 27px;
    padding: 2rem;
  }
}
@media (min-width: 768px) {
  .c-campaign_sec div:nth-child(3)::before {
    left: -27px;
    top: -29px;
    background-size: 29px;
    padding: 2rem;
  }
}
@media (min-width: 980px) {
  .c-campaign_sec div:nth-child(3)::before {
    left: -46px;
    top: -39px;
    padding: 3rem;
    background-size: 40px;
  }
}
.c-campaign_sec div:nth-child(3)::after {
  content: "※3";
  position: absolute;
  right: 14px;
  bottom: 12px;
}
.c-campaign_sec div:nth-child(4)::before {
  content: "";
  background: #FF3884 url(../img/numbers/04.svg) center no-repeat;
  padding: 3rem;
  border: 2px solid #000;
  border-radius: 50%;
  position: absolute;
}
@media (max-width: 767px) {
  .c-campaign_sec div:nth-child(4)::before {
    position: absolute;
    left: -25px;
    top: -29px;
    background-size: 27px;
    padding: 2rem;
  }
}
@media (min-width: 768px) {
  .c-campaign_sec div:nth-child(4)::before {
    left: -27px;
    top: -29px;
    background-size: 29px;
    padding: 2rem;
  }
}
@media (min-width: 980px) {
  .c-campaign_sec div:nth-child(4)::before {
    left: -46px;
    top: -39px;
    padding: 3rem;
    background-size: 40px;
  }
}
.c-campaign_sec div:nth-child(4)::after {
  content: "※4";
  position: absolute;
  right: 14px;
  bottom: 12px;
}
.c-campaign_sec div h2 {
  height: 4rem;
  width: auto;
  margin: 0 auto 4rem auto;
}
@media (min-width: 768px) {
  .c-campaign_sec div h2 {
    margin: 0 auto 4rem auto;
    padding: 0 2rem;
  }
}
@media (min-width: 980px) {
  .c-campaign_sec div h2 {
    margin: 0 auto 4rem auto;
    padding: 0;
  }
}
.c-campaign_sec div h2 img {
  width: auto;
  height: 5rem;
  margin: 0 auto 2rem auto;
}
.c-campaign_sec div h3 {
  width: 23vw;
  margin: 0 auto;
  padding-bottom: 5rem;
}
@media (max-width: 767px) {
  .c-campaign_sec div h3 {
    width: auto;
    margin: 0 auto;
    padding-bottom: 1rem;
  }
}
.c-campaign_lst {
  width: 72vw;
  margin: 0 auto;
  text-align: left;
}
@media (max-width: 767px) {
  .c-campaign_lst {
    width: 100%;
  }
}
.c-campaign_lst ul {
  background: #fff;
  padding: 2rem;
  line-height: 2.2;
  border: 2px solid #000;
  border-radius: 1rem;
  font-size: 1.1rem;
}
@media (max-width: 767px) {
  .c-campaign_lst ul {
    padding: 1.5rem;
  }
}
.c-campaign_lst ul li {
  text-indent: -1.5rem;
  line-height: 1.5;
  padding-left: 1.5rem;
  margin-bottom: 1rem;
}
.c-campaign_lst ul li b {
  color: #FF0000;
}

/*--------------------------------------*
 * header
 *--------------------------------------*/
/*--------------------------------------*
 * solution
 *--------------------------------------*/
.c-support_wrap {
  margin: 0 2rem 2rem 2rem;
  background: #F7D257 url(../img/parts/about_bg.svg) repeat;
  padding: 7rem 12rem;
  text-align: center;
}
@media (max-width: 767px) {
  .c-support_wrap {
    padding: 1rem 1rem;
    padding: 0;
    margin: 0;
  }
}
@media (min-width: 768px) {
  .c-support_wrap {
    padding: 1rem 1rem;
  }
}
@media (min-width: 1279px) {
  .c-support_wrap {
    padding: 7rem 12rem;
  }
}
.c-support_dtl {
  background: #fff;
  padding: 3rem;
}
.c-support_dtl .c-header_btn {
  border: 2px solid #000;
  width: auto;
  padding: 2.2vw 4vw 2vw 4vw;
  display: inline-block;
  border-radius: 5rem;
  font-size: 2rem;
}
@media (max-width: 767px) {
  .c-support_dtl .c-header_btn {
    padding: 3.6vw 4vw 2vw 4vw;
    width: 100%;
    font-size: 1.6rem;
  }
}
.c-support_dtl .c-icon_c_arw {
  width: 2rem;
  height: 2rem;
  position: relative;
  top: -6px;
}
.c-support_sttl {
  display: block;
  text-align: center;
}
@media (max-width: 767px) {
  .c-support_sttl {
    margin-bottom: 1.5rem;
  }
}
@media (min-width: 768px) {
  .c-support_sttl {
    width: 77vw;
    margin: 0 auto 3rem auto;
  }
}
@media (min-width: 980px) {
  .c-support_sttl {
    width: 40vw;
    margin: 0 auto 3rem auto;
  }
}
.c-support_sttl img {
  display: inline;
  width: auto;
  height: auto;
}
.c-support_mttl {
  margin-bottom: 3rem;
}
@media (max-width: 767px) {
  .c-support_mttl {
    margin-bottom: 1rem;
  }
}
.c-support_mttl img {
  display: inline;
  width: 39rem;
  height: auto;
}
.c-support_ttl {
  font-size: 2.8rem;
  font-weight: bold;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #f7d257));
  background: linear-gradient(transparent 60%, #f7d257 60%);
  display: inline;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .c-support_ttl {
    font-size: 1.85rem;
  }
}
.c-support_ttl br {
  display: none;
}
@media (max-width: 767px) {
  .c-support_ttl br {
    display: inline-block;
  }
}
.c-support_pgf {
  font-size: 1.8rem;
  width: 100%;
  margin: 15px auto 0 auto;
  line-height: 2;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .c-support_pgf {
    width: 100%;
    margin: 15px auto 0 auto;
    line-height: 2;
    margin-bottom: 2rem;
    font-size: 1.4rem;
  }
}
@media (min-width: 768px) {
  .c-support_pgf {
    font-size: 1.8rem;
    width: 100%;
    margin: 15px auto 0 auto;
    line-height: 2;
    margin-bottom: 2rem;
  }
}
@media (min-width: 1279px) {
  .c-support_pgf {
    font-size: 1.8rem;
    width: 51%;
    margin: 15px auto 0 auto;
    line-height: 2;
    margin-bottom: 2rem;
  }
}
.c-support_pgf b {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #f7d257));
  background: linear-gradient(transparent 60%, #f7d257 60%);
}

/*--------------------------------------*
* object > utility
*--------------------------------------*/