:root {
  --KC01: #f15a24;
}

#topImageContainer.servicepage01 .illust01 {
  top: auto;
  bottom: 0;
  transform: translateY(0);
}

@media screen and (max-width: 559px) {

#topImageContainer.servicepage01 {
    padding-bottom: 0;
}

#topImageContainer.servicepage01 .illust01 {
    margin-bottom: 0;
}

}

#topImageContainer.servicepage01 {
  background-color: #fcf3bb;
}

#topImageContainer.servicepage01 h1 {
  margin-left: -0.5rem;
}

#topImageContainer.servicepage01 h1 > span {
  margin-left: 0.5rem;
}

#topImageContainer.servicepage01 h1 > span.marker {
  padding: 0 1.2rem 0.4rem;
  margin-top: 0.7rem;
  margin-bottom: 0.3rem;
}

@media screen and (max-width: 959px) {

#topImageContainer.servicepage01 h1 > span.marker {
  padding: 0.1rem 1.2rem 0.4rem;
}

}

@media screen and (max-width: 559px) {

#topImageContainer.servicepage01 h1 > span.marker {
  padding: 0.2rem 1.2rem 0.4rem;
}

}

.ps_bgKC01 {
  background-color: var(--KC01);
}

.pagecss_tcKC01 {
  color: var(--KC01);
}

.pagecss_problem {
  background: url("../images/problem_bg01.png") center center no-repeat;
  background-size: 100% 100%;
  margin: 4rem auto 13rem;
  padding: 7rem 0 8rem;
  position: relative;
}

@media screen and (max-width: 959px) {

.pagecss_problem {
  background: url("../images/problem_bg01_mobile.png") center center no-repeat;
  background-size: 100% 100%;
  margin: 5rem auto 15rem
}

}

@media screen and (max-width: 559px) {

.pagecss_problem {
  background: url("../images/problem_bg01_mobile.png") center center no-repeat;
  background-size: 100% 100%;
  margin-bottom: 8rem;
  margin-left: -1rem;
  margin-right: -1rem;
  padding-left: 3rem;
  padding-right: 3rem;
  padding-bottom: 5rem;
}

}

.pagecss_problem::before {
  content: "";
  position: absolute;
  top: 0;
  right: 15rem;
  height: 17rem;
  width: 17rem;
  background: url("../images/problem_bg02.png") center center no-repeat;
  background-size: contain;
}

@media screen and (max-width: 1199px) {

.pagecss_problem::before {
  right: 0;
}

}

@media screen and (max-width: 860px) {

.pagecss_problem::before {
  top: -7rem;
  right: calc(50% - 6vw);
  width: 12vw;
}

}

@media screen and (max-width: 760px) {

.pagecss_problem::before {
  right: calc(50% - 9vw);
  width: 18vw;
}

}

.pagecss_problem h3 {
  color: var(--KC01);
  font-size: 3.5rem;
  line-height: 5.3rem;
  font-weight: 700;
  text-align: center;
/*  background: url("../images/problem_bb01.png") center bottom no-repeat, url("../images/problem_bb02.png") center bottom repeat-x;*/
  border-bottom: 1px solid var(--KC01);
  width: fit-content;
  margin: 0 auto;
  padding: 0.5rem 0;
  position: relative;
}

@media screen and (max-width: 559px) {

.pagecss_problem h3 {
  font-size: 2.0rem;
  line-height: 3.3rem;
  padding: 0 0 2rem;
}

}

.pagecss_problem h3:after {
  content: "";
  position: absolute;
  height: 1.4rem;
  width: 1.4rem;
  border-right: 1px solid var(--KC01);
  border-bottom: 1px solid var(--KC01);
  bottom: -0.8rem;
  left: calc(50% - 0.6rem);
  transform: rotate(45deg);
  background-color: #faf5f0;
}

.pagecss_problem ul {
  width: fit-content;
  margin: 5rem auto 0;
}

.pagecss_problem ul li {
  font-size: 2.2rem;
  line-height: 3.6rem;
  font-weight: 500;
  list-style: none;
  background: url("../images/problem_listmark01.png") left top 0.5rem no-repeat;
  background-size: 4rem;
  padding: 0.35rem 0 2.0rem 5rem;
}

.pagecss_problem ul li strong {
  font-size: 2.5rem;
  font-weight: 700;
}

@media screen and (max-width: 960px) {

.pagecss_problem ul {
  margin-left: 4rem;
  margin-right: 4rem;
}

}

@media screen and (max-width: 559px) {

.pagecss_problem ul {
  margin-top: 3rem;
  margin-left: 2rem;
  margin-right: 2rem;
}

.pagecss_problem ul li {
  font-size: 1.6rem;
  line-height: 3.4rem;
  background-position: left top 0.4rem;
  padding: 0 0 1.0rem 4rem;
  background-size: 3rem;
}

.pagecss_problem ul li strong {
  font-size: 1.8rem;
}

}

.pagecss_problem::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -11rem;
  transform: translateX(-50%);
  width: 18rem;
  height: 8rem;
  background: url(../images/downarrow02.svg) center center no-repeat;
}

@media screen and (max-width: 959px) {

.pagecss_problem::after {
  bottom: -11.5rem;
}

}

@media screen and (max-width: 559px) {

.pagecss_problem::after {
  bottom: -7.0rem;
  width: 12rem;
  height: 5.5rem;
}

}

.pagecss_recCap01 {
  font-size: 2.5rem;
  line-height: 4.2rem;
  font-weight: 700;
  color: var(--KC01);
  position: relative;
  text-align: center;
}

.pagecss_recCap01 > span {
  position: relative;
}

.pagecss_recCap01 > span::before {
  content: "";
  position: absolute;
  top: 0;
  left: -3rem;
  width: 0.1rem;
  height: 100%;
  border-left: 1px solid var(--KC01);
  transform: rotate(-20deg);
}

.pagecss_recCap01 > span::after {
  content: "";
  position: absolute;
  top: 0;
  right: -3rem;
  width: 0.1rem;
  height: 100%;
  border-left: 1px solid var(--KC01);
  transform: rotate(20deg);
}

.pagecss_recText01 {
  font-size: 3.5rem;
  line-height: 5.5rem;
  font-weight: 700;
  text-align: center;
}

.pagecss_recText02 {
  font-size: 3.5rem;
  line-height: 5.5rem;
  font-weight: 700;
  text-align: center;
}

@media screen and (max-width: 559px) {

.pagecss_recCap01 {
  font-size: 2.0rem;
  line-height: 3.2rem;
}

.pagecss_recText01 {
  font-size: 2.0rem;
  line-height: 3.2rem;
  text-align: left;
}

.pagecss_recText02 {
  font-size: 2.0rem;
  line-height: 3.5rem;
  text-align: left;
}

}

.pagecss_header_obi01_color{
  color: #000000;
  background-color: #f5d51d;
}

.pagecss_balloon_color {
  color: #ffffff;
  background-color: #f15a24;
}

.pagecss_balloon_color::after {
  background-color: #f15a24;
}

.pagecss_header_obi01_tp {
  background-color: transparent !important;
}

.pagecss_header_number01_color::after {
  background-color: var(--KC01);
}

.pagecss_header_pict01 {
  font-size: 2.0rem;
  line-height: 3.2rem;
  font-weight: 700;
  padding: 0 0 2.3rem 9.0rem;
  margin: 0 0 1.5rem;
  position: relative;
  border-bottom: 1px solid #000000;
  min-height: 8.8rem;
}

.pagecss_header_pict01::before {
  content: "";
  position: absolute;
  top: -1.2rem;
  left: -0.8rem;
  height: 9rem;
  width: 9rem;
}

.pagecss_header_pict01_distance::before { background: url("../images/pict_distance.svg") no-repeat center center; }
.pagecss_header_pict01_target::before { background: url("../images/pict_target.svg") no-repeat center center; }
.pagecss_header_pict01_budget::before { background: url("../images/pict_budget.svg") no-repeat center center; }

@media screen and (max-width: 559px) {

.pagecss_header_pict01 {
  font-size: 2.0rem;
  line-height: 3.0rem;
  padding: 7rem 0 0;
  margin: 2rem 0 2rem;
  border-bottom: none;
  text-align: center;
}

.pagecss_header_pict01::before {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 6.5rem;
  width: 10.25rem;
}

}

.pagecss_lsDisc02_color li::before {
  background-color: var(--KC01);
}

.pagecss_note01 {
  font-size: 2.0rem;
  line-height: 3.2rem;
  font-weight: 700;
  background-color: #dfe5e8;
  padding: 0.5rem 0.5rem 0.5rem;
  text-align: center;
}

.pagecss_ulPink {
  position: relative;
}

.pagecss_ulPink::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.4rem;
  height: 100%;
  background: linear-gradient(0deg,var(--KC01) 0%,var(--KC01) 0.3rem,transparent 0.3rem,transparent 100%);
}

.pagecss_pict_double {
  position: relative;
}

.pagecss_pict_double_pict {
  position: absolute;
  display: block;
  top: 0;
  right: -11.8rem;
  width: 10.8rem;
  height: 9.1rem;
}

@media screen and (max-width: 1450px) {

.pagecss_pict_double_pict {
  top: 1rem;
  right: -8vw;
  width: 10vw;
}

}

@media screen and (max-width: 559px) {

.pagecss_pict_double {
  padding-top: 7.5rem !important;
}

.pagecss_pict_double_pict {
  top: 2rem;
  left: calc(50% - 6rem);
  width: 12rem;
  height: 4.8rem;
}

}

.pagecss_linkBtn02 {
  font-weight: 500;
  text-align: left;
  position: relative;
  display: table;
  padding: 1.3rem 7.5rem 1.5rem;
  font-size: 2.0rem;
  line-height: 3.2rem;
  color: #ffffff;
  background-color: #163f59;
}

.pagecss_linkBtn02 .pagecss_linkBtn02InnerContainer {
  position: relative;
  z-index: 2;
	transition-duration: 0.2s;
}

.pagecss_linkBtn02:after {
  content: "";
  position: absolute;
  right: 1.95rem;
  top: calc(50% - 0.45rem);
  width: 2rem;
  height: 1rem;
  background: url(../images/linkarrow02White.svg) center center no-repeat;
	transition-duration: 0.2s;
  z-index: 2;
}

@media (max-width: 559px) {

.pagecss_linkBtn02 {
  text-align: center;
  display: block;
  padding: 1.2rem 3rem 1.4rem;
  width: 100%;
  font-size: 1.6rem;
  line-height: 2.4rem;
}

.pagecss_linkBtn02:after {
  right: 1.5rem;
}

}

@media (min-width: 960px) {

  .pagecss_linkBtn02:hover .pagecss_linkBtn02InnerContainer {
    color: #ffffff;
    transition-duration: 0.2s;
  }

  .pagecss_linkBtn02:before {
    content: "";
    display: block;
    width: 0;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: #009e96;
    transition-duration: 0.2s;
    opacity: 0;
    z-index: 1;
  }

  .pagecss_linkBtn02:hover:before {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    transition-duration: 0.2s;
    opacity: 1;
  }

}

.pagecss_bgLylw {
  background-color: #fdf7d2;
}

.pagecss_spsCaseStudyContainerBg {
  background: linear-gradient(270deg, #ffffff 0%, #ffffff calc(((100% - 120rem) / 2) - 12rem), #faf5f0 calc(((100% - 120rem) / 2) - 12rem), #faf5f0 100%);
  padding: 0 0 4rem;
  margin-bottom: 8rem;
}

.pagecss_header_spsCaseStudy01_color {
  color: #ffffff;
  background-color: var(--KC01);
}

.pagecss_header_spsCaseStudy01_color::before {
  color: var(--KC01);
  background-color: var(--KC01);
}

.pagecss_header_spsCaseStudy02_shoulder_color {
  color: #ffffff;
  background-color: var(--KC01);
}

.pagecss_spsCaseStudy_box02_color {
  color: #ffffff;
  background-color: var(--KC01);
}

.pagecss_spsCaseStudy_box03_color {
  border-color: var(--KC01);
}

.pagecss_spsSpecContainerBg {
  background: linear-gradient(90deg, #ffffff 0%, #ffffff calc(((100% - 120rem) / 2) - 12rem), #fdf7d2 calc(((100% - 120rem) / 2) - 12rem), #fdf7d2 100%);
}

.pagecss_spsSpec_tbl01_color tr {
  border-bottom-color: #fdf7d2;
}

.pagecss_spsSpec_tbl01_color th {
  background-color: #f9e677;
}

.pagecss_spsSpec_tbl01_color td {
  background-color: #ffffff;
}

.pagecss_spsSpec_tbl01_color td ul li::before {
  background-color: #7c93a2;
}

@media (max-width: 559px) {

.pagecss_spsSpecContainerBg {
  background-color: #fdf7d2;
}

}

