@charset "utf-8";

/* main
----------------------------------------------- */
#main.main {
  background: url(/svcsol/campaign/images/mobile_202010/bg_main.png)
    top right no-repeat;
  background-size: cover;
  padding: 55px 0;
}
#main.main .mainin {
  /* max-width: 540px; */
  color: #fff;
  text-shadow: #000 2px 2px 10px;
}
#main.main .mainhd {
  font-size: 45px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 25px;
}
#main.main .maintxt {
  font-size: 18px;
  font-weight: 500;
}
.maincont {
  display: none;
}

@media (max-width: 1200px) {
  #main.main {
    background: url(/svcsol/campaign/images/mobile_202010/bg_main.png)
      top right no-repeat;
    background-size: cover;
  }
}
@media (max-width: 1024px) {
  #main.main {
    background: url(/svcsol/campaign/images/mobile_202010/bg_main.png)
      top right no-repeat;
    background-size: cover;
    padding: 120px 0 40px;
  }
  #main.main .mainhd {
    font-size: 30px;
    margin-bottom: 10px;
  }
  #main.main .maintxt {
    font-size: 16px;
  }
}
@media (max-width: 640px) {
  #main.main {
    background: url(/svcsol/campaign/images/mobile_202010/bg_main_sp.png)
      right center no-repeat;
    height: 300px;
    background-size: auto;
    padding: 0;
  }
  #main.main .inner {
    display: none;
  }
  .maincont {
    display: block;
    padding: 10px 20px;
  }
  .maincont .mainconthd {
    line-height: 1.5;
    font-weight: 700;
    font-size: 28px;
    margin-bottom: 15px;
  }
  .maincont .mainconttxt {
    line-height: 2;
    font-weight: 500;
  }
}

/* Features
----------------------------------------------- */
#features.features {
  overflow: hidden;
  padding-top: 90px;
}
#features.features .featuresbg {
  float: left;
  width: 86%;
  padding: 100px 5.2% 215px 0;
  background: url("/svcsol/campaign/images/mobile_202010/bg_feature.png")
    0 center no-repeat;
  background-size: cover;
  text-align: right;
}
#features.features .featureshd {
  text-align: right;
  margin-bottom: 10px;
}
#features.features .featureshd span {
  display: inline-block;
  padding-left: 130px;
  line-height: 1.3;
  color: #fff;
  font-size: 30px;
  font-weight: 700;
  font-style: italic;
  position: relative;
}
#features.features .featureshd span:before {
  position: absolute;
  left: 0;
  top: 50%;
  content: "";
  background: #fff;
  width: 100px;
  height: 1px;
  z-index: 2;
}
#features.features .featurescap {
  text-align: right;
  font-size: 25px;
  line-height: 1.3;
  color: #fff;
}
#features.features .featuresin {
  max-width: 86%;
  background: #fff;
  float: right;
  margin-top: -120px;
  padding: 85px 19% 150px 10%;
}
#features.features .featuresbox {
  max-width: 1100px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 80px;
}
#features.features .featuresbox:first-of-type {
  margin-top: 0;
}
#features.features .featuresbox:nth-of-type(2) {
  margin-top: 80px;
  flex-direction: row-reverse;
}
#features.features .featurescont {
  width: 46%;
}
#features.features .featuresimg {
  width: 46%;
  text-align: center;
}
#features.features .featurestit02 {
  text-align: left;
}
#features.features .featurestit03 {
  display: none;
}
#features.features .featuresline {
  display: inline-block;
  font-weight: 500;
  font-size: 28px;
  line-height: 1.5;
  padding: 14px 40px 16px;
  background: #1c1c1c;
  color: #fff;
}
#features.features .featuresline + .featuresline {
  margin-top: 10px;
}
#features.features .featurestxt {
  margin-top: 35px;
}

@media (max-width: 1200px) {
  #features.features .featuresbg {
    width: calc(100% - 40px);
    padding: 100px 90px 215px 0;
  }
  #features.features .featuresin {
    width: calc(100% - 40px);
    padding: 100px 100px 170px 70px;
    max-width: none;
  }
  #features.features .featuresbox {
    max-width: none;
  }
  #features.features .featurescont {
    width: 47%;
  }
  #features.features .featuresimg {
    width: 47%;
    text-align: center;
  }
}
@media (max-width: 1024px) {
  #features.features .featuresbg {
    width: 100%;
    padding: 70px 135px 160px 0;
  }
  #features.features .featuresin {
    width: calc(100% - 60px);
    margin-top: -100px;
    padding: 80px 120px 90px 60px;
  }
  #features.features .featureshd span {
    padding-left: 50px;
    font-size: 20px;
  }
  #features.features .featureshd span:before {
    width: 30px;
  }
  #features.features .featurescap {
    font-size: 20px;
  }
  #features.features .featuresbox {
    display: block;
  }
  #features.features .featurescont {
    width: auto;
  }
  #features.features .featuresimg {
    width: auto;
    margin-top: 60px;
  }
  #features.features .featurestit02 {
    display: none;
  }
  #features.features .featurestit03 {
    display: block;
  }
  #features.features .featurestxt {
    padding: 0 10px;
    margin-top: 40px;
  }
  #features.features .featuresline {
    font-size: 22px;
    padding: 20px 40px;
  }
}
@media (max-width: 640px) {
  #features.features .featuresbg {
    width: calc(100% - 20px);
    padding: 70px 35px 70px 0;
  }
  #features.features .featuresin {
    width: calc(100% - 20px);
    margin-top: -50px;
    padding: 80px 40px 60px 20px;
  }
  #features.features .featuresimg {
    margin-top: 50px;
  }
  #features.features .featurestit02 {
    display: block;
  }
  #features.features .featurestit03 {
    display: none;
    text-align: left;
  }
  #features.features .featurestxt {
    padding: 0;
    margin-top: 40px;
  }
  #features.features .featuresline {
    font-size: 20px;
    padding: 15px 25px;
  }
}

/* choice
----------------------------------------------- */
#choice.choice {
  margin-top: 150px;
}
#choice .comhd {
  font-size: 35px;
  font-weight: 600;
  position: relative;
}
#choice .comhd:before {
  content: "";
  display: block;
  width: 1px;
  height: 100px;
  border-right: 1px solid #1c1c1c;
  margin: 0 auto 52px;
}
#choice .choicein {
  background-color: #fff;
  padding: 62px 98px 72px;
}
#choice .choicetit {
  font-size: 40px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 52px;
}
#choice .choicelist {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
#choice .choicelist li {
  position: relative;
  width: 32.5%;
  padding: 0 15px;
}
#choice .choicetype {
  position: relative;
  margin-bottom: 24px;
}
#choice .choicetype:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #000;
  position: absolute;
  top: -10px;
  left: -10px;
  z-index: 0;
}
#choice .choicelist .typeI .choicetype:before {
  background-color: #000;
}
#choice .choicelist .typeD .choicetype:before {
  background-color: #9a1616;
}
#choice .choicelist .typeK .choicetype:before {
  background-color: #0e0e69;
}
#choice .choicetype .choicetypetit {
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
  background-color: #fff;
  text-align: center;
  display: block;
  width: 100%;
  padding: 32px 16px;
  position: relative;
  z-index: 1;
}
#choice .choicelist .typeI .choicetypetit {
  color: #000;
  border: 1px solid #000;
}
#choice .choicelist .typeD .choicetypetit {
  color: #9a1616;
  border: 1px solid #9a1616;
}
#choice .choicelist .typeK .choicetypetit {
  color: #0e0e69;
  border: 1px solid #0e0e69;
}
#choice .choicetype .ffroboto {
  display: block;
  font-size: 100px;
  font-weight: 600;
  font-style: italic;
  margin-top: 5px;
}
#choice .choicefeature {
  color: #fff;
  font-size: 24px;
  text-align: center;
  width: 100%;
  display: block;
  padding: 14px 16px 18px;
  margin-top: 8px;
}
#choice .choicefeature:first-of-type {
  margin-top: 0;
}
#choice .choicelist .typeI .choicefeature {
  background-color: #000;
}
#choice .choicelist .typeD .choicefeature {
  background-color: #9a1616;
}
#choice .choicelist .typeK .choicefeature {
  background-color: #0e0e69;
}
@media (max-width: 1024px) {
  #choice .choicein {
    padding: 62px 40px 72px;
  }
  #choice .comhd {
    font-size: 28px;
  }
  #choice .choicetit {
    font-size: 30px;
  }
  #choice .choicetype .ffroboto {
    font-size: 90px;
    margin-top: 10px;
  }
  #choice .choicelist {
    display: flex;
  }
  #choice .choicelist li {
    margin-bottom: 30px;
  }
  #choice .choicetype {
    width: 100%;
  }
  #choice .choicefeature {
    font-size: 18px;
    padding: 12px 14px 16px;
  }
}
@media (max-width: 640px) {
  #choice .comhd {
    font-size: 24px;
  }
  #choice .choicein {
    padding: 32px 20px 42px;
  }
  #choice .choicetit {
    font-size: 26px;
    margin-bottom: 32px;
  }
  #choice .choicelist {
    display: block;
  }
  #choice .choicelist li {
    width: 100%;
    margin-bottom: 42px;
    display: block;
  }
  #choice .choicelist li:last-of-type {
    margin-bottom: 0;
  }
  #choice .choicetype .choicetypetit {
    font-size: 16px;
    padding: 22px 16px;
  }
  #choice .choicetype .ffroboto {
    font-size: 80px;
  }
  #choice .choicetype {
    width: 100%;
    margin-right: 0;
    margin-bottom: 12px;
  }
  #choice .choiceblock {
    width: 100%;
    margin-right: 0;
  }
  #choice .choicefeature {
    font-size: 18px;
    padding: 12px 12px 16px;
    margin-top: 4px;
  }
}

/* situation
----------------------------------------------- */
#situation.situation {
  margin-top: 150px;
}
#situation .situationlist {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}
#situation .situationlist li {
  width: 19%;
  min-width: 224px;
  position: relative;
  text-align: center;
  margin-bottom: 45px;
}
#situation .situationtype {
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  font-style: italic;
  line-height: 1;
  width: calc(100% - 30px);
  padding: 8px;
  position: absolute;
  right: 0;
  left: 0;
  z-index: 3;
  margin: auto;
}
#situation .situationlist li.typeI .situationtype {
  background-color: #000;
}
#situation .situationlist li.typeD .situationtype {
  background-color: #9a1616;
}
#situation .situationlist li.typeK .situationtype {
  background-color: #0e0e69;
}
#situation .situationimg {
  border: 1px solid #707070;
  background-color: #fff;
  margin: 18px 0 16px;
  min-height: 224px;
  overflow: hidden;
  position: relative;
}
#situation .situationimg > img {
  vertical-align: middle;
  position: absolute;
  margin: auto;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  width: auto;
  height: 60%;
}
#situation .situationtxt {
  font-size: 21px;
  line-height: 1.5;
}
#situation .situationsubtxt {
  font-size: 16px;
  display: block;
  margin-bottom: 8px;
}
#situation .situationlist li.typeI .situationsubtxt {
  color: #000;
}
#situation .situationlist li.typeD .situationsubtxt {
  color: #9a1616;
}
#situation .situationlist li.typeK .situationsubtxt {
  color: #0e0e69;
}
#situation .pcOnly {
  display: block;
}
@media (max-width: 1024px) {
  #situation.situation {
    margin-top: 100px;
  }
  #situation .situationlist li {
    width: 49%;
  }
  #situation .situationtype {
    width: 50%;
  }
}
@media (max-width: 640px) {
  #situation.situation {
    margin-top: 180px;
  }
  #situation .situationlist li {
    min-width: 160px;
    margin-bottom: 40px;
  }
  #situation .situationtype {
    font-size: 14px;
    width: calc(100% - 30px);
  }
  #situation .situationimg {
    min-height: 190px;
    margin: 16px 0 10px;
  }
  #situation .situationimg > img {
    vertical-align: middle;
    position: absolute;
    margin: auto;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    height: 60%;
  }
  #situation .situationtxt {
    font-size: 18px;
  }
  #situation .situationsubtxt {
    font-size: 14px;
  }
  #situation .pcOnly {
    display: none;
  }
}

/* merit
----------------------------------------------- */
#merit.merit {
  margin-top: 150px;
}
#merit.merit .meritin + .meritin {
  margin-top: 100px;
}
#merit.merit .meritdet {
  text-align: center;
  font-size: 28px;
  font-weight: 500;
  margin-bottom: 32px;
}
#merit.merit .merittype {
  text-align: center;
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 50px;
}
#merit.merit .merittype p {
  font-family: "Roboto", sans-serif;
  font-style: italic;
  border: 1px solid #000;
  background-color: #fff;
  width: 285px;
  padding: 16px;
  position: relative;
  margin: auto;
  display: inline-block;
}
#merit.merit .merittype .typeI {
  color: #000;
  border: 1px solid #000;
}
#merit.merit .merittype .typeD {
  color: #9a1616;
  border: 1px solid #9a1616;
}
#merit.merit .merittype .typeK {
  color: #0e0e69;
  border: 1px solid #0e0e69;
}
#merit.merit .merittype p + p {
  margin-left: 24px;
}
#merit.merit .merittype p:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #000;
  position: absolute;
  top: -10px;
  left: -10px;
  z-index: -1;
}
#merit.merit .merittype .typeI:before {
  background-color: #000;
}
#merit.merit .merittype .typeD:before {
  background-color: #9a1616;
}
#merit.merit .merittype .typeK:before {
  background-color: #0e0e69;
}
#merit.merit .meritlist {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
#merit.merit .meritlist li {
  position: relative;
  width: 32.5%;
  padding: 110px 45px 45px;
  background: #fff;
}
#merit.merit .meritlist.twocol li {
  width: 49%;
}
#merit.merit .meritimg {
  text-align: center;
  margin-bottom: 55px;
}
#merit.merit .meritimg img {
  height: 100px;
}
#merit.merit .merittit {
  padding-bottom: 20px;
  margin-bottom: 40px;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.5;
  position: relative;
}
#merit.merit .merittit:before {
  position: absolute;
  content: "";
  background: #1c1c1c;
  width: 50px;
  height: 3px;
  left: 0;
  bottom: 0;
  z-index: 2;
}
#merit.merit .meritpoint {
  position: absolute;
  left: -15px;
  top: 25px;
  z-index: 2;
  background: #1c1c1c;
  padding: 5px 40px;
  color: #fff;
  font-size: 18px;
}
#merit.merit .meritintro {
  text-align: left;
  margin: 50px 0 30px;
  font-size: 22px;
  font-weight: 500;
}
#merit.merit .meritdown li {
  display: flex;
  justify-content: start;
  align-items: center;
  margin-bottom: 30px;
}
#merit.merit .meritbtn a {
  display: block;
  line-height: 50px;
  text-align: center;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  -webkit-border-radius: 25px;
  -moz-border-radius: 25px;
  -ms-border-radius: 25px;
  -o-border-radius: 25px;
  border-radius: 25px;
}
#merit.merit .meritnote {
  text-align: left;
  font-size: 16px;
  line-height: 1.5;
  margin-left: 25px;
}
#merit.merit .meritbtn.bgred a {
  background: #cd0033;
}
#merit.merit .meritbtn.bgblue a {
  background: #0e0e69;
}

@media (max-width: 1024px) {
  #merit.merit {
    margin-top: 100px;
  }
  #merit.merit .meritdet {
    font-size: 20px;
    margin-bottom: 35px;
  }
  #merit.merit .merittype {
    font-size: 24px;
    margin-bottom: 35px;
  }
  #merit.merit .merittype p {
    width: 40%;
  }
  #merit.merit .meritlist {
    display: block;
  }
  #merit.merit .meritlist li {
    width: auto;
    padding: 85px 60px 30px;
  }
  #merit.merit .meritlist.twocol li {
    width: auto;
  }
  #merit.merit .meritlist li + li {
    margin-top: 30px;
  }
  #merit.merit .meritimg {
    margin-bottom: 60px;
  }
  #merit.merit .meritimg img {
    height: 80px;
  }
  #merit.merit .merittit {
    text-align: center;
    margin-bottom: 30px;
    font-size: 22px;
  }
  #merit.merit .merittit:before {
    width: 30px;
    height: 3px;
    right: 0;
    left: 0;
    margin: auto;
  }
  #merit.merit .meritpoint {
    font-size: 16px;
  }
  #merit.merit .meritintro {
    margin: 60px 0 30px;
    font-size: 16px;
  }
  #merit.merit .meritcap {
    font-size: 18px;
  }
  #merit.merit .meritbtn {
    width: 254px;
  }
  #merit.merit .merit-service {
    padding: 0.7em 1em;
  }
  #merit.merit .meritbtn a {
    font-size: 16px;
  }
}
@media (max-width: 640px) {
  #merit.merit {
    margin-top: 180px;
  }
  #merit.merit .meritdet {
    margin-bottom: 24px;
  }
  #merit.merit .merittype {
    font-size: 22px;
    margin-bottom: 35px;
  }
  #merit.merit .merittype p {
    width: 50%;
    padding: 12px;
  }
  #merit.merit .merittype p + p {
    margin-left: 0;
    margin-top: 22px;
  }
  #merit.merit .meritlmeritdownist li {
    display: block;
    width: auto;
    padding: 85px 30px 20px;
  }
  #merit.merit .meritdown {
    display: block;
  }
  #merit.merit .meritdown li {
    display: block;
    width: auto;
  }
  #merit.merit .meritdown li + li {
    margin-top: 50px;
  }
  #merit.merit .meritnote {
    margin-left: 0;
  }
  #merit.merit .meritbtn {
    width: auto;
    margin-bottom: 14px;
  }
}

/* plan
----------------------------------------------- */
#plan.plan {
  margin-top: 150px;
}
#plan.plan .tabinner {
  background: #fff;
}
#plan.plan .tablist {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: nowrap;
}
#plan.plan .tablist li {
  border: 1px #fff solid;
  border-top: none;
  width: 25%;
}
#plan.plan .tablist .tabtype {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  text-align: center;
  width: 100%;
  display: inline-block;
  border-bottom: 2px #fff solid;
  padding: 5px 4px 3px;
}
#plan.plan .tablist .tabtype.half {
  width: 50%;
}
#plan.plan .tablist .tabtype.typeI {
  background-color: #000;
}
#plan.plan .tablist .tabtype.typeD {
  background-color: #9a1616;
}
#plan.plan .tablist .tabtype.typeK {
  background-color: #0e0e69;
}
#plan.plan .tablist .tabtype.half:first-of-type {
  border-right: 2px solid #fff;
}
#plan.plan .tablist li a {
  display: block;
  text-align: center;
  font-size: 18px;
  padding: 15px 0;
  font-weight: 500;
  background: #e8e8e8;
  line-height: 1.5;
}
#plan.plan .tablist li a.on {
  background: #1c1c1c;
  color: #fff;
}
#plan.plan .comtab .tabbox {
  display: none;
  height: auto;
  min-height: 850px;
  padding: 45px 50px 50px;
}
#plan.plan .comtab #tab01 {
  display: block;
}
#plan.plan .comtab .plantxt {
  margin-top: 40px;
  display: flex;
  align-items: flex-end;
}
#plan.plan .comtab .plannote li {
  text-indent: -1em;
  padding-left: 1em;
  font-size: 14px;
}
#plan.plan .comtab .plannote li + li {
  margin-top: 5px;
}
#plan.plan .comtab .plantable {
  width: 100%;
  border-collapse: separate;
  border-spacing: 8px;
  margin: -8px;
}
#plan.plan .comtab .plantable + .plantable {
  margin-top: 10px;
}
#plan.plan .comtab .plantable th,
#plan.plan .comtab .plantable td {
  border: 1px #707070 solid;
  text-align: center;
  vertical-align: middle;
  padding: 10px 0;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 500;
}
#plan.plan .comtab .plantable th {
  vertical-align: middle;
  width: 32%;
  color: #fff;
  text-align: left;
  padding: 40px;
  background: #1c1c1c;
  align-items: center;
  font-weight: 700;
  font-size: 30px;
  line-height: 1.5;
}
#plan.plan .comtab .plantable td {
  padding: 10px;
}
#plan.plan .comtab .plantitsmal {
  font-size: 18px;
  font-weight: 500;
  margin-top: 10px;
  display: block;
}
#plan.plan .comtab .planwidth01 {
  width: 28%;
}
#plan.plan .comtab .planwidth02 {
  width: 40%;
}
#plan.plan .comtab .planwidth03 {
  width: 25%;
}
#plan.plan .comtab .planfont01 {
  font-size: 30px;
}
#plan.plan .comtab .planfont02 {
  font-size: 50px;
  font-family: "Roboto", sans-serif;
}
#plan.plan .comtab .planfont03 {
  font-size: 60px;
  margin-left: 20px;
  font-family: "Roboto", sans-serif;
}
#plan.plan .comtab .planmt01 {
  margin-top: 15px;
}
#plan.plan .comtab .planmt02 {
  margin-top: 45px;
}
#plan.plan .comtab .plantable td a {
  display: inline-block;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
  padding: 15px 40px;
  -webkit-border-radius: 80px;
  -moz-border-radius: 80px;
  -ms-border-radius: 80px;
  -o-border-radius: 80px;
  border-radius: 80px;
}
#plan.plan .comtab .plantable td a.bgred {
  background: #cd0033;
}
#plan.plan .comtab .plantable td a.bgblue {
  background: #0e0e69;
}
#plan.plan .comtab .plantablein {
  width: 100% !important;
  border: 1px #707070 solid;
}
#plan.plan .comtab .plantablein td {
  padding-bottom: 20px;
  padding-top: 20px;
}
#plan.plan .comtab .plantablein a {
  width: 240px;
  padding-left: 10px !important;
  padding-right: 10px !important;
}
#plan.plan .comtab .planbornone {
  border: none !important;
  padding: 0 !important;
}
#plan.plan .comtab .plantitsp {
  display: none;
  margin-bottom: 10px;
  background: #1c1c1c;
  padding: 20px;
  justify-content: space-between;
  align-items: center;
  color: #fff;
  margin-right: 8px;
}
#plan.plan .comtab .plantitspl {
  font-size: 18px;
  font-weight: 700;
}
#plan.plan .comtab .plantitsps {
  font-size: 12px;
  font-weight: 500;
}

@media (max-width: 1200px) {
  #plan.plan .comtab .tabbox {
    height: auto;
    padding: 40px;
  }
  #plan.plan .comtab .plantablein a {
    display: block !important;
    width: auto;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}
@media (max-width: 1024px) {
  #plan.plan {
    margin-top: 100px;
  }
  #plan.plan .tablist .tabtype {
    font-size: 14px;
    padding: 5px 2px 3px;
  }
  #plan.plan .tablist li a {
    font-size: 16px;
  }
  .comtab .tabbox {
    padding: 40px 20px;
    min-height: 1px;
  }
  #plan.plan .comtab .plantxt {
    margin-top: 30px;
    display: block;
  }
  #plan.plan .comtab .plantable {
    width: 100% !important;
    border-spacing: 4px;
    margin: -4px;
  }
  #plan.plan .comtab .plantable th,
  #plan.plan .comtab .plantable td {
    font-size: 14px;
  }
  #plan.plan .comtab .plantable th {
    padding: 20px;
    font-size: 22px;
  }
  #plan.plan .comtab .plantitsmal {
    font-size: 12px;
  }
  #plan.plan .comtab .planfont01 {
    font-size: 25px;
  }
  #plan.plan .comtab .planfont02 {
    font-size: 33px;
  }
  #plan.plan .comtab .planfont03 {
    font-size: 42px;
    margin-left: 10px;
  }
  #plan.plan .comtab .plantable td a {
    font-size: 14px;
    padding: 15px 20px;
  }
}
@media (max-width: 640px) {
  #plan.plan .tablist {
    flex-wrap: wrap;
  }
  #plan.plan .tablist li {
    width: 50%;
    margin-bottom: 10px;
  }
  #plan.plan .comtab .plantable th,
  #plan.plan .comtab .plantable td {
    font-size: 11px;
  }
  #plan.plan .comtab .plantable th {
    padding: 20px;
    font-size: 18px;
    display: none;
  }
  #plan.plan .comtab .plantable td {
    padding: 10px 5px;
  }
  #plan.plan .comtab .planfont01 {
    font-size: 19px;
  }
  #plan.plan .comtab .planfont02 {
    font-size: 25px;
  }
  #plan.plan .comtab .planfont03 {
    font-size: 31px;
  }
  #plan.plan .comtab .plantable td a {
    font-size: 12px;
    padding: 5px 10px;
    margin-bottom: 5px;
  }
  #plan.plan .comtab .planwidth01 {
    width: 40%;
  }
  #plan.plan .comtab .planwidth02 {
    width: 60%;
  }
  #plan.plan .comtab .planwidth03 {
    width: 25%;
  }
  #plan.plan .comtab .plantitsp {
    display: block;
  }
  #plan.plan .comtab .plantable + .plantitsp {
    margin-top: 15px;
  }
  #plan.plan .tablist .tabtype {
    font-size: 14px;
  }
}

/* device
----------------------------------------------- */
#device.device {
  margin-top: 150px;
}
#device.device .devicebox + .devicebox {
  margin-top: 50px;
}
#device.device .devicebox {
  display: flex;
  align-items: center;
}
#device.device .deviceimg {
  width: 600px;
  height: 350px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 50px;
  flex-shrink: 0;
}
#device.device .devicecont {
  flex: 1;
}
#device.device .devicetit {
  font-weight: 500;
  font-size: 18px;
  margin-bottom: 60px;
  line-height: 1.3;
}
#device.device .devicetit span {
  font-size: 30px;
  display: block;
}
#device.device .devicelist {
  margin-bottom: 40px;
}
#device.device .devicebtn {
  width: 180px;
}
#device.device .devicebtn a {
  display: block;
  background: #b4002c;
  color: #fff;
  line-height: 50px;
  text-align: center;
}
#device.device .devicebtn a:after {
  display: inline-block;
  width: 12px;
  height: 11px;
  margin-top: -2px;
  margin-left: 14px;
  vertical-align: middle;
  background: url(/svcsol/campaign/images/mobile_202010/icon_externallink_white01.png)
    50% 50% / contain no-repeat;
  content: "";
}

@media (max-width: 1024px) {
  #device.device {
    margin-top: 100px;
  }
  #device.device .devicebox + .devicebox {
    margin-top: 70px;
  }
  #device.device .devicebox {
    display: block;
  }
  #device.device .deviceimg {
    width: 456px;
    height: 266px;
    margin: 0 auto 20px;
  }
  #device.device .devicecont {
    text-align: center;
  }
  #device.device .devicetit {
    font-size: 16px;
    margin-bottom: 20px;
    text-align: center;
  }
  #device.device .devicetit span {
    font-size: 26px;
  }
  #device.device .devicelist {
    display: inline-block;
    margin-bottom: 30px;
  }
  #device.device .devicebtn {
    margin: 0 auto;
  }
}
@media (max-width: 640px) {
  #device.device .devicebox + .devicebox {
    margin-top: 90px;
  }
  #device.device .deviceimg {
    width: 100%;
    height: 220px;
    margin-bottom: 45px;
  }
  #device.device .devicelist {
    margin-bottom: 40px;
  }
}

/* faq
----------------------------------------------- */
#faq.faq {
  margin-top: 150px;
}
#faq.faq .faqinner {
  background: #fff;
  padding: 100px;
}

#faq.faq .faqlist {
  border: 1px #707070 solid;
}
#faq.faq .faqlist li + li {
  border-top: 1px #707070 solid;
}
#faq.faq .faqlist .qustion {
  padding: 20px 220px 20px 30px;
  cursor: pointer;
  display: flex;
  align-items: center;
  position: relative;
}
#faq.faq .faqlist .qustionico {
  margin-right: 35px;
  line-height: 1.3;
  color: #1c1c1c;
  font-size: 30px;
}
#faq.faq .faqlist .qustioncont {
  flex: 1;
  font-size: 16px;
}
#faq.faq .faqlist .qustionplus {
  width: 20px;
  height: 20px;
  position: absolute;
  right: 45px;
  top: 50%;
  margin-top: -10px;
  z-index: 2;
}
#faq.faq .faqlist .qustionplus:before {
  position: absolute;
  content: "";
  background: #1c1c1c;
  width: 100%;
  height: 2px;
  left: 0;
  top: 50%;
  margin-top: -1px;
  z-index: 2;
}
#faq.faq .faqlist .qustionplus:after {
  position: absolute;
  content: "";
  background: #1c1c1c;
  width: 2px;
  height: 100%;
  left: 50%;
  top: 0;
  margin-left: -1px;
  z-index: 2;
}
#faq.faq .faqlist .qustion.on .qustionplus:after {
  display: none;
}
#faq.faq .faqlist .answer {
  display: none;
  border-top: 1px #707070 solid;
  padding: 20px 100px 20px 30px;
}
#faq.faq .faqlist .answerin {
  display: flex;
  align-items: flex-start;
}
#faq.faq .faqlist .answerico {
  margin-right: 35px;
  line-height: 1.3;
  color: #b4002c;
  font-size: 30px;
}
#faq.faq .faqlist .answercont p > a > img {
  padding: 4px 0 0 6px;
}
#faq.faq .faqlist .answernote {
  margin-top: 20px;
  font-size: 14px;
}
#faq.faq .faqlist .answerin a {
  text-decoration: underline;
}

@media (max-width: 1200px) {
  #faq.faq .faqinner {
    padding: 100px 60px;
  }
}
@media (max-width: 1024px) {
  #faq.faq .faqinner {
    margin: 0 -60px;
  }
  #faq.faq .faqinner {
    padding: 100px 60px;
  }
  #faq.faq .faqlist .qustion {
    padding: 20px 100px 20px 30px;
  }
  #faq.faq .faqlist .answer {
    padding: 20px 100px 20px 30px;
  }
  #faq.faq .faqlist .answernote {
    margin-top: 10px;
  }
}
@media (max-width: 640px) {
  #faq.faq {
    margin-top: 100px;
  }
  #faq.faq .faqinner {
    padding: 50px 20px;
    margin: 0 -20px;
  }
  #faq.faq .faqlist li + li {
    border-top: 1px #707070 solid;
  }
  #faq.faq .faqlist .qustion {
    padding: 25px 35px 25px 15px;
  }
  #faq.faq .faqlist .qustionico {
    margin-right: 20px;
    font-size: 25px;
  }
  #faq.faq .faqlist .answer {
    padding: 25px 35px 25px 15px;
  }
  #faq.faq .faqlist .answerico {
    margin-right: 20px;
    font-size: 25px;
  }
  #faq.faq .faqlist .answernote {
    margin-top: 15px;
    font-size: 12px;
  }
  #faq.faq .faqlist .qustionplus {
    right: 15px;
  }
}

/* steps
----------------------------------------------- */
#steps.steps {
  margin-top: 150px;
}
#steps.steps .stepslist {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
#steps.steps .stepslist li {
  width: 25%;
  height: 300px;
  padding: 35px 20px 0;
  background: #fff;
  position: relative;
}
#steps.steps .stepslist li + li:before {
  position: absolute;
  content: "";
  background: url(/svcsol/campaign/images/mobile_202010/triangle.svg)
    0 0 no-repeat;
  width: 27px;
  height: 30px;
  left: -90px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
#steps.steps .stepslist .stepstit {
  font-size: 22px;
  font-weight: 500;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 35px;
}
#steps.steps .stepslist .stepsimg {
  text-align: center;
  margin-bottom: 35px;
}
#steps.steps .stepslist .stepsimg img {
  height: 80px;
}
#steps.steps .stepslist .stepstxt {
  text-align: center;
  font-size: 18px;
  line-height: 1.5;
}

@media (max-width: 1200px) {
  #steps.steps .stepslist li + li:before {
    left: -70px;
  }
}
@media (max-width: 1024px) {
  #steps.steps {
    margin-top: 100px;
  }
  #steps.steps .stepslist {
    display: block;
    max-width: 300px;
    margin: 0 auto;
  }
  #steps.steps .stepslist li {
    width: 100%;
  }
  #steps.steps .stepslist li + li {
    margin-top: 100px;
  }
  #steps.steps .stepslist li + li:before {
    top: -60px;
    left: 50%;
    transform: rotate(90deg);
    margin-left: -15px;
  }
  #steps.steps .stepslist .stepsimg {
    margin-bottom: 40px;
  }
}
@media (max-width: 640px) {
  #steps.steps .stepslist {
    max-width: 226px;
  }
  #steps.steps .stepslist li {
    height: 226px;
    padding: 25px 20px 0;
  }
  #steps.steps .stepslist li + li {
    margin-top: 70px;
  }
  #steps.steps .stepslist .stepstit {
    font-size: 16px;
    margin-bottom: 30px;
  }
  #steps.steps .stepslist .stepsimg {
    margin-bottom: 30px;
  }
  #steps.steps .stepslist .stepsimg img {
    height: 60px;
  }
  #steps.steps .stepslist .stepstxt {
    font-size: 14px;
  }
  #steps.steps .stepslist li + li:before {
    top: -50px;
  }
}

/* pay
----------------------------------------------- */
#section-pay.pay {
  margin-top: 150px;
}
#section-pay.pay .payin {
  background: #404040;
  padding: 160px 0px 100px;
}
#section-pay.pay .paybox {
  max-width: 880px;
  margin: 0 auto;
}
#section-pay.pay .payhd {
  text-align: center;
  margin-bottom: 40px;
}
#section-pay.pay .payhd span {
  font-size: 28px;
  font-weight: 700;
  padding: 0 15px 15px;
  line-height: 1.2;
  display: inline-block;
  color: #fff;
  border-bottom: 2px #fff solid;
}
#section-pay.pay .paydet {
  text-align: center;
  color: #fff;
  margin-bottom: 50px;
}
#section-pay.pay .paylist {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
}
#section-pay.pay .paylist li {
  width: 45%;
  color: #fff;
}
#section-pay.pay .paytit {
  background: #b4002c;
  text-align: center;
  color: #fff;
  font-size: 22px;
  line-height: 1.5;
  padding: 20px;
  font-weight: 700;
  margin-bottom: 30px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  border-radius: 10px;
}
#section-pay.pay .paytit:after {
  display: inline-block;
  width: 27px;
  height: 26px;
  margin-top: -4px;
  margin-left: 34px;
  vertical-align: middle;
  background: url(/svcsol/campaign/images/mobile_202010/icon_externallink_white03.svg)
    50% 50% / contain no-repeat;
  content: "";
}
#section-pay.pay .paytxt {
  margin-bottom: 20px;
}
#section-pay.pay .paynote {
  font-size: 14px;
}

@media (max-width: 1024px) {
  #section-pay.pay {
    margin-top: 100px;
  }
  #section-pay.pay .payin {
    padding: 40px 0 80px;
  }
  #section-pay.pay .payhd span {
    font-size: 24px;
    padding: 0 15px 15px;
  }
  #section-pay.pay .paydet {
    margin-bottom: 25px;
  }
  #section-pay.pay .paytit {
    font-size: 18px;
    padding: 20px 15px;
  }
  #section-pay.pay .paytit:after {
    width: 20px;
    height: 19px;
    margin-left: 14px;
  }
  #section-pay.pay .paytxt {
    margin-bottom: 25px;
  }
}
@media (max-width: 640px) {
  #section-pay.pay .payin {
    padding: 40px 0;
  }
  #section-pay.pay .payhd span {
    font-size: 24px;
    padding: 0 15px 15px;
  }
  #section-pay.pay .paydet {
    font-size: 14px;
    margin-bottom: 30px;
  }
  #section-pay.pay .paylist {
    display: block;
    padding: 0 30px;
  }
  #section-pay.pay .paylist li {
    width: auto;
  }
  #section-pay.pay .paylist li + li {
    margin-top: 50px;
  }
  #section-pay.pay .paytxt {
    margin-bottom: 15px;
  }
}

/* contact
----------------------------------------------- */
#contact.contact {
  margin-top: 100px;
}
#contact.contact .contactin {
  background: #fff;
  padding: 40px 60px 50px;
}
#contact.contact .contacthd {
  text-align: center;
  margin-bottom: 45px;
}
#contact.contact .contacthd span {
  font-size: 28px;
  font-weight: 700;
  padding: 0 15px 15px;
  line-height: 1.5;
  display: inline-block;
  border-bottom: 2px #262626 solid;
}
#contact.contact .contactdet {
  text-align: center;
  margin-bottom: 40px;
}
#contact.contact .contactlist {
  max-width: 620px;
  margin: 0 auto;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
}
#contact.contact .contactlist li {
  width: 48%;
}
#contact.contact .contactlist a {
  display: block;
  background: #1c1c1c;
  height: 180px;
  padding: 30px 20px 0;
  color: #fff;
}
#contact.contact .contactlist .contactico {
  text-align: center;
  margin-bottom: 20px;
}
#contact.contact .contactlist .contactico img {
  height: 42px;
}
#contact.contact .contactlist .contacttxt01 {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}
#contact.contact .contactlist .contacttxt02 {
  text-align: center;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.3;
}
#contact.contact .contactlist .contacttxt02 span {
  display: block;
  font-size: 24px;
}
#contact.contact .contactlist .contactico01 {
  text-align: center;
  padding: 1rem 0 0;
}
#contact.contact .contactlist .contactico01 > img {
  width: 16px;
  max-width: 100%;
  height: auto;
}
#contact.contact .contactcap {
  text-align: center;
  margin-top: 20px;
  font-size: 14px;
}

@media (max-width: 1024px) {
  #contact.contact .contactin {
    margin: 0 -60px;
  }
  #contact.contact .contacthd span {
    font-size: 24px;
  }
  #contact.contact .contactlist li {
    width: 48%;
  }
}
@media (max-width: 640px) {
  #contact.contact .contactin {
    margin: 0 -20px;
  }
  #contact.contact .contacthd {
    margin-bottom: 30px;
  }
  #contact.contact .contactdet {
    margin-bottom: 20px;
  }
  #contact.contact .contactlist {
    display: block;
  }
  #contact.contact .contactlist li {
    width: auto;
  }
  #contact.contact .contactlist li + li {
    margin-top: 40px;
  }
  #contact.contact .contactlist .contactico {
    text-align: center;
    margin-bottom: 20px;
  }
}

/* USERS VOICE
----------------------------------------------- */
#voice.voice {
  margin-top: 150px;
}
#voice.voice .voiceinner {
  position: relative;
}
#voice.voice .voiceimg {
  width: 60%;
  height: 700px;
}
#voice.voice .voiceimg01 {
  background: url("/svcsol/campaign/images/mobile_202010/img_voice01.jpg")
    right 0 no-repeat;
  background-size: cover;
}
#voice.voice .voiceimg02 {
  background: url("/svcsol/campaign/images/mobile_202010/img_voice02.jpg")
    center 0 no-repeat;
  background-size: cover;
}
#voice.voice .voiceimg03 {
  background: url("/svcsol/campaign/images/mobile_202010/img_voice03.jpg")
    0 0 no-repeat;
  background-size: cover;
}
#voice.voice .voiceimg04 {
  background: url("/svcsol/campaign/images/mobile_202010/img_voice04.jpg")
    0 0 no-repeat;
  background-size: cover;
}
#voice.voice .voiceimg05 {
  background: url("/svcsol/campaign/images/mobile_202010/img_voice05.jpg")
    0 0 no-repeat;
  background-size: cover;
}
#voice.voice .voicecont {
  background: #fff;
  width: 43%;
  margin: -340px 0 0 43%;
  padding: 80px 6% 100px;
}
#voice.voice .voicecont .voicetit {
  padding-left: 120px;
  font-size: 18px;
  font-weight: 700;
  color: #b4002c;
  line-height: 1.3;
  margin-bottom: 60px;
  position: relative;
}
#voice.voice .voicecont .voicetit:before {
  position: absolute;
  content: "";
  background: #b4002c;
  width: 100px;
  height: 1px;
  left: 0;
  top: 50%;
  z-index: 2;
}
#voice.voice .voicecont .voicedet {
  font-weight: 500;
  font-size: 25px;
  line-height: 1.5;
  margin-bottom: 25px;
}
#voice.voice .voicecont .voicenote {
  font-size: 14px;
  line-height: 1.5;
  margin-top: 25px;
  text-align: right;
}
#voice.voice .slick-dots {
  position: absolute;
  left: 66%;
  top: 30px;
  z-index: 3;
}
#voice.voice .slick-dots li {
  margin-top: 20px;
}
#voice.voice .slick-dots button {
  height: 30px;
  width: 100px;
  border: none;
  font-size: 0;
  padding: 0;
  background: none;
  border-left: 1px rgba(28, 28, 28, 0.3) solid;
  outline: none;
  cursor: pointer;
  position: relative;
}
#voice.voice .slick-dots button:before {
  position: absolute;
  left: 30px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  line-height: 1.5;
  font-weight: 700;
  font-family: "Roboto", sans-serif;
  color: rgba(28, 28, 28, 0.3);
  width: 100%;
  text-align: left;
  z-index: 2;
}
#voice.voice .slick-dots li:nth-child(1) button:before {
  content: "CASE01";
}
#voice.voice .slick-dots li:nth-child(2) button:before {
  content: "CASE02";
}
#voice.voice .slick-dots li:nth-child(3) button:before {
  content: "CASE03";
}
#voice.voice .slick-dots li:nth-child(4) button:before {
  content: "CASE04";
}
#voice.voice .slick-dots li:nth-child(5) button:before {
  content: "CASE05";
}
#voice.voice .slick-dots li.slick-active button {
  border-left: 1px #b4002c solid;
}
#voice.voice .slick-dots li.slick-active button:before {
  color: #b4002c;
}
#voice.voice .slick-arrow {
  position: absolute;
  border: none;
  text-indent: -9999px;
  background: #1c1c1c;
  width: 53px;
  height: 53px;
  background-color: none;
  padding: 0;
  z-index: 3;
  outline: none;
  cursor: pointer;
}
#voice.voice .slick-prev {
  background: url("/svcsol/campaign/images/mobile_202010/prev_voice.svg")
    0 0 no-repeat;
  left: calc(43% - 107px);
  top: 700px;
}
#voice.voice .slick-next {
  background: url("/svcsol/campaign/images/mobile_202010/next_voice.svg")
    0 0 no-repeat;
  left: calc(43% - 53px);
  top: 700px;
}

@media (max-width: 1200px) {
  #voice.voice .voiceimg {
    width: 70%;
  }
  #voice.voice .slick-dots {
    left: 76%;
  }
  #voice.voice .voicecont {
    width: 56%;
    margin: -340px 0 0 40%;
    padding: 80px 6% 100px;
  }
  #voice.voice .slick-prev {
    left: calc(40% - 107px);
    top: 700px;
  }
  #voice.voice .slick-next {
    background: url("/svcsol/campaign/images/mobile_202010/next_voice.svg")
      0 0 no-repeat;
    left: calc(40% - 53px);
    top: 700px;
  }
}
@media (max-width: 1024px) {
  #voice.voice {
    margin-top: 100px;
  }
  #voice.voice .voiceimg {
    width: 75%;
    height: 300px;
  }
  #voice.voice .voicecont {
    width: 88%;
    margin: 0 0 0 12%;
    padding: 45px 60px;
  }
  #voice.voice .voicecont .voicetit {
    padding-left: 80px;
    font-size: 16px;
    margin-bottom: 30px;
  }
  #voice.voice .voicecont .voicetit:before {
    width: 60px;
  }
  #voice.voice .voicecont .voicedet {
    font-size: 22px;
  }
  #voice.voice .voicecont .voicenote {
    margin-top: 10px;
  }
  #voice.voice .slick-dots {
    position: absolute;
    left: 80%;
    top: 0;
  }
  #voice.voice .slick-dots li {
    margin-top: 0;
  }
  #voice.voice .slick-dots li + li {
    margin-top: 15px;
  }
  #voice.voice .slick-dots button {
    height: 20px;
    width: 70px;
    overflow: hidden;
  }
  #voice.voice .slick-dots button:before {
    left: 20px;
    font-size: 13px;
    width: 100%;
  }
  #voice.voice .slick-prev {
    left: 12%;
    top: 100%;
  }
  #voice.voice .slick-next {
    left: calc(12% + 54px);
    top: 100%;
  }
}
@media (max-width: 640px) {
  #voice.voice .voiceimg {
    width: 75%;
    height: 200px;
  }
  #voice.voice .voicecont {
    width: 100%;
    margin: 0;
    padding: 30px 20px 35px;
  }
  #voice.voice .slick-prev {
    left: 20px;
  }
  #voice.voice .slick-next {
    left: 74px;
  }
  #voice.voice .slick-dots {
    left: 78%;
  }
  #voice.voice .slick-dots button:before {
    font-size: 10px;
  }
  #voice.voice .slick-dots li + li {
    margin-top: 4px;
  }
}

#merit.merit .merit-service {
  padding: 0.7em 1.5em;
  text-align: center;
  display: block;
  font-weight: 500;
  font-size: 18px;
  margin: 0 0.3em;
}

#merit.merit .merit-docomo {
  color: #cd0033;
  border: 1px solid #cd0033;
}

#merit.merit .merit-kddi {
  color: #0e0e69;
  border: 1px solid #0e0e69;
}

#section-pay .text-white {
  color: white;
}

@media print, screen and (min-width: 768px) {
  .parent_box {
    width: 100%;
    line-height: 1;
  }
  .appeal_box {
    padding: 40px 30px;
    background: #252525;
  }
  .appeal_box .child_box {
    width: 100%;
    max-width: 950px;
    margin: 0 auto;
  }
  .appeal_box .side_by_side {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
  }
  .appeal_box .side_by_side li {
    width: 60%;
  }
  .appeal_box .side_by_side01 li:nth-child(1) {
    order: 1;
    width: 30%;
    margin-left: 5.5%;
  }
  .appeal_box .side_by_side01 li:nth-child(2) {
    order: 2;
  }
  .appeal_box .side_by_side01 li:nth-child(3) {
    order: 3;
    text-align: left;
  }
  .side_by_side li:last-child {
    text-align: right;
  }
  .appeal_box .tel_box {
    width: 100%;
    text-align: center;
    margin-top: 10px;
    display: flex;
  }
  .appeal_box .tel_box .time {
    font-size: 12px;
    display: block;
    margin-top: 9px;
    color: #fff;
  }
  .appeal_box .tel_box {
    width: 100%;
    text-align: center;
    margin-top: 10px;
    display: flex;
  }
  .appeal_box .tel_box01 {
    width: 100%;
    text-align: center;
    margin: 28px 0 30px;
    display: flex;
    justify-content: center;
  }
  .appeal_box .tel_box:before {
    width: 45px;
    height: 47px;
    display: inline-block;
    content: "";
    background: url(/svcsol/campaign/images/mobile_202010/icon-tel.svg)
      no-repeat center center;
    background-size: cover;
    vertical-align: top;
    margin-right: 14px;
    margin-top: -8px;
  }
  .appeal_box .tel_box .txt {
    font-size: 15px;
    /* font-size: 2.5vmin; */
    font-weight: bold;
    color: #fff;
    margin-right: 10px;
    display: block;
  }
  .appeal_box .tel_box .number {
    font-size: 32px;
    font-weight: bold;
    font-family: "Roboto", sans-serif;
    color: #fff;
    margin-left: 10px;
  }
  .appeal_box .tel_box a {
    color: #fff;
  }
  .download_box .p-download {
    margin-bottom: 22px;
    padding: 20px 38px 30px;
    border: 2px solid #cf0040;
    background: #fff;
  }
  .download_box .p-download01 {
    margin-bottom: 22px;
    padding: 20px 38px 28px;
    border: 2px solid #cf0040;
    background: #fff;
  }
  .download_box .p-download .outline {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 17px;
    line-height: 1.5;
    text-align: center;
    color: #cf0040;
  }
  .download_box .p-download .c-tit {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
    width: 230px;
  }
  .download_box .p-download .c-tit__span {
    font-size: 14px;
    font-weight: normal;
    position: relative;
    margin: 5px 0 21px -9px;
    display: block;
    letter-spacing: 0.03em;
  }
  .download_box .p-download .btn_area {
    width: 448px !important;
    margin: 0 auto;
  }
  .download_box .p-download__inner {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
  }
  .download_box .p-download__figure {
    margin-right: 15px;
  }
  .download_box .p-download__figure01 {
    margin-right: 22px;
  }
  .download_box .p-download__img--01 {
    width: 130px;
  }
  .download_box .p-download__img--02 {
    width: 160px;
  }
  .download_box .p-download__desc {
    flex: 1 0 1%;
  }
  .download_box .side_by_side {
    position: relative;
    width: 100%;
    justify-content: space-between;
    margin-bottom: 15px;
  }
  .download_box .side_by_side li.icon_more {
    position: absolute;
    top: 33px;
    left: 409px;
    width: 80px;
    height: 69px;
  }
  .download_box .side_by_side li.icon_more img {
    width: 80px;
    height: 69px;
  }
  .download_box .side_by_side li:first-child {
    width: 387px;
    text-align: left;
  }
  .download_box .side_by_side li:last-child {
    width: 378px;
    text-align: left;
  }
  .download_box .side_by_side li .c-txt {
    font-size: 14px;
    line-height: 1.7;
  }
  .btn_area .btn {
    width: 100%;
    display: block;
    border-radius: 4px;
    background: linear-gradient(#d00041, #b6001f);
    border: none;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    padding: 24px 20px;
    box-sizing: border-box;
    text-align: center;
    text-decoration: none;
    margin: 0 auto;
  }
  .btn_area .btn:hover {
    position: relative;
    cursor: pointer;
  }
  .btn_area .btn:hover:after {
    content: "";
    opacity: 0.1;
    transition: background 1s linear;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .btn_area span {
    padding-right: 30px;
    background: url(/svcsol/campaign/images/mobile_202010/icon_externallink_white03.svg)
      no-repeat right center;
    background-size: 18px 16px;
    font-weight: 700;
    letter-spacing: 0.03em;
  }
}

@media screen and (max-width: 767px) {
  .appeal_box {
    padding: 30px 0;
    background: #252525;
    line-height: 1;
  }
  .appeal_box .child_box {
    box-sizing: border-box;
    width: 100%;
    margin: 0 auto;
    padding: 0 10px;
  }
  .appeal_box .side_by_side {
    width: 100%;
    padding: 0 10px;
  }
  .appeal_box .tel_box {
    width: 100%;
    text-align: center;
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .appeal_box .tel_box:before {
    width: 15px;
    height: 17px;
    display: inline-block;
    content: "";
    background: url(/svcsol/campaign/images/mobile_202010/icon-tel.svg)
      no-repeat center center;
    background-size: cover;
    vertical-align: top;
    margin: -2px 5px 0 0;
  }
  .appeal_box .tel_box .txt {
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    margin-right: 10px;
    display: block;
  }
  .appeal_box .tel_box .number {
    font-size: 14px;
    font-weight: bold;
    font-family: "Roboto", sans-serif;
    color: #fff;
  }
  .appeal_box .tel_box a {
    color: #fff;
  }
  .appeal_box .tel_box .time {
    font-size: 10px;
    display: block;
    margin-top: 2px;
    color: #fff;
  }
  .download_box .p-download {
    margin: 0 0 20px 0;
    padding: 20px 10px 10px;
    border: 2px solid #cf0040;
    background: #fff;
  }
  .download_box .p-download01 {
    margin-bottom: 22px;
    padding: 20px 10px 10px;
    border: 2px solid #cf0040;
    background: #fff;
  }
  .download_box .p-download .outline {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 17px;
    line-height: 1.75;
    text-align: center;
    color: #cf0040;
  }
  .download_box .p-download .c-tit {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 5px;
  }
  .download_box .p-download .c-tit__span {
    font-weight: normal;
    display: block;
    line-height: 1.5;
    font-size: 15px;
  }
  .download_box .p-download .btn_area {
    width: 100%;
    margin: 0 auto;
  }
  .download_box .p-download__inner {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
  }
  .download_box .p-download__figure {
    margin-right: 10px;
    width: 93px;
  }
  .download_box .p-download__desc {
    flex: 1 0 1%;
    text-align: left;
  }
  .download_box .side_by_side {
    position: relative;
    width: 100%;
    margin-bottom: 15px;
  }
  .download_box .side_by_side li.icon_more {
    width: 98px;
    height: 85px;
    margin: 20px auto;
  }
  .download_box .side_by_side li.icon_more img {
    width: 98px;
    height: 85px;
  }
  .download_box .side_by_side li:first-child {
    /* order: 1; */
  }
  .download_box .side_by_side li:last-child {
    /* width: 378px;
		text-align: left; */
  }
  .download_box .side_by_side li .c-txt {
    font-size: 14px;
    line-height: 1.7;
  }
  .download_box01 {
    width: 91%;
    margin: 0 auto;
  }
  .btn_area .btn01 {
    width: 100%;
    padding: 10px 5px;
  }
  .btn_area .btn {
    width: 100%;
    display: block;
    border-radius: 4px;
    background: linear-gradient(#d00041, #b6001f);
    border: none;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    padding: 11px 6px;
    line-height: 1.5;
    box-sizing: border-box;
    text-align: center;
    text-decoration: none;
    margin: 0 auto;
  }
}
