:root {
  --keycolor: #e71a28;
}

.w-layout-blockcontainer {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

@media screen and (max-width: 991px) {
  .w-layout-blockcontainer {
    max-width: 728px;
  }
}

@media screen and (max-width: 767px) {
  .w-layout-blockcontainer {
    max-width: none;
  }
}

a {
  color: #333;
  text-decoration: none;
}

a:hover {
  color: #a3a3a3;
}

a:active {
  color: #000;
}

a:focus {
  color: #f85858;
}

.navbar {
  z-index: 1000;
  background-color: #fff;
  position: sticky;
  top: 0;
}

.brand {
  flex: 1;
}

/*.container {
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  place-items: center stretch;
  max-width: 1090px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 24px;
  padding-bottom: 24px;
  display: flex;
}*/

/*.body {
  font-family: "M PLUS 1p", sans-serif;
  line-height: 145%;
}*/

.nav-link.btred {
  color: #e71a28;
  border: 1px solid #e71a28;
  border-radius: 60px;
  padding: 11px 38px;
  font-weight: 700;
}

.divhero {
  z-index: 99;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: 91%;
  margin-top: 0;
  margin-bottom: 0;
  padding: 0 94px;
  display: flex;
  position: absolute;
}

.tx-header {
  color: #fff;
  text-align: left;
  font-size: 41px;
  font-weight: 700;
  line-height: 150%;
}

.tx-headersub {
  color: #fff;
  text-align: left;
  font-size: 23px;
  font-weight: 500;
  line-height: 150%;
}

.service {
  -webkit-text-fill-color: inherit;
  background-clip: content-box;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 100%;
  display: flex;
}

.slide {
  background-image: url('../images/slider2.jpg');
  background-position: 50%;
  background-size: cover;
}

.slide-2 {
  background-image: url('../images/slider1.jpg');
  background-position: 50% 24%;
  background-size: cover;
}

.slider {
  height: 29.5rem;
}

.challenge {
  background-color: #f4f4f4;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 100%;
  padding-top: 40px;
  padding-bottom: 0;
  display: block;
}

.div-pagetitle {
  margin-block: 10px 24px;
}

.divblock40 {
  width: 40%;
  margin-right: 28px;
}

.divblock60 {
  width: 60%;
}

.divblock60.margintop30 {
  margin-top: 30px;
}

.divblock60.margintop30.bggray {
  background-color: #fbfbfb;
}

.div-block-40 {
  width: 40%;
}

.div-block-4 {
  width: 60%;
}

.service2 {
  max-width: 100%;
  margin-left: -15px;
  padding-left: 36px;
  padding-right: 36px;
}

.container-all {
  max-width: 1090px;
}

.div-block-5 {
  grid-column-gap: 26px;
  grid-row-gap: 26px;
  grid-template-rows: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  margin-top: 32px;
  margin-bottom: 32px;
  display: grid;
}

.section-service {
  background-color: #e71a28;
  margin-left: 88px;
}

.servicecontent {
  background-color: #fff;
  padding: 30px 22px 35px;
}

.div-redbg {
  background-image: linear-gradient(#e71a28, #e71a28);
  width: 100%;
  height: 508px;
  position: absolute;
  inset: 0%;
}

.section {
  background-color: #e71a28;
  margin-left: 59px;
}

.div-block-7 {
  text-align: center;
}

.div-block-8 {
  grid-column-gap: 28px;
  grid-row-gap: 28px;
  flex-flow: row;
  grid-template-rows: repeat(auto-fit, minmax(200px, 1fr));
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  place-items: stretch center;
  padding-left: 0;
  padding-right: 0;
  display: flex;
}

.div-strength {
  text-align: center;
  border-bottom: 1px solid #c2c2c2;
  border-right: 1px solid #c2c2c2;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 8px;
  margin-bottom: 8px;
  display: flex;
}

.divblockw100 {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: row;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  display: flex;
}

.div-block-10 {
  width: 100%;
}

.divmargin30 {
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 60px;
  margin-bottom: 30px;
  display: flex;
}

.grid {
  grid-column-gap: 5px;
  grid-row-gap: 5px;
  grid-template: "Area"
                 "."
                 "."
                 "."
                 "."
                 / .5fr 1fr 1fr;
  align-items: stretch;
}

.table-header {
  text-align: center;
  background-color: #f5f5f5;
  border-bottom: 1px solid #aaa;
  border-right: 1px solid #aaa;
  padding: 14px 8px;
  font-size: 16px;
}

.table-td {
  text-align: center;
  border-bottom: 1px solid #aaa;
  border-right: 1px solid #aaa;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  height: 100%;
  margin-top: auto;
  margin-bottom: auto;
  padding: 24px 34px;
  font-size: 16px;
  line-height: 147%;
  display: flex;
}

.section-gray {
  background-color: #f5f5f5;
}

.div-block-12 {
  justify-content: space-between;
  align-items: center;
  width: 96%;
  padding: 31px 41px;
  display: flex;
}

.div-block-13 {
  width: 194%;
}

.heading {
  font-size: 27px;
  line-height: 37px;
}

.div-block-14 {
  justify-content: space-between;
  align-items: stretch;
  margin-left: -28px;
  margin-right: 16px;
  padding-top: 14px;
  padding-bottom: 25px;
  display: flex;
}

.div-ikusei {
  background-color: #fff;
  border-left: 10px solid #e62327;
  width: 50%;
  margin-left: 7px;
  margin-right: 10px;
  padding: 9px 39px 23px;
}

.div-block-16 {
  width: 50%;
}

.heading--ikusei {
  padding-top: 12px;
  padding-bottom: 12px;
  font-size: 24px;
}

.div-area {
  border: 1px solid #aaa;
  flex-flow: column;
  justify-content: flex-start;
  align-items: stretch;
  width: 100%;
  padding: 13px 34px;
  display: flex;
}

.div-area-highlight {
  background-color: #fff5f5;
  margin-top: auto;
  padding: 16px 15px;
}

.tx-area {
  color: #e62327;
  text-align: center;
  font-size: 17px;
  font-weight: 700;
}

.section-gray2 {
  background-color: #f3f3f3;
  margin-left: 72px;
  padding-top: 42px;
  padding-bottom: 42px;
}

.div-jisseki {
  background-color: #fff;
  border-bottom: 1px solid #c2c2c2;
  border-left: 0 solid #e62327;
  border-right: 1px solid #c2c2c2;
  width: 50%;
  margin-left: 7px;
  margin-right: 10px;
  padding: 20px 24px 32px;
}

.spacerh43 {
  height: 43px;
}

.div-block-17 {
  text-align: center;
}

.div-step {
  border: 1px solid #c2c2c2;
  padding: 12px 10px 12px 27px;
}

.grid-2 {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  grid-template-rows: 1fr 1fr;
  grid-template-columns: 80px 10px 1.75fr 1fr;
}

.txgraycircle {
  color: #fff;
  text-align: center;
  background-color: #d9d9d9;
  border-radius: 80px;
  justify-content: center;
  align-items: center;
  width: 62px;
  height: 62px;
  font-size: 28px;
  font-weight: 700;
  display: flex;
}

.div-block-18 {
  justify-content: center;
  align-items: center;
  height: 100%;
  display: flex;
}

.tx-nagare-header {
  padding-top: 6px;
  padding-bottom: 6px;
  font-size: 22px;
  font-weight: 700;
}

.div-block-19 {
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.image {
  margin-top: 13px;
}

.div-block-20 {
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.div-verticalline {
  z-index: -10;
  border: 6px solid #d9d9d9;
  width: 3px;
  height: 100%;
  margin-top: 0;
  margin-left: 0;
  position: relative;
  inset: 0 auto 0 -45px;
}

.div-verticalline.heightadjust {
  top: 95px;
}

.div-verticalline.heightadjust2 {
  top: -100px;
}

.section-black {
  background-color: #2e2e2e;
}

.div-block-21 {
  justify-content: space-between;
  align-items: center;
  padding-top: 31px;
  padding-bottom: 31px;
  display: flex;
}

.txwhite34 {
  color: #fff;
  font-size: 34px;
  font-weight: 700;
}

.txwhite34.pdg10 {
  padding-top: 17px;
  padding-bottom: 17px;
}

.txwhite {
  color: #fff;
}

.txwhite.size16 {
  font-size: 16px;
}

.bt-white {
  background-color: #fff;
  border: 1px solid #cecece;
  border-radius: 80px;
  justify-content: center;
  align-items: center;
  padding: 15px 20px;
  display: flex;
  gap: 0 8px;
  position: relative;
  transition: opacity 0.25s cubic-bezier(0.847, 0.541, 0.302, 0.882);
}

.bt-white:hover {
  opacity: 0.75;
}

.txred2 {
  color: #e71a29;
  padding-right: 6px;
}

.txred2.size16 {
  font-size: 16px;
}

.txred2.posadjust1 {
  position: absolute;
  left: auto;
  right: 13px;
}

.txgray {
  margin-right: 14px;
}

.divfooter {
  background-color: #dcdcdc;
}

.divfootercontain {
  justify-content: space-between;
  align-items: center;
  padding: 8px 26px;
  display: flex;
}

.divfooterpolicy {
  display: flex;
}

.div-footer-upperdeck {
  justify-content: space-between;
  align-items: stretch;
  display: flex;
}

.div-block-25 {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.div-block-26 {
  border-left: 2px solid #dcdcdc;
  flex-flow: column;
  width: 26%;
  padding-bottom: 22px;
  padding-left: 17px;
  display: flex;
}

.divtpdg5bpdg10 {
  justify-content: space-between;
  align-items: center;
  padding-top: 5px;
  padding-bottom: 10px;
  display: flex;
}

.div-block-28 {
  width: 20px;
}

.div-block-29 {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.div-block-30 {
  grid-column-gap: 19px;
  grid-row-gap: 19px;
  grid-template-rows: 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  align-items: center;
  margin-top: 24px;
  margin-bottom: 24px;
  display: grid;
}

.div-footer-office {
  border: 1px solid #dcdcdc;
  width: 100%;
  margin-right: 0;
  padding: 16px 20px;
}

.div-footer-address {
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.div-footer-address-post {
  width: 100px;
}

.div-footer-address-add {
  width: 209px;
}

.div-block-31 {
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.tx-red {
  color: #e71a28;
  padding-right: 5px;
}

.tx-red.size12 {
  font-size: 12px;
}

.txbold500 {
  font-weight: 500;
}

.txbold500.size15 {
  font-size: 16px;
}

.heading25 {
  margin-top: 5px;
  font-size: 25px;
}

.spacerh70 {
  height: 70px;
}

.heading22-175 {
  margin-top: 0;
  font-size: 25px;
  line-height: 175%;
}

.heading22-175.margintop30 {
  margin-top: 30px;
}

.tx17-219 {
  font-size: 17px;
  line-height: 219%;
}

.tx17-220 {
  font-size: 16px;
  line-height: 220%;
}

.tx17-220.margintop30 {
  margin-top: 30px;
}

.tx17-220.wd100 {
  width: 100%;
}

.tx17-220.marginflow {
  margin-top: 12px;
  margin-bottom: 28px;
}

.heading18 {
  font-size: 18px;
}

.spacerh20 {
  height: 20px;
}

.txgraybold {
  color: #616161;
  font-size: 16px;
  font-weight: 700;
}

.txredbold {
  color: #e71a28;
  font-size: 16px;
  font-weight: 700;
}

.txblackbold24 {
  padding-top: 12px;
  padding-bottom: 22px;
  font-size: 24px;
  font-weight: 800;
  line-height: 113%;
}

.txblack16-180-center {
  text-align: center;
  font-size: 16px;
  line-height: 180%;
}

.divblockw100grid {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: 1fr 1fr 1fr;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: grid;
}

.tx15-172-mrg23 {
  margin-top: 23px;
  margin-bottom: 23px;
  font-size: 15px;
  line-height: 172%;
}

.spanredbold {
  color: #e71a28;
  font-weight: 700;
}

.txboldred, .txred {
  color: #e62327;
}

.heading28 {
  margin-top: 26px;
  margin-bottom: 26px;
  font-size: 28px;
}

.tx17-160 {
  padding-top: 0;
  padding-bottom: 12px;
  font-size: 16px;
  line-height: 160%;
}

.tx17-160.margintop30 {
  margin-top: 30px;
}

.image-2 {
  margin-bottom: 24px;
}

.tx17-180 {
  font-size: 17px;
  line-height: 180%;
}

.img-mrgbt15 {
  margin-bottom: 15px;
}

.tx15-172-pdg0 {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 16px;
  line-height: 172%;
}

.spacerh86 {
  height: 86px;
}

.txwhite38 {
  color: #fff;
  font-size: 34px;
  font-weight: 700;
}

.txwhite38.pdg17 {
  padding-top: 17px;
  padding-bottom: 17px;
  font-size: 38px;
}

.div-block-41 {
  justify-content: flex-start;
  align-items: center;
  padding-top: 12px;
  padding-bottom: 12px;
  display: flex;
}

.txbold700 {
  font-weight: 700;
}

.txbold700.size13 {
  font-size: 13px;
}

.txbold700.pdg12 {
  padding-top: 12px;
  padding-bottom: 12px;
}

.txbold700.size16 {
  font-size: 16px;
}

.li-indent {
  padding-left: 15px;
}

.list, .list-copy {
  padding-top: 3px;
  padding-bottom: 3px;
}

.divw20 {
  width: 16%;
}

.tx13 {
  font-size: 13px;
}

.tx13.pdgt5 {
  padding-top: 5px;
  padding-bottom: 0;
}

.tx13.pdgt5.pdgb10 {
  padding-bottom: 10px;
}

.borderdotgray {
  border: 0 solid #000;
  border-top: 3px dotted #dcdcdc;
  height: 15px;
  margin-top: 10px;
}

.bordersolidgray {
  border: 0 solid #000;
  border-top: 2px solid #dcdcdc;
  height: 15px;
  margin-top: 10px;
  margin-left: -18px;
}

.div-block-42 {
  padding-right: 27px;
}

.txred12 {
  color: #e71a28;
  padding-right: 5px;
  font-size: 12px;
}

.txred12.size12 {
  font-size: 12px;
}

.txbold700s16 {
  font-size: 16px;
  font-weight: 700;
}

.txbold700s16.size15 {
  font-size: 16px;
}

.txw100 {
  width: 90px;
}

.txw200 {
  width: 224px;
}

.text-block {
  font-size: 13px;
}

.divfootertelfax {
  padding-top: 5px;
  display: flex;
}

.div-block-44 {
  padding-right: 10px;
}

.pdgr15 {
  padding-right: 15px;
}

.pdgr15.size13, .size13 {
  font-size: 13px;
}

.div-block-45 {
  text-align: right;
}

.text-span {
  color: #e71a29;
  font-weight: 500;
}

.text-block-3 {
  font-size: 16px;
  line-height: 190%;
}

.text-span-2, .text-span-3, .text-span-4 {
  color: #e71a29;
  font-weight: 700;
}

.link-block {
  display: block;
}

.divchallengeflex {
  grid-column-gap: 15px;
  grid-row-gap: 15px;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  display: flex;
}

.divchallengeflex-white {
  background-color: #fff;
  width: 25%;
}

.text-block-challengetitle {
  text-align: center;
  margin-bottom: 26px;
  font-size: 23px;
  font-weight: 700;
  line-height: 145%;
}

.divchallengeseparaterimage {
  background-image: url('../images/imgChallenge.png');
  background-position: 0 0;
  background-size: cover;
  width: 100%;
  height: 156px;
}

.challenge-2 {
  background-color: #e62327;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 100%;
  padding-top: 40px;
  padding-bottom: 49px;
  display: block;
}

.div-block-46 {
  text-align: center;
}

.wd100, .image-7 {
  width: 100%;
}

.divinitiatives {
  border: 1px solid #aaa;
  width: 50%;
  padding: 24px 30px;
}

.div-block-47 {
  text-align: center;
}

.image-8 {
  width: 100%;
}

.heading25red {
  color: #e62327;
  text-align: center;
  margin-top: 5px;
  font-size: 25px;
}

.divblock60-copy {
  width: 60%;
}

.divblock60-copy.margintop30 {
  margin-top: 30px;
}

.divblock60-copy.margintop30.bggray {
  background-color: #fbfbfb;
  width: 70%;
  padding: 19px 29px;
}

.divblock40-copy {
  width: 30%;
  margin-right: 28px;
}

.txno {
  color: #fff;
  text-align: center;
  background-color: #d9d9d9;
  border-radius: 50px;
  width: 45px;
  height: 45px;
  margin-right: 27px;
  padding: 12px 11px 7px;
  font-size: 24px;
  font-weight: 500;
  line-height: 1;
}

.div-block-48 {
  justify-content: flex-start;
  align-items: center;
  margin-top: 9px;
  display: flex;
}

.div-block-49 {
  grid-column-gap: 19px;
  grid-row-gap: 19px;
  grid-template-rows: 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  align-items: center;
  margin-top: 24px;
  margin-bottom: 24px;
  display: grid;
}

.div-block-50 {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.div-block-51 {
  justify-content: flex-start;
  align-items: center;
  padding-top: 12px;
  padding-bottom: 12px;
  display: flex;
}

.image-9 {
  margin-top: 13px;
}

.div-block-52 {
  justify-content: center;
  align-items: center;
  height: 100%;
  display: flex;
}

.div-block-53 {
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.div-block-54 {
  padding-right: 10px;
}

.bt-white-2 {
  background-color: #fff;
  border-radius: 80px;
  justify-content: center;
  align-items: center;
  padding: 12px 29px;
  display: flex;
}

.div-block-56 {
  border-left: 2px solid #dcdcdc;
  flex-flow: column;
  width: 26%;
  padding-bottom: 22px;
  padding-left: 17px;
  display: flex;
}

.div-block-57 {
  padding-right: 27px;
}

.div-block-58 {
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.div-block-59 {
  width: 20px;
}

.section-gray3 {
  background-color: #fbfbfb;
  padding-top: 42px;
  padding-bottom: 42px;
}

.txbold500-copy {
  font-size: 22px;
  font-weight: 700;
}

.txbold500-copy.size15 {
  font-size: 16px;
}

.link-block-2 {
  width: min(80%, 1024px);
}

.link-block-3, .link-block-4 {
  width: 100%;
}

.slide-3 {
  background-image: url('../images/slider3.jpg');
  background-position: 50% 24%;
  background-size: cover;
}

.spacerh60 {
  height: 60px;
}

.txchallenge {
  color: #616161;
  text-align: center;
  font-size: 15px;
  font-weight: 800;
}

.divchallengebox2 {
  padding: 20px 18px;
}

.txchallengered {
  color: #e71a28;
  text-align: center;
  font-size: 15px;
  font-weight: 800;
}

.txchallengebold {
  text-align: center;
  font-size: 20px;
  font-weight: 800;
  line-height: 145%;
}

.divchallengebox3 {
  height: 7em;
  margin-bottom: 12px;
}

.divchallengebox4 {
  text-align: center;
  padding-left: 18px;
  padding-right: 18px;
}

.divchallengebox5 {
  padding: 42px 18px;
}

.div-block-45-copy {
  text-align: right;
  margin-top: 18px;
}

.divinitiative {
  margin-top: 7px;
  margin-bottom: 7px;
  font-size: 16px;
}

.heading25-copy {
  margin-block: 5px 16px;
  font-size: 22px;
}

.div-block-60 {
  justify-content: center;
  align-items: center;
  display: flex;
}

.div-block-61 {
  align-self: center;
}

.tx20-220-copy {
  font-size: 20px;
  line-height: 220%;
}

.tx20-220-copy.margintop30 {
  margin-top: 30px;
}

.tx20-220-copy.wd100 {
  width: 100%;
}

.tx20-220-copy.marginflow {
  margin-top: 12px;
  margin-bottom: 28px;
}

.divcta2 {
  text-align: center;
}

.divcta {
  text-align: right;
  margin-top: 18px;
}

@media screen and (min-width: 1280px) {
  .divcta2 {
    text-align: center;
  }
}

@media screen and (min-width: 1440px) {
  /*.container {
    max-width: 1200px;
  }*/

  .divhero {
    padding-left: 187px;
    padding-right: 187px;
  }

  .service {
    justify-content: space-between;
    align-items: flex-start;
    max-width: 100%;
    display: flex;
  }

  .challenge {
    justify-content: space-between;
    align-items: center;
    max-width: 100%;
    display: block;
  }

  .divblock40 {
    width: 40%;
  }

  .divblock60 {
    width: 60%;
  }

  .div-block-40 {
    width: 30%;
  }

  .div-block-4 {
    width: 70%;
  }

  .service2 {
    max-width: 100%;
  }

  .container-all {
    max-width: 1200px;
  }

  .div-step {
    padding-left: 50px;
    padding-right: 50px;
  }

  .div-verticalline.heightadjust {
    top: 115px;
  }

  .div-verticalline.heightadjust2 {
    top: -109px;
  }

  .divchallengebox {
    width: 100%;
  }

  .divchallengeseparaterimage {
    height: 204px;
  }

  .challenge-2 {
    justify-content: space-between;
    align-items: center;
    max-width: 100%;
    display: flex;
  }

  .divblock60-copy {
    width: 60%;
  }

  .divblock40-copy {
    width: 40%;
  }
}

@media screen and (max-width: 991px) {
  /*.container {
    padding-left: 16px;
    padding-right: 16px;
  }*/

  .divhero {
    height: 82%;
    padding-left: 50px;
    padding-right: 50px;
  }

  .tx-header {
    font-size: 27px;
  }

  .tx-headersub {
    font-size: 15px;
  }

  .slider {
    height: 13.9rem;
  }

  .service2 {
    margin-left: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .container-all {
    max-width: 96%;
  }

  .section-service {
    background-color: var(--keycolor);
    margin-left: 0;
  }

  .div-block-8 {
    grid-column-gap: 19px;
    grid-row-gap: 19px;
  }

  .div-block-12 {
    width: 100%;
    padding-left: 8px;
    padding-right: 8px;
  }

  .heading {
    font-size: 25px;
  }

  .div-block-14 {
    grid-column-gap: 25px;
    grid-row-gap: 25px;
    flex-flow: column;
    margin-left: 0;
    margin-right: 13px;
    padding-left: 25px;
    padding-right: 25px;
  }

  .div-ikusei {
    width: 100%;
  }

  .tx-area {
    font-size: 15px;
  }

  .section-gray2 {
    margin-left: 0;
  }

  .div-jisseki {
    width: 100%;
  }

  .spacerh43 {
    height: 19px;
  }

  .div-step {
    margin-left: 20px;
    margin-right: 20px;
  }

  .div-verticalline.heightadjust {
    top: 77px;
  }

  .div-verticalline.heightadjust2 {
    top: -73px;
  }

  .div-block-21 {
    margin-left: 16px;
    margin-right: 16px;
  }

  .heading25 {
    font-size: 22px;
  }

  .spacerh70 {
    height: 28px;
  }

  .heading22-175.margintop30 {
    font-size: 18px;
  }

  .tx17-220 {
    font-size: 15px;
  }

  .tx17-220.marginflow {
    font-size: 14px;
  }

  .txredbold {
    -webkit-text-stroke-color: var(--keycolor);
  }

  .txblackbold24 {
    font-size: 21px;
    line-height: 132%;
  }

  .txbold700.size13 {
    font-size: 13px;
  }

  .txbold700.size16 {
    font-size: 14px;
  }

  .divw20 {
    padding-right: 16px;
    font-size: 13px;
  }

  .tx13.pdgt5 {
    font-size: 12px;
  }

  .txbold700s16 {
    padding-bottom: 4px;
  }

  .text-block-2 {
    font-size: 13px;
  }

  .text-span {
    -webkit-text-stroke-color: var(--keycolor);
  }

  .text-block-3 {
    font-size: 15px;
  }

  .divchallengeseparaterimage {
    background-repeat: no-repeat;
    background-size: 100%;
    width: 100%;
    height: 95px;
  }

  .heading25red {
    font-size: 21px;
  }

  .div-block-49 {
    grid-template-columns: 1fr;
  }

  .section-gray3 {
    margin-left: 0;
  }

  .spacerh60 {
    height: 19px;
  }

  .txchallengebold {
    font-size: 18px;
  }

  .tx20-220-copy {
    font-size: 17px;
  }

  .divcta2 {
    text-align: center;
  }

  .text-block-4 {
    font-size: 14px;
    line-height: 160%;
  }
}

@media screen and (max-width: 767px) {
  /*.container {
    width: 100%;
  }*/

  .divhero {
    padding-left: 18px;
    padding-right: 18px;
  }

  .tx-header {
    font-size: 25px;
  }

  .tx-headersub {
    font-size: 14px;
  }

  .service {
    flex-flow: column;
  }

  .slider {
    height: 12.7rem;
  }

  .challenge {
    flex-flow: column;
  }

  .divblock40 {
    width: 100%;
  }

  .divblock60 {
    width: 100%;
    padding-left: 25px;
    padding-right: 25px;
  }

  .container-all {
    max-width: 96%;
  }

  .div-block-5 {
    grid-column-gap: 13px;
    grid-row-gap: 13px;
    grid-template-columns: 1fr 1fr;
  }

  .div-block-8 {
    grid-template-columns: 1fr;
  }

  .divmargin30 {
    flex-flow: column;
  }

  .table-td {
    padding-left: 8px;
    padding-right: 8px;
    font-size: 15px;
  }

  .div-block-13 {
    width: 356%;
  }

  .heading {
    font-size: 18px;
  }

  .div-ikusei {
    width: 100%;
  }

  .div-area-highlight {
    margin-top: 12px;
  }

  .div-step {
    padding-left: 11px;
  }

  .tx-nagare-header {
    font-size: 18px;
  }

  .div-verticalline.heightadjust {
    top: 66px;
  }

  .div-verticalline.heightadjust2 {
    top: -72px;
  }

  .div-footer-upperdeck {
    flex-flow: wrap;
  }

  .div-block-26 {
    border-left-width: 0;
    width: 100%;
    padding-top: 25px;
  }

  .div-block-30 {
    grid-template-columns: 1fr;
  }

  .txblack16-180-center {
    font-size: 15px;
  }

  .tx15-172-pdg0 {
    font-size: 14px;
    line-height: 132%;
  }

  .spacerh86 {
    height: 45px;
  }

  .divw20 {
    width: 20%;
  }

  .image-3 {
    padding-left: 36px;
    padding-right: 36px;
  }

  .image-4 {
    padding-left: 19px;
    padding-right: 19px;
  }

  .divchallengeflex {
    flex-flow: wrap;
    margin-left: 18px;
    margin-right: 18px;
  }

  .divchallengeflex-white {
    width: 48%;
  }

  .text-block-challengetitle {
    font-size: 18px;
  }

  .divchallengeseparaterimage {
    height: 69px;
  }

  .challenge-2 {
    flex-flow: column;
  }

  .heading25red {
    font-size: 17px;
  }

  .divblock60-copy {
    width: 100%;
    padding-left: 25px;
    padding-right: 25px;
  }

  .divblock60-copy.margintop30.bggray {
    width: 100%;
    margin-top: 9px;
  }

  .divblock40-copy {
    width: 100%;
  }

  .div-block-49 {
    grid-template-columns: 1fr;
  }

  .div-block-56 {
    border-left-width: 0;
    width: 100%;
    padding-top: 25px;
  }

  .divcta {
    text-align: center;
  }
}

@media screen and (max-width: 479px) {
  /*.container {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }*/

  .nav-link.btred {
    padding-left: 17px;
    padding-right: 17px;
  }

  .divhero {
    height: 71%;
    padding-left: 8px;
    padding-right: 8px;
  }

  .tx-header {
    background-color: #0009;
    width: 100%;
    padding: 10px 10px 0;
    font-size: 14px;
  }

  .tx-headersub {
    background-color: #0009;
    width: 100%;
    padding: 5px 10px 10px;
    font-size: 11px;
  }

  .slider {
    height: 8.9rem;
  }

  .divblock60 {
    padding-left: 4px;
    padding-right: 4px;
  }

  .divblock60.margintop30 {
    margin-top: 2px;
  }

  .div-block-5 {
    grid-template-columns: 1fr;
  }

  .servicecontent.par2, .servicecontent.par4 {
    padding-top: 16px;
    padding-bottom: 16px;
  }

  .div-block-8 {
    flex-flow: column;
    padding-left: 2px;
    padding-right: 2px;
  }

  .divmargin30 {
    flex-flow: column;
    margin-top: 32px;
  }

  .table-td {
    padding-top: 13px;
    padding-bottom: 13px;
    font-size: 14px;
  }

  .div-block-12 {
    flex-flow: column;
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .div-block-13 {
    width: 100%;
  }

  .heading {
    font-size: 19px;
    line-height: 28px;
  }

  .div-block-14 {
    margin-left: 0;
    margin-right: 0;
    padding-left: 5px;
    padding-right: 5px;
  }

  .div-ikusei {
    margin-left: 0;
    margin-right: 0;
    padding-left: 20px;
    padding-right: 20px;
  }

  .heading--ikusei {
    line-height: 29px;
  }

  .div-area {
    padding-left: 11px;
    padding-right: 11px;
  }

  .div-jisseki {
    margin-left: 0;
    margin-right: 0;
  }

  .div-step {
    margin-left: 8px;
    margin-right: 8px;
  }

  .grid-2 {
    flex-flow: column;
    grid-template-columns: 80px;
    grid-auto-flow: row;
    display: flex;
  }

  .div-block-18 {
    margin-top: 25px;
  }

  .tx-nagare-header {
    align-self: center;
  }

  .div-verticalline, .div-verticalline.heightadjust2 {
    display: none;
  }

  .div-block-21 {
    flex-flow: column;
  }

  .divfootercontain {
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start;
  }

  .divfooterpolicy {
    flex-flow: column;
    align-items: flex-start;
  }

  .div-block-26 {
    margin-top: 35px;
    padding-right: 8px;
  }

  .div-footer-address {
    flex-flow: column;
  }

  .heading25 {
    font-size: 18px;
  }

  .spacerh70 {
    height: 22px;
  }

  .heading22-175.margintop30 {
    font-size: 16px;
  }

  .tx17-220 {
    font-size: 13px;
    line-height: 174%;
  }

  .tx17-220.margintop30 {
    margin-top: 0;
  }

  .txblackbold24 {
    padding-top: 18px;
    padding-bottom: 18px;
    font-size: 20px;
  }

  .tx17-180 {
    font-size: 15px;
    line-height: 175%;
  }

  .tx15-172-pdg0 {
    align-self: center;
  }

  .divw20 {
    width: 50%;
  }

  .divw20.mar50, .divw20.mrg50 {
    margin-left: 50%;
  }

  .divfootertelfax {
    flex-flow: column;
  }

  .image-3 {
    padding-left: 0;
    padding-right: 0;
  }

  .div-block-45 {
    margin-top: 18px;
  }

  .image-4 {
    padding-left: 0;
    padding-right: 0;
  }

  .divchallengeflex-white {
    width: 90%;
  }

  .divchallengeseparaterimage {
    height: 39px;
  }

  .image-6 {
    width: 208px;
  }

  .divinitiatives {
    width: 100%;
    padding-left: 7px;
    padding-right: 7px;
  }

  .heading25red {
    padding-left: 18px;
    padding-right: 18px;
    font-size: 16px;
    line-height: 25px;
  }

  .divblock60-copy {
    padding-left: 4px;
    padding-right: 4px;
  }

  .divblock60-copy.margintop30 {
    margin-top: 2px;
  }

  .divblock60-copy.margintop30.bggray {
    padding-left: 6px;
    padding-right: 6px;
  }

  .txno {
    margin-right: 0;
  }

  .div-block-48 {
    flex-flow: column;
  }

  .div-block-52 {
    margin-top: 25px;
  }

  .div-block-55 {
    margin-top: 18px;
  }

  .div-block-56 {
    margin-top: 35px;
    padding-right: 8px;
  }

  .div-block-45-copy {
    margin-top: 18px;
  }

  .heading25-copy {
    font-size: 18px;
  }

  .tx20-220-copy {
    text-align: center;
    font-size: 15px;
    line-height: 174%;
  }

  .tx20-220-copy.margintop30, .divcta2 {
    margin-top: 0;
  }

  .text-block-4 {
    font-size: 13px;
  }

  .divcta {
    margin-top: 18px;
  }
}


