@charset "UTF-8";
body {
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
}

.commonCenter {
  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;
}
.commonIndent {
  margin-left: 1rem;
  text-indent: -1rem;
}

.sp {
  display: none !important;
}

@media only screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
    max-width: 100%;
    height: auto;
  }
}
.mt00 {
  margin-top: 0;
}

.mt15 {
  margin-top: 15px;
}

.mt30 {
  margin-top: 30px;
}

.mt60 {
  margin-top: 60px;
}

.mb00 {
  margin-bottom: 0;
}

.mb15 {
  margin-bottom: 15px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb60 {
  margin-bottom: 60px;
}

.pt00 {
  padding-top: 0;
}

.pt15 {
  padding-top: 15px;
}

.pt30 {
  padding-top: 30px;
}

.pt60 {
  padding-top: 60px;
}

.pb00 {
  padding-bottom: 0;
}

.pb15 {
  padding-bottom: 15px;
}

.pb30 {
  padding-bottom: 30px;
}

.pb60 {
  padding-bottom: 60px;
}

.indent {
  padding-left: 1em;
  text-indent: -1em;
}

/*-------
2023トラック待つだけ利用ガイドページ
---------*/
.campaign_serviceguide {
  margin-bottom: 140px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide {
    margin-bottom: 50px;
  }
}
.campaign_serviceguide ul {
  padding: 0;
}
.campaign_serviceguide li {
  list-style: none;
}
.campaign_serviceguide mark {
  display: inline-block;
  font-style: normal;
  background-color: transparent;
  line-height: 1;
  position: relative;
}
.campaign_serviceguide .camguide_Fv {
  margin-bottom: 40px;
}
.campaign_serviceguide .camguide_Fv img {
  width: 100%;
}
.campaign_serviceguide .__color_blue {
  color: #1B3768;
}
.campaign_serviceguide .__color_green {
  color: #0E9352;
}
.campaign_serviceguide ._br_sp_only {
  display: none;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide ._br_sp_only {
    display: block;
  }
}
.campaign_serviceguide .__h2_lead {
  text-align: center;
  margin-bottom: 0;
}
.campaign_serviceguide .__h2_lead span {
  display: inline-block;
  font-size: 20px;
  font-weight: 700;
  line-height: 2;
  color: #FFFFFF;
  border-radius: 1em;
  padding: 0 34px;
  margin-bottom: 20px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .__h2_lead span {
    line-height: 1.44;
    padding: 0.8em;
  }
}
.campaign_serviceguide .__h2_lead span::after {
  display: block;
  width: 19px;
  height: 17px;
  content: "";
  position: absolute;
  top: 85%;
  left: calc(50% - 9.5px);
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .__h2_lead span::after {
    top: 95%;
  }
}
.campaign_serviceguide .__h2_lead.__lead_blue span {
  background: #1B3768;
}
.campaign_serviceguide .__h2_lead.__lead_blue span::after {
  background: url("/assets/img/campaign/serviceguide/__lead_light.png") center/contain no-repeat;
}
.campaign_serviceguide .__h2_lead.__lead_green span {
  background: #0E9352;
}
.campaign_serviceguide .__h2_lead.__lead_green span::after {
  background: url("/assets/img/campaign/serviceguide/__lead_green.png") center/contain no-repeat;
}
.campaign_serviceguide h2 {
  font-size: 42px;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide h2 {
    font-size: clamp(24px, 5.45vw, 42px);
  }
}
.campaign_serviceguide h2 .__h2__en {
  display: block;
  font-size: 12px;
  font-weight: 400;
}
.campaign_serviceguide #camguide-top {
  padding-bottom: 160px;
  margin-top: 40px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-top {
    padding-bottom: 60px;
    margin-top: 28px;
  }
}
.campaign_serviceguide #camguide-top .camguide_top {
  background: #EFEFEF;
  padding-top: 80px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-top .camguide_top {
    padding-top: 5px;
  }
}
.campaign_serviceguide #camguide-top .camguide_top::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 96px clamp(300px, 46.8vw, 600px) 0 clamp(300px, 46.8vw, 600px);
  border-color: #EFEFEF transparent transparent transparent;
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-top .camguide_top::after {
    border-width: 48px clamp(150px, 46.2vw, 355px) 0 clamp(50px, 46.2vw, 355px);
  }
}
.campaign_serviceguide #camguide-top .camguide_top_figure {
  width: 80%;
  min-width: 640px;
  height: 450px;
  margin: 0 auto 57px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-top .camguide_top_figure {
    width: 100%;
    min-width: unset;
    height: calc(11.58em + 50px);
    margin-bottom: clamp(135px, 37vw, 256px);
  }
}
.campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon {
  width: 31.25%;
  font-size: clamp(18px, 2.18vw, 28px);
  font-weight: 700;
  text-align: center;
  color: #FFFFFF;
  line-height: 1.43;
  border-radius: 20px;
  padding: 25px 0;
  margin-bottom: 0;
  position: absolute;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon {
    width: 48%;
    font-size: clamp(12px, 2.6vw, 20px);
    padding: 0.5em 0;
  }
}
.campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon::before {
  display: block;
  width: 23px;
  height: 33px;
  content: "";
  position: absolute;
  z-index: -1;
}
.campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_dark {
  background: #11233D;
}
.campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_dark::before {
  background: url("/assets/img/campaign/serviceguide/__bl_dark.png") center/contain no-repeat;
}
.campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_light {
  background: #1B3768;
}
.campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_light::before {
  background: url("/assets/img/campaign/serviceguide/__bl_light.png") center/contain no-repeat;
}
.campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_left1 {
  top: 0;
  left: 25%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_left1 {
    left: 0;
    -webkit-transform: none;
            transform: none;
  }
}
.campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_left1::before {
  bottom: -22px;
  right: 24%;
  -webkit-transform: rotate(-35deg);
          transform: rotate(-35deg);
}
.campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_left2 {
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_left2::before {
  bottom: 24%;
  right: -22px;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_left2::before {
    bottom: -22px;
    right: 24%;
    -webkit-transform: rotate(-35deg);
            transform: rotate(-35deg);
  }
}
.campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_left3 {
  bottom: 0;
  left: 25%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 35.42%;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_left3 {
    width: 48%;
    left: 0;
    -webkit-transform: none;
            transform: none;
  }
}
.campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_left3::before {
  top: -22px;
  right: 24%;
  -webkit-transform: rotate(-145deg);
          transform: rotate(-145deg);
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_left3::before {
    top: unset;
    bottom: -22px;
    right: 24%;
    -webkit-transform: rotate(-35deg);
            transform: rotate(-35deg);
  }
}
.campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_right1 {
  top: 0;
  right: 25%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_right1 {
    right: 0;
    -webkit-transform: none;
            transform: none;
  }
}
.campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_right1::before {
  bottom: -22px;
  left: 24%;
  -webkit-transform: rotate(35deg);
          transform: rotate(35deg);
}
.campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_right2 {
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_right2::before {
  bottom: 24%;
  left: -22px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_right2::before {
    bottom: -22px;
    left: 24%;
    -webkit-transform: rotate(35deg);
            transform: rotate(35deg);
  }
}
.campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_right3 {
  bottom: 0;
  right: 25%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
  width: 35.42%;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_right3 {
    width: 48%;
    right: 0;
    -webkit-transform: none;
            transform: none;
  }
}
.campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_right3::before {
  top: -22px;
  left: 24%;
  -webkit-transform: rotate(145deg);
          transform: rotate(145deg);
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_balloon.__balloon_right3::before {
    top: unset;
    bottom: -22px;
    left: 24%;
    -webkit-transform: rotate(35deg);
            transform: rotate(35deg);
  }
}
.campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_illust {
  width: 37.5%;
  position: absolute;
  top: 26.6%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_illust {
    width: 50%;
    max-width: 300px;
    top: 110%;
  }
}
.campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_illust img {
  width: 100%;
}
.campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_illust figcaption {
  width: 100%;
  font-size: 20px;
  color: #9A9A9A;
  text-align: center;
  position: absolute;
  top: -1em;
  left: 0;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-top .camguide_top_figure .__top_fig_illust figcaption {
    font-size: 14px;
  }
}
.campaign_serviceguide #camguide-top .camguide_top_catch {
  font-size: clamp(28px, 5.19vw, 40px);
  font-weight: 700;
  color: #CB0000;
  text-align: center;
  line-height: 1.4em;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-top .camguide_top_catch {
    font-size: clamp(18px, 3.11vw, 24px);
  }
}
.campaign_serviceguide #camguide-top .camguide_top_catch .__small {
  font-size: clamp(22px, 4.15vw, 32px);
  position: relative;
  padding: 0 1em;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-top .camguide_top_catch .__small {
    font-size: clamp(16px, 2.34vw, 18px);
  }
}
.campaign_serviceguide #camguide-top .camguide_top_catch .__small::before, .campaign_serviceguide #camguide-top .camguide_top_catch .__small::after {
  display: block;
  width: 3px;
  height: 1.5em;
  content: "";
  background: #CB0000;
  position: absolute;
  top: 0;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-top .camguide_top_catch .__small::before, .campaign_serviceguide #camguide-top .camguide_top_catch .__small::after {
    width: 2px;
    height: 1.2em;
  }
}
.campaign_serviceguide #camguide-top .camguide_top_catch .__small::before {
  left: 0;
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
}
.campaign_serviceguide #camguide-top .camguide_top_catch .__small::after {
  right: 0;
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}
.campaign_serviceguide .__check_point {
  width: 29.2%;
  position: relative;
  padding-top: 53px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .__check_point {
    width: 90%;
    margin-bottom: 20px;
  }
}
.campaign_serviceguide .__check_point .__point_head {
  width: 50%;
  max-width: 180px;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .__check_point .__point_head {
    top: 10px;
    left: 20px;
  }
}
.campaign_serviceguide .__check_point .__point_head .__point_lead {
  display: block;
  font-size: 12px;
  text-align: center;
}
.campaign_serviceguide .__check_point .__point_head .__point_num {
  display: block;
  font-size: clamp(50px, 7.81vw, 100px);
  font-weight: 700;
  line-height: 1;
  text-align: center;
  mix-blend-mode: multiply;
}
.campaign_serviceguide .__check_point .__point_head .__checkmark {
  display: block;
  width: 30px;
  height: 30px;
  position: absolute;
  left: 0;
  top: 30px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .__check_point .__point_head .__checkmark {
    left: 15px;
  }
}
.campaign_serviceguide .__check_point h3 {
  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: 100%;
  border-radius: 50%;
  text-align: center;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .__check_point h3 {
    width: 62.5%;
    margin: 0 auto 20px;
  }
}
.campaign_serviceguide .__check_point h3 span {
  font-size: clamp(20px, 2.5vw, 32px);
  font-weight: 700;
  color: #FFFFFF;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .__check_point h3 span {
    font-size: clamp(22px, 4.15vw, 32px);
  }
}
.campaign_serviceguide .__check_point p {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.44;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .__check_point p {
    font-size: 16px;
    line-height: 2;
  }
}
.campaign_serviceguide #camguide-replace {
  margin-bottom: 150px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-replace {
    margin-bottom: 75px;
  }
}
.campaign_serviceguide #camguide-replace h2 {
  margin-bottom: 80px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-replace h2 {
    margin-bottom: 30px;
  }
}
.campaign_serviceguide #camguide-replace .camguide_replace_check {
  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;
  width: 80%;
  min-width: 700px;
  margin: 0 auto 40px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-replace .camguide_replace_check {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    min-width: unset;
    margin-bottom: 40px;
  }
}
.campaign_serviceguide #camguide-replace .camguide_replace_check .__check_point .__point_head .__point_num {
  color: rgba(49, 49, 49, 0.5);
}
.campaign_serviceguide #camguide-replace .camguide_replace_check .__check_point h3 {
  background-color: #1B3768;
}
.campaign_serviceguide #camguide-replace .__text_and_image {
  width: 505px;
  margin: 0 auto 127px;
  position: relative;
  padding-left: 105px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-replace .__text_and_image {
    width: 100%;
    padding-left: 80px;
  }
}
.campaign_serviceguide #camguide-replace .__text_and_image img {
  display: block;
  width: 13.1%;
  position: absolute;
  left: 0;
  bottom: 0;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-replace .__text_and_image img {
    width: 68px;
  }
}
.campaign_serviceguide #camguide-replace .__text_and_image .__balloon_grey {
  width: 100%;
  font-size: 20px;
  font-weight: 700;
  padding: 1em 0;
  text-align: center;
  background: #EFEFEF;
  border-radius: 20px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-replace .__text_and_image .__balloon_grey {
    font-size: clamp(16px, 2.6vw, 20px);
  }
}
.campaign_serviceguide #camguide-replace .__text_and_image .__balloon_grey .__ballon_text {
  text-align: left;
}
.campaign_serviceguide #camguide-replace .__text_and_image .__balloon_grey .__dot1, .campaign_serviceguide #camguide-replace .__text_and_image .__balloon_grey .__dot2, .campaign_serviceguide #camguide-replace .__text_and_image .__balloon_grey .__dot3 {
  display: block;
  background: #EFEFEF;
  border-radius: 50%;
  position: absolute;
}
.campaign_serviceguide #camguide-replace .__text_and_image .__balloon_grey .__dot1 {
  width: 51px;
  height: 44px;
  left: 40px;
  bottom: -22px;
}
.campaign_serviceguide #camguide-replace .__text_and_image .__balloon_grey .__dot2 {
  width: 32px;
  height: 28px;
  left: 0;
  bottom: -39px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-replace .__text_and_image .__balloon_grey .__dot2 {
    left: 12px;
  }
}
.campaign_serviceguide #camguide-replace .__text_and_image .__balloon_grey .__dot3 {
  width: 18px;
  height: 15px;
  left: -27px;
  bottom: -42px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-replace .__text_and_image .__balloon_grey .__dot3 {
    left: -12px;
  }
}
.campaign_serviceguide #camguide-replace .camguide_replace_service {
  font-size: clamp(18px, 1.56vw, 20px);
  font-weight: 700;
  text-align: center;
  margin-bottom: 220px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-replace .camguide_replace_service {
    margin-bottom: 26.6vw;
  }
}
.campaign_serviceguide #camguide-replace .camguide_replace_service mark {
  font-size: clamp(28px, 2.34vw, 30px);
  color: #333;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-replace .camguide_replace_service mark {
    font-size: clamp(24px, 3.63vw, 28px);
  }
}
.campaign_serviceguide #camguide-replace .camguide_replace_service mark::before {
  display: block;
  width: 100%;
  height: 22px;
  background: #FFF080;
  z-index: -1;
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-replace .camguide_replace_service mark::before {
    height: 12px;
  }
}
.campaign_serviceguide #camguide-replace .camguide_replace_recommned {
  width: 100%;
  background: #FFF080;
  border-radius: 20px;
  position: relative;
  padding-top: clamp(160px, 17.18vw, 220px);
  padding-bottom: 50px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-replace .camguide_replace_recommned {
    padding-top: 21.3vw;
    padding-bottom: 60px;
  }
}
.campaign_serviceguide #camguide-replace .camguide_replace_recommned p {
  font-size: 28px;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-replace .camguide_replace_recommned p {
    font-size: clamp(20px, 3.63vw, 28px);
  }
}
.campaign_serviceguide #camguide-replace .camguide_replace_recommned p mark {
  font-size: 34px;
  color: #333;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-replace .camguide_replace_recommned p mark {
    font-size: clamp(24px, 4.41vw, 34px);
  }
}
.campaign_serviceguide #camguide-replace .camguide_replace_recommned p mark::before {
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  z-index: -1;
}
.campaign_serviceguide #camguide-replace .camguide_replace_recommned .__crew_photo {
  display: block;
  width: 70%;
  border-radius: 20px;
  position: absolute;
  top: -37.8%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-replace .camguide_replace_recommned .__crew_photo {
    width: 85%;
    top: 0;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}
.campaign_serviceguide #camguide-replace .camguide_replace_recommned .__illust {
  width: 17.7%;
  position: absolute;
  left: 6.2%;
  bottom: -30px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-replace .camguide_replace_recommned .__illust {
    width: 45%;
    max-width: 170px;
  }
}
.campaign_serviceguide .__full_width {
  margin-left: calc((100vw - 1200px) * -0.5);
  margin-right: calc((100vw - 1200px) * -0.5);
  margin-top: 150px;
  margin-bottom: 150px;
}
@media screen and (max-width: 1263px) {
  .campaign_serviceguide .__full_width {
    margin-left: -2.5%;
    margin-right: -2.5%;
  }
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .__full_width {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: 75px;
    margin-bottom: 75px;
  }
}
.campaign_serviceguide .camguide_cta {
  background: #EFF7F3;
  padding: 55px 0 45px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .camguide_cta {
    padding-top: 0;
  }
}
.campaign_serviceguide .camguide_cta_inner {
  width: clamp(660px, 62.2vw, 850px);
  position: relative;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .camguide_cta_inner {
    width: 100%;
  }
}
.campaign_serviceguide .camguide_cta_inner h2 {
  text-align: left;
  background: #0E9352;
  margin-bottom: 30px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .camguide_cta_inner h2 {
    text-align: center;
  }
}
.campaign_serviceguide .camguide_cta_inner h2 .__cta_title {
  display: inline-block;
  font-size: clamp(30px, 2.81vw, 36px);
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.55;
  padding: 0 0.5em;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .camguide_cta_inner h2 .__cta_title {
    padding: 10px 0;
    font-size: clamp(24px, 3.89vw, 30px);
  }
}
.campaign_serviceguide .camguide_cta_inner h2 .__small {
  font-size: 25px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .camguide_cta_inner h2 .__small {
    display: block;
    font-size: 80%;
  }
}
.campaign_serviceguide .camguide_cta_inner .__cta_operator {
  display: block;
  width: 19.9%;
  position: absolute;
  bottom: -45px;
  right: 0;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .camguide_cta_inner .__cta_operator {
    right: 1%;
  }
}
.campaign_serviceguide .__cta_call {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .__cta_call {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-left: 10px;
  }
}
.campaign_serviceguide .__cta_call img {
  width: 50px;
  margin-right: 15px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .__cta_call img {
    margin: 5px 0 0;
    width: 13%;
    max-width: 50px;
  }
}
.campaign_serviceguide .__cta_call .__call_no {
  font-size: 50px;
  font-weight: 700;
  color: #0E9352;
  line-height: 1;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .__cta_call .__call_no {
    font-size: 28px;
  }
}
.campaign_serviceguide .__cta_call .__call_hour {
  font-size: 14px;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .__cta_call .__call_hour {
    font-size: 16px;
  }
}
.campaign_serviceguide .camguide_large_cta {
  position: relative;
  margin-bottom: 137px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .camguide_large_cta {
    margin-bottom: 70px;
  }
}
.campaign_serviceguide .camguide_large_cta h2 {
  font-size: 40px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 2.25;
  text-align: left;
  background: #0E9352;
  padding-left: 10%;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .camguide_large_cta h2 {
    font-size: clamp(24px, 5.19vw, 40px);
  }
}
.campaign_serviceguide .camguide_large_cta_inner {
  background: url("/assets/img/campaign/serviceguide/bg_cta.png") center/cover no-repeat;
  padding: 44px 0 52px 10%;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .camguide_large_cta_inner {
    padding: 22px 5% 23vw;
  }
}
.campaign_serviceguide .camguide_large_cta_inner .__large_cta_text {
  font-size: clamp(20px, 1.87vw, 24px);
  font-weight: 700;
  line-height: 1.83;
  margin-bottom: 18px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .camguide_large_cta_inner .__large_cta_text {
    font-size: clamp(16px, 2.6vw, 20px);
  }
}
.campaign_serviceguide .camguide_large_cta .__cta_operator {
  display: block;
  width: 41.7%;
  position: absolute;
  bottom: 0;
  right: 0;
}
.campaign_serviceguide #camguide-professional {
  border: 20px solid #EFF7F3;
  padding: 80px 0 100px;
  margin-bottom: 150px;
  margin-top: 130px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-professional {
    border-width: 10px;
    padding: 40px 10px 50px 10px;
    margin-bottom: 75px;
    margin-top: 30px;
  }
}
.campaign_serviceguide #camguide-professional .camguide_pro_illust2 {
  display: block;
  width: 26%;
  position: absolute;
  right: 20px;
  bottom: -89px;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-professional .camguide_pro_illust2 {
    width: 45%;
    right: 0;
    bottom: -75px;
  }
}
.campaign_serviceguide #camguide-professional .camguide_pro_illust1 {
  display: block;
  width: 32.4%;
  position: absolute;
  right: 6.3%;
  top: 0;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-professional .camguide_pro_illust1 {
    width: 45%;
    right: unset;
    left: 10%;
  }
}
.campaign_serviceguide #camguide-professional .camguide_pro_inner {
  width: 82.1%;
  padding-top: 68px;
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-professional .camguide_pro_inner {
    width: 100%;
  }
}
.campaign_serviceguide #camguide-professional .camguide_pro_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.campaign_serviceguide #camguide-professional .camguide_pro_list .camguide_pro_point {
  width: 45.1%;
  padding-top: clamp(50px, 7.81vw, 100px);
  position: relative;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-professional .camguide_pro_list .camguide_pro_point {
    width: 100%;
    margin-bottom: 30px;
  }
  .campaign_serviceguide #camguide-professional .camguide_pro_list .camguide_pro_point:last-child {
    margin-bottom: 0;
  }
}
.campaign_serviceguide #camguide-professional .camguide_pro_list .camguide_pro_point.__point1 {
  margin: 0 40% 60px 14.7%;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-professional .camguide_pro_list .camguide_pro_point.__point1 {
    margin: 0 30px 0 0;
  }
}
.campaign_serviceguide #camguide-professional .camguide_pro_list .camguide_pro_point .__point_head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  color: #0E9352;
}
.campaign_serviceguide #camguide-professional .camguide_pro_list .camguide_pro_point .__point_head_left {
  margin-bottom: 0;
}
.campaign_serviceguide #camguide-professional .camguide_pro_list .camguide_pro_point .__point_head_left span {
  display: block;
}
.campaign_serviceguide #camguide-professional .camguide_pro_list .camguide_pro_point .__point_head_left span:first-child {
  font-size: 12px;
  margin-bottom: 1em;
}
.campaign_serviceguide #camguide-professional .camguide_pro_list .camguide_pro_point .__point_head_left span:last-child {
  font-size: 24px;
  line-height: 1;
  padding-bottom: 0.25em;
}
.campaign_serviceguide #camguide-professional .camguide_pro_list .camguide_pro_point .__point_head_right {
  font-size: 90px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-professional .camguide_pro_list .camguide_pro_point .__point_head_right {
    font-size: 60px;
  }
}
.campaign_serviceguide #camguide-professional .camguide_pro_list .camguide_pro_point .__point_line {
  margin: 15px 0 10px;
  width: 65px;
  height: 2px;
  background-color: #0E9352;
}
.campaign_serviceguide #camguide-professional .camguide_pro_list .camguide_pro_point h3 {
  font-size: clamp(24px, 2.81vw, 36px);
  font-weight: 700;
  margin-bottom: 20px;
}
.campaign_serviceguide #camguide-professional .camguide_pro_list .camguide_pro_point h3.__mb82 {
  margin-bottom: 82px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-professional .camguide_pro_list .camguide_pro_point h3.__mb82 {
    margin-bottom: 20px;
  }
}
.campaign_serviceguide #camguide-professional .camguide_pro_list .camguide_pro_point h3 mark {
  line-height: 1.44;
  color: #333;
  z-index: 1;
}
.campaign_serviceguide #camguide-professional .camguide_pro_list .camguide_pro_point h3 mark::before {
  display: block;
  width: 105%;
  height: 25px;
  background: #FFF080;
  z-index: -1;
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
}
.campaign_serviceguide #camguide-professional .camguide_pro_list .camguide_pro_point .__point_text {
  font-size: 16px;
  font-weight: 700;
}
.campaign_serviceguide #camguide-professional .camguide_pro_list .camguide_pro_point figure {
  width: 41.8%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
.campaign_serviceguide #camguide-professional .camguide_pro_list .camguide_pro_point figure::before {
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: #FFF080;
  border-radius: 50%;
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: -1;
}
.campaign_serviceguide #camguide-professional .camguide_pro_list .camguide_pro_point figure img {
  width: 100%;
}
.campaign_serviceguide #camguide-safesecure h2 {
  margin-bottom: 60px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-safesecure h2 {
    margin-bottom: 40px;
  }
}
.campaign_serviceguide #camguide-safesecure .camguide_safe_check {
  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;
  width: 80%;
  min-width: 700px;
  margin: 0 auto 73px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-safesecure .camguide_safe_check {
    width: 100%;
    min-width: unset;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.campaign_serviceguide #camguide-safesecure .camguide_safe_check .__check_point .__point_head .__point_num {
  color: rgba(14, 147, 82, 0.5);
}
.campaign_serviceguide #camguide-safesecure .camguide_safe_check .__check_point h3 {
  background-color: #0E9352;
}
.campaign_serviceguide #camguide-flow {
  margin-bottom: 140px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow {
    margin-bottom: 45px;
  }
}
.campaign_serviceguide #camguide-flow h2 {
  margin-bottom: 60px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow h2 {
    margin-bottom: 0;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow {
  margin-bottom: 76px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: auto;
    overflow-x: scroll;
    padding-bottom: 24px;
    margin-bottom: 75px;
    -webkit-overflow-scrolling: touch;
  }
  .campaign_serviceguide #camguide-flow .camguide_flow::-webkit-scrollbar {
    height: 12px;
  }
  .campaign_serviceguide #camguide-flow .camguide_flow::-webkit-scrollbar-track {
    background: #EFEFEF;
  }
  .campaign_serviceguide #camguide-flow .camguide_flow::-webkit-scrollbar-thumb {
    background: #aaa;
    border: none;
    border-radius: 6px;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow_head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 143px;
  padding-bottom: 50px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  overflow: visible;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow_head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 120px;
    height: auto;
    padding-bottom: 0;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow_head .__chart_head {
  width: calc((50% - 6px) * 0.9);
  font-size: 30px;
  font-weight: 700;
  color: #FFFFFF;
  text-align: center;
  line-height: 2.1;
  border-radius: 20px;
  margin-top: 30px;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow_head .__chart_head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 7em;
    height: 160px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    font-size: 14px;
    margin-bottom: 24px;
    margin-top: 24px;
  }
  .campaign_serviceguide #camguide-flow .camguide_flow_head .__chart_head span {
    display: inline-block;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow_head .__chart_head.__chart_truck {
  background: #0E9352;
}
.campaign_serviceguide #camguide-flow .camguide_flow_head .__chart_head.__chart_customer {
  background: #1B3768;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow_head .__chart_head.__chart_customer {
    line-height: 3.5;
    padding: 0.5em 0;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow_head .__chart_separator {
  width: 6px;
  background: #EFEFEF;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow_head .__chart_separator {
    width: auto;
    height: 6px;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart {
  width: 100%;
  height: 2000px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart {
    height: 422px;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: calc(50% - 6px);
  position: absolute;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 90vw;
    max-width: 400px;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block .__chart_text {
  width: 90%;
  font-size: 18px;
  font-weight: 700;
  border-radius: 20px;
  padding: 30px 0;
  text-align: center;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block .__chart_text {
    width: 100%;
    font-size: 12px;
    padding: 20px;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block .__chart_text span {
  display: inline-block;
  width: 82%;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block .__chart_text span {
    width: 100%;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block .__chart_text mark {
  display: inline;
  line-height: inherit;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #FFF080));
  background: linear-gradient(transparent 60%, #FFF080 0%);
}
.campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block .__chart_bar {
  width: 10%;
  height: 1px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block .__chart_bar {
    width: 1px;
    height: 24px;
    margin: 0 auto;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block .__chart_bar::after {
  display: block;
  width: 20px;
  height: 20px;
  content: "";
  border-radius: 50%;
  position: absolute;
  top: calc(50% - 10px);
}
.campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block .camguide_flow_illust_1 {
  display: block;
  width: 37.8%;
  position: absolute;
  bottom: 100%;
  left: 0;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block .camguide_flow_illust_1 {
    width: 60%;
    max-width: 300px;
    bottom: 10%;
    left: unset;
    right: 90%;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block .camguide_flow_illust_2 {
  display: block;
  width: 34.7%;
  position: absolute;
  bottom: 80%;
  right: 0;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block .camguide_flow_illust_2 {
    width: 50%;
    bottom: unset;
    top: 70%;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block.__chart_truck {
  left: 0;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block.__chart_truck {
    left: unset;
    bottom: 50%;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block.__chart_truck .__chart_text {
  background: #EFF7F3;
}
.campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block.__chart_truck .__chart_bar {
  background: #0E9352;
}
.campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block.__chart_truck .__chart_bar::after {
  background: #0E9352;
  right: -16px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block.__chart_truck .__chart_bar::after {
    top: unset;
    bottom: -12px;
    right: calc(50% - 10px);
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block.__chart_customer {
  right: 0;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block.__chart_customer {
    right: unset;
    top: 50%;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block.__chart_customer .__chart_text {
  background: #EBF2FF;
  margin-left: auto;
}
.campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block.__chart_customer .__chart_bar {
  background: #1B3768;
}
.campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block.__chart_customer .__chart_bar::after {
  background: #1B3768;
  left: -16px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow .camguide_flow_chart .__chart_block.__chart_customer .__chart_bar::after {
    top: -12px;
    left: calc(50% - 10px);
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow_picture {
  background: #F2F2F2;
  border-radius: 20px;
  position: relative;
  padding: 53px 0 100px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow_picture {
    padding: 100px 0 0;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow_picture .__flow_picture_catch {
  width: 620px;
  background: #FFF080;
  border-radius: 25px;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  line-height: 2.5;
  position: absolute;
  top: -1.25em;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow_picture .__flow_picture_catch {
    width: 80%;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow_picture .__flow_picture_catch .__dotted {
  font-size: 24px;
  position: relative;
}
.campaign_serviceguide #camguide-flow .camguide_flow_picture .__flow_picture_catch .__dotted::before {
  display: block;
  width: 6px;
  height: 6px;
  content: "";
  background: #0E9352;
  border-radius: 50%;
  position: absolute;
  top: -6px;
  left: calc(50% - 3px);
}
.campaign_serviceguide #camguide-flow .camguide_flow_picture .__flow_picture_catch::after {
  display: block;
  width: 19px;
  height: 17px;
  content: "";
  background: url("/assets/img/campaign/serviceguide/__lead_yellow.png") center/contain no-repeat;
  position: absolute;
  top: 95%;
  left: calc(50% - 9.5px);
}
.campaign_serviceguide #camguide-flow .camguide_flow_picture h3 {
  font-size: 38px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 60px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow_picture h3 {
    font-size: clamp(24px, 4.93vw, 38px);
    margin-bottom: 30px;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow_picture .__flow_picture_method {
  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;
  width: 81.2%;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow_picture .__flow_picture_method {
    width: 90%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow_picture .__flow_picture_method li {
  width: 27.7%;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow_picture .__flow_picture_method li {
    width: 100%;
    margin-bottom: 60px;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow_picture .__flow_picture_method li .__method_head {
  position: relative;
  width: 50%;
  margin: 0 auto 20px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow_picture .__flow_picture_method li .__method_head {
    width: 40%;
    margin-bottom: 10px;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow_picture .__flow_picture_method li .__method_head img {
  width: 100%;
}
.campaign_serviceguide #camguide-flow .camguide_flow_picture .__flow_picture_method li .__method_head .__method_no {
  display: block;
  width: 50px;
  font-size: 24px;
  font-weight: 500;
  line-height: 50px;
  color: #0E9352;
  text-align: center;
  background: #FFF080;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: -25px;
}
.campaign_serviceguide #camguide-flow .camguide_flow_picture .__flow_picture_method li .__method_title {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow_picture .__flow_picture_method li .__method_title {
    margin-bottom: 10px;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow_picture .__flow_picture_method li .__method_text {
  font-size: clamp(14px, 1.41vw, 18px);
  font-weight: 700;
  margin-bottom: 30px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow_picture .__flow_picture_method li .__method_text {
    margin-bottom: 15px;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow_picture .__flow_picture_method li .btn {
  width: 100%;
  font-size: clamp(14px, 1.41vw, 18px);
  font-weight: 400;
  line-height: 58px;
  padding: 0;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-flow .camguide_flow_picture .__flow_picture_method li .btn {
    font-size: 18px;
  }
}
.campaign_serviceguide #camguide-flow .camguide_flow_picture .__flow_picture_method li .btn::before {
  right: 24px;
}
.campaign_serviceguide #camguide-flow .camguide_flow_picture .__flow_picture_method li .btn::after {
  right: 18px;
}
.campaign_serviceguide #camguide-voice {
  margin-top: 140px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-voice {
    margin-top: 50px;
  }
}
.campaign_serviceguide #camguide-voice .camguide_voice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 80%;
  margin: 88px auto 80px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-voice .camguide_voice {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 50px;
    width: 100%;
    margin: 40px auto;
  }
}
.campaign_serviceguide #camguide-voice .camguide_voice_article {
  width: 47.9%;
  background-color: #fff;
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), rgba(112, 112, 112, 0.15) calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), rgba(112, 112, 112, 0.15) calc(100% - 1px));
  background-size: 20px 20px;
  background-repeat: repeat;
  background-position: center center;
  -webkit-box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.12);
          box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.12);
  position: relative;
  padding: 31px 0 53px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-voice .camguide_voice_article {
    width: 100%;
    padding-bottom: 30px;
  }
}
.campaign_serviceguide #camguide-voice .camguide_voice_article .__voice_head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 9.8%;
}
.campaign_serviceguide #camguide-voice .camguide_voice_article .__voice_head h3 {
  font-size: clamp(20px, 2.03vw, 26px);
  font-weight: 700;
  position: relative;
}
.campaign_serviceguide #camguide-voice .camguide_voice_article .__voice_head h3::after {
  display: block;
  width: 100%;
  height: 2px;
  content: "";
  background: #0E9352;
  position: absolute;
  bottom: 0;
  left: 0;
}
.campaign_serviceguide #camguide-voice .camguide_voice_article .__voice_head img {
  width: 53.5%;
}
.campaign_serviceguide #camguide-voice .camguide_voice_article .__voice_content {
  width: 77.2%;
  font-size: clamp(14px, 1.41vw, 18px);
  font-weight: 700;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-voice .camguide_voice_article .__voice_content {
    width: 90%;
    font-size: 16px;
  }
}
.campaign_serviceguide #camguide-voice .camguide_voice_article::before {
  display: block;
  width: 52.4%;
  height: 57px;
  content: "";
  background: #FFF080;
  mix-blend-mode: multiply;
  position: absolute;
  top: -28.5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.campaign_serviceguide #camguide-voice .btn {
  display: block;
  width: 476px;
  font-size: 24px;
  line-height: 64px;
  text-align: center;
  padding: 0;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-voice .btn {
    width: 100%;
    font-size: 20px;
  }
}
.campaign_serviceguide #camguide-engineer .camguide_engineer {
  background: url("/assets/img/campaign/serviceguide/engineer_bg@2x.jpg") center/cover no-repeat;
  padding: 96px 14.8%;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-engineer .camguide_engineer {
    background-image: none;
    padding: 0;
  }
}
.campaign_serviceguide #camguide-engineer .camguide_engineer_inner {
  width: 36.6vw;
  max-width: 500px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-engineer .camguide_engineer_inner {
    width: 90%;
    max-width: unset;
    margin: 20px auto;
  }
}
.campaign_serviceguide #camguide-engineer .camguide_engineer_inner h2 {
  margin-bottom: 55px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-engineer .camguide_engineer_inner h2 {
    margin-bottom: 25px;
  }
}
.campaign_serviceguide #camguide-engineer .camguide_engineer_inner h2 span {
  display: block;
  font-size: clamp(16px, 2.2vw, 30px);
  font-weight: 700;
  color: #FFFFFF;
  text-align: center;
  line-height: 1.77;
  background: #1B3768;
  padding: 0 0.5em;
  margin-bottom: 0.5em;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-engineer .camguide_engineer_inner h2 span {
    font-size: 20px;
  }
}
.campaign_serviceguide #camguide-engineer .camguide_engineer_inner h2 mark {
  font-size: clamp(35px, 3.9vw, 50px);
  padding: 0 0.2em;
  z-index: 2;
}
.campaign_serviceguide #camguide-engineer .camguide_engineer_inner h2 mark small {
  font-size: clamp(30px, 3.59vw, 46px);
}
.campaign_serviceguide #camguide-engineer .camguide_engineer_inner h2 mark::before {
  display: block;
  width: 100%;
  height: 27px;
  background: #FFF080;
  z-index: -1;
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
}
.campaign_serviceguide #camguide-engineer .camguide_engineer_inner p {
  font-size: clamp(14px, 1.56vw, 20px);
  font-weight: 700;
}
.campaign_serviceguide #camguide-engineer .camguide_engineer_inner .btn {
  width: 100%;
  line-height: 2.66;
  font-size: clamp(20px, 1.87vw, 24px);
  padding: 0;
  margin-top: 45px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-engineer .camguide_engineer_inner .btn {
    margin-top: 20px;
  }
}
.campaign_serviceguide #camguide-faq {
  margin-bottom: 140px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-faq {
    margin-bottom: 45px;
  }
}
.campaign_serviceguide #camguide-faq h2 {
  margin-bottom: 60px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-faq h2 {
    margin-bottom: 30px;
  }
}
.campaign_serviceguide #camguide-faq .camguide_faq {
  width: 79.7%;
  min-width: 690px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-faq .camguide_faq {
    width: 100%;
    min-width: unset;
  }
}
.campaign_serviceguide #camguide-faq .camguide_faq .__faq_head {
  width: 50px;
  font-size: 24px;
  font-weight: 500;
  line-height: 50px;
  text-align: center;
  border-radius: 50%;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-faq .camguide_faq .__faq_head {
    width: 36px;
    font-size: 18px;
    line-height: 36px;
  }
}
.campaign_serviceguide #camguide-faq .camguide_faq .__faq_q {
  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;
  background: #EFF7F3;
  border-radius: 20px;
  padding: 33px 5%;
  cursor: pointer;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-faq .camguide_faq .__faq_q {
    padding: 10px;
  }
}
.campaign_serviceguide #camguide-faq .camguide_faq .__faq_q .__faq_head {
  color: #FFFFFF;
  background: #0E9352;
}
.campaign_serviceguide #camguide-faq .camguide_faq .__faq_q .__faq_text {
  width: 82%;
  font-size: 24px;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-faq .camguide_faq .__faq_q .__faq_text {
    width: 72%;
    font-size: clamp(18px, 3.11vw, 24px);
  }
}
.campaign_serviceguide #camguide-faq .camguide_faq .__faq_q .__faq_arrow {
  width: 21px;
  height: 21px;
  border-top: 3px solid #0E9352;
  border-right: 3px solid #0E9352;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  -webkit-transition: all ease 0.3s;
  transition: all ease 0.3s;
}
.campaign_serviceguide #camguide-faq .camguide_faq .__faq_q.open .__faq_arrow {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.campaign_serviceguide #camguide-faq .camguide_faq .__faq_a {
  display: none;
  width: 88.2%;
  margin: 0 auto 80px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-faq .camguide_faq .__faq_a {
    margin-bottom: 40px;
  }
}
.campaign_serviceguide #camguide-faq .camguide_faq .__faq_a_wrap {
  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;
  padding-top: 40px;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-faq .camguide_faq .__faq_a_wrap {
    padding-top: 20px;
  }
}
.campaign_serviceguide #camguide-faq .camguide_faq .__faq_a_wrap .__faq_head {
  color: #0E9352;
  background: #EFF7F3;
}
.campaign_serviceguide #camguide-faq .camguide_faq .__faq_a_wrap .__faq_text {
  width: 91.7%;
  font-size: 18px;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide #camguide-faq .camguide_faq .__faq_a_wrap .__faq_text {
    width: 85%;
  }
}
.campaign_serviceguide .camguide_link_flow {
  display: none;
}
@media only screen and (max-width: 768px) {
  .campaign_serviceguide .camguide_link_flow {
    display: block;
    width: 100%;
    position: relative;
    font-size: 16px;
    font-weight: 700;
    color: #0E9352;
    letter-spacing: 0.04em;
    text-align: center;
    line-height: 57px;
    background-color: #FFFFFF;
    border: 1px solid #0E9352;
    border-bottom-width: 4px;
    border-radius: 10px;
    margin-top: 30px;
  }
  .campaign_serviceguide .camguide_link_flow .link_btn_down {
    display: block;
    width: 22px;
    height: 22px;
    position: absolute;
    right: 11.3%;
    top: calc(50% - 11px);
    background-color: #0E9352;
    border-radius: 50%;
  }
  .campaign_serviceguide .camguide_link_flow .link_btn_down::before {
    display: block;
    width: 8px;
    height: 8px;
    position: absolute;
    top: calc(50% - 5px);
    left: calc(50% - 4px);
    border-top: 2px solid #FFFFFF;
    border-right: 2px solid #FFFFFF;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg);
    content: "";
  }
}

.mainCta {
  width: 70.83%;
  min-width: 700px;
  position: relative;
  border: solid 6px #0E9352;
  border-radius: 12px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .mainCta {
    width: 100%;
    min-width: unset;
    border-width: 4px;
  }
}
.mainCta .mainCta_ttl {
  font-size: 30px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 2;
  text-align: center;
  background-color: #0E9352;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .mainCta .mainCta_ttl {
    font-size: 20px;
    text-align: left;
    padding-left: 17px;
  }
}
.mainCta .mainCta_inner {
  position: relative;
  width: 100%;
  background-color: #eef7f2;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  padding: 32px 0 32px 27%;
}
@media only screen and (max-width: 768px) {
  .mainCta .mainCta_inner {
    padding: 21px 0;
  }
}
.mainCta .mainCta_img {
  position: absolute;
}
.mainCta .mainCta_img_photo {
  left: 3.7%;
  bottom: -6px;
  width: 22.94%;
}
@media only screen and (max-width: 768px) {
  .mainCta .mainCta_img_photo {
    left: unset;
    right: 5px;
    bottom: 45px;
    width: 112px;
    z-index: 1;
  }
}
.mainCta .mainCta_img_illust {
  right: 1.5%;
  bottom: 20px;
  width: 21.17%;
}
.mainCta .mainCta_img_tap {
  right: 8px;
  bottom: -11px;
  width: 41px;
  z-index: 3;
}
.mainCta .mainCta_link {
  display: block;
}
@media only screen and (max-width: 768px) {
  .mainCta .mainCta_link {
    position: relative;
    width: 90%;
    background-color: #FFFFFF;
    border: 2px solid #0E9352;
    border-bottom-width: 5px;
    border-radius: 6px;
    padding: 22px 13px 8px 15px;
    margin: 0 auto;
    z-index: 2;
  }
}
.mainCta .mainCta_link .mainCta_link_txt {
  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: flex-end;
  padding-left: 8.1%;
  margin-bottom: 8px;
}
@media only screen and (max-width: 768px) {
  .mainCta .mainCta_link .mainCta_link_txt {
    position: absolute;
    left: 0;
    top: -5px;
    padding-left: 51px;
    margin-bottom: 0;
  }
}
.mainCta .mainCta_link .mainCta_link_txt_bubble {
  width: 24.18%;
  position: relative;
  background-color: #0E9352;
  border-radius: 1em;
  font-size: clamp(13px, 1.25vw, 16px);
  font-weight: 700;
  line-height: 2;
  text-align: center;
  color: #FFFFFF;
  margin-right: 1em;
}
@media only screen and (max-width: 768px) {
  .mainCta .mainCta_link .mainCta_link_txt_bubble {
    width: 85px;
    border-radius: 1.2em;
    font-size: 11px;
    line-height: 2.18;
    margin-bottom: 0;
  }
}
.mainCta .mainCta_link .mainCta_link_txt_bubble::after {
  display: block;
  width: 8px;
  height: 16px;
  position: absolute;
  top: 100%;
  left: 12px;
  background-color: #0E9352;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%);
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  content: "";
}
@media only screen and (max-width: 768px) {
  .mainCta .mainCta_link .mainCta_link_txt_bubble::after {
    width: 4px;
    height: 8px;
  }
}
.mainCta .mainCta_link .mainCta_link_txt_copy {
  font-size: clamp(13px, 1.25vw, 16px);
  font-weight: 700;
  color: #0E9352;
  letter-spacing: 0.44em;
}
.mainCta .mainCta_link .mainCta_link_no {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 11px;
}
@media only screen and (max-width: 768px) {
  .mainCta .mainCta_link .mainCta_link_no {
    margin-bottom: 4px;
  }
}
.mainCta .mainCta_link .mainCta_link_no_img {
  width: auto;
  height: 44px;
  margin-top: 8px;
}
@media only screen and (max-width: 768px) {
  .mainCta .mainCta_link .mainCta_link_no_img {
    width: 25px;
    height: 25px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.mainCta .mainCta_link .mainCta_link_no_tel {
  font-size: clamp(44px, 4.37vw, 56px);
  font-weight: 700;
  color: #0E9352;
  line-height: 1;
  letter-spacing: 0.015em;
}
@media only screen and (max-width: 768px) {
  .mainCta .mainCta_link .mainCta_link_no_tel {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    font-size: 31px;
    white-space: nowrap;
  }
}
.mainCta .mainCta_link .mainCta_link_no_arrow {
  display: none;
}
@media only screen and (max-width: 768px) {
  .mainCta .mainCta_link .mainCta_link_no_arrow {
    display: inline-block;
    width: 22px;
    height: 22px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    position: relative;
    background-color: #0E9352;
    border-radius: 50%;
  }
  .mainCta .mainCta_link .mainCta_link_no_arrow::before {
    display: block;
    width: 8px;
    height: 8px;
    position: absolute;
    top: calc(50% - 4px);
    left: calc(50% - 5px);
    border-top: 2px solid #FFFFFF;
    border-right: 2px solid #FFFFFF;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    content: "";
  }
}
.mainCta .mainCta_link .mainCta_link_hour {
  font-size: clamp(16px, 1.56vw, 17px);
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .mainCta .mainCta_link .mainCta_link_hour {
    font-size: 11px;
  }
}
/*ボタン*/
.btn {
  position: relative;
  border-radius: 4px;
  text-decoration: none;
  display: inline-block;
  font-size: 24px;
  padding: 10px 80px;
  text-align: center;
}
.btn-wrap {
  position: relative;
  border-radius: 4px;
  display: inline-block;
  font-size: 24px;
  text-align: center;
  width: 100%;
  max-width: 280px;
}
.btn-wrap input {
  width: 100%;
  height: 100%;
  background:transparent;
  padding: 10px 50px;
  border: none;
}
.btn_small {
  position: relative;
  border-radius: 4px;
  text-decoration: none;
  display: inline-block;
  padding: 5px 15px;
  font-size: 14px;
  text-align: center;
  width: 100%;
  max-width: 100px;
}
.btn_square_green {
  background-color: #0e9352;
  box-shadow: 2px 2px #b5b5b5;
  display: inline-block;
  color: #ffffff;
  position: relative;
}
.btn_square_green:hover{
  color: #ffffff;
}
.btn_square_green input{
  color: #ffffff;
}
.btn_square_green:before{
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-top: solid 2px #0e9352;
  border-right: solid 2px #0e9352;
  right: 31px;
  transform: rotate(45deg) translateY(-50%);
  transform-origin: top;
  top: 50%;
  z-index: 1;
}
.btn_square_green:after{
  content: "";
  position: absolute;
  background: #ffffff;
  border-radius: 23px;
  width: 23px;
  height: 23px;
  right: 22px;
  transform: translateY(-50%);
  transform-origin: top;
  top: 50%;
  z-index: 0;
}
.btn_square_white {
  position: relative;
  display: inline-block;
  background: #ffffff;
  border:solid 2px #b5b5b5;
  color: #0e9352;
}
.btn_square_white:hover {
  color: #57B486;
}
.btn_square_white:before{
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  right: 31px;
  transform: rotate(45deg) translateY(-50%);
  transform-origin: top;
  top: 50%;
  z-index: 2;
}
.btn_square_white:after{
  content: "";
  position: absolute;
  background: #0e9352;
  border-radius: 23px;
  width: 23px;
  height: 23px;
  right: 22px;
  transform: rotate(45deg) translateY(-50%);
  transform-origin: top;
  top: 50%;
  z-index: 1;
}
.btn_square_white_02 {
  position: relative;
  display: flex;
  align-items: center;
  padding: .6em 1em;
  background: #ffffff;
  border: solid 2px #b5b5b5;
  border-radius: 4px;
  color: #0e9352;
  font-size: 24px;
  font-weight: 400;
}
.btn_square_white_02.pc_txt {
  background: transparent;
  border: 0;
  padding: 0;
  font-size: 15px;
}
.btn_square_white_02:before {
  content: "";
  display: inline-block;
  background: #0e9352;
  border-radius: 50%;
  width: 1.18em;
  height: 1.18em;
  margin-right: .5em;
  z-index: 1;
}
.btn_square_white_02:after {
  content: "＋";
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 39%;
  left: 0;
  width: 1.18em;
  height: 1.18em;
  color: #fff;
  transform: translateY(-50%);
  z-index: 2;
}
.btn_square_white_02.is-open:after {
  content: "ー";
}

.btn_square_gray {
  position: relative;
  display: inline-block;
  background-color: #cccccc;
  color: #ffffff;
  border:none;
}
.btn_circle_green {
  display: block;
  position: relative;
  width: 100%;
  max-width: 380px;
  text-decoration: underline;
  border: 1px solid #0e9352;
  border-radius: 50px;
  box-shadow: 2px 2px #ccc;
  margin: 2em auto 0;
  padding: .4em 2em;
  color: #0e9352;
  font-size: 20px;
  text-align: center;
}
.btn_circle_green:hover {
  background-color: #0e9352;
  color: #ffffff;
  text-decoration: underline;
}
.btn_circle_green::after {
  content: '';
  display: block;
  width: .5em;
  height: .5em;
  border-top: 2px solid #0e9352;
  border-left: 2px solid #0e9352;
}
.btn_circle_green::after {
  position: absolute;
  right: 40px;
  top: 50%;
  transform: translateY(-50%) rotate(135deg);
}
.btn_circle_green:hover::after {
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
}
.btn_circle_green.long{
    display: inline-block;
    width: auto;
    max-width: none;
    padding-right: 3em;
}
