@charset "UTF-8";

/* MV
-------------------------------------------------------------*/
/* .shadow #mv-area .maincatch02 .subcatch ,.main-img{
	filter: drop-shadow(0 2px 30px rgba(0, 0, 0, 0.70));
} */
.mv-inner {
  filter: drop-shadow(0 2px 30px rgba(0, 0, 0, 0.7));
}

#contents #mv-area {
  background: url("../images/top/mv_bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 100px 0 60px;
  display: flex;
  align-items: center;
  height: 800px;
}

#mv-area .maincatch {
  text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
  line-height: 1.5;
  font-size: 2.8rem;
}

#mv-area .maincatch02 {
  text-align: center;
  font-family: "Source Code Pro", monospace;
  font-size: 5rem;
  font-weight: 700;
  line-height: 70px;
  letter-spacing: 2.5px;
}

#mv-area .main-img {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 3.2rem;
}

#mv-area .main-img-left {
  max-width: 671px;
  width: 56%;
  padding-left: 40px;
}

#mv-area .main-img-right {
  max-width: 340px;
  width: 50%;
  text-align: left;
  margin: auto;
}

.mv-btn {
  max-width: 340px;
  background: #fff;
}

.subcatch {
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  line-height: 31px;
  letter-spacing: 1.8px;
}

.sec-subttl .ririsu {
  display: table;
  position: relative;
  margin: 2rem auto 0;
  text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}

.ririsu::before,
.ririsu::after {
  content: "";
  display: block;
  position: absolute;
  left: -10.5rem;
  top: 50%;
  width: 9.5rem;
  height: 0.1rem;
  background: #fff;
  font-size: 1.6rem;
}

.ririsu::after {
  right: -10.5rem;
  left: auto;
}

@media screen and (max-width: 1024px) {
  #mv-area .maincatch {
    font-size: 3.8rem;
  }
}

@media screen and (max-width: 767px) {
  #contents #mv-area {
    background: url("../images/top/mv_bg-sp.jpg");
    /* background: url("../images/top/bg.png"), url("../images/top/mv_bg-sp.jpg"); */
    background-size: cover;
    background-position: center;
    height: 566px;
    padding: 3rem 0 3rem;
    box-shadow: 0px 2px 30px 0px rgba(0, 0, 0, 0.7);
  }

  #mv-area .maincatch {
    font-size: 2.2rem;
  }

  #mv-area .maincatch02 {
    font-size: 2.4rem;
    letter-spacing: 1.2px;
    line-height: 34px;
  }

  .ririsu::before,
  .ririsu::after {
    left: -4.5rem;
    width: 3.5rem;
  }

  .ririsu::after {
    right: -4.5rem;
    left: auto;
  }

  .mv-btn {
    max-width: 300px;
    width: 100%;
  }

  #mv-area .main-img {
    padding: 0 1.5% 10%;
    margin-top: 20px;
  }

  #mv-area .main-img-left {
    max-width: 100%;
    width: 100%;
    padding-right: 0;
    padding-left: 0;
  }

  #mv-area .main-img-right {
    max-width: 100%;
    width: 100%;
    padding: 0 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  #mv-area .main-img-right div a {
    font-size: 1.6rem;
  }

  .subcatch {
    text-align: center;

    font-size: 1.4rem;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: 1.4px;
  }
}

/* collaboration */
.collaboration {
  background: #fff;
}
.collaboration__img {
  display: block;
  margin: -60px auto -40px;
  @media (max-width: 767px) {
    margin: -20px auto -10px;
    padding: 0 30px;
  }
}
.collaboration__lead-text {
  text-align: center;
  line-height: 2;
  font-weight: 500;
  font-size: 14px;
}
.collaboration__text {
  text-align: center;
  line-height: 2;
  font-weight: 400;
  font-size: 16px;
  @media (max-width: 767px) {
    font-size: 14px;
  }
}

/*about-area*/
#strong {
}

.about-strong-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #002c56;
}

.no01.about-strong-box {
  background: url("../images/top/no01.svg") no-repeat right center #002c56;
}

.no02.about-strong-box {
  background: url("../images/top/no02.svg") no-repeat left center #26537d;
}

.no03.about-strong-box {
  background: url("../images/top/no03.svg") no-repeat right center #4173b0;
}

.ap-txt {
  width: 50%;
  padding: 0 50px;
  color: #fff;
  font-weight: 500;
}

.ap-txt > div {
  display: table;
  margin-left: auto;
}

.ap-txt h3 {
  font-size: 3.6rem;
  margin-bottom: 2rem;
  line-height: 1.5;
  font-weight: bold;
  letter-spacing: 1pt;
}

.ap-txt p {
  text-indent: -1.6rem;
  margin-left: 1.6rem;
  font-size: 1.6rem;
}

.ap-img {
  width: 50%;
}

@media screen and (max-width: 900px) {
  .ap-txt h3 {
    font-size: 2.6rem;
  }

  .ap-txt p {
    text-indent: -1.3rem;
    margin-left: 1.3rem;
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 767px) {
  .about-strong-box {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0;
  }

  .ap-txt {
    width: 100%;
    margin-bottom: 2rem;
    order: 2;
    padding: 2rem 2rem 1rem 2rem;
  }

  .ap-txt h3 {
    font-size: 2.6rem;
    margin-bottom: 1rem;
  }

  .ap-img {
    width: 100%;
  }

  .ap-txt p {
    text-indent: -1.3rem;
    margin-left: 1.3rem;
    font-size: 1.3rem;
  }

  .ap-txt > div {
    margin-left: 0;
  }

  .no01 .ap-txt {
    background: url(../images/top/no01.svg) no-repeat right center #002c56;
    background-size: 26%;
  }

  .no02 .ap-txt {
    background: url("../images/top/no02-sp.svg") no-repeat right center #26537d;
    background-size: 26%;
  }

  .no03 .ap-txt {
    background: url("../images/top/no03.svg") no-repeat right center #4173b0;
    background-size: 26%;
  }
}

/* ISSUE
-------------------------------------------------------------*/
#issue {
}

.issue-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8rem 2rem;
}

.issue-list li {
  border: 0.1rem solid #fff;
  position: relative;
  padding: 6rem 4rem 4rem 4rem;
  text-align: center;
  color: #fff;
  background: #00274d;
  width: 48%;
}

.issue-list .gjyu {
  position: absolute;
  top: -4.1rem;
  left: 0;
  right: 0;
  margin: auto;
}

.issue-list h3 {
  font-weight: bold;
  font-size: 2.4rem;
  border-bottom: 0.1rem solid #dfff;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  position: relative;
}

.issue-list p {
  font-weight: 400;
  font-size: 1.8rem;
}

@media screen and (max-width: 767px) {
  .issue-list {
    gap: 5rem 3rem;
    margin-top: 7rem;
  }

  .issue-list li {
    padding: 4rem 1rem 2rem 1rem;
    width: 100%;
  }

  .issue-list h3 {
    font-size: 1.8rem;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
  }

  .issue-list p {
    font-size: 1.3rem;
  }

  .issue-list .gjyu {
    width: 8rem;
    top: -3.3rem;
  }
}

/* FEATURES
-------------------------------------------------------------*/
#features {
  background: url("../images/top/features.jpg") center top no-repeat;
  background-size: cover;
}

.features-list01 {
  display: flex;
  justify-content: space-between;
  gap: 3rem 2%;
  flex-wrap: wrap;
}

.features-list01 li {
  width: 48.5%;
  background: #fff;
  padding: 4rem 2rem;
  font-weight: bold;
  font-size: 2.2rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

.features-list02 {
  display: flex;
  justify-content: space-between;
  gap: 0;
}

.features-list02 li {
  width: 25%;
  padding: 4rem 1.5rem;
  font-weight: bold;
  text-align: center;
  border-right: 2px dotted #4173b0;
  font-weight: 500;
}

.features-list02 li:last-child {
  border: none;
}

.features-list02 li h3 {
  font-size: 2.8rem;
  color: #002c56;
  font-weight: bold;
  margin: 2rem 0;
}

.features-list02 li .features-icon {
  display: flex;
  justify-content: center;
  align-items: center;
}

.features-list02 li .features-icon img {
  max-width: 10rem;
}

.features-list02 li:nth-child(2) .features-icon img {
  max-width: 11.1rem;
}

.features-list02 li:nth-child(3) .features-icon img {
  max-width: 11rem;
}

.features-list02 li:nth-child(4) .features-icon img {
  max-width: 6.1rem;
}

@media screen and (max-width: 767px) {
  #features {
    background: url("../images/top/features-sp.jpg") center top no-repeat;
    background-size: cover;
  }

  .features-list01 li {
    width: 100%;
    padding: 2rem 1rem;
    font-size: 1.6rem;
  }

  .features-list01 {
    gap: 1.5rem 2%;
  }

  .features-list02 {
    flex-wrap: wrap;
  }

  .features-list02 li {
    width: 50%;
    padding: 2rem 1.5rem;
    font-weight: bold;
    text-align: center;
    border-right: 2px dotted #4173b0;
    font-weight: 500;
  }

  .features-list02 li .features-icon img {
    max-width: 6rem;
  }

  .features-list02 li:nth-child(2) .features-icon img {
    max-width: 6.5rem;
  }

  .features-list02 li:nth-child(3) .features-icon img {
    max-width: 6.4rem;
  }

  .features-list02 li:nth-child(4) .features-icon img {
    max-width: 4rem;
  }

  .features-list02 li:nth-child(2) {
    border: none;
  }

  .features-list02 li:nth-child(1),
  .features-list02 li:nth-child(2) {
    border-bottom: 2px dotted #4173b0;
  }

  .features-list02 li h3 {
    font-size: 2rem;
    margin: 1.5rem 0;
  }

  .features-list02 li p {
    font-size: 1.3rem;
  }
}

/* MERIT
-------------------------------------------------------------*/
#merit {
  background: #f0f0f0;
}

.merit-list01 {
  display: flex;
  justify-content: space-between;
  gap: 4rem 2%;
  flex-wrap: wrap;
}

.merit-list01 li {
  position: relative;
  background: #fff;
  padding: 3rem;
  text-align: center;
  width: 49%;
}

.merit-list01 li p {
  font-weight: 400;
}

.merit-list01 li .mno {
  position: absolute;
  top: -1.5rem;
  left: 1rem;
}

.merit-list01 li h3 {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 1.5rem;
  padding: 0 5.2rem;
}

.merit-list02 {
  display: flex;
  gap: 1rem;
}

.merit-list02 li {
  box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.15);
  background: #fff;
  padding: 1rem;
  text-align: center;
}

.merit-list02 li .plan-img:last-child {
  margin-top: 1rem;
}

.merit-list02 li h3 {
  font-size: 2rem;
  color: #002c56;
  padding-bottom: 1rem;
}

@media screen and (max-width: 767px) {
  .merit-list01 li {
    padding: 2rem;
    width: 100%;
  }

  .merit-list01 li h3 {
    font-size: 1.8rem;
    padding: 0 5.2rem;
  }

  .merit-list01 li p {
    font-size: 1.3rem;
  }

  .merit-list01 li .mno {
    width: 5.3rem;
  }

  .merit-list01 {
    gap: 3rem 2%;
  }

  .merit-list02 {
    gap: 0.8rem;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .merit-list02 li {
    width: 48.8%;
  }
}

/* STEP
-------------------------------------------------------------*/

.step-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
}

.step-list li {
  border-radius: 1rem 1rem 0 0;
  text-align: center;
  width: 100%;
}

.step-list li img {
  /*filter: drop-shadow(0px 0px 6px rgba(0, 0, 0, 0.5));*/
}

.step-list li h3 {
  background: #002c56;
  color: #fff;
  font-size: 2.8rem;
  font-weight: bold;
  padding: 1.5rem;
  border-radius: 1rem 1rem 0 0;
  position: relative;
}

.step-list li p {
  background: #f0f0f0;
  font-size: 2rem;
  font-weight: 500;
  padding: 2.5rem 5rem;
}

.sno {
  position: absolute;
  left: 8rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  /* Safari用 */
  transform: translateY(-50%);
}

.sno::before {
  content: "";
  position: absolute;
  background: url("../images/top/sarrow.svg") center top no-repeat;
  width: 8.5rem;
  height: 20rem;
  z-index: -1;
  left: 0;
  right: 0;
  top: 0.2rem;
  margin: auto;
}

.step-list li:last-child .sno::before {
  background: url("../images/top/sarrow.svg") center bottom no-repeat;
  height: 19rem;
}

@media screen and (max-width: 940px) {
  .sno {
    left: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .sno {
    left: -1rem;
  }

  .step-list li img {
    width: 7rem;
  }

  .step-list li h3 {
    font-size: 1.6rem;
    padding-left: 4rem;
  }

  .step-list li p {
    background: #f0f0f0;
    font-size: 1.3rem;
    padding: 1.5rem 5rem 2rem;
  }

  .sno::before {
    content: "";
    position: absolute;
    background: url(../images/top/sarrow.svg) center top no-repeat;
    background-size: 5.5rem;
    width: auto;
    height: 20rem;
    z-index: -1;
    left: 0;
    right: 0;
    top: 0.2rem;
    margin: auto;
  }

  .step-list li:last-child .sno::before {
    background: url(../images/top/sarrow.svg) center bottom no-repeat;
    height: 14.5rem;
    background-size: 5.5rem;
  }
}

/* WORKS
-------------------------------------------------------------*/
.works-list {
  max-width: 1040px;
  margin: auto;
}

.works-list li {
  display: flex;
  align-items: center;
  margin-bottom: 5rem;
}

.works-list li:last-child {
  margin-bottom: 0rem;
}

.works-list .works-img {
  width: 44%;
  max-width: 457px;
}

.works-list .works-txt {
  width: 56%;
  max-width: 583px;
}

.works-list .works-txt .works-case {
  font-size: 2.8rem;
  font-weight: bold;
  border-bottom: 2px solid #f79421;
  color: #f79421;
  padding: 0 0 2rem 5rem;
}

.works-list .works-txt .works-case.case02 {
  border-bottom: 2px solid #14b76b;
  color: #14b76b;
}

.works-list .works-txt .works-case.case03 {
  border-bottom: 2px solid #5d9cea;
  color: #5d9cea;
}

.works-list .works-txt .works-case-txt {
  padding: 2rem 0 0 5rem;
}

.works-list .works-txt .works-case-txt h3 {
  font-size: 3.4rem;
  font-weight: bold;
  margin-bottom: 2rem;
}

.works-list .works-txt .works-case-txt p {
}

@media screen and (max-width: 767px) {
  .works-list li {
    margin-bottom: 3rem;
    flex-wrap: wrap;
  }

  .works-list .works-img {
    width: 100%;
    max-width: 100%;
  }

  .works-list .works-txt {
    width: 100%;
    max-width: 100%;
  }

  .works-list .works-txt .works-case {
    font-size: 2.4rem;
    padding: 1rem 0 1rem 0rem;
    text-align: center;
  }

  .works-list .works-txt .works-case-txt {
    padding: 1rem 0 0 0rem;
  }

  .works-list .works-txt .works-case-txt h3 {
    font-size: 2rem;
    margin-bottom: 1rem;
  }

  .works-list .works-txt .works-case-txt p {
    font-size: 1.3rem;
  }
}

/* problem
-------------------------------------------------------------*/
#problem {
  overflow: hidden;
}

.problem-box {
  display: flex;
  justify-content: space-between;
  margin-bottom: 5rem;
}

.problem-box.rev {
  flex-direction: row-reverse;
}

.problem-img {
  width: 30%;
  z-index: 2;
  position: relative;
}

.problem-txt {
  width: 70%;
  padding: 0;
  font-weight: 500;
}

.problem-txt h3 {
  font-size: 5rem;
  color: #002c56;
  font-weight: bold;
  padding: 5rem;
  padding-bottom: 2rem;
}

.rev .problem-txt h3 {
  text-align: right;
}

.problem-txt p {
  font-size: 2rem;
  background: #f0f0f0;
  position: relative;
  padding: 5rem 5rem 10rem 5rem;
  line-height: 1.8;
}

.problem-txt p::after {
  content: "";
  position: absolute;
  display: block;
  width: 200%;
  height: 100%;
  right: -200%;
  top: 0;
  border: 0;
  background: #f0f0f0;
}

.rev .problem-txt p::after {
  right: auto;
  left: -200%;
  top: 0;
}

.problem-box02 {
  padding: 0 0 5rem;
  position: relative;
}

.problem-box02::before {
  content: "";
  position: absolute;
  display: block;
  bottom: 0;
  width: 100%;
  height: 35%;
  background: #f0f0f0;
}

.problem-box02 h3 {
  font-size: 5rem;
  font-weight: bold;
  text-align: center;
  color: #002c56;
  margin-bottom: 3rem;
}

.problem-box02 sup {
  font-size: 50%;
  vertical-align: super;
}

.problem-box02 a {
  color: #002c56;
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  .problem-box02 h3 {
    font-size: 2.6rem;
  }

  .problem-box02::before {
    height: 54%;
  }

  .problem-box02.mijikai::before {
    height: 36%;
  }

  .problem-box02 {
    padding: 0 0 3rem;
  }

  .problem-box {
    flex-wrap: wrap;
    padding-bottom: 3rem;
  }

  .problem-txt {
    width: 100%;
  }

  .problem-txt h3 {
    font-size: 2.6rem;
    padding: 0rem;
    padding-bottom: 2rem;
    text-align: center;
  }

  .problem-txt p {
    font-size: 1.3rem;
    background: none;
    padding: 0 0 1.5rem 0;
  }

  .problem-txt p::after {
    display: none;
  }

  .problem-img {
    width: 100%;
  }

  .problem-box::before {
    content: "";
    position: absolute;
    display: block;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 52%;
    background: #f0f0f0;
  }
}

/* AVANTIA
-------------------------------------------------------------*/
#avantia .inner {
  max-width: 1360px;
}

.avantia-box {
  display: flex;
  gap: 3rem;
}

.avantia-box-txt {
  width: 50%;
}

.avantia-box-img {
  width: 50%;
}

.avantia-box-txt-box {
  display: flex;
  gap: 4rem;
}

.avantia-box-txt-box-item {
  max-width: 30rem;
  width: 100%;
  margin-bottom: 2rem;
}

.avantia-box-txt-box-item.flx {
  display: flex;
  gap: 1.5rem;
}

.avantia-box-txt-box-item.flx p {
  width: 90%;
}

.avantia-g img {
  max-width: 14.8rem;
  margin-bottom: 1rem;
}

.jpx {
  max-width: 9rem;
}

.avantia-logo {
  max-width: 390px;
  width: 100%;
  margin-right: 10px;
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .avantia-box {
    flex-wrap: wrap;
  }

  .avantia-box-txt {
    width: 100%;
  }

  .avantia-box-txt-box {
    flex-wrap: wrap;
    gap: 1rem;
  }

  .avantia-box-txt-box-item {
    max-width: 100%;
  }

  .avantia-box-img {
    width: 100%;
  }

  .avantia-logo {
    max-width: 224px;
    width: 70%;
    margin-top: 10px;
    vertical-align: middle;
  }
}

.l-section {
  padding-block: 0 80px;
}

@media (max-width: 767px) {
  .l-section {
    padding-block: 0 30px;
  }
}

/* service */
.service-wrap {
  background: #e9f3f9;
}

.service-img {
  max-width: 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
  margin-block: 50px 20px;
}

.service-img .underline {
  max-width: 300px;
  width: 100%;
  height: 2px;
  background: #0a548e;
}

.service-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-bottom: 75px;
}

.service-col {
  width: calc(100% / 3 - 13px);
  background-color: #fff;
}

.service-col:nth-child(2) .service-col__textwrap {
  background-color: #26537d;
}

.service-col:nth-child(3) .service-col__textwrap {
  background-color: #4173b0;
}

.service-col__text {
  text-align: center;
  color: #fff;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 22px;
	width: 90%;
}

.service-col__bg {
  display: inline-block;
  color: #002c56;
  text-align: center;
  font-size: 1.6rem;
	font-size: 2rem;
  font-weight: 700;
  line-height: 28px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  background: #fff;
  margin-right: 15px;
  padding-inline: 10px;
	width: 100%;
}

.service-content {
  background-color: #fff;
  padding: 20px;
}

.service-content.padd {
  background-color: #fff;
  padding: 26.5px;
}

.service-content__img {
  max-width: 330px;
  width: 100%;
  margin-inline: auto;
}

.service-content__img.width {
  max-width: 270px;
  width: 100%;
  margin-inline: auto;
}

.service-col__textwrap {
  background-color: #002c56;
  min-height: 75px;
	min-height: 100px;;
  display: flex;
  justify-content: center;
  align-items: center;
}

.service-col__textwrap.flex-col {
  flex-direction: column;
}

.service-col__smtext {
  color: #fff;
  text-align: center;
  font-size: 1.4rem;
	font-size: 1.6rem;
  font-weight: 700;
  line-height: 10px;
  padding-bottom: 15px;
	padding-top: 15px;
}

.service-content__text {
  color: #222;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 23px;
  padding-top: 18px;
}

.service-box {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 30px;
  max-width: 1150px;
  width: 100%;
  margin-inline: auto;
}

.service-box__left,
.service-box__right {
  background-color: #fff;
  padding: 44px 35px 35px;
  position: relative;
  border-radius: 20px;
  width: 50%;
}

.service-box__heading {
  color: #f79421;
  text-align: center;
  font-size: 2.6rem;
	font-size: 3.2rem;
  font-weight: 700;
  line-height: 19px;
  display: inline-block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -34px;
  padding: 15px 45px;
  border-radius: 60px;
  background: #fff;
	width: 100%;
	    width: 70%;
	max-width: 448px;
}

.service-box__flex {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.service-box__text {
  color: #fff;
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 33px;
  padding-block: 31px;
  border-radius: 10px;
  background: #f79421;
  width: calc(100% / 2 - 5px);
}

.service-box__right .service-box__heading {
  color: #4173b0;
  max-width: 386px;
	max-width: 460px;
  width: 100%;
}

.service-box__right .service-box__text {
  padding-block: 13.5px;
  border-radius: 10px;
  background: #4173b0;
}

@media (max-width: 1199px) {
  .sec-des .org {
    font-size: 2.4rem;
  }

  .sec-des {
    font-size: 2.4rem;
  }

  .service-col__text {
    font-size: 1.4rem;
  }

  .service-col__bg {
    margin-right: 5px;
    font-size: 1.4rem;
  }

  .service-row {
    align-items: stretch;
  }
}

@media (max-width: 991px) {
  .sec-des .org {
    font-size: 1.8rem;
  }

  .sec-des {
    font-size: 1.8rem;
  }

  .service-row {
    gap: 5px;
  }

  .service-col {
    width: calc(100% / 3 - 3px);
  }

  .service-col__bg {
    font-size: 1.2rem;
  }

  .service-col__text {
    font-size: 1.2rem;
  }

  .service-col__smtext {
    font-size: 1.2rem;
  }

  .service-box__heading {
    padding: 10px 30px;
    font-size: 1.5rem;
		font-size: 2.5rem;
  }

  .service-box__left,
  .service-box__right {
    padding: 30px 20px;
  }

  .service-box__text {
    font-size: 1.6rem;
    padding-block: 32px;
  }

  .service-box__right .service-box__text {
    padding-block: 14px;
  }
}

@media (max-width: 767px) {
  .service-content {
    background-color: #fff;
    padding: 20px 10px;
  }

  .service-img {
    gap: 10px;
    margin-block: 30px 10px;
  }

  .service-img img {
    max-width: 170px;
    width: 100%;
    height: auto;
  }

  .service-row {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 43px;
  }

  .service-col {
    width: calc(100%);
  }

  .service-col__bg {
    font-size: 1.6rem;
    line-height: 12px;
    padding: 8px 10px;
  }

  .service-col__text {
    font-size: 1.6rem;
    line-height: 22px;
  }

  .service-box {
    flex-direction: column;
    gap: 45px;
  }

  .service-box__left,
  .service-box__right {
    width: 100%;
    padding: 35px 10px 20px;
  }

  .service-box__heading {
    font-size: 2rem;
    padding: 15px 16px;
    max-width: 100%;
    width: fit-content;
  }

  .service-box__flex {
    gap: 6px;
  }

  .service-box__text {
    font-size: 1.8rem;
    line-height: 13px;
    padding-block: 18.5px;
  }

  .service-box__right .service-box__heading {
    max-width: 280px;
    width: 100%;
    line-height: 15px;
    top: -25px;
  }

  .service-box__heading {
    line-height: 15px;
    top: -25px;
  }
}

/* target content*/

.target {
  background: #f0f0f0;
}

.tab {
  max-width: 1140px;
  width: 100%;
  overflow: hidden;
  background-color: #f1f1f1;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  flex-wrap: wrap;
}

.tablinks {
  line-height: 1.2;
  max-width: calc(100% / 6 - 18px);
  width: 100%;
  border-radius: 10px 15px 0px 0px;
}

.tablinks.active {
  max-width: 280px;
  width: 100%;
  height: 75px;

  @media (max-width: 767px) {
    width: 110px;
  }
}

.tablinks:first-child {
  background: #21bdb5;
}

.tablinks:nth-child(2) {
  background: #0e6fb8;
}

.tablinks:nth-child(3) {
  background: #f39800;
}

.tablinks:nth-child(4) {
  background: #727171;
}

.tablinks:nth-child(5) {
  background: #c8a5a4;
}

.tablinks:last-child {
  background: #09913a;
}

.tab button {
  background-color: inherit;
  /* float: left; */
  border: none;
  outline: none;
  cursor: pointer;
  padding: 10px 0;
  transition: 0.3s;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 20px;
  color: #fff;
}

.tab button:hover {
  opacity: 0.8;
}

.tab button.active {
  opacity: 0.8;
  color: #fff;
  text-align: center;
  font-size: 2.2rem;
  font-weight: 700;
}

.tabcontent {
  display: none;
  /* padding: 5px; */
  border-top: none;
	max-width: 1140px;
}

.tabcontent.minimumpackage {
  display: block;
}

@media (max-width: 1199px) {
  .tab {
    flex-wrap: nowrap;
    overflow-x: auto;
    align-items: flex-end;
    justify-content: flex-start;
  }

  .tab button.active {
    font-size: 1.4rem;
  }

  .tab button {
    font-size: 1.2rem;
  }
}

@media (max-width: 767px) {
  .tab {
    flex-wrap: nowrap;
    overflow-x: auto;
    align-items: flex-end;
    justify-content: flex-start;
  }

  /* .tab::-webkit-scrollbar {
		display: none;
	} */

  .target .inner {
    padding: 0 13px;
  }

  .tablinks {
    width: 100%;
    width: calc(100% / 2 - 0px);
  }

  .tablinks:first-child,
  .tablinks:nth-child(2) {
    width: 110px;
    border-radius: 10px 15px 0 0;
  }

  .tab button {
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 15.6px;
    color: #fff;
    padding: 4.5px 0;
    flex-shrink: 0;
    max-width: 100%;
    width: 110px;
  }

  .tab button.active {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 16.8px;
    color: #fff;
  }

  .tablinks.active {
    max-width: 173px;
    height: 50px;
  }
}

/* target  pc*/
.familyapartment {
  max-width: 1140px;
  width: 100%;
}

.target-plan__row {
  display: flex;
  justify-content: flex-end;
  align-items: stretch;
  gap: 30px;
  background: #0e6fb8;
  padding: 30px;
}

.target-plan__row.-turquoise {
  background: #21bdb5;
}
.target-plan__row.-orange {
  background: #f39800;
}

.target-plan__row.-pink {
  background: #c8a5a4;
}

.target-plan__row.-gray {
  background: #727171;
}

.target-plan__image img {
  max-width: 100%;
  width: 100%;
  height: auto;
}

.target-plan__col-title {
  font-size: 28px;
  font-weight: 700;
  line-height: 21px;
  color: #0e6fb8;
  padding: 15px 10px;
  background: #fff;
  text-align: center;
}
.target-plan__pink {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 20px;
  margin-top: 15px;

  @media (max-width: 767px) {
    flex-direction: column;
  }
}

.target-plan-table-ttl {
  color: #fff;
  text-align: center;
  font-size: 17px;
  font-weight: 700;
  line-height: 12px;
  width: 100%;
  border: 1px solid #fff;
  padding: 15px;
}

.target-plan__pink-left {
  max-width: 270px;

  @media (max-width: 767px) {
    max-width: 100%;
  }
}

.target-plan__pink-right {
  max-width: 270px;
  @media (max-width: 767px) {
    max-width: 100%;
  }
}

.target-plan__col-title.-orange {
  color: #f39800;
}

.target-plan__col-title.-pink {
  color: #c8a5a4;
}

.target-plan__col-title.-gray {
  color: #727171;
}

.target-plan__col:first-child {
  flex: 1;
}

.target-plan__col:last-child {
  max-width: 490px;
  width: 100%;
}

.target-plan__table {
  width: 100%;
}
.target-plan__tr.-pink {
  border-bottom: unset;
  align-items: center;
  display: flex;
}
.target-plan__tr {
  border-bottom: 1px solid #fff;

  &.-pink {
    border-bottom: 1px solid #fff;

    .target-plan__td {
      width: 80px;
    }

    .target-plan__th {
      width: calc(100% - 80px);
    }
  }

  &:first-of-type {
    .target-plan__td {
      padding: 20px 0 15px 0;
    }

    .target-plan__th {
      padding-block: 20px 0 15px 0;
    }
  }
}

.target-plan__td {
  width: 150px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 12px;
  padding-block: 15px;
}

.target-plan__th {
  flex: 1;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  padding: 15px 10px;
}

.target-plan__th.lh {
  line-height: 17px;
}

.target-issue {
  padding: 30px;
  background-color: #fff;
}

.target-plan__title {
  border-top: 1px solid #0e6fb8;
  border-bottom: 1px solid #0e6fb8;
  background: #fff;
  padding: 14px 10px;
  color: #0e6fb8;
  font-size: 28px;
  font-weight: 700;
  line-height: 21px;
  text-align: center;
}

.target-plan__title.-orange {
  border-top: 1px solid #f39800;
  border-bottom: 1px solid #f39800;
  color: #f39800;
}

.target-plan__title.-pink {
  border-top: 1px solid #c8a5a4;
  border-bottom: 1px solid #c8a5a4;
  color: #c8a5a4;
}

.target-plan__title.-gray {
  border-top: 1px solid #727171;
  border-bottom: 1px solid #727171;
  color: #727171;
}

.target-issue__content {
  background: #e9f3f9;
  display: flex;
  margin-top: 15px;
  margin-left: 15px;
}

.target-issue__content.-orange {
  background: #fff2db;
}

.target-issue__content.-pink {
  background: #fbf4f4;
}

.target-issue__content.-gray {
  background: #f0f0f0;
}
.target-solution__content.-turquoise {
  background: #ecfffe;
}
.target-solution__content.-orange {
  background: #fff2db;
}

.target-solution__content.-pink {
  background: #fbf4f4;
}

.target-solution__content.-gray {
  background: #f0f0f0;
}

.target-issue__content:first-of-type {
  margin-top: 20px;
}

.target-issue__head {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  max-width: 275px;
  width: 100%;
  margin-left: -10px;
  gap: 10px;
}

.target-issue__head .num {
  color: #0e6fb8;
  font-size: 50px;
  font-weight: 700;
  line-height: 35px;
  font-family: "din-2014", sans-serif;
  display: inline-block;
}

.target-issue__head .num.-orange {
  color: #f39800;
}

.target-issue__head .num.-pink {
  color: #c8a5a4;
}

.target-issue__head .num.-gray {
  color: #727171;
}

.target-issue__head .text {
  color: #0e6fb8;
  font-size: 20px;
  font-weight: 700;
  line-height: 29px;
}

.target-issue__head .text.-orange {
  color: #f39800;
}

.target-issue__head .text.-pink {
  color: #c8a5a4;
}

.target-issue__head .text.-gray {
  color: #727171;
}

.target-issue__text {
  background: #fff;
  padding: 10px 20px;
  color: #222;
  font-size: 16px;
  font-weight: 500;
  line-height: 23px;
  margin-bottom: 10px;
}

.target-issue__text:last-of-type {
  margin-bottom: 0;
}

.target-issue__desc {
  flex: 1;
  padding: 15px;
}

.target-survey {
  border: 1px solid #0e6fb8;
  margin-top: 35px;
  position: relative;

  &.-pink {
    .target-survey__row {
      @media (max-width: 767px) {
        padding-top: 48px;
      }
    }
  }

  &.-orange {
    .target-survey__row {
      @media (max-width: 767px) {
        padding-top: 48px;
      }
    }
  }

  &.-gray {
    .target-survey__title {
      max-width: 310px;
    }

    .target-survey__row {
      @media (max-width: 767px) {
        padding-top: 48px;
      }
    }
  }

  &.-green {
    @media (max-width: 767px) {
      .target-survey__title {
        max-width: 310px;
      }
    }

    .target-survey__row {
      @media (max-width: 767px) {
        padding-top: 48px;
      }
    }
  }
}

.target-survey.-orange {
  border: 1px solid #f39800;
}

.target-survey.-pink {
  border: 1px solid #c8a5a4;
}

.target-survey.-gray {
  border: 1px solid #727171;
}

.target-survey__title {
  color: #0e6fb8;
  font-size: 20px;
  font-weight: 700;
  line-height: 29px;
  background: #fff;
  padding-inline: 15px;
  position: absolute;
  top: -15px;
  margin-left: 15px;
}

.target-survey__title.-orange {
  color: #f39800;
}

.target-survey__title.-pink {
  color: #c8a5a4;
}

.target-survey__title.-gray {
  color: #727171;
}

.target-survey__row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 60px;
  padding-block: 30px 20px;
}

.target-survey__contents {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 910px;
  width: 100%;
  margin-inline: auto;
  margin-bottom: 30px;
}

.target-survey__rtxt {
  color: #222;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

.target-survey__ltxt {
  color: #222;
  font-size: 20px;
  font-weight: 700;
  line-height: 29px;
  padding: 15px 20px;
  border: 3px solid #ea5514;
}

.target-survey__col.-gray:first-child {
  max-width: 480px;
  width: 100%;
}

.target-survey__col.g-txt{
	max-width: 380px;
	width: 100%;

	@media (max-width:767px) {
		max-width: 100%;
	}
}

.target-survey__col {
	&.greenw {
		@media (min-width:992px) {
				max-width: 380px;
		width: 100%;
		}
	}
}

.target-survey__head {
  display: flex;
  align-items: center;
  gap: 20px;
}

.target-survey__num {
  color: #0e6fb8;
  text-align: center;
  font-family: "din-2014", sans-serif;
  font-size: 50px;
  font-weight: 700;
  line-height: 35px;
}

.target-survey__num.-orange {
  color: #f39800;
}

.target-survey__num.-pink {
  color: #c8a5a4;
}

.target-survey__num.-gray {
  color: #727171;
}

.target-survey__qs {
  color: #222;
  font-size: 20px;
  font-weight: 500;
  line-height: 29px;
}

.target-survey__text {
  color: #222;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  padding-top: 20px;
}

.target-survey__image {
  max-width: 380px;
  width: 100%;
  line-height: 0;

  &.w300 {
	max-width: 300px;
	margin-left: auto;
  }
}

.target-survey__image img {
  max-width: 100%;
  height: auto;
}

.target-solution {
  padding-inline: 30px;
  background: #fff;
  padding-bottom: 30px;

  @media (max-width: 767px) {
    padding-bottom: 10px;
  }
}

.target-solution__content {
  padding: 20px 30px 30px 30px;
  background: #e9f3f9;
  margin-top: 20px;
}

.target-solution__head {
  display: flex;
  align-items: center;
}

.target-solution__head .ttl {
  max-width: 260px;
  width: 100%;
  border-right: 1px solid #0e6fb8;
  color: #0e6fb8;
  font-size: 22px;
  font-weight: 700;
  line-height: 32px;
  padding-block: 7px;
}

.target-solution__head .ttl.-orange {
  border-right: 1px solid #f39800;
  color: #f39800;

  @media (max-width: 767px) {
    border-left: 4px solid #f39800;
    border-right: 0;
  }
}

.target-solution__head .ttl.-pink {
  border-right: 1px solid #c8a5a4;
  color: #c8a5a4;

  @media (max-width: 767px) {
    border-left: 4px solid #c8a5a4;
    border-right: 0;
  }
}

.target-solution__head .ttl.-gray {
  border-right: 0;
  color: #727171;

  @media (max-width: 767px) {
    border-left: 4px solid #727171;
    border-right: 0;
  }
}

.target-solution__head .ttl.-orange.noborder {
  border-right: unset;
}

.target-solution__head .ttl.-pink.noborder {
  border-right: unset;
}

.target-solution__head .ttl.-gray.noborder {
  border-right: unset;
}

.target-solution__head .txt {
  flex: 1;
  color: #222;
  font-size: 16px;
  font-weight: 500;
  line-height: 23px;
  padding-left: 25px;

  .tag {
    background: #c8a5a4;
    display: inline-block;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 80px;
    width: 100%;
	color: #fff;
    height: auto;
  }
}

.target-solution__head-w {
  width: 100%;
}

.target-solution__head .txt.-orange {
  border-left: 1px solid #f39800;
  @media (max-width: 767px) {
    border-left: 0;
  }
}

.target-solution__head .txt.-pink {
  border-left: 1px solid #c8a5a4;
  display: inline-flex;
  align-items: stretch;
  width: 100%;
  gap: 10px;
  margin-bottom: 5px;

  &:last-of-type {
    margin-bottom: 0;
  }

  @media (max-width: 767px) {
    border-left: 0;
  }
}

.target-solution__head .txt.-gray {
  border-left: 1px solid #727171;

  @media (max-width:767px) {
	border-left: 0;
  }
}

.target-solution__row {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 15px;
  flex-wrap: wrap;
  padding-top: 20px;
}

.target-solution__col {
  width: calc(100% / 4 - 15px);
  background: #fff;
  padding: 15px;
}

.target-solution__col-title {
  color: #0e6fb8;
  font-size: 18px;
  font-weight: 700;
  line-height: 26px;
  border-bottom: 1px solid #0e6fb8;
  padding-block: 15px 5px;
  text-align: center;
}

.target-solution__col-title.-orange {
  color: #f39800;
  border-bottom: 1px solid #f39800;
}

.target-solution__col-title.-pink {
  color: #c8a5a4;
  border-bottom: 1px solid #c8a5a4;
  letter-spacing: -1px;
}

.target-solution__col-title.-gray {
  color: #727171;
  border-bottom: 1px solid #727171;
}

.target-solution__col-text {
  color: #222;
  font-size: 16px;
  font-weight: 500;
  line-height: 23px;
  padding-top: 10px;
}

.target-solution__image {
  max-width: 210px;
  width: 100%;
  line-height: 0;
  height: auto;
}

.target-solution__image img {
  object-fit: cover;
  height: auto;
}

@media (max-width: 991px) {
  .target-plan__col:last-child {
    max-width: 275px;
    width: 100%;
  }

  .target-survey__row {
    padding-inline: 15px;
  }

  .target-plan__row {
    align-items: center;
  }

  .target-solution__col {
    width: calc(100% / 3 - 15px);
    padding: 10px;
  }

  .target-solution__col-title {
    font-size: 15px;
  }

  .target-solution__col-text {
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  .target-plan__row {
    flex-direction: column;
    gap: 10px;
    padding: 10px;
  }

  .target-plan__col:last-child {
    max-width: 100%;
    width: 100%;
  }

  .target-plan__col:first-child {
    width: 100%;
  }

  .target-plan__image img {
    aspect-ratio: 326 / 200;
    object-fit: cover;
  }

  .target-plan__td {
    width: 80px;
    font-size: 13px;
    line-height: 10px;
    padding-block: 10px 15px;
  }

  .target-plan__th {
    font-size: 13px;
    line-height: 13px;
    padding: 10px 0px 15px 10px;
  }

  .target-plan__th.lh {
    line-height: 14px;
  }

  .target-plan__tr {
    &:first-of-type {
      .target-plan__td {
        padding-block: 10px 15px;
      }

      .target-plan__th {
        padding-block: 10px 0 15px 10px;
      }
    }
  }

  .target-plan__col-title {
    font-size: 16px;
    line-height: 12px;
    padding: 10px;
  }

  .target-plan__title {
    font-size: 16px;
    line-height: 12px;
    padding-block: 14px;
  }

  .target-issue {
    padding: 20px 10px;
  }

  .target-issue__desc {
    padding: 15px 10px;
  }

  .target-issue__content {
    flex-direction: column;
    margin-top: 10px;
    padding-top: 10px;
    margin-left: 0;
  }

  .target-issue__head {
    margin-left: 10px;
  }

  .target-issue__head .num {
    font-size: 40px;
    line-height: 28px;
  }

  .target-issue__head .text {
    font-size: 16px;
    line-height: 23px;
  }

  .target-issue__text {
    padding: 10px;
    font-size: 13px;
    line-height: 19px;
  }

  .target-issue__content:first-of-type {
    margin-top: 10px;
  }

  .target-survey {
    margin-top: 30px;
  }

  .target-survey__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    padding-block: 30px 20px;
    margin-inline: 0;
  }

  .target-survey__contents {
    display: flex;
    flex-direction: column-reverse;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 10px;
    padding-inline: 10px;
  }

  .target-survey__rtxt {
    color: #222;
    font-size: 10px;
    font-weight: 500;
    line-height: 14px;
    text-align: start;
  }

  .target-survey__ltxt {
    color: #222;
    font-size: 16px;
    font-weight: 700;
    line-height: 23px;
    border: 3px solid #ea5514;
    width: 100%;
    margin-bottom: 10px;
    text-align: center;
    padding: 12px 0;
  }

  .target-survey__head {
    gap: 10px;
  }

  .target-survey__num {
    font-size: 30px;
    line-height: 21px;
  }

  .target-survey__qs {
    font-size: 15px;
    line-height: 22px;
  }

  .target-survey__text {
    font-size: 10px;
    line-height: 14px;
    padding-top: 5px;
  }

  .target-survey__title {
    padding-inline: 5px;
    top: -15px;
    margin-left: 0;
    max-width: 230px;
    width: 100%;
    display: inline-block;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
  }

  .target-survey__image {
    max-width: 100%;
    width: 100%;
    padding-inline: 9.5px;
  }

  .target-survey__image img {
    max-width: 100%;
    width: 100%;
  }

  .target-solution__head {
    flex-direction: column;
  }

  .target-solution__head .ttl {
    max-width: 100%;
    width: 100%;
    border-left: 4px solid #0e6fb8;
    border-right: unset;
    font-size: 16px;
    line-height: 23px;
    padding-block: 3.5px;
    padding-left: 11px;
  }

  .target-soultion__head .ttl.-orange {
    border-right: 1px solid #f39800;
    color: #f39800;
  }

  .target-soultion__head .ttl.-pink {
    border-right: 1px solid #c8a5a4;
    color: #c8a5a4;
  }

  .target-soultion__head .ttl.-gray {
    border-right: 1px solid #727171;
    color: #727171;
  }

  .target-solution__head .txt {
    flex: 1;
    font-size: 13px;
    line-height: 19px;
    padding-left: unset;
    padding-top: 10px;
  }

  .target-solution__content {
    padding: 15px 10px 10px 10px;
    margin-top: 10px;
  }

  .target-solution {
    padding-inline: 10px;
  }

  .target-solution__row {
    flex-direction: column;
    gap: 10px;
    padding-top: 15px;
  }

  .target-solution__col {
    width: 100%;
    padding: 5px 10px 5px 5px;
    display: flex;
    align-items: center;
    gap: 5px;
  }

  .target-solution__desc {
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  .target-solution__col-title {
    font-size: 16px;
    line-height: 23px;
    padding-block: 5px;
    text-align: left;
  }

  .target-solution__col-text {
    font-size: 13px;
    line-height: 19px;
    text-align: left;
  }

  .target-solution__image {
    max-width: 100px;
  }

  .target-solution__image img {
    max-width: 100%;
  }
}

/* partner */
.partner-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 1.5%;
}

.partner-list li {
  width: 32.3%;
}

.partner-list h3 {
  font-size: 2.2rem;
  font-weight: bold;
  padding-block: 43px;
  background: #fff;
  color: #222;
  text-align: center;
  min-height: 150px;
  line-height: 32px;
}

.partner-list h3 .org {
  display: inline-block;
  color: #f79421;
  font-size: 22px;
  font-weight: 700;
  line-height: 0;
}

@media screen and (max-width: 991px) {
  .partner-list h3 {
    font-size: 1.5rem;
  }

  .partner-list h3 .org {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 767px) {
  .partner-list {
    display: flex;
    flex-direction: column;
  }

  .partner-list li {
    width: 100%;
  }

  .partner-list {
    gap: 30px;
  }

  .partner-img img {
    aspect-ratio: 346/170;
    object-fit: cover;
  }

  .partner-list h3 {
    color: #222;
    text-align: center;

    font-size: 16px;
    font-weight: 700;
    line-height: 23px;
    padding-block: 30px;
    min-height: auto;
  }

  .partner-list h3 .org {
    color: #f79421;

    font-size: 16px;
    font-weight: 700;
    line-height: 0;
  }
}

.avantia-bg img {
  width: 100%;
  height: auto;
}

@media (max-width: 767px) {
  .avantia-bg img {
    aspect-ratio: 376/250;
    object-fit: cover;
  }
}

.target-plan__row.-green {
  background: #09913a;
}
.target-plan__col-title.-green {
  color: #09913a;
}
.target-plan__title.-green {
  border-top: 1px solid #09913a;
  border-bottom: 1px solid #09913a;
  color: #09913a;
}
.target-issue__content.-green {
  background: #e8f3ec;
}
.target-solution__content.-green {
  background: #e8f3ec;
}
.target-issue__head .num.-green {
  color: #09913a;
}
.target-issue__head .text.-green {
  color: #09913a;
}
.target-survey.-green {
  border: 1px solid #09913a;
}
.target-survey__title.-green {
  color: #09913a;
}
.target-survey__num.-green {
  color: #09913a;
}
.target-solution__head .ttl.-green {
  border-right: 1px solid #09913a;
  color: #09913a;

  @media (max-width: 767px) {
    border-left: 4px solid #09913a;
    border-right: 0;
  }
}
.target-solution__head .ttl.-green.noborder {
  border-right: unset;
}
.target-solution__head .txt.-green {
  border-left: 1px solid #09913a;
}
.target-solution__col-title.-green {
  color: #09913a;
  border-bottom: 1px solid #09913a;
}
@media (max-width: 767px) {
  .target-soultion__head .ttl.-green {
    border-right: 1px solid #09913a;
    color: #09913a;
  }
  .target-soultion__head .ttl.-green {
    border-right: 1px solid #09913a;
    color: #09913a;
  }
}

.target-survey__row.width {
  max-width: 968px;
  width: 100%;
}

.target-survey-gtext {
	color: #222;
	
	font-size: 32px;
	font-weight: 700;
	line-height: 46px;
	border: 3px solid #EA5514;
	padding: 0 3px;
	text-align: center;
	max-width: 242px;
	width: 100%;

	@media (max-width:776px) {
		max-width: 100%;
		padding: 17px;
		font-size: 22px;
		line-height:16px;
	}
}

.minimumpackage .target-plan__row {
  justify-content: center;
  text-align: center;
  flex-direction: column;
  gap: 10px;
}
.minimumpackage .target-plan__row.-turquoise p {
  color: #fff;
}
.minimumpackage .target-solution {
  padding-top: 30px;
}
.target-plan__title.-turquoise {
    border-top: 1px solid #21bdb5;
    border-bottom: 1px solid #21bdb5;
    color: #21bdb5;
}
.minimumpackage .target-solution__col-title {
    color: #21bdb5;
}
.minimumpackage .target-solution__col {
  width: calc(100% / 3 - 15px);
      @media (max-width: 767px) {
        width: 100%;
    }
}
.minimumpackage .target-solution__image {
  margin: 0 auto;
}
.minimumpackage .red-rabel {
  padding: 5px 20px;
  background: #FF2929;
  color: #fff;
  width: fit-content;
  margin: 0 auto;
}

/* リード文 */
.tabcontent__lead {
  margin-top: 30px;
}
.tabcontent__lead p {
  text-align: center;
  /*margin-bottom: 1em;*/
}
.tabcontent__lead p .b {
  font-size: 20px;
	font-size: 2.4rem;;
      @media (max-width: 767px) {
        font-size: 16px;
    }
}
.tabcontent__lead p span {
  color: #4173B0;
}
.tabcontent__lead p span.-turquoise {
  color: #4173B0;
}
.tabcontent__lead p span.-orange {
  color: #F79421;
}
.tabcontent__lead p span.-pink {
  color: #4173B0;
}
.tabcontent__lead p span.-gray {
  color: #4173B0;
}
.tabcontent__lead p span.-green {
  color: #4173B0;
}

/*全棟標準*/
.zentou{
	margin: 10px auto;
	display: table;
	background: #ff0000;
	color: #fff;
}

/* Inheritance tax measures */
.catch{
  letter-spacing: 3.2px;
  line-height: 170%;
  text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.90);

  @media (max-width:767px) {
    letter-spacing: 1.6px;
  }
}

.midcatch{
  line-height: 140%;
  letter-spacing: 2px;
  text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.90);
 font-family: "Source Han Sans JP";

  @media (max-width:767px) {
    letter-spacing: 0.9px;
  }
}

.lstcatch{
  line-height: 140%;
  letter-spacing: 3px;
  text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.90);
  font-family: "Source Han Sans JP";
  @media (max-width: 767px) {
    letter-spacing: 1.3px;
  }
}

.mv-boxwrap{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  flex-wrap: wrap;
  max-width: 665px;
  width: 100%;
  margin-inline: auto;
}

.mv-box{
  width: calc(100% / 4 - 11.25px);
  border: 1px solid #FFF;
  background: rgba(0, 57, 104, 0.70);
  background-blend-mode: multiply;
  color: #FFF;
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  line-height: 37.4px;
  letter-spacing: 2.2px;
  padding: 4px 0px;
}

@media (max-width: 767px) {
  .mv-boxwrap{
    gap: 10px;
    max-width: 290px;
    width: 100%;
  }

  .mv-box{
    width: calc(100% / 2 - 5px);
    font-size: 14px;
    letter-spacing: 1.4px;
    line-height: 22px;
  }

}

.background .inner{
  padding-inline: 35px;
}

.background-block{
  padding-block: 61px;
}
.background-title{
  font-size: 36px;
  font-weight: 700;
  line-height: 58px;
  margin-bottom: 30px;
  color: #fff;
}

.background-title .ylw{
  color: #F79421;
  font-size: 40px;
  line-height: 1;
}
.background-text{
  font-size: 20px;
  font-weight: 500;
  line-height: 29px;
  color: #fff;
}

.background-bg{
  background-image: url("../images/top/background-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.background-heading{
  color: #26537D;
  text-align: center;
  font-size: 28px;
  font-weight: 700;
  line-height: 21px;
  padding-block: 24px;
  border-top: 1px solid #26537D;
  border-bottom: 1px solid #26537D;
  margin-top: 50px;
}

.background-heading.-bg{
  background: #DBF2FF;
  border-top: 1px solid #4173B0;
  border-bottom: 1px solid #4173B0;
}

.background-row{
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 30px;
  flex-wrap: wrap;
  margin-top: 30px;
}

.background-col{
  width: calc(100% / 3 - 20px);
  text-align: center;
}

.background-col-title{
  color: #FFF;
  font-size: 20px;
  font-weight: 700;
  line-height: 16px;
  padding-block: 12px;
  border-radius: 10px 10px 0px 0px;
  background: #26537D;
}
.background-col-content{
 background: #F5F5F5;
 padding-block: 30px;
}

.background-col-content.-pb{
  padding-block: 18px 17px;
}

.background-col-text{
  font-size: 26px;
  font-weight: 700;
  line-height: 21px;
}

.background-col-text .big{
  font-size: 40px;
  line-height: 29px;
  display: inline-block
}

.background-col-text .super{
  vertical-align: super;
  font-size: 16px;
  line-height: 13px;
  display: inline-block;
}

.background-col-text .sm{
  font-size: 20px;
  font-weight: 500;
  line-height: 31px;
  display: inline-block;
}

.background-col-image{
  margin-top: 25px;
}

.background-reality{
  background: #F5F5F5;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 55px;
  padding-block: 12px;
  padding-inline: 10px;
}

.background-reality-assets{
  font-size: 28px;
  font-weight: 700;
  line-height: 40px; 
  margin-right: 30px;
}

.background-reality-assets .big{
  font-size: 40px;
  display: inline-block;
}

.background-reality-image{
  margin-top: -37px;
}

.background-reality-inherit{
  border-radius: 10px;
  border: 1px solid #F79421;
  background: #F5F5F5;
  position: relative;
  padding: 28px 20px 20px 20px;
  margin-inline: 30px 26px;
  margin-top: 8px;
}

.background-reality-title{
  font-size: 26px;
  font-weight: 700;
  line-height: 28px;
  text-align: center;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  background: #f5f5f5;
  padding-inline: 10px;
}

.background-reality-inherit .big{
  font-size: 38px;
  display: inline-block;
}

.background-reality-tax{
  display: flex;
  align-items: center;
  gap: 15px;
}

.background-reality-text{
   font-size: 20px;
  font-weight: 500;
  line-height: 15px; 
  background: #F79421;
  color: #fff;
  padding: 11px 40px;
}

.background-reality-yen .num{
  color: #F79421;
  font-size: 50px;
  font-weight: 700;
  line-height: 35px;
  display: inline-block;
}

.background-reality-yen{
  color: #F79421;
  font-size: 30px;
  line-height: 37px;
  display: inline-flex;
}

.background-reality-sell{
  background-image: url("../images/top/challenges05.svg");
  background-repeat: no-repeat;
  background-position: 100% 100%;
  background-size: contain;
  max-width: 329px;
  width: 100%;
  height: 127px;
  margin-top: -70px;
}

.background-reality-sell-text{
  color: #FFF;
  font-size: 20px;
  font-weight: 700;
  line-height: 25px;
  padding-top: 30px;
  text-align: center;
}

.background-reality-sell-text .ylw{
  color: #F6D600;
}

.background-content{
  margin-top: 30px;
  margin-bottom: 50px;
}

.background-content-desc{
  color: #222;
  font-size: 15px;
  font-weight: 500;
  line-height: 22px;
}

.background-footer{
  display: flex;
  align-items: center;
  background-color: #002C56;
  padding: 30px 0;
}

.background-footer-text{
  max-width: 158px;
  width: 100%;
  color: #FFF;
  text-align: center;
  font-size: 26px;
  font-weight: 700;
  line-height: 20px;
  padding-block: 15px;
  border-right: 1px solid #fff;
}

.background-footer-desc{
  color: #FFF;
  font-size: 28px;
  font-weight: 700;
  line-height: 41px;
  padding-left: 50px;
}

.background-reality-top{
  display: flex;
  align-items: center;
}

@media (max-width: 992px) {

  .background .inner{
     padding-inline: 15px;
  }

  .background-col-text{
    font-size: 20px;
  }

  .background-col-text .sm{
    font-size: 16px;
  }
}

@media (max-width: 1200px) {

  .background-reality-sell{
    max-width: 280px;
    margin-top: -95px;
  }

  .background-reality-inherit{
    padding: 28px 10px 20px 10px;
  }

  .background-reality-title{
    font-size: 20px;
    line-height: 28px;

  }

  .background-reality-assets{
    font-size: 24px;
    margin-right: 25px;

  }

  .background-reality-text{
    font-size: 14px;
    line-height: 15px;
  }

  .background-reality-inherit .big{
    font-size: 34px;
  }

  .background-reality-yen{
    font-size: 20px;
    line-height: 33px;
  }

  .background-reality-yen .num{
    font-size: 30px;
    line-height: 32px;

  }


}

@media (max-width:992px) {

    .background-reality-sell{
      max-width: 220px;
      width: 100%;
      height: 103px;
      margin-top: -10px;
      background-position: 100% 100%;
      background-size: contain;    
      margin-top: -110px;

    }

    .background-reality-sell-text{
      font-size: 13px;
      line-height: 25px;
      padding-top: 28px;
    }

    .background-reality-inherit{
      padding: 13px;
      margin-inline: 13px 20px;
      margin-top: 8px;
    }

    .background-reality-title{
      font-size: 16px;
      line-height: 15px;
      padding-inline: 5px;
      top: -16px;
    }

    .background-reality-inherit .big{
      font-size: 30px;
    }

    .background-reality-tax{
      gap: 10px;
    }

    .background-reality-text{
      padding: 12px 5px;
      text-align: center;
      font-size: 13px;
      line-height: 15px;
    }

    .background-reality-yen{
      font-size: 14px;
      line-height: 28px;

    }

    .background-reality-yen .num{      
      font-size: 34px;
      line-height: 35px;
    }

    .background-reality-assets{
      font-size: 25px;
      line-height: 40px;
      margin-right: 30px;
    }

    .background-reality-image{
        max-width: 141px;
        width: 100%;

    }

}

@media (max-width:767px) {

  .background .inner{
    padding-inline: 15px;
  }

  .background-bg{
    background-image: url("../images/top/background-bg-sp.webp");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }

  .background-block{
    padding-block: 30px 240px;
  }

  .background-title{
    font-size: 26px;
    text-align: center;
    line-height: 40px;
    margin-bottom: 15px;
  }

  .background-title .ylw{
    font-size: 30px;
  }

  .background-reality{
    flex-direction: column;
    padding-block: 0 20px;
    margin-top: 15px;
  }

  .background-text{
    font-size: 14px;
    line-height: 20px;
    text-align: start;
  }

  .background-heading{
    line-height: 10px;
    margin-top: 20px;
    font-size: 16px;
    padding-block: 15px;
  }

  .background-heading.-bg{
    margin-top: 20px;
  }

  .background-row{
    flex-direction: column;
    margin-top: 10px;
    gap: 10px;
  }

  .background-col{
    width: 100%;
  }

  .background-col-content{
    padding-block: 23px;
  }

  .background-col-title{
    font-size: 18px;
    line-height: 15px;
    padding-block: 12.5px;
  }
  
  .background-col-text {
    font-size: 20px;
    line-height: 19px;
  }

  .background-col-text .big {
    font-size: 30px;
    line-height: 21px;
  }
 
  .background-col-image {
    margin-top: 20px;
  }

  .background-col-text .sm{
    font-size: 18px;
    line-height: 27px;
  }

  .background-col-content.-pb{
    padding-block: 18px;
    min-height: 200px;
  }

  .background-reality-inherit{
    margin-inline: 10px 12px;
    width: 100%;
    padding: 29px 23px 19px;
  }

  .background-reality-title{
    font-size: 22px;
    line-height: 23px;

  }

  .background-reality-image{
    margin-top: -14px;
  }

  .background-reality-inherit .big{
    font-size: 32px;
  }

  .background-reality-yen{
    font-size: 26px;
    line-height: 29px;
  }

  .background-reality-yen .num{
    font-size: 40px;
  }

  .background-reality-text{
    font-size: 16px;
    max-width: 140px;
    width: 100%;
    padding: 11px 5px;
  }

  .background-reality-top{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
  }

  .background-reality-assets {
    font-size: 22px;
    line-height: 30px;
  }

  .background-reality-assets .big{
    font-size: 30px;
  }

  .background-reality-sell{
    background-image: url(../images/top/challenges05-sp.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    max-width: 327px;
    width: 100%;
    height: 132px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 15px;
  }

  .background-reality-sell-text{
    padding-top: 16px;
  }

  .background-footer-text{
    font-size: 20px;
    padding-block: 10px 20px;
    line-height: 14px;

  }

  .background-content-desc{
    text-indent: -22px;
    padding-left: 22px;
    font-size: 12px;
    line-height: 17px;
  }

  .background-content{
    margin-top: 20px;
    margin-bottom: 20px;
  }

  .background-footer{
    padding: 15px 15px;
    flex-direction: column;
  }

  .background-footer-text{
    border-bottom: 1px solid #fff;
    max-width: 100%;
    border-right: unset;
  }

  .background-footer-desc{
    font-size: 18px;
    line-height: 26px;
    padding-left: 0;
    padding-top: 15px;
    text-align: center;

  }

  .background-reality-sell-text {
    font-size: 20px;
  }



}

/* roles */

.roles{
  background-image: url("../images/top/roles-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}
.roles-row{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 50px;
  margin-bottom: 50px;
}

.roles-row:last-of-type{
  margin-bottom: 0px;
}

.roles-row.rev{
  flex-direction: row-reverse;
}

.roles-col:first-child{
  flex: 1;
}

.roles-col:last-child{
  max-width: 450px;
  width: 100%;
}

.roles-title{
  color: #222;
  font-size: 32px;
  font-weight: 700;
  line-height: 46px;
  padding-bottom: 30px;
  margin-bottom: 30px;
  position: relative;
  &::after{
    content: "";
    position: absolute;
    width: calc(100% + 150px);
    height: 1px;
    background-color: #002C56;
    right: 0;
    bottom: 0;
  }
}
.roles-title.rev{
   &::after{
    content: "";
    position: absolute;
    width: calc(100% + 150px);
    height: 1px;
    background-color: #002C56;
    right: unset;
    left: 0;
    bottom: 0;
  }
}
.roles-text{
  color: #222;
  font-size: 20px;
  font-weight: 500;
  line-height: 35px;
}
.background-block.rev{
  padding-block: 90px;
  text-align: end;
}

@media (max-width:992px) {

  .roles-row{
    gap: 25px;

  }

  .roles-col:last-child{
    max-width: 365px;
    width: 100%;
  }

  .roles-title {
    font-size: 20px;
    line-height: 30px;
    padding-bottom: 20px;
    margin-bottom: 20px;
  }

  .roles-text{
    font-size: 16px;
    line-height:31px;
  }

  .roles-col-image img{
    width: 100%;
    height: auto;
  }

}

@media (max-width:767px) {
  
  .roles-row{
    flex-direction: column;
    gap: 20px;
    margin-bottom: 30px;
  }
  .roles-row.rev{
    flex-direction: column;
  }

  .roles-title {
    font-size: 20px;
    line-height: 29px;
    padding-bottom: 15px;
    margin-bottom: 15px;
  }

  .roles-title.rev {
    &::after {
      width: 100%;
    }
  }

  .roles-title {
    &::after {
      width: 100%;
    }
  }

  .roles-text{
    font-size: 14px;
    line-height: 20px;
  }

  .background-block.rev{
    padding-block: 30px 240px;
  }

  .roles-col-image img{
    width: 100%;
    height: auto;
  }
  
}


/* feature */

.feature{
  background: #F7F7F7;
}

.feature-bg{
  background-image: url("../images/top/feature-bg.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.feature-row{
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 50px 30px;
  flex-wrap: wrap;
  margin-top: 50px;
}
.feature-col{
  width: calc(100% / 2 - 15px);
  position: relative;
}
.feature-col-title{
  color: #FFF;
  text-align: center;
  font-size: 28px;
  font-weight: 700;
  line-height: 21px;
  padding-block: 10px;
  border-radius: 50px;
  background: #26537D;
  position: absolute;
  max-width: 300px;
  width: 100%;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
}
.feature-col-content{
  padding: 25px 30px;
  background-color: #FFF;
}
.feature-col-text{
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 20px;
}
.feature-col-text:last-of-type{
  margin-bottom: 0;
}


.feature-col-text .txt{
  color: #222;
  font-size: 20px;
  font-weight: 700;
  line-height: normal;
}
.background-footer.bc{
  background-color: #26537D;
  margin-top: 50px;
  margin-bottom: 70px;
}

.background-footer .ylw{
  color: #F6D600;
}

.feature-solution{
  border-radius: 20px 20px 0px 0px;
  background: #4173B0;
  padding-block: 30px;
  position: relative;
}
.feature-solution-title{
  color: #FFF;
  text-align: center;
  font-size: 40px;
  font-weight: 700;
  line-height: 29px; 
}

.feature-solution-content{
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
  gap: 20px;
}

.feature-solution-content .text{
  border: 1px solid #FFF;
  padding: 9px 20px;
  color: #FFF;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 15px; 
}

.feature-solution-content .desc{
  color: #FFF;
  text-align: center;
  font-size: 32px;
  font-weight: 500;
  line-height: 25px; 
}

.feature-solution-comment{
  background-image: url("../images/top/feature-comment.svg");
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-size: contain;
  max-width: 271px;
  width: 100%;
  height: 90px;
  position: absolute;
  top: -10px;
  left: -10px;

}

.feature-solution-comment .txt{
  text-align: center;
  display: block;
  padding-top: 20px;
  font-size: 24px;
}

.feature-tax{
  background-color: #fff;
  padding: 30px;
  border-radius: 0 0 20px 20px;
}

.feature-heading{
  color: #4173B0;
  text-align: center;
  font-size: 26px;
  font-weight: 700;
  line-height: 19px;
  border-top: 1px solid #4173B0;
  border-bottom: 1px solid #4173B0;
  padding-block: 24px;
}

.feature-heading.bg{
  background: linear-gradient(0deg, #E9F3F9 0%, #E9F3F9 100%), #FFF;
  border-top: 1px solid #4173B0;
  border-bottom: 1px solid #4173B0;

}

.feature-tax-row{
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2px;
  margin-top: 30px;
  margin-bottom: 30px;
}

.feature-tax-col{
  width: calc(100% / 3 - 1.33px);
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.feature-tax-txt{
  color: #222;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 15px;
  background: #F7F7F7;
  padding-block: 22.5px;
}
.feature-tax-txt.blc{
  color: #FFF;
  font-size: 22px;
  line-height: 16px;
  padding-block: 22px;
  background: #4B5563;
}

.feature-tax-txt.ylw{
  color: #F79421;
  background: #FBEFE1;
}

.feature-footer{
  border: 2px solid #F79421;
  background: #FFF9F2;
  padding-block: 22px;
  display: flex;
  align-items: center;
  margin-top: 30px;
  margin-bottom: 50px;
  padding-left: 30px;

}

.feature-footer-title{
  color: #222;
  text-align: center;
  font-size: 26px;
  font-weight: 700;
  line-height: 19px;
  padding: 10px 40px 10px 10px;
  border-right: 1px solid #222;
}

.feature-footer-content{
   padding-left: 40px;
}

.feature-footer-description{
  color: #222;
  font-size: 22px;
  font-weight: 500;
  line-height: 16px;
}

.feature-footer-description .amount{
  color: #F79421;
  font-size: 42px;
  font-weight: 700;
  line-height: 20px;
  display: inline-block;
}

.feature-footer-description .icon{
  color: #F79421;
  font-size: 30px;
  letter-spacing: 6px;
  line-height: 31px;
  display: inline-block;
  padding-left: 20px;
}

.feature-footer-description .per{
  color: #222;
  font-size: 32px;
  font-weight: 700;
  line-height: 31px;
  display: inline-block;

}

.feature-footer-description .fig{
  color: #222;
  font-size: 32px;
  font-weight: 700;
  line-height: 31px;
  letter-spacing: 4.8px;
  display: inline-block;

}

.feature-footer-text{
  color: #222;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  margin-top: 10px;

}

.feature-reduction-title{
  color: #222;
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 29px;
  margin-block: 20px;
}

.feature-reduction{
  margin-bottom: 50px;
}

.feature-reduction img{
  width: 100%;
  height: auto;
}

.feature-advantages{
  display: flex;
  align-items: stretch;
  justify-content: center;
  text-align: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-block: 30px;
}
.feature-advantages-items{
  width: calc(100% / 4 - 15px);
  border-radius: 10px;
  background: #E9F3F9;
  padding-block: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding-inline: 5px;
}

.feature-advantages-items .text{
  color: #222;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 29px;
}

.background-footer.feature{
  border: 2px solid #F79421;
  background: #FFF9F2;
  padding: 28px 0;
}

.background-footer.feature .background-footer-text {
  color: #222;
  border-right: 1px solid #222;
}

.background-footer.feature .background-footer-desc {
  color: #222;
}

.feature-col-text .tick{
  flex-shrink: 0;
}

.feature-mechanisms{
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 15px;
  flex-wrap: wrap;
  margin-top: 35px;
  margin-bottom: 50px;
}

.feature-mechanisms-items{
  width: calc(100% / 3 - 10px);
  position: relative;
  background: #F5F5F5;
}

.feature-mechanisms-num{
  color: #FFF;
  text-align: center;
  -webkit-text-stroke-width: 3px;
  -webkit-text-stroke-color: #4173B0;
  font-family: "din-2014", sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 28px;
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
}

.feature-mechanisms-title{
  background: #4173B0;
  color: #FFF;
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  line-height: 16px;
  padding-block: 25px 19px;
}

.feature-mechanisms-desc{
  color: #222;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  line-height: 25px;
  padding: 20px 5px;
}







@media (max-width: 1200px) {
  .feature-solution-comment{
    top: -60px;
  }
}

@media (max-width: 992px) {
  .feature-footer-title{
    line-height: 32px;
  }

  .feature-col-text .txt{
    font-size: 16px;
  }

  .feature-footer-description .amount{
    font-size: 42px;
    line-height: 40px;
  }

  .feature-mechanisms-title{
    font-size: 20px;
  }

  .feature-mechanisms-desc{
    font-size: 14px;
  }

}


@media (max-width:767px) {
  .feature-bg{
    background-image: url("../images/top/feature-bg-sp.webp");
    background-position: 100% 100%;
  }

  .feature-row{
    flex-direction: column;
    gap: 40px;
    margin-top: 30px;
  }

  .feature-tax-row-wrap{
    overflow-x: scroll;
    margin-top: 30px;
    margin-bottom: 30px;
  }

  .feature-tax-row{
    width: 424px;
    margin-inline: auto;
    margin-block: 0;
  }

  .feature-tax-txt.blc {
    font-size: 16px;
    line-height: 12px;
    padding-block: 14px;
  }

  .feature-tax-txt{
    font-size: 14px;
    padding-block: 12.5px;

  }



  .feature-col{
    width: 100%;
  }

  .feature-col-title{
    font-size: 18px;
    line-height: 13px;
  }

  .feature-col-content{
    padding: 15px 10px;
  }

  .feature-col-text{
    margin-bottom: 15px;
  }

  .feature-col-text .txt{
    font-size: 16px;
  }

  .feature-col-text .tick{
    width: 25px;
    height: 25px;
  }

  .feature-col-text .tick img{
    height: auto;
  }

  .feature-solution{
    padding-block: 25px 20px;
  }

  .feature-solution-title{
    font-size: 22px;
    line-height: 16px;
  }

  .feature-solution-content{
    flex-direction: column;
    margin-top: 15px;
    gap: 10px;
  }

  .feature-solution-content .text{
    padding: 9px 8px;
    font-size: 14px;
    line-height: 10px;
  }

  .feature-solution-content .desc{
    font-size: 18px;
    line-height: 13px;
  }

  .feature-solution-comment{
    background-image: url("../images/top/feature-comment-sp.svg");
    max-width: 170px;
    height: 60px;
    top: -45px;
    left: 50%;
    transform: translateX(-50%);
  }

  .feature-solution-comment .txt{
    padding-top: 14px;
    font-size: 16px;
  }

  .background-footer.bc {
    margin-top: 20px;
    margin-bottom: 75px;
  }

  .feature-tax {
    padding: 20px 10px;
  }

  .feature-heading{
    font-size: 16px;
    padding-block: 10px;
    line-height: 21px;
  }

  .feature-footer{
    flex-direction: column;
    padding: 15px;
    margin-block: 20px;
  }

  .feature-footer-title{
    border-right: unset;
    border-bottom: 1px solid #222;
    width: 100%;
    font-size: 20px;
    line-height: 15px;
    padding: 10px 0 20px;

  }

  .feature-footer-content{
    padding-left: 0;
  }

  .feature-footer-description{
    font-size: 18px;
    text-align: center;
    margin-top: 10px;
  }

  .feature-footer-description .icon{
    font-size: 18px;
    letter-spacing: 4px;
    padding-left: 0;
  }

  .feature-footer-description .amount{
    font-size: 26px;
    line-height: 54px;
  }


  .feature-footer-description .per{
    font-size: 18px;
    line-height: 18px;
  }

  .feature-footer-description .fig{
    font-size: 18px;
    line-height: 18px;

  }

  .feature-footer-text{
    text-align: center;
    margin-top: 0;
  }

  .feature-mechanisms{
    flex-direction: column;
    gap: 30px;
    margin-top: 30px;
    margin-bottom: 30px;
  }

  .feature-mechanisms-items{
    width: 100%;
  }


  .feature-reduction-wrap{
    overflow-x: scroll;
    margin-bottom: 20px;
  }

  .feature-reduction{
    width: 585px;
    margin-bottom: 0;
    margin-inline: auto;
  }

    .feature-reduction img{
      width: 100%;
      object-fit: cover;
    }


  .feature-reduction-title{
    font-size: 14px;
    line-height: 20px;
    margin-block: 10px;
  }

  .feature-advantages{
    gap: 10px;
    margin-block: 10px 20px;
  }

  .feature-advantages-items{
    width: calc(100% / 2 - 5px);
    padding-inline: 22px;
    padding-block: 15px;
  }

  .feature-advantages-items img{
    width: 20px;
    height: 20px;
  }

  .feature-advantages-items .text{
    font-size: 14px;
    line-height: 20px;
  }

  .background-footer.feature .background-footer-text{
    border-right: unset;
    border-bottom: 1px solid #222;
  }

}

.feature-col-image img{
    width: 100%;
    height: auto;
  }

  .feature-tax-image img{
    width: 100%;
    height: auto;
  }


/* flow */

.flow{
  background-image: url("../images/top/flow-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.flow-block{
  margin-top: 30px;
}

.flow-block-steps{
  background: #FFF;
  box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.15);
  padding: 30px;
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}

.flow-block-steps:not(:last-of-type) {
  position: relative;

  &::after {
    content: "";
    width: 140px;
    background: #DAE9F5;
    height: 30px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -30px;

    @media (max-width:767px) {
      bottom: -15px;
      height: 15px;
    }
}

}

.flow-block-steps:last-of-type{
  margin-bottom: 0;
}


.flow-block-content{
  display: flex;
  align-items: center;
  gap: 30px;
  width: 46.3%;
  border-right: 1px solid #4173B0;
  padding-block: 10px;
}

.flow-block-num{
  color: #4173B0;
  text-align: center;
  font-family: "din-2014", sans-serif;
  font-size: 60px;
  font-weight: 700;
  line-height: 40px;
}

.flow-block-label{
  color: #222;
  font-size: 26px;
  font-weight: 700;
  line-height: 19px;
}

.flow-block-label .sm{
  font-size: 22px;
}

.flow-block-desc{
  color: #222;
  font-size: 24px;
  font-weight: 500;
  line-height: 18px;
  padding-left: 30px;
}

.flow-row{
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 30px;
  flex-wrap: wrap;
  margin-top: 30px;
}

.flow-items{
  width: calc(100% / 3 - 20px);
}

.flow-items-title{
  border-radius: 10px 10px 0px 0px;
  background: #4173B0;
  color: #FFF;
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  line-height: 16px;
  padding-block: 22px;
}

.flow-items-text{
  color: #222;
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  line-height: 35px;
  padding-block: 25px;
  background: #FFF;

}

.flow-items-text .big{
  color: #F79421;
  font-size: 26px;
  line-height: 26px;
  display: inline-block;
}

@media (max-width: 992px) {

  .flow-block{
    margin-top: 10px;
  }
 
  .flow-block-label{
    line-height: 25px;
    font-size: 16px;
  }

  .flow-block-label .sm{
    font-size: 14px;
    line-height: 25px;
  }

  .flow-block-desc {
    font-size: 16px;
    line-height: 28px;
  }

  .flow-block-num{
    font-size: 50px;
  }

  .flow-block-steps{
    padding: 30px 10px;
  }

  .flow-block-content{
    gap: 10px;
  }

}

@media (max-width: 767px) {

  .flow{
    background-image: url("../images/top/flow-bg-sp.webp");
    background-position: top;
  }

  .flow-block-steps{
    flex-direction: column;
    padding: 15px;
    gap: 10px;
    margin-bottom: 15px;
  }

  .flow-block-content{
    border-right: unset;
    border-bottom: 1px solid #4173B0;
    padding-block: 0 14px;
    width: 100%;
  }

  .flow-block-num {
    font-size: 34px;
    line-height: 23px;
  }

  .flow-block-label{
    font-size: 18px;
  }

  .flow-block-label .sm{
    font-size: 14px;
  }

  .flow-block-desc{
    font-size: 14px;
    line-height: 10px;
    text-align: start;
    padding-left: 0;
    padding-top: 3px;
    width: 100%
  }

  .flow-row{
    flex-direction: column;
    gap: 10px;
    margin-top: 10px;
  }

  .flow-items{
    width: 100%;
  }

  .flow-items-title{
    font-size: 18px;
    padding-block: 12px;
  }

  .flow-items-text {
    font-size: 18px;   
    line-height: 30px;
    padding-block: 20px;
  }

  .flow-items-text .big{
    font-size: 22px;
    line-height: 22px;
  }

  
}

 .flow-items-image img{
    width: 100%;
    height: auto;
  }


/* Q&A */

.qa{
  margin-top: 30px;
}
.qa-wrapper{
  margin-bottom: 30px;
  box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.15);
  border-radius: 10px;
}

.qa-wrapper:last-of-type{
  margin-bottom: 0;
}


.qa-question {
  cursor: pointer;
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  border-radius: 10px 10px 0px 0px;
  background: #4173B0;
}
 
.qa-text{
  flex: 1;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  text-align: justify;
  padding: 20px 90px 20px 30px; 
  line-height: 38px;
  font-family: YuGothic, 游ゴシック, "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, sans-serif !important;
  position: relative;
}

.qa-text::before{
  content: "";
   background-image: url("../images/top/qa-arrow-up.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 30px;
  height: 30px;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;  
  position: absolute;
  transition: ease all 0.5s;
}


.qa-que{
  font-size: 34px;
  font-weight: 700;
  line-height: 54px;
  color: #fff;
  width: 80px;
  text-align: center;
  font-family: YuGothic, 游ゴシック, "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, sans-serif !important;
}

.qa-icon.active{
 transform: translateY(-50%) rotate(180deg);
  width: 30px;
  height: 30px;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
}

.qa-question.active .qa-text::before{
  transform: translateY(-50%) rotate(180deg);
}
  
.qa-answer {
  border-radius: 0px 0px 10px 10px;
  background: #FFF;
  max-height: 0;
  overflow: hidden;
  text-align: justify;
  transition: max-height 0.2s ease-out;
  display: flex;
  align-items: baseline;
}

.qa-answer-text{
  flex: 1;
  color: #333;
  font-size: 20px;
  text-align: justify;
  line-height: 32px;
  font-weight: 500;
  margin: 0;
  padding: 20px 30px; 
  width: 100%;
  font-family: YuGothic, 游ゴシック, "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, sans-serif !important;

}

.qa-ans{
  text-align: center;
  width: 80px;
  color: #F79421;
  font-family: "Yu Gothic";
  font-size: 34px;
  font-weight: 700;
  line-height: 54px;
  font-family: YuGothic, 游ゴシック, "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, sans-serif !important;
}

.background-heading.qa{
  margin-top: 80px;
}



@media (max-width:767px) {

  .qa{
    margin-top: 10px;
  }

  .qa-wrapper{
    margin-bottom: 10px;
  }
  
  .qa-que{
    font-size: 24px;
    width: 50px;
    line-height: 38px
  }

  .qa-text{
    font-size: 16px;
    padding: 11px 45px 11px 10px;
    line-height: 25px;
  }

  .qa-icon{
    width: 26px;
    height: 26px;
    right: 10px;
  }

  .qa-icon.active{
    width: 26px;
    height: 26px;
    right: 10px;
  }

  .qa-ans{
    font-size: 24px;
    line-height: 38px;
    width: 50px;
  }

  .qa-answer-text{
    font-size: 14px;
    padding: 10px;
    line-height: 22px;
  }

  .background-heading.qa{
    margin-top: 30px;
  }

  .qa-text::before{
    width: 26px;
    height: 26px;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;  
  }


}

