.mainContents {
  overflow: initial;
}
.innerLead {
  padding-bottom: 65px;
  border-bottom: 1px solid #000;
}
.innerLead h2 {
  margin: 67px 0 17px;
}
.innerLead h2 span {
  background: #000;
  color: #fff;
  font-size: 2.5rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  padding: 0 4px;
}
.contentsBlock {
  padding: 0 3%;
  overflow-x: clip;
  overflow-y: visible;
  border-bottom: 1px solid #000;
}
.visionBlock {
  background: #e6e7e6;
  padding: 62px 3% 6px;
  border-bottom: 1px solid #000;
  position: relative;
}
.visionBlock::after {
  content: "";
  background: url(../img/about-us/title_bg_w.png) no-repeat right 0;
  background-size: auto 68px;
  position: absolute;
  max-width: 5000px;
  height: 68px;
  width: 200vw;
  top: 37px;
  left: -100%;
}
.visionWrap {
  max-width: 880px;
  padding-left: 10%;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.visionBlock h3 {
  position: relative;
  z-index: 2;
  border-left: 8px solid #e60033;
  font-size: 2rem;
  font-weight: bold;
  padding: 26px 0 22px 12px;
  margin-bottom: 24px;
}
.visionBlock h4 {
  margin-bottom: 38px;
  line-height: 1.889;
  letter-spacing: 0.2em;
}
.visionBlock h4 span {
  font-size: 4.5rem;
  font-size: clamp(3.6rem,3.51vw,4.5rem);
  font-weight: bold;
  background-image: linear-gradient(transparent 50%, #fff 50%);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 0 100%;
  transition: background-size .8s;
}
.visionBlock h4.show span {
  background-size: 100% 100%;
}
.visionBlock h4 .paragraph {
  background: none;
}
.visionBlock li {
  display: flex;
  margin-bottom: 35px;
}
.visionBlock li .circleWrap {
  width: 33px;
  height: 33px;
  border-radius: 50%;
  aspect-ratio: 1/1;
  margin-right: 20px;
  position: relative;
}
.visionBlock li .circleWrap svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 33px;
  height: 33px;
  display: block;
  pointer-events: none;
}
.visionBlock li .circleWrap .circleRect{
  fill: none;
  stroke: #e60033;
  stroke-width: 1;
  stroke-opacity: 0.5;
  vector-effect: non-scaling-stroke;
  shape-rendering: geometricPrecision;
  stroke-dasharray: 128;
  stroke-dashoffset: 128;
  transition-property: stroke-dashoffset;
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(.2, .8, .2, 1);
}
.visionBlock li.show .circleWrap .circleRect{
  stroke-dashoffset: 0;
}
.visionBlock li h5 {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 14px;
}
.visionBlock li h5 span {
  font-weight: bold;
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 0 100%;
  transition: background-size .8s .2s ease;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: 3px 0 3px 8px;
}
.visionBlock li.vision01 h5 span {
  background-image: linear-gradient(90deg, #f0b091, #f0b091);
}
.visionBlock li.vision02 h5 span {
  background-image: linear-gradient(90deg, #92bacc, #92bacc);
}
.visionBlock li.vision03 h5 span {
  background-image: linear-gradient(90deg, #cfd584, #cfd584);
}
.visionBlock li.show h5 span {
  background-size: 100% 100%;
}
.visionBlock li p {
  font-size: 1.6rem;
  line-height: 1.563;
  max-width: 670px;
}
.atFirstContents {
  max-width: 1130px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  letter-spacing: 0.06em;
}
.atFirstContents .anchor {
  margin-top: -80px;
  padding-top: 80px;
}
.atFirstContents .sideBar {
  position: sticky;
  top: 25px;
  padding-top: 75px;
  width: 20%;
  max-width: 245px;
  z-index: 5;
}
.atFirstContents .sideBar li {
  margin-bottom: 12px;
  text-indent: -1em;
  padding-left: 1em;
}
.atFirstContents .sideBar li a {
  font-size: 1.5rem;
  font-size: clamp(1.3rem,1.17vw,1.5rem);
  font-weight: bold;
}
.atFirstContents .sideBar .is-content02 li a,
.atFirstContents .sideBar .is-content04 li a {
  color: #fff;
}
.atFirstContents .sideBar li.current a {
  color: #e60033;
}
.atFirstContents .mainBlock {
  width: 78.5%;
  max-width: 885px;
}
.contentWrap {
  position: relative;
}
.contentInner {
  position: relative;
  z-index: 2;
}
.contentWrap.lineBg::before {
  display: none;
}
.contentWrap.lineBg::after {
  mask-size: 968px auto;
  mask-repeat: no-repeat;
  mask-position: 0 bottom;
  height: 236px;
  top: 0;
  right: -79.2%;
  transform: scale(-1, 1);
}
.contentWrap01 {
  padding: 44px 0 38px;
}
.contentWrap01 .titleBlock {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
  position: relative;
  z-index: 2;
}
.contentWrap01 .titleBlock .imgBox {
  width: 42.8%;
}
.contentWrap01 .titleBlock .txtBox {
  width: 53.6%;
  padding-top: 14%;
}
.contentWrap01 .titleBlock .txtBox .eTxt {
  color: #e60033;
  font-size: 2rem;
  letter-spacing: 0.22em;
  font-weight: 300;
  margin-bottom: 2px;
}
.contentWrap01 .titleBlock .txtBox h3 {
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 28px;
}
.contentWrap01 .titleBlock .txtBox h4 {
  margin-bottom: 26px;
}
.contentWrap01 .titleBlock .txtBox h4 span {
  font-size: 2.5rem;
  font-weight: 500;
  background-image: linear-gradient(90deg, #000, #000);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 0 100%;
  transition: background-size .8s;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: 0 0 0 8px;
}
.contentWrap01 .titleBlock.show .txtBox h4 span {
  color: #fff;
  background-size: 100% 100%;
}
.contentWrap01 .titleBlock .txtBox .note {
  font-size: 1.6rem;
  line-height: 1.563;
  max-width: 410px;
}
.contentWrap01 .slideWrap {
  position: relative;
}
.contentWrap01 .slideWrap.isMoved::before {
  content: "";
  width: 80px;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
  background: linear-gradient(to right,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
}
.contentWrap01 .slideList {
  display: flex;
  overflow-x: auto;
  --endGap: 0px;
  padding-right: var(--endGap);
  margin-bottom: 15px;
  padding-bottom: 20px;
}
.contentWrap01 .slideList .box {
  flex: 0 0 auto;
  width: 350px;
  border: 1px solid #000;
  flex-shrink: 0;
  padding: 27px 0 74px;
  margin-right: 20px;
  position: relative;
}
.contentWrap01 .slideList .box::before {
  content: "";
  background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2034%208%22%3E%20%3Ccircle%20cx%3D%2221%22%20cy%3D%224%22%20r%3D%224%22%2F%3E%20%3Ccircle%20cx%3D%224%22%20cy%3D%224%22%20r%3D%224%22%2F%3E%3C%2Fsvg%3E') repeat-x;
  background-size: contain;
  position: absolute;
  right: -74px;
  top: 56px;
  width: 125px;
  height: 4px;
  z-index: 2;
}
.contentWrap01 .slideList .box:last-of-type::before {
  display: none;
}
.contentWrap01 .slideList .box::after {
  content: "";
  position: absolute;
  right: -40px;
  top: 50%;
  transform: translateY(-50%);
  width: 55px;
  height: 55px;
  background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%20110%20110%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%20%7B%20fill%3A%20%23fff%3B%20fill-rule%3A%20evenodd%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%3E%20%3Cg%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M55%2C.5c29.8%2C0%2C54%2C24.4%2C54%2C54.5s-24.2%2C54.5-54%2C54.5S1%2C85.1%2C1%2C55%2C25.2.5%2C55%2C.5Z%22%2F%3E%20%3Cpath%20d%3D%22M55%2C110.5C24.7%2C110.5%2C0%2C85.6%2C0%2C55S24.7-.5%2C55-.5s55%2C24.9%2C55%2C55.5-24.7%2C55.5-55%2C55.5ZM55%2C1.5C25.8%2C1.5%2C2%2C25.5%2C2%2C55s23.8%2C53.5%2C53%2C53.5%2C53-24%2C53-53.5S84.2%2C1.5%2C55%2C1.5Z%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_11%22%3E%20%3Cpath%20d%3D%22M71.9%2C53.6c-2.9-2-6.3-5.5-9-9l2.9-1.8c3.7%2C4.7%2C8.8%2C9.4%2C13.7%2C12.2-4.7%2C3.1-10%2C7.6-13.7%2C12.2l-2.9-1.8c2.5-3.3%2C6.1-6.7%2C9-9H30.5v-3.3h41.6v.4h-.2Z%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat;
  background-size: contain;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s;
  z-index: 2;
}
.contentWrap01 .slideList .box:last-of-type::after {
  display: none;
}
.contentWrap01 .slideList.isShow .box::after{
  opacity: 1;
  animation: blinkSoft 1.5s ease-in-out 3 forwards;
}
@keyframes blinkSoft {
  0%   { opacity: 1; }
  50%  { opacity: 0; }
  100% { opacity: 1; }
}
.contentWrap01 .slideList .box .year {
  text-align: center;
  font-size: 4rem;
  font-weight: 500;
  letter-spacing: 0;
  color: #e60033;
  margin-bottom: 8px;
}
.contentWrap01 .slideList .box .titleBox {
  width: 270px;
  min-height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #000;
  background: #f3f3f3;
  font-size: 2rem;
  font-weight: bold;
  margin: 0 auto 36px;
}
.contentWrap01 .slideList .box h4 {
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 28px;
}
.contentWrap01 .slideList .box .note {
  width: 83%;
  margin: 0 auto;
  font-size: 1.6rem;
  line-height: 1.563;
}
.contentWrap01 .toFace {
  margin-bottom: 100px;
}
.contentWrap01 .toFace h3 {
  margin-bottom: 40px;
}
.contentWrap01 .toFace h3 span {
  font-size: 2.5rem;
  font-weight: 500;
  background-image: linear-gradient(90deg, #000, #000);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 0 100%;
  transition: background-size .8s;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: 0 7px 0 13px;
}
.contentWrap01 .toFace.show h3 span {
  color: #fff;
  background-size: 100% 100%;
}
.contentWrap01 .toFace .details {
  display: flex;
  justify-content: space-between;
  margin-bottom: 35px;
}
.contentWrap01 .toFace .details .imgBox {
  width: 43%;
}
.contentWrap01 .toFace .details .txtBox {
  width: 53.5%;
  padding-top: 5.2%;
}
.contentWrap01 .toFace .details .txtBox h4 {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  background: #f3f3f3;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  max-width: 408px;
  margin-bottom: 34px;
  padding: 0 34px;
}
.contentWrap01 .toFace .details .txtBox h4::before,
.contentWrap01 .toFace .details .txtBox h4::after {
  content: "";
  width: 22px;
  height: 39px;
  background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%20213.7%20386.2%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%2C%20.st1%20%7B%20fill%3A%20none%3B%20%7D%20.st1%20%7B%20stroke%3A%20%23000%3B%20stroke-miterlimit%3A%2010%3B%20stroke-width%3A%2010px%3B%20%7D%20.st2%20%7B%20clip-path%3A%20url(%23clippath)%3B%20%7D%20%3C%2Fstyle%3E%20%3CclipPath%20id%3D%22clippath%22%3E%20%3Crect%20class%3D%22st0%22%20width%3D%22213.7%22%20height%3D%22386.2%22%2F%3E%20%3C%2FclipPath%3E%20%3C%2Fdefs%3E%20%3Cg%20class%3D%22st2%22%3E%20%3Cpolyline%20class%3D%22st1%22%20points%3D%225%20386.2%205%205%20213.7%205%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat;
  background-size: contain;
  position: absolute;
}
.contentWrap01 .toFace .details .txtBox h4::before {
  top: -10px;
  left: 14px;
}
.contentWrap01 .toFace .details .txtBox h4::after {
  right: 15px;
  bottom: -10px;
  transform: scale(-1, -1);
}
.contentWrap01 .toFace .details .txtBox .notes {
  max-width: 408px;
}
.contentWrap01 .toFace .details .txtBox .notes p {
  font-size: 1.6rem;
  line-height: 1.563;
  margin-bottom: 24px;
}
.contentWrap01 .toFace .details .txtBox .notes p:last-of-type {
  margin-bottom: 0;
}
.contentWrap01 .toFace .evolution {
  font-size: 1.6rem;
  line-height: 1.563;
  margin-bottom: 36px;
  font-weight: bold;
}
.contentWrap01 .toFace .evolutionImg {
  max-width: 820px;
}
.contentWrap01 .pointBlock {
  max-width: 820px;
}
.contentWrap01 .pointBlock .pointTitle {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 30px;
}
.contentWrap01 .pointBlock .pointTitle .txtBox {
  position: absolute;
  text-align: center;
  z-index: 2;
}
.contentWrap01 .pointBlock .pointTitle .txtBox .eTxt {
  font-size: 2.5rem;
  font-weight: 300;
  letter-spacing: 0.06em;
  margin-bottom: 5px;
}
.contentWrap01 .pointBlock .pointTitle .txtBox h3 {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  background: #fff;
  padding: 1px 5px;
}
.contentWrap01 .pointBlock .pointTitle .txtBox h3 span {
  font-weight: 500;
  color: #e60033;
}
.contentWrap01 .pointBlock .note {
  font-size: 1.6rem;
  line-height: 1.563;
  max-width: 705px;
  margin: 0 auto 47px;
}
.contentWrap01 .pointBlock .example .topTxt {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 97px;
}
.contentWrap01 .pointBlock .example .exampleList {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
}
.contentWrap01 .pointBlock .example .exampleList .box {
  display: flex;
  flex-direction: column;
  border: 1px solid #000;
  border-radius: 20px;
  width: 32%;
  padding: 0 1% 54px;
  text-align: center;
}
.contentWrap01 .pointBlock .example .exampleList .box figure {
  max-width: 120px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  top: 0;
  aspect-ratio: 1 / 1;
  transform: translateY(-50%);
  margin-bottom: -19%;
}
.contentWrap01 .pointBlock .example .exampleList .box dl {
  margin-bottom: 42px;
}
.contentWrap01 .pointBlock .example .exampleList .box dt {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 15px;
}
.contentWrap01 .pointBlock .example .exampleList .box dt::after {
  content: "";
  max-width: 152px;
  padding-top: 16px;
  margin: 0 auto;
  display: block;
  height: 1px;
  border-bottom: 1px dashed #000;
}
.contentWrap01 .pointBlock .example .exampleList .box dd {
  font-size: 1.6rem;
  line-height: 1.563;
  font-weight: bold;
}
.contentWrap01 .pointBlock .example .exampleList .box .link {
  margin-top: auto;
}
.contentWrap01 .pointBlock .example .exampleList .box .link a {
  color: #e60033;
  font-weight: 500;
}
.contentWrap01 .pointBlock .example .exampleList .box .link a::after {
  content: "";
  width: 18px;
  height: 16px;
  background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%20137%20127%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%20%7B%20fill%3A%20%23e60033%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpolygon%20class%3D%22st0%22%20points%3D%2231%200%2031%208%20123.1%208%200%20120.9%205.4%20126.8%20129%2013.5%20129%20106%20137%20106%20137%200%2031%200%22%2F%3E%3C%2Fsvg%3E') no-repeat;
  background-size: contain;
  display: inline-block;
  margin-left: 5px;
}
.contentWrap02 {
  padding: 78px 0 30px;
}
.contentWrap02::before {
  content: "";
  background: #e6e7e6;
  width: 500%;
  height: 100%;
  left: -250%;
  top: 0;
  position: absolute;
  border-bottom: 1px solid #000;
}
.contentWrap02 .titleBlock {
  display: flex;
  justify-content: space-between;
  margin-bottom: 45px;
  position: relative;
  z-index: 2;
}
.contentWrap02 .titleBlock .imgBox {
  width: 42.8%;
}
.contentWrap02 .titleBlock .txtBox {
  width: 53.6%;
  padding-top: 5.5%;
}
.contentWrap02 .titleBlock .txtBox .eTxt {
  color: #e60033;
  font-size: 2rem;
  letter-spacing: 0.22em;
  font-weight: 300;
  margin-bottom: 2px;
}
.contentWrap02 .titleBlock .txtBox h3 {
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 28px;
}
.contentWrap02 .titleBlock .txtBox h4 {
  margin-bottom: 26px;
}
.contentWrap02 .titleBlock .txtBox h4 span {
  font-size: 2.5rem;
  font-weight: 500;
  background-image: linear-gradient(90deg, #000, #000);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 0 100%;
  transition: background-size .8s;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: 0 0 0 8px;
}
.contentWrap02 .titleBlock.show .txtBox h4 span {
  color: #fff;
  background-size: 100% 100%;
}
.contentWrap02 .titleBlock .txtBox .note {
  font-size: 1.6rem;
  line-height: 1.563;
  max-width: 410px;
}
.contentWrap02 .contentBox {
  display: flex;
  justify-content: space-between;
  margin-bottom: 44px;
  position: relative;
  z-index: 2;
  letter-spacing: 0.06em;
}
.contentWrap02 .contentBox .imgBox {
  width: 42.8%;
  position: relative;
  z-index: 2;
}
.contentWrap02 .contentBox .imgTxt {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.contentWrap02 .contentBox .imgBox h4 {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
  max-width: 270px;
  width: 80%;
  margin: 0 auto;
  min-height: 50px;
  border: 1px solid #fff;
  background: rgba(0, 0, 0, 0.43);
  font-size: 2rem;
  font-weight: bold;
  color: #fff;
}
.contentWrap02 .contentBox .txtBox {
  width: 53.6%;
  position: relative;
}
.contentWrap02 .contentBox .txtBox::after {
  content: "";
  background: url(../img/title_bg_w.png) no-repeat right 0;
  background-size: cover;
  position: absolute;
  max-width: 1280px;
  height: 68px;
  width: 150%;
  top: 20px;
  left: -43%;
}
.contentWrap02 .contentBox .txtBox .eTxt {
  color: #e60033;
  font-size: 5rem;
  letter-spacing: 0;
  font-weight: 200;
  line-height: 1;
  margin: -4px 0 30px;
  position: relative;
  z-index: 2
}
.contentWrap02 .contentBox .txtBox h5 {
  margin-bottom: 28px;
  position: relative;
  z-index: 2
}
.contentWrap02 .contentBox .txtBox h5 span {
  font-size: 2rem;
  font-weight: 500;
  background-image: linear-gradient(90deg, #fff, #fff);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 0 100%;
  transition: background-size .8s;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: 4px 8px 4px 12px;
}
.contentWrap02 .contentBox.show .txtBox h5 span {
  background-size: 100% 100%;
}
.contentWrap02 .contentBox .txtBox .note {
  font-size: 1.6rem;
  line-height: 1.563;
  max-width: 440px;
  position: relative;
  z-index: 2
}
.contentWrap02 .contentBox .txtBox .btn {
  margin-top: 35px;
}
.contentWrap02 .contentBox .txtBox .btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 50px;
  border: 1px solid #000;
  max-width: 410px;
  font-size: 1.6rem;
  font-weight: bold;
  background: #fff;
  position: relative;
}
.contentWrap02 .contentBox .txtBox .btn a::after {
  position: absolute;
  right: 3.5%;
  top: 0;
  bottom: 0;
  margin: auto;
}
.contentWrap02 .contentBox .txtBox .btn a:hover {
  background: #000;
  color: #fff;
}
.contentWrap03 {
  padding: 82px 0 44px;
}
.contentWrap03::before {
  display: none;
}
.contentWrap03.lineBg::after {
  height: 218px;
}
.contentWrap03 .titleBlock {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
  position: relative;
  z-index: 2;
}
.contentWrap03 .titleBlock .imgBox {
  width: 42.8%;
}
.contentWrap03 .titleBlock .txtBox {
  width: 53.6%;
  padding-top: 5.5%;
}
.contentWrap03 .titleBlock .txtBox .eTxt {
  color: #e60033;
  font-size: 2rem;
  letter-spacing: 0.22em;
  font-weight: 300;
  margin-bottom: 2px;
}
.contentWrap03 .titleBlock .txtBox h3 {
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 28px;
}
.contentWrap03 .titleBlock .txtBox h4 {
  margin-bottom: 26px;
}
.contentWrap03 .titleBlock .txtBox h4 span {
  font-size: 2.5rem;
  font-weight: 500;
  background-image: linear-gradient(90deg, #000, #000);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 0 100%;
  transition: background-size .8s;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: 0 12px;
}
.contentWrap03 .titleBlock.show .txtBox h4 span {
  color: #fff;
  background-size: 100% 100%;
}
.contentWrap03 .titleBlock .txtBox .note {
  font-size: 1.6rem;
  line-height: 1.563;
  max-width: 410px;
}
.contentWrap03 .company::before {
  content: "";
  background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%202%2080%22%3E%20%3Cpath%20d%3D%22M2%2C80H0v-8h2v8ZM2%2C68H0v-8h2v8ZM2%2C56H0v-8h2v8ZM2%2C44H0v-8h2v8ZM2%2C32H0v-8h2v8ZM2%2C20H0v-8h2v8ZM2%2C8H0V0h2v8Z%22%2F%3E%3C%2Fsvg%3E') no-repeat;
  display: block;
  width: 53.6%;
  height: 40px;
  margin: 0 0 34px auto;
}
.contentWrap03 .company .topTxt {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  margin: 0 auto 34px;
  padding-right: 8%;
}
.contentWrap03 .slideWrap {
  position: relative;
}
.contentWrap03 .slideWrap.isMoved::before {
  content: "";
  width: 80px;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
  background: linear-gradient(to right,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
}
.contentWrap03 .slideList {
  display: flex;
  overflow-x: auto;
  --endGap: 0px;
  padding-right: var(--endGap);
  margin-bottom: 20px;
  padding-bottom: 20px;
}
.contentWrap03 .slideList .box {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  width: 350px;
  border: 1px solid #000;
  flex-shrink: 0;
  padding: 48px 0 36px;
  margin-right: 20px;
  position: relative;
}
.contentWrap03 .slideList .box::after {
  content: "";
  position: absolute;
  right: -40px;
  top: 50%;
  transform: translateY(-50%);
  width: 55px;
  height: 55px;
  background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%20110%20110%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%20%7B%20fill%3A%20%23fff%3B%20fill-rule%3A%20evenodd%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%3E%20%3Cg%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M55%2C.5c29.8%2C0%2C54%2C24.4%2C54%2C54.5s-24.2%2C54.5-54%2C54.5S1%2C85.1%2C1%2C55%2C25.2.5%2C55%2C.5Z%22%2F%3E%20%3Cpath%20d%3D%22M55%2C110.5C24.7%2C110.5%2C0%2C85.6%2C0%2C55S24.7-.5%2C55-.5s55%2C24.9%2C55%2C55.5-24.7%2C55.5-55%2C55.5ZM55%2C1.5C25.8%2C1.5%2C2%2C25.5%2C2%2C55s23.8%2C53.5%2C53%2C53.5%2C53-24%2C53-53.5S84.2%2C1.5%2C55%2C1.5Z%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_11%22%3E%20%3Cpath%20d%3D%22M71.9%2C53.6c-2.9-2-6.3-5.5-9-9l2.9-1.8c3.7%2C4.7%2C8.8%2C9.4%2C13.7%2C12.2-4.7%2C3.1-10%2C7.6-13.7%2C12.2l-2.9-1.8c2.5-3.3%2C6.1-6.7%2C9-9H30.5v-3.3h41.6v.4h-.2Z%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat;
  background-size: contain;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s;
  z-index: 2;
}
.contentWrap03 .slideList .box:last-of-type::after {
  display: none;
}
.contentWrap03 .slideList.isShow .box::after{
  opacity: 1;
  animation: blinkSoft 1.5s ease-in-out 3 forwards;
}
.contentWrap03 .slideList .box figure {
  max-width: 155px;
  margin: 0 auto 23px;
}
.contentWrap03 .slideList .box .titleBox {
  width: 270px;
  min-height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  border: 1px solid #000;
  background: #f3f3f3;
  font-size: 2rem;
  font-weight: bold;
  margin: 0 auto 36px;
}
.contentWrap03 .slideList .box .titleBox.smallTxt {
  font-size: 1.5rem;
  line-height: 1.2;
}
.contentWrap03 .slideList .box h4 {
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 28px;
}
.contentWrap03 .slideList .box .note {
  width: 83%;
  margin: 0 auto 34px;
  font-size: 1.6rem;
  line-height: 1.563;
}
.contentWrap03 .slideList .box .link {
  margin-top: auto;
  text-align: center;
}
.contentWrap03 .slideList .box .link a {
  color: #e60033;
  font-weight: 500;
}
.contentWrap03 .slideList .box .link a::after {
  content: "";
  width: 18px;
  height: 16px;
  background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%20137%20127%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%20%7B%20fill%3A%20%23e60033%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpolygon%20class%3D%22st0%22%20points%3D%2231%200%2031%208%20123.1%208%200%20120.9%205.4%20126.8%20129%2013.5%20129%20106%20137%20106%20137%200%2031%200%22%2F%3E%3C%2Fsvg%3E') no-repeat;
  background-size: contain;
  display: inline-block;
  margin-left: 5px;
}
.contentWrap03 .structure {
  max-width: 820px;
  border-radius: 20px;
  border: 1px dashed #000;
  display: flex;
  justify-content: center;
  padding: 25px 0;
}
.contentWrap03 .structure p {
  font-size: 1.6rem;
  line-height: 1.563;
  font-weight: bold;
}
.contentWrap03 .structure p span {
  font-weight: bold;
  color: #e60033;
}
.contentWrap04 {
  padding: 78px 0 68px;
}
.contentWrap04::before {
  content: "";
  background: #e6e7e6;
  width: 500%;
  height: 100%;
  left: -250%;
  top: 0;
  position: absolute;
  border-top: 1px solid #000;
}
.contentWrap.contentWrap04 .lineBg::before {
  display: none;
}
.contentWrap.contentWrap04 .lineBg::after {
  mask-size: 968px auto;
  mask-position: 0 top;
  height: 573px;
  bottom: -68px;
  right: -84.2%;
  transform: scale(-1, 1);
  background: #fff;
}
.contentWrap04 .titleBlock {
  display: flex;
  justify-content: space-between;
  margin-bottom: 82px;
  position: relative;
  z-index: 2;
}
.contentWrap04 .titleBlock .imgBox {
  width: 42.8%;
}
.contentWrap04 .titleBlock .txtBox {
  width: 53.6%;
  padding-top: 5.5%;
}
.contentWrap04 .titleBlock .txtBox .eTxt {
  color: #e60033;
  font-size: 2rem;
  letter-spacing: 0.22em;
  font-weight: 300;
  margin-bottom: 2px;
}
.contentWrap04 .titleBlock .txtBox h3 {
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 28px;
}
.contentWrap04 .titleBlock .txtBox h4 {
  margin-bottom: 26px;
}
.contentWrap04 .titleBlock .txtBox h4 span {
  font-size: 2.5rem;
  font-weight: 500;
  background-image: linear-gradient(90deg, #000, #000);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 0 100%;
  transition: background-size .8s;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: 0 0 0 8px;
}
.contentWrap04 .titleBlock.show .txtBox h4 span {
  color: #fff;
  background-size: 100% 100%;
}
.contentWrap04 .titleBlock .txtBox .note {
  font-size: 1.6rem;
  line-height: 1.563;
  max-width: 410px;
}
.contentWrap04 .aiNativeCompany {
  position: relative;
}
.contentWrap04 .aiNativeCompany::after {
  content: "";
  background: url(../img/about-us/title_bg_w.png) no-repeat right 0;
  background-size: auto 68px;
  position: absolute;
  max-width: 5000px;
  height: 68px;
  width: 200vw;
  top: -30px;
  left: -100%;
}
.contentWrap04 .aiNativeCompany h3 {
  position: relative;
  z-index: 2;
  border-left: 8px solid #e60033;
  font-size: 2rem;
  font-weight: bold;
  padding: 26px 0 22px 12px;
  margin-bottom: 16px;
}
.contentWrap04 .aiNativeCompany .subTitle {
  max-width: 820px;
  margin-bottom: 34px;
}
.contentWrap04 .aiNativeCompany .subTitle .txtBox {
  margin-left: auto;
  width: fit-content;
  text-align: left;
}
.contentWrap04 .aiNativeCompany .subTitle .eTxt {
  position: relative;
}
.contentWrap04 .aiNativeCompany .subTitle .eTxt::after {
  content: "";
  position: absolute;
  right: -100%;
  top: 0;
  width: 200%;
  height: 100%;
  background: #fff;
}
.contentWrap04 .aiNativeCompany .subTitle .eTxt p {
  font-size: 4.5rem;
  font-size: clamp(4rem,3.51vw,4.5rem);
  font-weight: 200;
  background: #fff;
  line-height: 1;
  padding: 10px 16px;
  letter-spacing: 0.14em;
  position: relative;
  z-index: 2;
}
.contentWrap04 .aiNativeCompany .subTitle .jTxt {
  font-size: 1.8rem;
  font-size: clamp(1.6rem,1.4vw,1.8rem);
  font-weight: 500;
  line-height: 1.4;
  padding: 3px 30px 0 7px;
  letter-spacing: 0.06em;
}
.contentWrap04 .aiNativeCompany .details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  max-width: 820px;
  gap: 4%;
  position: relative;
  padding-bottom: 52px;
}
.contentWrap04 .aiNativeCompany .details figure {
  max-width: 301px;
  width: 36.8%;
  margin: auto;
  position: absolute;
  top: 15.6%;
  left: 0;
  right: 0;
  z-index: 2;
}
.contentWrap04 .aiNativeCompany .details .block {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.contentWrap04 .aiNativeCompany .details dt {
  border: 1px solid #000;
  text-align: center;
  font-size: 2rem;
  font-size: clamp(1.8rem,1.56vw,2rem);
  font-weight: bold;
  margin-bottom: 10px;
  letter-spacing: 0;
}
.contentWrap04 .aiNativeCompany .details .block01 dt {
  background: #92bacc;
}
.contentWrap04 .aiNativeCompany .details .block02 dt {
  background: #f0b091;
}
.contentWrap04 .aiNativeCompany .details dd {
  display: flex;
  flex-direction: column;
  border: 1px solid #000;
  border-top: none;
}
.contentWrap04 .aiNativeCompany .details dd .box {
  border-top: 1px solid #000;
  letter-spacing: 0.06em;
  line-height: 1.375;
  background: #fff;
}
.contentWrap04 .aiNativeCompany .details dd .box h4 {
  font-size: 1.6rem;
  font-size: clamp(1.5rem,1.25vw,1.6rem);
  font-weight: bold;
  margin-bottom: 7px;
}
.contentWrap04 .aiNativeCompany .details dd .box p {
  font-size: 1.6rem;
  font-size: clamp(1.5rem,1.25vw,1.6rem);
  font-weight: 500;
  padding-left: 2%;
  letter-spacing: 0;
}
.contentWrap04 .aiNativeCompany .details dd .box ul {
  padding: 0 0 0 3%;
}
.contentWrap04 .aiNativeCompany .details dd .box li {
  font-size: 1.6rem;
  font-size: clamp(1.5rem,1.25vw,1.6rem);
  font-weight: 500;
  margin-bottom: 4px;
  letter-spacing: 0;
  text-indent: -1em;
  padding-left: 1em;
}
.contentWrap04 .aiNativeCompany .details dd .box.box01 {
  padding: 42px 4% 40px 8%;
}
.contentWrap04 .aiNativeCompany .details dd .box.box01 h4 {
  margin-bottom: 20px;
}
.contentWrap04 .aiNativeCompany .details dd .box.box02 {
  padding: 36px 10% 26px 8%;
}
.contentWrap04 .aiNativeCompany .details dd .box.box02 h4 {
  margin-bottom: 24px;
}
.contentWrap04 .aiNativeCompany .details dd .box.box02 li {
  margin-bottom: 15px;
}
.contentWrap04 .aiNativeCompany .details dd .box.box03 {
  padding: 34px 4% 30px 8%;
}
.contentWrap04 .aiNativeCompany .details dd .box.box04 {
  padding: 25px 4% 22px 8%;
}
.contentWrap04 .aiNativeCompany .details dd .box.box05 {
  padding: 25px 4% 22px 8%;
}
.contentWrap04 .aiNativeCompany .details dd .box.box06 {
  padding: 25px 4% 24px 8%;
}
.contentWrap04 .aiNativeCompany .details dd .box.box06 h4 {
  margin-bottom: 17px;
}
.contentWrap04 .aiNativeCompany .details .caution {
  position: absolute;
  bottom: 0;
}
.contentWrap04 .value {
  text-align: center;
  margin: 20px 0 0;
}
.contentWrap04 .value::after {
  content: "";
  width: 1px;
  height: 82px;
  border-right: 1px dashed #000;
  display: block;
  margin: 20px auto 25px;
}
.contentWrap04 .value p {
  font-size: 2rem;
  font-weight: bold;
  line-height: 2.25;
  letter-spacing: 0.06em;
}
.contentWrap04 .value p span {
  display: inline-block;
  background: #000;
  color: #fff;
  font-weight: bold;
  line-height: 1;
  padding: 7px 10px;
  margin-right: 10px;
}
.contentWrap04 .notes {
  text-align: center;
}
.contentWrap04 .notes p {
  letter-spacing: 0.06em;
  font-weight: bold;
}
.contentWrap04 .notes span {
  display: inline-block;
  line-height: 1;
  font-weight: bold;
  padding: 3px 10px;
}
.contentWrap04 .notes .b {
  background: #000;
  color: #fff;
}
.contentWrap04 .notes .w {
  background: #fff;
}
.contentWrap04 .notes .t1 {
  font-size: 3rem;
  font-size: clamp(2.6rem,2.34vw,3rem);
  margin-bottom: 12px;
}
.contentWrap04 .notes .t2 {
  font-size: 2rem;
  font-size: clamp(1.6rem,1.56vw,2rem);
}
@media only screen and (max-width:749px) {
  .innerLead {
    padding: calc(19% + 17.33vw) 5% 10.7%;
  }
  .innerLead h2 {
    margin: 9% 0 8%;
  }
  .innerLead h2 span {
    font-size: 6.66vw;
    padding: 0 0.5vw;
  }
  .innerLead .notes p {
    text-align: center;
  }
  .visionBlock {
    max-width: none;
    padding: 18% 5% 2%;
  }
  .visionBlock::after {
    background: url(../img/title_bg_sp_w.png) no-repeat right 0;
    background-size: contain;
    width: 110%;
    height: 150%;
    left: -10%;
    top: 3.8%;
  }
  .visionWrap {
    max-width: none;
    padding: 0;
  }
  .visionBlock h3 {
    font-size: 4.8vw;
    padding: 4% 0 5% 2vw;
    margin-bottom: 6%;
  }
  .visionBlock h4 {
    margin: 0 6.5% 11.5%;
    line-height: 1.622;
    letter-spacing: 0.2em;
  }
  .visionBlock h4 span {
    font-size: 9.86vw;
    white-space: nowrap;
  }
  .visionBlock h4 .paragraph {
    margin-top: 10%;
    display: inline-block;
  }
  .visionBlock ul {
    margin-left: 6.5%;
  }
  .visionBlock li {
    margin-bottom: 8%;
  }
  .visionBlock li .circleWrap {
    width: 8.8vw;
    height: 8.8vw;
    margin-right: 4vw;
  }
  .visionBlock li .circleWrap svg {
    width: 8.8vw;
    height: 8.8vw;
  }
  .visionBlock li h5 {
    font-size: 5.33vw;
    margin-bottom: 5%;
    line-height: 1.85;
  }
  .visionBlock li h5 span {
    padding: 1vw 0 1vw 2vw;
  }
  .visionBlock li p {
    font-size: 4.26vw;
    max-width: none;
  }
  .contentsBlock {
    padding: 0;
  }
  .atFirstContents {
    max-width: none;
    display: block;
  }
  .atFirstContents .anchor {
    margin-top: -17.33vw;
    padding-top: 17.33vw;
  }
  .atFirstContents .sideBar {
    display: none;
  }
  .atFirstContents .mainBlock {
    width: 100%;
    max-width: none;
  }
  .contentWrap.lineBg::after {
    mask-size: 231.06vw auto;
    mask-repeat: no-repeat;
    mask-position: 0 bottom;
    height: 112vw;
    top: 51vw;
    right: -186%;
  }
  .contentWrap01 {
    padding: 4.5% 0 6.5%;
    border-bottom: 1px solid #000;
  }
  .contentWrap01 .titleBlock {
    display: block;
    margin: 0 5% 11%;
  }
  .contentWrap01 .titleBlock .imgBox {
    width: 100%;
  }
  .contentWrap01 .titleBlock .txtBox {
    width: 100%;
    padding-top: 6.5%;
  }
  .contentWrap01 .titleBlock .txtBox .eTxt {
    font-size: 5.33vw;
    margin-bottom: 1%;
  }
  .contentWrap01 .titleBlock .txtBox h3 {
    font-size: 5.86vw;
    margin-bottom: 7.5%;
  }
  .contentWrap01 .titleBlock .txtBox h4 {
    margin-bottom: 8.5%;
  }
  .contentWrap01 .titleBlock .txtBox h4 span {
    font-size: 5.06vw;
    padding: 1vw 2.5vw;
    white-space: nowrap;
  }
  .contentWrap01 .titleBlock .txtBox .note {
    font-size: 4.26vw;
    max-width: none;
  }
  .contentWrap01 .slideWrap.isMoved::before {
    width: 21.33vw;
  }
  .contentWrap01 .slideList {
    padding-right: 0;
    margin-bottom: 5.5%;
    padding: 0 5% 5%;
  }
  .contentWrap01 .slideList .box {
    width: 78.66vw;
    padding: 8% 0 14%;
    margin-right: 5vw;
  }
  .contentWrap01 .slideList .box:last-of-type {
    margin-right: 0;
  }
  .contentWrap01 .slideList .box::before {
    right: -15vw;
    top: 15vw;
    width: 24.66vw;
    height: 1.06vw;
  }
  .contentWrap01 .slideList .box::after {
    right: -10vw;
    width: 14.53vw;
    height: 14.53vw;
  }
  .contentWrap01 .slideList .box .year {
    font-size: 10.66vw;
    margin-bottom: 3.2%;
  }
  .contentWrap01 .slideList .box .titleBox {
    width: 68.53vw;
    min-height: 13.33vw;
    font-size: 5.33vw;
    margin: 0 auto 12.5%;
  }
  .contentWrap01 .slideList .box h4 {
    font-size: 5.33vw;
    margin-bottom: 9.5%;
  }
  .contentWrap01 .slideList .box .note {
    width: 87%;
    font-size: 4.26vw;
  }
  .contentWrap01 .toFace {
    padding: 0;
    margin-bottom: 0;
  }
  .contentWrap01 .toFace h3 {
    margin: 0 5% 13%;
  }
  .contentWrap01 .toFace h3 span {
    font-size: 5.06vw;
    padding: 0.5vw 3vw 0.5vw 3vw;
  }
  .contentWrap01 .toFace .details {
    display: block;
    margin: 0 5% 9%;
  }
  .contentWrap01 .toFace .details .imgBox {
    width: 100%;
  }
  .contentWrap01 .toFace .details .txtBox {
    width: 100%;
    padding-top: 12.2%;
  }
  .contentWrap01 .toFace .details .txtBox h4 {
    font-size: 4.53vw;
    min-height: 13.33vw;
    max-width: none;
    margin-bottom: 10%;
    padding: 0;
  }
  .contentWrap01 .toFace .details .txtBox h4::before,
  .contentWrap01 .toFace .details .txtBox h4::after {
    width: 5.86vw;
    height: 10.4vw;
  }
  .contentWrap01 .toFace .details .txtBox h4::before {
    top: -3vw;
    left: 2.5vw;
  }
  .contentWrap01 .toFace .details .txtBox h4::after {
    right: 5vw;
    bottom: -2.5vw;
  }
  .contentWrap01 .toFace .details .txtBox .notes {
    max-width: none;
  }
  .contentWrap01 .toFace .details .txtBox .notes p {
    font-size: 4.26vw;
    margin-bottom: 7%;
  }
  .contentWrap01 .toFace .evolution {
    font-size: 4.26vw;
    margin: 0 5% 8.5%;
  }
  .contentWrap01 .toFace .evolutionImgTxt {
    padding: 0 5% 1%;
  }
  .contentWrap01 .toFace .evolutionImgTxt p {
    font-size: 3.73vw;
    font-weight: bold;
    text-align: right;
  }
  .contentWrap01 .toFace .evolutionImgTxt p::after {
    content: "";
    background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2074%2020%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%20%7B%20fill%3A%20%23fff%3B%20fill-rule%3A%20evenodd%3B%20stroke%3A%20%23000%3B%20stroke-dasharray%3A%208%204%3B%20stroke-width%3A%202px%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M0%2C10h34%22%2F%3E%20%3Cpath%20d%3D%22M68.4%2C11.1c-2.1%2C1.5-4.7%2C4.1-6.6%2C6.6l2.1%2C1.4c2.7-3.5%2C6.5-6.9%2C10.1-9.1-3.5-2.3-7.4-5.6-10.1-9.1l-2.1%2C1.4c1.8%2C2.4%2C4.5%2C5%2C6.6%2C6.6h-30.6v2.4h30.8l-.2-.3Z%22%2F%3E%3C%2Fsvg%3E') no-repeat;
    background-size: contain;
    width: 9.86vw;
    height: 2.66vw;
    display: inline-block;
    margin-left: 2.5vw
  }
  .contentWrap01 .toFace .evolutionImg {
    max-width: none;
    padding: 0 0 5% 5vw;
    overflow: auto;
  }
  .contentWrap01 .toFace .evolutionImg figure {
    width: calc(820px + 5vw);
    padding-right: 5vw;
  }
  .contentWrap01 .pointBlock {
    max-width: none;
  }
  .contentWrap01 .pointBlock .pointTitle {
    margin: 0 5% 8%;
  }
  .contentWrap01 .pointBlock .pointTitle .txtBox .eTxt {
    font-size: 6.66vw;
    margin-bottom: 3%;
  }
  .contentWrap01 .pointBlock .pointTitle .txtBox h3 {
    font-size: 4.8vw;
    line-height: 2.5;
    display: inline;
  }
  .contentWrap01 .pointBlock .note {
    font-size: 4.26vw;
    max-width: 79%;
    margin: 0 auto 9%;
  }
  .contentWrap01 .pointBlock .example::before {
    width: 0.26vw;
    height: 10.66vw;
    margin: 0 auto 9.5%;
  }
  .contentWrap01 .pointBlock .example .topTxt {
    font-size: 5.33vw;
    margin-bottom: 0;
  }
  .contentWrap01 .pointBlock .example .exampleList {
    padding: 20% 5% 8%;
    overflow: auto;
  }
  .contentWrap01 .pointBlock .example .exampleList .box {
    flex-shrink: 0;
    width: 69.33vw;
    padding: 0 0 16%;
    margin-right: 4vw;
  }
  .contentWrap01 .pointBlock .example .exampleList .box:last-of-type {
    margin-right: 0;
  }
  .contentWrap01 .pointBlock .example .exampleList .box figure {
    max-width: 32vw;
    margin-bottom: -17%;
  }
  .contentWrap01 .pointBlock .example .exampleList .box dl {
    margin-bottom: 15%;
  }
  .contentWrap01 .pointBlock .example .exampleList .box dt {
    font-size: 4.26vw;
    margin-bottom: 15px;
  }
  .contentWrap01 .pointBlock .example .exampleList .box dt::after {
    max-width: 41.86vw;
    padding-top: 6%;
  }
  .contentWrap01 .pointBlock .example .exampleList .box dd {
    font-size: 4.26vw;
  }
  .contentWrap01 .pointBlock .example .exampleList .box .link a {
    font-size: 3.73vw;
  }
  .contentWrap01 .pointBlock .example .exampleList .box .link a::after {
    width: 4.66vw;
    height: 4.26vw;
    margin-left: 1.33vw;
  }
  .contentWrap02 {
    padding: 10% 0 0;
    background: #e6e7e6;
    border-bottom: 1px solid #000;
  }
  .contentWrap02::before {
    display: none;
  }
  .contentWrap02 .titleBlock {
    display: block;
    margin: 0 5% 10%;
  }
  .contentWrap02 .titleBlock .imgBox {
    width: 100%;
  }
  .contentWrap02 .titleBlock .txtBox {
    width: 100%;
    padding-top: 8.5%;
  }
  .contentWrap02 .titleBlock .txtBox .eTxt {
    font-size: 5.33vw;
    margin-bottom: 0;
  }
  .contentWrap02 .titleBlock .txtBox h3 {
    font-size: 5.86vw;
    line-height: 1.818;
    margin-bottom: 5%;
  }
  .contentWrap02 .titleBlock .txtBox h4 {
    margin-bottom: 7.5%;
  }
  .contentWrap02 .titleBlock .txtBox h4 span {
    font-size: 5.06vw;
    padding: 0.5vw 0 0.5vw 2vw;
  }
  .contentWrap02 .titleBlock .txtBox .note {
    font-size: 4.26vw;
    max-width: none;
  }
  .contentWrap02 .contentBox {
    display: block;
    margin-bottom: 10%;
  }
  .contentWrap02 .contentBox .imgBox {
    width: 100%;
  }
  .contentWrap02 .contentBox .imgBox h4 {
    max-width: none;
    min-height: 13.33vw;
    font-size: 5.33vw;
    width: 72%;
  }
  .contentWrap02 .contentBox .txtBox {
    width: 100%;
    padding: 3.5% 5% 0;
  }
  .contentWrap02 .contentBox .txtBox::after {
    content: "";
    background: url(../img/title_bg_sp_w.png) no-repeat right 0;
    background-size: contain;
    width: 110%;
    height: 150%;
    z-index: -1;
    left: -10%;
    top: 7%;
  }
  .contentWrap02 .contentBox .txtBox .eTxt {
    text-align: center;
    font-size: 13.33vw;
    margin: 0 0 4%;
  }
  .contentWrap02 .contentBox .txtBox h5 {
    margin-bottom: 7.5%;
  }
  .contentWrap02 .contentBox .txtBox h5 span {
    font-size: 4.53vw;
    padding: 1vw 1vw 1vw 3vw;
  }
  .contentWrap02 .contentBox .txtBox .note {
    font-size: 4.26vw;
    max-width: 87%;
    margin: 0 auto;
  }
  .contentWrap02 .contentBox .txtBox .btn {
    margin-top: 35px;
  }
  .contentWrap02 .contentBox .txtBox .btn a {
    min-height: 13.33vw;
    font-size: 4.26vw;
    max-width: none;
  }
  .contentWrap02 .contentBox .txtBox .btn a::after {
    right: 4%;
  }
  .contentWrap03 {
    padding: 10% 0 9.5%;
    border-bottom: 1px solid #000;
  }
  .contentWrap03.lineBg::after {
    height: 97vw;
  }
  .contentWrap03 .titleBlock {
    display: block;
    margin: 0 5% 9%;
  }
  .contentWrap03 .titleBlock .imgBox {
    width: 100%;
  }
  .contentWrap03 .titleBlock .txtBox {
    width: 100%;
    padding-top: 6.5%;
  }
  .contentWrap03 .titleBlock .txtBox .eTxt {
    font-size: 5.33vw;
    margin-bottom: 0.5%;
  }
  .contentWrap03 .titleBlock .txtBox h3 {
    font-size: 5.86vw;
    line-height: 1.818;
    margin-bottom: 6.5%;
  }
  .contentWrap03 .titleBlock .txtBox h4 {
    margin-bottom: 7.5%;
  }
  .contentWrap03 .titleBlock .txtBox h4 span {
    font-size: 5.06vw;
    padding: 1vw 5vw 1vw 3vw;
  }
  .contentWrap03 .titleBlock .txtBox .note {
    font-size: 4.26vw;
    max-width: none;
  }
  .contentWrap03 .company::before {
    width: 0.26vw;
    height: 10.66vw;
    margin: 0 auto 9.5%;
  }
  .contentWrap03 .company .topTxt {
    font-size: 5.33vw;
    margin-bottom: 13.5%;
    padding-right: 0;
  }
  .contentWrap03 .slideWrap.isMoved::before {
    width: 21.33vw;
  }
  .contentWrap03 .slideList {
    padding-right: 0;
    margin-bottom: 2.5%;
    padding: 0 5% 5%;
  }
  .contentWrap03 .slideList .box {
    width: 78.66vw;
    padding: 14% 0 11%;
    margin-right: 5vw;
  }
  .contentWrap03 .slideList .box:last-of-type {
    margin-right: 0;
  }
  .contentWrap03 .slideList .box::after {
    right: -10vw;
    width: 14.53vw;
    height: 14.53vw;
  }
  .contentWrap03 .slideList .box figure {
    max-width: 54%;
    margin: 0 auto 7.5%;
  }
  .contentWrap03 .slideList .box .titleBox {
    width: 68.53vw;
    min-height: 13.33vw;
    font-size: 5.33vw;
    margin: 0 auto 12.5%;
  }
  .contentWrap03 .slideList .box .titleBox.smallTxt {
    font-size: 3.73vw;
  }
  .contentWrap03 .slideList .box h4 {
    font-size: 4.9vw;
    margin-bottom: 9.5%;
    letter-spacing: 0;
  }
  .contentWrap03 .slideList .box .note {
    width: 87%;
    font-size: 4.26vw;
  }
  .contentWrap03 .slideList .box .link a {
    font-size: 3.73vw;
  }
  .contentWrap03 .slideList .box .link a::after {
    width: 4.66vw;
    height: 4.26vw;
    margin-left: 1.33vw;
  }
  .contentWrap03 .structure {
    max-width: none;
    padding: 9% 0;
    margin: 0 5%;
  }
  .contentWrap03 .structure p {
    font-size: 4.26vw;
  }
  .contentWrap04 {
    padding: 10.5% 0;
    background: #e6e7e6;
  }
  .contentWrap04::before {
    display: none;
  }
  .contentWrap.contentWrap04 .lineBg::after {
    display: none;
  }
  .contentWrap04 .titleBlock {
    display: block;
    margin: 0 5% 16%;
  }
  .contentWrap04 .titleBlock .imgBox {
    width: 100%;
  }
  .contentWrap04 .titleBlock .txtBox {
    width: 100%;
    padding-top: 7%;
  }
  .contentWrap04 .titleBlock .txtBox .eTxt {
    font-size: 5.33vw;
    margin-bottom: 0.5%;
  }
  .contentWrap04 .titleBlock .txtBox h3 {
    font-size: 5.86vw;
    line-height: 1.818;
    margin-bottom: 5%;
  }
  .contentWrap04 .titleBlock .txtBox h4 {
    margin-bottom: 7%;
    line-height: 1.947;
  }
  .contentWrap04 .titleBlock .txtBox h4 span {
    font-size: 5.06vw;
    padding: 1vw 1vw 1vw 3vw;
  }
  .contentWrap04 .titleBlock .txtBox .note {
    font-size: 4.26vw;
    max-width: none;
  }
  .contentWrap04 .aiNativeCompany {
    position: relative;
  }
  .contentWrap04 .aiNativeCompany::after {
    background: url(../img/title_bg_sp_w.png) no-repeat right 0;
    background-size: contain;
    width: 110%;
    height: 150%;
    left: -10%;
    top: -1.7%;
  }
  .contentWrap04 .aiNativeCompany h3 {
    font-size: 4.8vw;
    padding: 3% 0 3% 2vw;
    margin: 0 5% 8%;
  }
  .contentWrap04 .aiNativeCompany .subTitle {
    max-width: none;
    margin-bottom: 5%;
  }
  .contentWrap04 .aiNativeCompany .subTitle .eTxt::after {
    display: none;
  }
  .contentWrap04 .aiNativeCompany .subTitle .eTxt p {
    font-size: 7.81vw;
    padding: 1.5vw 7vw 1.5vw 3vw;
    letter-spacing: 0.16em;
  }
  .contentWrap04 .aiNativeCompany .subTitle .jTxt {
    font-size: 4.26vw;
    line-height: 1.563;
    padding: 1% 0 0 3vw;
  }
  .contentWrap04 .aiNativeCompany .details {
    display: block;
    padding: 0 5%;
    max-width: none;
    gap: 0;
    padding-bottom: 10%;
  }
  .contentWrap04 .aiNativeCompany .details figure {
    width: 62.8%;
    margin: 0 auto 5%;
    position: relative;
    top: 0;
  }
  .contentWrap04 .aiNativeCompany .details .block {
    display: block;
  }
  .contentWrap04 .aiNativeCompany .details .block.block01 {
    padding-bottom: 13vw;
    margin-bottom: 7.4%;
    position: relative;
  }
  .contentWrap04 .aiNativeCompany .details dt {
    font-size: 5.33vw;
    margin-bottom: 2.5%;
    letter-spacing: 0.06em;
    padding: 0.5% 0;
  }
  .contentWrap04 .aiNativeCompany .details dd {
    display: block;
  }
  .contentWrap04 .aiNativeCompany .details dd .box h4 {
    font-size: 4.26vw;
    margin-bottom: 3%;
  }
  .contentWrap04 .aiNativeCompany .details dd .box p {
    font-size: 4.26;
    padding-left: 2vw;
    letter-spacing: 0.06em;
  }
  .contentWrap04 .aiNativeCompany .details dd .box ul {
    padding: 0 0 0 1vw;
  }
  .contentWrap04 .aiNativeCompany .details dd .box li {
    font-size: 4.26vw;
    margin-bottom: 1.5%;
    letter-spacing: 0.06em;
  }
  .contentWrap04 .aiNativeCompany .details dd .box.box01 {
    padding: 13% 8vw 11.5%;
  }
  .contentWrap04 .aiNativeCompany .details dd .box.box01 h4 {
    margin-bottom: 7%;
  }
  .contentWrap04 .aiNativeCompany .details dd .box.box02 {
    padding: 11% 8vw 9%;
  }
  .contentWrap04 .aiNativeCompany .details dd .box.box02 h4 {
    margin-bottom: 9%;
  }
  .contentWrap04 .aiNativeCompany .details dd .box.box02 li {
    margin-bottom: 5%;
  }
  .contentWrap04 .aiNativeCompany .details dd .box.box03 {
    padding: 10% 8vw 9%;
  }
  .contentWrap04 .aiNativeCompany .details dd .box.box04 {
    padding: 8% 8vw 6.5%;
  }
  .contentWrap04 .aiNativeCompany .details dd .box.box05 {
    padding: 8% 8vw 10.5%;
  }
  .contentWrap04 .aiNativeCompany .details dd .box.box06 {
    padding: 8% 0 6% 8vw;
  }
  .contentWrap04 .aiNativeCompany .details dd .box.box06 h4 {
    margin-bottom: 6%;
  }
  .contentWrap04 .aiNativeCompany .details .caution {
    font-size: 3.73vw;
    padding: 0 5vw;
  }
  .contentWrap04 .value {
    margin: 0;
  }
  .contentWrap04 .value::after {
    height: 21.86vw;
    margin: 8% auto 9.5%;
  }
  .contentWrap04 .value p {
    font-size: 4.8vw;
    line-height: 1.7;
  }
  .contentWrap04 .value p span {
    display: block;
    padding: 2% 0;
    margin: 5% auto 3%;
    font-size: 5.33vw;
    width: 84%;
  }
  .contentWrap04 .notes span {
    padding: 0.6vw 1.5vw;
  }
  .contentWrap04 .notes .b1 {
    display: block;
    width: 77%;
    margin: 0 auto 0.5%;
  }
  .contentWrap04 .notes .t1 {
    font-size: 8vw;
    margin-bottom: 4%;
  }
  .contentWrap04 .notes .t2 {
    font-size: 4.26vw;
    line-height: 1.9;
  }
  .nextContents {
    position: relative;
    z-index: 3;
  }
}
