@charset "utf-8";

#contents {
  width: 100%;
}

.main-index {
  width: 100%;
  margin: 0;
  padding: 4rem 0 8rem 0;
}

.main-index .block-column .box-head .catch {
  font-size: 2.4rem;
}

.block-head {
  position: relative;
  margin: 0 0 5rem 0;
}

.block-head::before {
  position: absolute;
  left: calc(50% - 50vw);
  top: 0;
  width: calc(100% + ((100vw - 1100px) / 2) - 2rem);
  height: 100%;
  background: #fff6f6;
  box-sizing: border-box;
  content: "";
  pointer-events: none;
  z-index: -1;
}

.block-head .box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
}

.block-head .box::before {
  position: absolute;
  left: calc(50% - 50vw);
  top: -2rem;
  width: calc(100% + ((100vw - 110rem) / 2));
  height: 100%;
  border: 2px solid var(--color-red);
  content: "";
  pointer-events: none;
}

.block-head .box::after {
  position: absolute;
  left: 60rem;
  bottom: calc(100% + 1.7rem);
  width: auto;
  height: auto;
  color: #e4d3b1;
  font-size: 6.8rem;
  font-weight: 700;
  letter-spacing: 0.3rem;
  line-height: 1.1;
}

.addParts03 .block-head .box::after {
  content: "";
  display: block;
  height: 60px;
  aspect-ratio: 1 / 0.3958;
  background: url(img/add03_bg.png) no-repeat;
  background-size: 100% auto;
}

.addParts09 .block-head .box.txt-1::after {
  content: "TYPE";
}

.addParts09 .block-head .box.txt-2::after {
  content: "INDUSTRY";
}

.block-head .title {
  width: 38rem;
  padding: 2rem 0 6rem 0;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
}

.block-head .title span {
  font-size: 2.4rem;
}

.addParts09 .block-head .title {
  font-size: 3.4rem;
}

.block-head .title a {
  display: block;
  padding: 0 3rem 0 0;
  background: url(img/arrow01_black.svg) no-repeat right center;
  background-size: 20px auto;
  color: inherit;
  text-decoration: none;
  width: fit-content;
}

.block-head .text {
  display: flex;
  align-items: center;
  width: calc(100% - 38rem);
  margin: 0;
  padding: 0 4rem 1rem 3rem;
}

.block-head .text p {
  width: 90%;
  margin-left: 0;
}

/*
.block-head .text p:not([class]) {
    font-size: 1.8rem;
}*/


/*--------------------------------------
visArea
---------------------------------------*/

#visArea {
  background: #f8f9f4;
  background: var(--color-bg-gray) url(img/mv_bg_01.png) no-repeat right center;
  background-size: auto 100%;
  background-position-x: 0 auto;
}

#visArea .mainArea {
  width: 1100px;
  min-height: 46rem;
  margin: 0 auto;
  padding: 5rem 0 10rem 0;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 3rem;
}

#visArea .mainArea:before {
  content: "";
  display: block;
  height: 50px;
  width: 100%;
  background: url(img/logo.png) no-repeat left center;
  background-size: auto 100%;
}

#visArea .mainAreaInner {
  width: 50rem;
}

#visArea .siteName {
  width: 20rem;
  margin: 0 0 1.5rem 0;
}

#visArea .title {
  margin: 0 0 2rem 0;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.7;
}

#visArea .title span {
  background: var(--color-red);
  color: #ffffff;
  font-size: 3.6rem;
  padding: 0 0.5rem;
  margin-right: 0.5rem;
}

#visArea p:not([class]) {
  margin: 0 0 1rem;
}

#visArea p:not([class]) .txt-1 {
  border-bottom: 3px solid #eade7e;
}

#visArea p:not([class]) .txt-2 {
  border-bottom: 3px solid #eade7e;
  font-weight: 700;
}

.mainTxtBox span {
  background: none;
  border-bottom: 3px solid var(--color-d-span);
  font-weight: bold;
}

.mainTxtBox {
  position: relative;
}

.tsmall {
  font-size: 80%;
  margin-left: 0.1rem;
}

.mainTxtBox:after {
  content: "";
  display: block;
  height: 60px;
  aspect-ratio: 1/0.727;
  background: url(img/mv_bg_01_arrow.png) no-repeat;
  background-size: 100% auto;
  position: absolute;
  bottom: -100px;
  left: 0;
  right: 0;
  margin: auto;
}

/*--------------------------------------
addParts02
---------------------------------------*/

.addParts02 {
  position: relative;
  padding: 10rem 0;
}

.addParts02::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100%;
  background: #f8edee url(img/add02_bg_01.png) no-repeat center top;
  background-size: 100% auto;
  content: "";
  z-index: -3;
}

.addParts02::after {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100vw;
  height: 50%;
  background: #f8edee url(img/add02_bg_01down.png) no-repeat center bottom;
  background-size: 100% auto;
  content: "";
  z-index: -2;
}

.addParts02-company {
  position: relative;
  margin: 0 0 10rem 0;
  padding: 4rem 4rem 8rem 4rem;
  background: #fff;
  z-index: -2;
}

.addParts02-company:last-child {
  margin: 0;
}

.addParts02 .catch-1 {
  margin: 0 0 3rem 0;
  color: #ca9e43;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.addParts02 .catch-2 {
  position: relative;
  max-width: 54rem;
  margin: 0.8rem auto 3rem auto;
  padding: 1rem 2rem 2rem 2rem;
  border: 1px solid #000;
  border-radius: 0.8rem;
  color: #353535;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.addParts02 .catch-2::before {
  position: absolute;
  left: -0.8rem;
  top: -0.8rem;
  width: 100%;
  height: 100%;
  background: #fff6f6;
  border-radius: 0.8rem;
  content: "";
  z-index: -1;
}

.addParts02 .catch-2 span {
  color: var(--color-red);
}

.addParts02 .catch-2::after {
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  width: 1.5rem;
  height: 1rem;
  background: url(img/title_bg_01.png) no-repeat left top;
  background-size: auto 100%;
  content: "";
}

.addParts02 .name {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.addParts02 .name sup {
  display: block;
  line-height: 0.2;
  width: 100%;
  font-size: 12px;
}

.addParts02 .name span {
  background: linear-gradient(transparent 70%, #eecdff 70%);
}

.addParts02 .title {
  position: relative;
  margin: 7.5rem 0 7.5rem 0;
  color: var(--color-black);
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.addParts02 .title::before {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: -2rem;
  width: 100%;
  height: 8rem;
  content: "";
  z-index: -1;
}

.addParts02 .title.txt-1::before {
  background: url(img/add02_bg_03.png) no-repeat center center;
  background-size: contain;
}

.addParts02 .title.txt-2::before {
  background: url(img/add02_bg_03.png) no-repeat center center;
  background-size: contain;
}

.addParts02 .title.txt-3::before {
  background: url(img/add02_bg_03.png) no-repeat center center;
  background-size: contain;
}

.addParts02 .title.txt-4::before {
  background: url(img/add02_bg_03.png) no-repeat center center;
  background-size: contain;
}

.block-voice .box {
  margin: 0 0 2.5rem 0;
  padding: 3rem 4rem 3rem 16rem;
  background: url(img/add02_bg_07.png) no-repeat 4rem 4rem;
  background-size: 85px auto;
  border: 1px solid #000;
}

.block-voice .box:last-child {
  margin: 0;
}

.block-voice .box .ttl {
  margin: 0 0 1.5rem 0;
  color: var(--color-red);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
}

.block-voice .box p:not([class]) {
  margin: 1.5rem 0;
}

.block-voice .box .caption {
  margin: 2.5rem 0 0 0;
  text-align: right;
}

.block-point {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 8rem 0 0 0;
}

.block-point .box {
  position: relative;
  width: calc((100% - 2.4rem) / 2);
  /*padding: 4rem 2.5rem 3rem 2.5rem;
    background: #f5f5f5;*/
}

.block-point .box table {
  margin: 0
}

.mvm {
  max-width: 1000px;
  margin: auto;
}

.block-point .box::before {
  position: absolute;
  left: 3rem;
  top: -3rem;
  width: 8.4rem;
  height: 4.6rem;
  content: "";
}

/*.block-point .box:nth-child(1)::before {
    background: url(img/add02_bg_08.png) no-repeat left top;
    background-size: contain;
}

.block-point .box:nth-child(2)::before {
    background: url(img/add02_bg_09.png) no-repeat left top;
    background-size: contain;
}*/

.block-point .box-head {
  display: flex;
  align-items: center;
  margin: 0 0 2rem 0;
}

.block-point .box-head .ttl {
  color: var(--color-red);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
}

.block-point .box-body p:not([class]) {
  margin: 1.5rem 0;
}

.addParts02 table th {
  width: 14rem;
}

.addParts02 .float-wrap .fr {
  width: 50rem;
}

.tag-area {
  background: var(--color-bg-gray);
  padding: 1.5rem;
  display: flex;
  align-content: center;
}

.tag-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  width: fit-content;
  max-width: 1000px;
}

.tag-box {
  background: var(--color-red);
  color: #ffffff;
  font-weight: bold;
  border-radius: 5px;
  padding: 0.5rem 1rem;
  width: fit-content;
}

.date-tag-wrap {
  width: 100%;
  margin: 60px auto;
}

.date-tag-wrap .date-title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 20px;
}

.date-tags {
  background: var(--color-bg-gray);
  padding: 2rem 4rem;
  padding-bottom: 1rem;
  display: flex;
}

.date-tag-wrap .tags-inline {
  margin: 0;
  padding: 0;
}

.date-tag-wrap .tags-inline .tags-inline-list {
  margin: 0 1rem 1rem 0;
  padding: 0.5rem 3rem;
  display: inline-block;
  text-align: center;
  position: relative;
  align-items: center;
  background: var(--color-red);
  color: #ffffff;
  box-sizing: border-box;
  border-radius: 5px;
  font-weight: bold;
}

/*--------------------------------------
popup
---------------------------------------*/

.fixed {
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
}

.block-popup {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 2rem;
}

.block-popup .box {
  position: relative;
  margin: 0 2.5rem 2.5rem 0;
  width: 14rem;
  height: 14rem;
}

.block-popup .box:nth-child(6n) {
  margin: 0 0 2.5rem 0;
}

.block-popup .box:hover {
  cursor: pointer;
}

.block-popup .item {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 14rem;
  height: 14rem;
  padding: 1rem;
  background: #543b9a;
  border-radius: 50%;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  transition: 0.2s;
}

.block-popup .item::before {
  position: absolute;
  right: 0.8rem;
  bottom: 1.4rem;
  width: 2.1rem;
  height: 2.1rem;
  background: url(img/add02_bg_02.png) no-repeat left top;
  background-size: contain;
  content: "";
}

.block-popup .item:hover {
  opacity: 0.7;
}

.block-popup .item a {
  display: block;
  width: 100%;
  line-height: 1.4;
  text-align: center;
}

.block-popup .box-item {
  display: none;
  position: absolute;
  left: 0;
  bottom: calc(100% + 0.8rem);
  width: 30rem;
  padding: 1.5rem;
  color: #fff;
  background: rgba(85, 85, 85, 0.9);
  border-radius: 1rem;
  z-index: 1;
}

.block-popup .box-item p:not([class]),
.block-popup .box-item ul:not([class]) {
  margin: 0;
}

.block-popup .box-item ul:not([class]) li {
  margin: 0;
}


/*--------------------------------------
addParts03
---------------------------------------*/

.addParts03 {
  padding: 18rem 0 6rem 0;
  /*background: url(img/add09_bg_01.png) no-repeat right bottom;*/
}

.addParts03 .block {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1.5rem;
}

.addParts03 .block::after {
  display: block;
  width: calc((100% - 3rem) / 3);
  content: "";
}

.addParts03 .block .box {
  width: calc((100% - 3rem) / 3);
  padding: 2.5rem 1.5rem;
  background: #ffffff;
  border: 1px solid var(--color-black);
}

.addParts03 .block .box-head {
  display: flex;
  align-items: center;
  margin: 0 0 2rem 0;
}

.addParts03 .block .box-head .ttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  width: 100%;
  text-align: center;
}

.addParts03 .block .box-head .ttl a {
  display: block;
  background: url(img/arrow01_black.svg) no-repeat right center;
  background-size: 20px auto;
}

.addParts03 .block .box-body p:not([class]) {
  margin: 0 0 2rem 0;
}

.addParts03 .block .box-body p:not([class]):last-child {
  margin: 0;
}

.addParts03 .block .box .float-wrap {
  margin: auto;
}

.addParts03 .block .box .float-wrap .ct {
  width: auto;
}

.addParts03 .block .box .btn-link {
  text-align: left;
  margin-bottom: 0;
}

.tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 2rem 0;
}

.tags::after {
  display: block;
  width: calc((100% - 1rem) / 2);
  content: "";
}

.tags .tag {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc((100% - 1rem) / 2);
  padding: 1rem 0.5rem;
  background: var(--color-red);
  border-radius: 0.6rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  font-size: 15px;
}

.tags .tag.off {
  background: #b9b9b9;
}


/*--------------------------------------
addParts04
---------------------------------------*/

.addParts04 {
  padding: 10rem 0 0 0;
  /*background: url(img/add09_bg_01.png) no-repeat right bottom;*/
}

.addParts04 .block {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 6rem 0;
}

.addParts04 .block .box-fig {
  width: 53rem;
  padding: 2rem 0 0 0;
  text-align: center;
}

.addParts04 .block .box-txt {
  width: calc(100% - 53rem);
  padding: 0 7rem 0 0;
}

.addParts04 .block .ttl {
  position: relative;
  margin: 0 0 3rem 0;
  padding: 0 0 7rem 2rem;
  color: #353535;
  font-size: 3.6rem;
  font-weight: 700;
  letter-spacing: 0.2rem;
  line-height: 1.4;
}

.addParts04 .block .ttl::before {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 8.8rem;
  background: #ddd9eb;
  content: "";
  z-index: -1;
}

.addParts04 .block .ttl::after {
  position: absolute;
  left: 0;
  bottom: 1.5rem;
  width: calc(100% + 3rem);
  height: 4rem;
  padding: 1rem 0 0 3rem;
  border-top: 2px solid #1f1f21;
  box-sizing: border-box;
  color: #353535;
  font-size: 1.8rem;
  font-weight: normal;
  content: "COMPANY";
}

.addParts04 .block .ttl a {
  display: inline-block;
  padding: 0 4rem 0 0;
  background: url(img/arrow01_black.svg) no-repeat right center;
  background-size: 20px auto;
  color: inherit;
  text-decoration: none;
}

.addParts04 .block p:not([class]) {
  margin: 0 0 0 1rem;
}


/*--------------------------------------
addParts05
---------------------------------------*/

.addParts05 {
  padding: 10rem 0 0 0;
  /*background: url(img/add09_bg_01.png) no-repeat right bottom;*/
}

.main-index .addParts05 h3:not([class]) {
  margin: 5rem 0 3rem 0;
}

.addParts05 .box-wrap {
  margin: 0 10rem;
}

.addParts05 .box-wrap .box {
  width: calc((100% - 12rem) / 2);
  margin: 0 0 5rem 0;
  padding: 0;
}

.addParts05 .box-wrap .box:nth-child(odd)::before {
  right: -5.9rem;
  border-right: 1px solid #d7d7d7;
}

.addParts05 .box-wrap .box-head .ttl {
  color: #543b9a;
}

.addParts05 .box-wrap .box-head .ttl span {
  background: linear-gradient(transparent 80%, var(--color-l-span) 80%);
}

.addParts05 .block-column {
  margin: 0;
}


/*--------------------------------------
addParts06
---------------------------------------*/

.addParts06 {
  padding: 10rem 0 0 0;
  /*background: url(img/add09_bg_01.png) no-repeat right bottom;*/
}

.main-index .addParts06 h4:not([class]) {
  font-size: 2.4rem;
}

.main-index .addParts06 h4:not([class]) span {
  font-size: 1.8rem;
}

.addParts06 .box-wrap {
  margin: 5rem 3rem 0 3rem;
}

.addParts06 .box-wrap .box {
  width: calc((100% - 8rem) / 2);
}

.addParts06 .box-wrap .box:nth-child(odd)::before {
  right: -3.9rem;
  border-right: 1px solid #d7d7d7;
}

.addParts06 .box-wrap .box-head .ttl {
  justify-content: left;
  text-align: left;
}

.addParts06 .float-wrap {
  margin: 0 2rem;
}

.addParts06 .float-wrap .fl {
  width: 30rem;
}


/*--------------------------------------
addParts07
---------------------------------------*/

.addParts07 {
  padding: 10rem 0 0 0;
  background: url(img/add09_bg_01.png) no-repeat right bottom;
}

.addParts07 .accordion-btn {
  margin: 5rem auto 0 auto;
}

.addParts03 .accordion-btn {
  margin-top: 3rem;
}

/*--------------------------------------
addParts08
---------------------------------------*/

.addParts08 {
  padding: 6rem 0 6rem 0;
  background: #fff9f9;
}

.addParts08 .box-wrap {
  margin: 4rem 3rem 0 3rem;
}

.addParts08 .box-wrap .box {
  width: calc((100% - 8rem) / 2);
}

.addParts08 .box-wrap .box:nth-child(odd)::before {
  right: -3.9rem;
  border-right: 1px solid #d7d7d7;
}

.addParts08 .box-wrap .box-head .ttl {
  justify-content: left;
  color: #543b9a;
  text-align: left;
}

.addParts08 .accordion-btn {
  margin: 0 auto;
}

.addParts08 .box-wrap .box p:not([class])>span:not([class]) {
  background: linear-gradient(transparent 80%, #d8c1e4 80%);
}

.addParts08 .accordion-btn {
  background-color: #f4d9d9;
}

/*--------------------------------------
addParts09
---------------------------------------*/

.addParts09 {
  padding: 18rem 0 0 0;
  /*background: url(img/add09_bg_01.png) no-repeat right bottom;*/
}

.addParts09 .block {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.addParts09 .block::after {
  display: block;
  width: calc((100% - 8rem) / 3);
  content: "";
}

.addParts09 .block .box {
  width: calc((100% - 8rem) / 3);
  margin: 0 0 6rem 0;
}

.addParts09 .block .box-head {
  margin: 0 0 2.5rem 0;
}

.addParts09 .block .box-head .fig {
  margin: 0 0 2.5rem 0;
  text-align: center;
}

.addParts09 .block .box-head .ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #353535;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.addParts09 .block .box-head .ttl a {
  display: block;
  width: 100%;
  padding: 0 3rem 0 0;
  background: url(img/arrow01_black.svg) no-repeat right center;
  background-size: 20px auto;
  color: inherit;
  text-decoration: none;
}

.addParts09 .block .box-body p:not([class]) {
  margin: 0;
}


/*--------------------------------------
addParts10
---------------------------------------*/

.addParts10 {
  padding: 10rem 0 0 0;
  /*background: url(img/add09_bg_01.png) no-repeat right bottom;*/
}

.addParts10 .float-wrap .ct {
  width: 62.5rem;
}

.addParts10 .float-wrap p:not([class]) {
  width: 80%;
  margin: 0 auto;
  text-align: left;
}


@media screen and (max-width: 480px) {
  .main-index {
    padding: 0;
  }

  .main-index .block-column .box-head .catch {
    font-size: 1.8rem;
  }

  .block-head {
    margin: 6rem 0 3rem 0;
  }

  .block-head::before {
    left: -1rem;
    width: calc(100% - 1.2rem);
  }

  .block-head .box::before {
    left: -1.2rem;
    top: -1.2rem;
    width: 100%;
  }

  .block-head .box::after {
    left: 0;
    bottom: calc(100% + 0.8rem);
    font-size: 3rem;
  }

  .block-head .title {
    width: 100%;
    padding: 1.5rem 3rem 1.5rem 1rem;
    font-size: 2.4rem;
    letter-spacing: 0;
  }

  .addParts09 .block-head .title {
    font-size: 2.4rem;
  }

  .block-head .title span {
    font-size: 1.8rem;
  }

  .block-head .title a {
    padding: 0 2rem 0 0;
    background-size: 16px auto;
  }

  .block-head .text {
    display: block;
    width: 100%;
    padding: 0 3rem 3rem 1rem;
  }

  .block-head .text p:not([class]) {
    margin: 0;
    /*font-size: 1.4rem;*/
  }

  /*--------------------------------------
visArea
---------------------------------------*/
  #visArea {
    padding: 0rem 1rem 1.5rem 1rem;
    background: var(--color-bg-gray);
  }

  #visArea .mainArea {
    width: 100%;
    min-height: auto;
    margin: 0 auto;
    padding: 0;
    background: none;
    flex-direction: column;
    gap: 1.5rem;
    position: relative;
  }

  #visArea .mainArea:before {
    content: "";
    display: block;
    height: 120px;
    width: calc(100% + 2rem);
    margin-left: -1rem;
    background: url(img/logo.png) no-repeat left 3rem center;
    background-size: 50vw auto;
    position: relative;
    z-index: 2;
  }

  #visArea .mainArea:after {
    content: "";
    display: block;
    height: 100px;
    width: calc(100% + 2rem);
    margin-left: -1rem;
    background: url(img/mv_bg_01.png) no-repeat right center;
    background-size: auto 100%;
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
  }

  #visArea .mainAreaInner {
    width: 100%;
  }

  #visArea .siteNameAreaInner {
    display: flex;
    align-items: center;
    width: 100%;
    height: 10rem;
    margin: 0 0 2rem 0;
    padding: 0 0 0 2rem;
    background: url(img/mv_bg_01.png) no-repeat right 1rem center;
    background-size: auto 100%;
  }

  #visArea .siteName {
    width: 16rem;
    margin: 0;
  }

  #visArea .title {
    margin: 0 0 1.5rem 0;
    font-size: 1.8rem;
  }

  #visArea .title span {
    font-size: 2.1rem;
  }

  /*--------------------------------------
addParts02
---------------------------------------*/
  .addParts02 {
    padding: 2rem 0;
  }

  .addParts02-company {
    margin: 6rem 0 6rem 0;
    padding: 2rem 1.5rem 3rem 1.5rem;
  }

  .addParts02-company .col3-catch {
    width: calc(100% + 3rem);
    margin-left: -1.5rem;
    margin-top: -1.5rem;
    margin-bottom: 4.5rem;
  }

  .addParts02 .catch-1 {
    margin: 0 0 2rem 0;
    font-size: 2.1rem;
  }

  .addParts02 .catch-2 {
    max-width: 100%;
    font-size: 1.8rem;
  }

  .addParts02 .title {
    margin: 4rem 0 3rem 0;
    font-size: 2rem;
  }

  .addParts02 .title::before {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 4rem;
  }

  .block-voice .box {
    margin: 0 0 2.5rem 0;
    padding: 2rem;
    background: none;
  }

  .block-voice .box:last-child {
    margin: 0;
  }

  .block-voice .box .ttl {
    padding: 0 0 0 5rem;
    background: url(img/add02_bg_07.png) no-repeat left 0.5rem;
    background-size: 42px auto;
  }

  .block-voice .box .caption {
    margin: 2rem 0 0 0;
    text-align: left;
  }

  .block-point {
    display: block;
    margin: 0;
  }

  .block-point .box {
    width: 100%;
    margin: 5rem 0 0 0;
    padding: 4rem 2rem 2rem 2rem;
  }

  .addParts02-company .block-point .box {
    margin-top: 0;
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .date-tags {
    padding: 1rem;
    padding-bottom: 0;
  }

  .date-tag-wrap .tags-inline .tags-inline-list {
    padding: 0.5rem 1rem;
    margin-right: 0;
    width: 100%;
  }

  .addParts02 table th {
    width: 8em;
    padding: 1rem 0.5rem;
    line-height: 1.4;
  }

  .addParts02 table td {
    padding: 1rem;
    line-height: 1.4;
  }

  .addParts02 .float-wrap .fr {
    width: 100%;
  }

  /*--------------------------------------
popup
---------------------------------------*/
  .block-popup {
    margin: 0;
  }

  .block-popup::after {
    display: block;
    width: calc((100% - 3rem) / 3);
    content: "";
  }

  .block-popup .box {
    position: relative;
    margin: 0 0 2rem 0;
    width: calc((100% - 3rem) / 3);
    height: auto;
  }

  .block-popup .box:nth-child(6n) {
    margin: 0 0 2rem 0;
  }

  .block-popup .item {
    width: 100%;
    height: auto;
    font-size: 1.5rem;
    aspect-ratio: 1 / 1;
  }

  .block-popup .item::before {
    right: 0.2rem;
    bottom: 0.6rem;
  }

  .block-popup .item:hover {
    opacity: 1;
  }

  /*--------------------------------------
addParts03
---------------------------------------*/
  .addParts03 {
    padding: 2rem 0;
    background-size: 50%;
  }

  .addParts03 .block {
    display: block;
  }

  .addParts03 .block::after {
    display: none;
  }

  .addParts03 .block .box {
    width: 100%;
    margin: 0 0 3rem 0;
    padding: 2rem;
  }

  .addParts03 .block .box:last-child {
    margin: 0;
  }

  .addParts03 .block .box-head {
    display: flex;
    align-items: center;
    margin: 0 0 2rem 0;
  }

  .addParts03 .block .box-head .ttl {
    font-size: 1.8rem;
  }

  /*--------------------------------------
addParts04
---------------------------------------*/
  .addParts04 {
    padding: 2rem 0 0 0;
    background-size: 50%;
  }

  .addParts04 .block {
    display: block;
    margin: 0 0 6rem 0;
  }

  .addParts04 .block .box-fig {
    width: 100%;
    padding: 2rem 0 0 0;
  }

  .addParts04 .block .box-txt {
    width: 100%;
    padding: 0;
  }

  .addParts04 .block .ttl {
    margin: 0 0 2rem 0;
    padding: 0 0 6.4rem 1rem;
    font-size: 2.4rem;
    letter-spacing: 0;
  }

  .addParts04 .block .ttl::before {
    height: 7.2rem;
  }

  .addParts04 .block .ttl::after {
    width: calc(100% + 1rem);
    font-size: 1.5rem;
  }

  .addParts04 .block .ttl a {
    padding: 0 3rem 0 0;
    background-size: 16px auto;
  }

  .addParts04 .block p:not([class]) {
    margin: 0;
  }

  /*--------------------------------------
addParts05
---------------------------------------*/
  .addParts05 {
    padding: 2rem 0 0 0;
    background-size: 50%;
  }

  .main-index .addParts05 h3:not([class]) {
    margin: 5rem 0 3rem 0;
  }

  .addParts05 .box-wrap {
    margin: 0;
  }

  .addParts05 .box-wrap .box {
    width: 100%;
    margin: 0 0 3rem 0;
    padding: 0 0 2.5rem 0;
    border-bottom: 1px solid #d7d7d7;
  }

  .addParts05 .box-wrap .box:nth-child(odd)::before {
    right: -5.9rem;
    border-right: 1px solid #d7d7d7;
  }

  .addParts05 .box-wrap .box-head .ttl {
    color: #543b9a;
  }

  .addParts05 .box-wrap .box-head .ttl span {
    background: linear-gradient(transparent 80%, var(--color-l-span) 80%);
  }

  /*--------------------------------------
addParts06
---------------------------------------*/
  .addParts06 {
    padding: 2rem 0 0 0;
    background-size: 50%;
  }

  .main-index .addParts06 h4:not([class]) {
    font-size: 1.8rem;
  }

  .main-index .addParts06 h4:not([class]) span {
    font-size: 1.5rem;
  }

  .addParts06 .box-wrap {
    margin: 3rem 0 0 0;
  }

  .addParts06 .box-wrap .box {
    width: 100%;
    border-bottom: 1px solid #d7d7d7;
  }

  .addParts06 .box-wrap .box:nth-child(odd)::before {
    display: none;
    content: none;
  }

  .addParts06 .box-wrap .box-head .ttl {
    justify-content: left;
    text-align: left;
  }

  .addParts06 .float-wrap {
    margin: 0;
  }

  .addParts06 .float-wrap .fl {
    width: 100%;
  }

  /*--------------------------------------
addParts07
---------------------------------------*/
  .addParts07 {
    padding: 2rem 0 0 0;
    background-size: 50%;
  }

  .addParts07 .accordion-btn {
    margin: 4rem auto 0 auto;
  }

  /*--------------------------------------
addParts08
---------------------------------------*/
  .addParts08 {
    padding: 5rem 0 0 0;
    background-size: 50%;
  }

  .addParts08 .box-wrap {
    margin: 4rem 0 0 0;
  }

  .addParts08 .box-wrap .box {
    width: 100%;
    border-bottom: 1px solid #d7d7d7;
  }

  .addParts08 .box-wrap .box:nth-child(odd)::before {
    display: none;
    content: none;
  }

  /*--------------------------------------
addParts09
---------------------------------------*/
  .addParts09 {
    padding: 5rem 0 0 0;
    background-size: 50%;
  }

  .addParts09 .block {
    display: block;
  }

  .addParts09 .block::after {
    display: none;
  }

  .addParts09 .block .box {
    width: 100%;
    margin: 0 0 4rem 0;
  }

  .addParts09 .block .box:last-child {
    margin: 0;
  }

  .addParts09 .block .box-head {
    margin: 0 0 2rem 0;
  }

  .addParts09 .block .box-head .fig {
    margin: 0 0 2rem 0;
  }

  .addParts09 .block .box-head .ttl {
    font-size: 1.8rem;
  }

  .addParts09 .block .box-head .ttl a {
    padding: 0 2rem 0 0;
    background-size: 16px auto;
  }

  /*--------------------------------------
addParts10
---------------------------------------*/
  .addParts10 {
    padding: 8rem 0 0 0;
    background-size: 50%;
  }

  .addParts10 .float-wrap .ct {
    width: 100%;
  }

  .addParts10 .float-wrap p:not([class]) {
    width: 100%;
    text-align: left;
  }

}
