@font-face {
  font-family: KozGoPr6N-Bold;
  src: url("../fonts/KozGoPr6N-Bold.otf");
}
@font-face {
  font-family: KozGoPr6N-Medium;
  src: url("../fonts/KozGoPr6N-Medium.otf");
}
@font-face {
  font-family: KozGoPr6N-Regular;
  src: url("../fonts/KozGoPr6N-Regular.otf");
}
@font-face {
  font-family: KozGoPr6N-Light;
  src: url("../fonts/KozGoPr6N-Light.otf");
}
@font-face {
  font-family: hiraMinProp-regular;
  src: url("../fonts/HiraMinPro-W3.otf");
}
@font-face {
  font-family: hiraMinProp-bold;
  src: url("../fonts/HiraMinPro-W6.otf");
}
@font-face {
  font-family: noto-black;
  src: url("../fonts/NotoSansCJKjp-Black.otf");
}
@font-face {
  font-family: noto-bold;
  src: url("../fonts/NotoSansCJKjp-Bold.otf");
}
@font-face {
  font-family: noto-regular;
  src: url("../fonts/NotoSansCJKjp-Regular.otf");
}
.pageindex {
  width: 100%;
  height: 38rem;
  padding-top: 8rem;
  padding-bottom: 4rem;
}
.pageindex.print .section-title::before {
  content: "3D printing";
}

.w1080 {
  max-width: 1080px;
  width: 90%;
  margin: 0 auto;
}

.link-btn.btn-red {
  background-color: #d60012;
}
.link-btn.btn-red span {
  color: #fff;
}
.link-btn.btn-red::after {
  background-color: #fff;
  color: #d60012;
}
.link-btn.btn-red:hover span {
  color: #d60012;
}
.link-btn.btn-red:hover::before {
  background: #e8e9e9;
}
.link-btn.btn-red:hover::after {
  background-color: #d60012;
  color: #fff;
}

.btn-line {
  width: 100%;
  background-color: #06c755;
  height: 9.7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4.5rem;
}
@media only screen and (max-width: 768px) {
  .btn-line {
    gap: 24px;
  }
}
.btn-line .icon {
  width: 5.2rem;
  height: auto;
}
.btn-line .icon img {
  width: 100%;
}
.btn-line span {
  color: #fff;
  font-size: 2.2rem;
}
@media only screen and (max-width: 768px) {
  .btn-line span {
    font-size: 2.1rem;
  }
}
.btn-line::after {
  left: auto;
  right: 2.5rem;
  width: 5rem;
  height: 5rem;
  color: #06c755;
  background-color: #fff;
}
.btn-line::before {
  background-color: #fff;
}
.btn-line:hover span {
  color: #06c755;
}
.btn-line:hover::after {
  color: #fff;
  background-color: #06c755;
}
.btn-line:hover .icon .default {
  display: none;
}
.btn-line:hover .icon .hover {
  display: block;
  z-index: 1;
  position: relative;
}
.btn-line .icon .hover {
  display: none;
}

.intro {
  position: relative;
  overflow: visible;
}
.intro::after {
  position: absolute;
  width: 45%;
  aspect-ratio: 779/484;
  content: "";
  background-image: url(../img/3dprint/deco-bg-1.png);
  background-size: cover;
  bottom: -100px;
  left: -10%;
  z-index: -1;
}
@media only screen and (max-width: 768px) {
  .intro::after {
    width: 110%;
    left: -20%;
    bottom: 5%;
  }
}
.intro .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 64px;
  padding-bottom: 127px;
}
@media only screen and (max-width: 768px) {
  .intro .inner {
    padding-bottom: 104px;
    gap: 45px;
  }
}
.intro .group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 64px;
}
@media only screen and (max-width: 768px) {
  .intro .group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 57px;
  }
}
.intro .group .sec-img {
  max-width: 44.6559297218vw;
}
@media only screen and (max-width: 768px) {
  .intro .group .sec-img {
    max-width: none;
    width: 90%;
  }
}
.intro .group .sec-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
@media only screen and (max-width: 768px) {
  .intro .group .sec-text {
    width: 90%;
    margin: 0 auto;
    gap: 25px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.intro .group .sec-text .tit-ja {
  color: #3e3a39;
  font-size: 3.6rem;
  line-height: 1.4722222222;
  font-family: KozGoPr6N-Bold;
  padding-top: 36px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .intro .group .sec-text .tit-ja {
    padding-top: 27px;
    font-size: 3rem;
    text-align: center;
  }
}
.intro .group .sec-text .tit-ja::before {
  content: "";
  width: 58px;
  height: 4px;
  background-color: #282e92;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 768px) {
  .intro .group .sec-text .tit-ja::before {
    width: 36px;
    height: 2px;
    right: 0;
    margin: auto;
  }
}
.intro .group .sec-text .desc p {
  font-family: KozGoPr6N-Medium;
  color: #3e3a39;
  font-size: 1.6rem;
  line-height: 1.875;
}
@media only screen and (max-width: 768px) {
  .intro .group .sec-text .desc p {
    text-align: left;
    font-size: 2.1rem;
    line-height: 1.5238095238;
  }
  .intro .group .sec-text .desc p br {
    display: none;
  }
}
.intro .list {
  max-width: 1080px;
  width: 90%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .intro .list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .intro .list .item {
    width: 30%;
  }
}
.intro .list img {
  width: 100%;
  height: auto;
}

.sec-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
}
@media only screen and (max-width: 768px) {
  .sec-title {
    gap: 7px;
  }
}
.sec-title .tit-ja {
  color: #3e3a39;
  font-size: 3.6rem;
  line-height: 1.4722222222;
  font-family: KozGoPr6N-Bold;
  padding-top: 36px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .sec-title .tit-ja {
    padding-top: 27px;
    font-size: 3rem;
    text-align: center;
  }
}
.sec-title .tit-ja::before {
  content: "";
  width: 58px;
  height: 4px;
  background-color: #282e92;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
@media only screen and (max-width: 768px) {
  .sec-title .tit-ja::before {
    width: 36px;
    height: 2px;
    right: 0;
    margin: auto;
  }
}
.sec-title .tit-en {
  font-size: 14px;
  font-family: noto-black;
  color: #282e92;
}
@media only screen and (max-width: 768px) {
  .sec-title .tit-en {
    font-size: 12px;
  }
}

.movie .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 47px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 100px;
}
@media only screen and (max-width: 768px) {
  .movie .inner {
    gap: 38px;
    padding-bottom: 74px;
  }
}
.movie .item {
  width: 100%;
}
.movie .item iframe {
  aspect-ratio: 1080/600;
  height: 100%;
}
@media only screen and (max-width: 900px) {
  .movie .item iframe {
    aspect-ratio: 580/350;
  }
}

.cando .inner {
  padding-bottom: 56px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 54px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 768px) {
  .cando .inner {
    gap: 46px;
  }
}
.cando .inner .list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 46px;
}
@media only screen and (max-width: 768px) {
  .cando .inner .list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.cando .inner .list .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 329px;
  width: 100%;
}
.cando .inner .list .item figure {
  margin-bottom: 40px;
  height: 165px;
}
.cando .inner .list .item .item-tit {
  font-family: KozGoPr6N-Bold;
  font-size: 2.1rem;
  color: #282e92;
  text-align: center;
  padding-bottom: 10px;
  position: relative;
  margin-bottom: 16px;
}
@media only screen and (max-width: 768px) {
  .cando .inner .list .item .item-tit {
    font-size: 2.4rem;
  }
}
.cando .inner .list .item .item-tit::before {
  content: "";
  width: 44px;
  height: 3px;
  background-color: #282e92;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.cando .inner .list .item .desc p {
  font-family: KozGoPr6N-Medium;
  color: #3e3a39;
  font-size: 16px;
  line-height: 1.875;
}

.trouble {
  background: url(../img/3dprint/img10.png) no-repeat bottom/cover;
}
.trouble .inner {
  padding: 97px 0 130px;
}
@media only screen and (max-width: 768px) {
  .trouble .inner {
    padding: 57px 0 87px;
  }
}
.trouble .inner .sec-title {
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  .trouble .inner .sec-title {
    margin-bottom: 26px;
  }
}
.trouble .inner .sec-title .icon {
  margin-bottom: 30px;
}
.trouble .inner .sec-title .tit-ja,
.trouble .inner .sec-title .tit-en {
  color: #fff;
}
.trouble .inner .sec-title .tit-ja::before {
  background-color: #fff;
}
.trouble .inner .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 60px;
  margin-bottom: 88px;
}
@media only screen and (max-width: 768px) {
  .trouble .inner .list {
    margin-bottom: 59px;
    gap: 30px;
  }
}
.trouble .inner .list .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 34px;
}
@media only screen and (max-width: 768px) {
  .trouble .inner .list .item {
    gap: 30px;
  }
}
.trouble .inner .list .item .label {
  height: 65px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 2px solid #fff;
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(40, 46, 147, 0.85)), to(rgba(46, 151, 208, 0.85)));
  background-image: linear-gradient(90deg, rgba(40, 46, 147, 0.85), rgba(46, 151, 208, 0.85));
  font-size: 2.1rem;
  color: #fff;
  font-family: KozGoPr6N-Bold;
}
@media only screen and (max-width: 768px) {
  .trouble .inner .list .item .label {
    font-size: 2.4rem;
    height: auto;
    padding: 15px 0;
    text-align: center;
  }
}
.trouble .inner .list .item .desc p {
  font-family: KozGoPr6N-Medium;
  font-size: 16px;
  line-height: 1.875;
  color: #fff;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .trouble .inner .list .item .desc p {
    font-size: 2.1rem;
    line-height: 1.5238095238;
    text-align: left;
  }
}
.trouble .inner .catch {
  font-size: 3.6rem;
  color: #fff;
  font-family: KozGoPr6N-Bold;
  text-align: center;
  padding-top: 36px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .trouble .inner .catch {
    font-size: 3rem;
    padding-top: 27px;
  }
}
.trouble .inner .catch::before {
  content: "";
  width: 58px;
  height: 4px;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
@media only screen and (max-width: 768px) {
  .trouble .inner .catch::before {
    width: 36px;
    height: 2px;
  }
}

figure img {
  width: auto;
}

.has-bg {
  position: relative;
}
.has-bg::before {
  content: "";
  background: url(../img/3dprint/img12.png) no-repeat center/cover;
  position: absolute;
  top: -113px;
  left: 0;
  width: 100%;
  height: calc(100% + 113px);
  z-index: -1;
}

.about .inner {
  padding: 100px 0 87px;
}
@media only screen and (max-width: 768px) {
  .about .inner {
    padding: 83px 0 70px;
  }
}
.about .inner .sec-title {
  margin-bottom: 24px;
}
@media only screen and (max-width: 768px) {
  .about .inner .sec-title {
    margin-bottom: 42px;
  }
}
.about .inner .sec-title .tit-ja {
  text-align: center;
}
.about .inner .group {
  margin-bottom: 37px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.about .inner .column-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 46px;
  margin-bottom: 52px;
}
@media only screen and (max-width: 768px) {
  .about .inner .column-3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
    margin-bottom: 45px;
  }
}
.about .inner .column-3 .tit-ja {
  background-image: linear-gradient(170deg, rgb(40, 46, 147), rgb(46, 151, 208));
  font-size: 2.1rem;
  color: #fff;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 6.5rem;
  font-family: KozGoPr6N-Bold;
}
@media only screen and (max-width: 768px) {
  .about .inner .column-3 .tit-ja {
    font-size: 2.4rem;
    height: 8rem;
  }
}
.about .inner .column-3 .desc {
  background-color: #f4f4f4;
  padding: 20px 0;
}
@media only screen and (max-width: 768px) {
  .about .inner .column-3 .desc .sp-hidden {
    display: none;
  }
}
.about .inner .column-3 .desc p {
  font-size: 2.1rem;
  color: #3e3a39;
  font-family: KozGoPr6N-Bold;
  line-height: 1.5238095238;
  text-align: center;
}
.about .inner .column-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}
@media only screen and (max-width: 768px) {
  .about .inner .column-2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 22px;
  }
}
.about .inner .column-2 .item {
  background-color: #fff;
}
.about .inner .column-2 .item .content {
  border: 3px solid #e7e8e8;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 77px;
}
.about .inner .column-2 .item .content .pc-hidden {
  display: none;
}
@media only screen and (max-width: 768px) {
  .about .inner .column-2 .item .content .pc-hidden {
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  .about .inner .column-2 .item .content .sp-hidden {
    display: none;
  }
}
.about .inner .column-2 .item .content .group {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0;
}
.about .inner .column-2 .item .content .sub-tit {
  font-size: 2.1rem;
  font-family: KozGoPr6N-Bold;
  color: #282e92;
  padding-bottom: 7px;
  position: relative;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .about .inner .column-2 .item .content .sub-tit {
    padding-bottom: 20px;
  }
}
.about .inner .column-2 .item .content .sub-tit::before {
  content: "";
  width: 44px;
  height: 3px;
  background-color: #282e92;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
@media only screen and (max-width: 768px) {
  .about .inner .column-2 .item .content .sub-tit::before {
    width: 3.6rem;
    height: 2px;
  }
}
@media only screen and (max-width: 768px) {
  .about .inner .column-2 .item .content .desc {
    width: 90%;
    margin: 0 auto;
  }
}
.about .inner .column-2 .item .content .desc p {
  text-align: center;
  font-family: KozGoPr6N-Medium;
  font-size: 16px;
  line-height: 1.875;
  color: #3e3a39;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .about .inner .column-2 .item .content .desc p {
    font-size: 2.1rem;
    text-align: left;
  }
  .about .inner .column-2 .item .content .desc p br {
    display: none;
  }
}
.about .inner .column-2 .item.red, .about .inner .column-2 .item.blue {
  border: 3px solid #e7e8e8;
  padding: 5%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 768px) {
  .about .inner .column-2 .item.red, .about .inner .column-2 .item.blue {
    gap: 0;
    padding: 5% 3%;
  }
}
.about .inner .column-2 .item.red .tit-ja, .about .inner .column-2 .item.blue .tit-ja {
  width: 100%;
  font-size: 2.6rem;
  font-family: KozGoPr6N-Bold;
  color: #fff;
  text-align: center;
  position: relative;
  padding: 18px 0;
  border-radius: 10px;
}
@media only screen and (max-width: 768px) {
  .about .inner .column-2 .item.red .tit-ja, .about .inner .column-2 .item.blue .tit-ja {
    font-size: 2.4rem;
    margin-bottom: 40px;
  }
}
@media only screen and (max-width: 768px) {
  .about .inner .column-2 .item.red .desc, .about .inner .column-2 .item.blue .desc {
    margin-bottom: 25px;
  }
}
.about .inner .column-2 .item.red .desc p, .about .inner .column-2 .item.blue .desc p {
  text-align: center;
  font-family: KozGoPr6N-Medium;
  font-size: 16px;
  line-height: 1.875;
  color: #3e3a39;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .about .inner .column-2 .item.red .desc p, .about .inner .column-2 .item.blue .desc p {
    font-size: 2.1rem;
  }
}
.about .inner .column-2 .item.red .link-btn, .about .inner .column-2 .item.blue .link-btn {
  margin-top: auto;
}
.about .inner .column-2 .item.red .tit-ja {
  background-color: #db9ca4;
}
.about .inner .column-2 .item.red .tit-ja::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 9px solid transparent;
  border-left: 9px solid transparent;
  border-top: 12px solid #db9ca4;
  border-bottom: 0;
  top: 100%;
  left: 0;
  right: 0;
  margin: auto;
}
.about .inner .column-2 .item.red .desc span {
  color: #d60012;
}
.about .inner .column-2 .item.blue .tit-ja {
  background-color: #8f93bc;
}
.about .inner .column-2 .item.blue .tit-ja::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 9px solid transparent;
  border-left: 9px solid transparent;
  border-top: 12px solid #8f93bc;
  border-bottom: 0;
  top: 100%;
  left: 0;
  right: 0;
  margin: auto;
}
.about .inner .column-2 .item.blue .desc span {
  color: #282e93;
}
.about .inner .column-2.middle {
  margin-bottom: 26px;
}
.about .inner .column-2.middle .tit-ja {
  height: 55px;
  font-size: 2.6rem;
  color: #fff;
  font-family: KozGoPr6N-Bold;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-image: linear-gradient(45deg, rgb(40, 46, 147), rgb(46, 151, 208));
}
@media only screen and (max-width: 768px) {
  .about .inner .column-2.middle .tit-ja {
    font-size: 2.4rem;
  }
}
.about .inner .column-2.middle .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.about .inner .column-2.middle .item .content {
  padding: 50px 0 96px;
  height: 100%;
}
@media only screen and (max-width: 768px) {
  .about .inner .column-2.middle .item .content {
    padding: 50px 0 30px;
  }
}
.about .inner .column-2.middle .item.left .tit-ja {
  -webkit-clip-path: polygon(0 100%, 10% 0, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 100%, 10% 0, 100% 0, 100% 100%, 0% 100%);
}
@media only screen and (max-width: 768px) {
  .about .inner .column-2.middle .item.left .tit-ja {
    -webkit-clip-path: polygon(10% 0%, 90% 0, 100% 100%, 100% 100%, 0% 100%);
            clip-path: polygon(10% 0%, 90% 0, 100% 100%, 100% 100%, 0% 100%);
  }
}
.about .inner .column-2.middle .item.right .tit-ja {
  -webkit-clip-path: polygon(0% 0%, 90% 0, 100% 100%, 100% 100%, 0% 100%);
          clip-path: polygon(0% 0%, 90% 0, 100% 100%, 100% 100%, 0% 100%);
}
@media only screen and (max-width: 768px) {
  .about .inner .column-2.middle .item.right .tit-ja {
    -webkit-clip-path: polygon(10% 0%, 90% 0, 100% 100%, 100% 100%, 0% 100%);
            clip-path: polygon(10% 0%, 90% 0, 100% 100%, 100% 100%, 0% 100%);
  }
}
.about .inner .btn-line {
  margin-top: 44px;
}

.movie02 .inner {
  padding-bottom: 93px;
}
.movie02 .inner .sec-title {
  margin-bottom: 30px;
}
.movie02 .inner .list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}
@media only screen and (max-width: 768px) {
  .movie02 .inner .list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
  }
}
.movie02 .inner .list .item {
  position: relative;
}
.movie02 .inner .list .movie-player {
  aspect-ratio: 524/297;
  height: 100%;
}
@media only screen and (max-width: 768px) {
  .movie02 .inner .list .movie-player {
    aspect-ratio: 580/330;
  }
}
.movie02 .inner .list .movie-player iframe {
  width: 100%;
  height: 100%;
}
.movie02 .inner .list .movie-player__thumbnail {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.movie02 .inner .list .movie-player__button {
  width: 100px;
  height: 100px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: #292fa4;
  display: grid;
  place-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
}
.movie02 .inner .list .movie-player__icon {
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 22px solid transparent;
  border-bottom: 22px solid transparent;
  border-left: 22px solid #fff;
  border-right: 0;
}
.movie02 .inner .list .movie-player:hover .movie-player__button {
  -webkit-transform: translate(-50%, -50%) scale(1.08);
          transform: translate(-50%, -50%) scale(1.08);
}

.case {
  background-color: #282e92;
}
.case .inner {
  padding: 78px 0 52px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.case .inner .sec-title {
  margin-bottom: 57px;
}
.case .inner .sec-title .tit-ja,
.case .inner .sec-title .tit-en {
  color: #fff;
}
.case .inner .sec-title .tit-ja::before {
  background-color: #fff;
}
.case .inner .caselist {
  width: 100%;
  min-width: 0;
  margin-bottom: 70px;
}
.case .inner .caselist .case-slider-wrap {
  width: 100%;
  min-width: 0;
  position: relative;
  overflow: hidden;
}
.case .inner .caselist .case-slider {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}
.case .inner .caselist .case-slider .swiper-wrapper {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}
.case .inner .caselist .case-slider .swiper-slide {
  height: auto;
  min-width: 0;
}
.case .inner .caselist .case-slider .swiper-slide .thumb {
  margin-bottom: 10px;
  border-radius: 8px;
}
.case .inner .caselist .case-slider .swiper-slide .thumb img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}
.case .inner .caselist .case-slider .swiper-slide .title {
  color: #fff;
  font-size: 2.4rem;
  line-height: 1.75;
  font-family: KozGoPr6N-Bold;
}
@media only screen and (max-width: 768px) {
  .case .inner .caselist .case-slider .swiper-slide .title {
    font-size: 2.1rem;
  }
}
.case .inner .caselist .case-slider .swiper-slide .label {
  color: #fff;
  font-size: 12px;
  font-family: KozGoPr6N-Bold;
}
@media only screen and (max-width: 768px) {
  .case .inner .caselist .case-slider .swiper-slide .label {
    font-size: 1.8rem;
  }
}
.case .inner .link-btn {
  background-color: #ffffff;
}
.case .inner .link-btn span {
  color: #282e93;
}
.case .inner .link-btn::after {
  background-color: #282e93;
  color: #fff;
}
.case .inner .link-btn:hover span {
  color: #fff;
}
.case .inner .link-btn:hover::after {
  background-color: #fff;
  color: #282e93;
}

.flow .inner {
  padding: 89px 0 100px;
}
@media only screen and (max-width: 768px) {
  .flow .inner {
    padding: 80px 0;
  }
}
.flow .inner .sec-title {
  margin-bottom: 60px;
}
@media only screen and (max-width: 768px) {
  .flow .inner .sec-title {
    margin-bottom: 20px;
  }
}
.flow .inner .scroll-area {
  width: 100%;
  overflow-x: auto;
}
.flow .inner .flowlist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.flow .inner .flowlist .flow-tit {
  margin-bottom: 57px;
  font-size: 2.6rem;
  color: #fff;
  font-family: KozGoPr6N-Bold;
  padding: 20px 0;
  border-radius: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 465px;
  width: 100%;
  position: relative;
}
.flow .inner .flowlist.flow01 {
  margin-bottom: 76px;
}
@media only screen and (max-width: 768px) {
  .flow .inner .flowlist.flow01 {
    margin-bottom: 60px;
  }
}
.flow .inner .flowlist.flow01 .flow-tit {
  background-color: #00d1e3;
}
.flow .inner .flowlist.flow01 .flow-tit::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 9px solid transparent;
  border-left: 9px solid transparent;
  border-top: 12px solid #00d1e3;
  border-bottom: 0;
  top: 100%;
  left: 0;
  right: 0;
  margin: auto;
}
.flow .inner .flowlist.flow01 .box {
  margin-top: 30px;
  border: 3px solid #e7e8e8;
  width: 100%;
  padding: 20px 0;
  font-size: 16px;
  line-height: 1.625;
  color: #3e3a39;
  font-family: KozGoPr6N-Medium;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .flow .inner .flowlist.flow01 .box {
    font-size: 2.1rem;
    padding: 20px 10px;
  }
}
.flow .inner .flowlist.flow02 {
  margin-bottom: 38px;
}
@media only screen and (max-width: 768px) {
  .flow .inner .flowlist.flow02 {
    margin-bottom: 60px;
  }
}
.flow .inner .flowlist.flow02 .flow-tit {
  background-color: #ff6326;
}
.flow .inner .flowlist.flow02 .flow-tit::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 9px solid transparent;
  border-left: 9px solid transparent;
  border-top: 12px solid #ff6326;
  border-bottom: 0;
  top: 100%;
  left: 0;
  right: 0;
  margin: auto;
}
.flow .inner .flowlist .list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 26px 0;
}
@media only screen and (max-width: 900px) {
  .flow .inner .flowlist .list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow-x: scroll;
  }
}
.flow .inner .flowlist .list .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  padding: 39px 0 57px 0;
}
@media only screen and (max-width: 900px) {
  .flow .inner .flowlist .list .item {
    min-width: 33vw;
  }
}
.flow .inner .flowlist .list .item::after {
  content: "";
  width: 63px;
  height: 100%;
  position: absolute;
  right: -22px;
  top: 0;
}
.flow .inner .flowlist .list .item .item-tit {
  font-size: 1.5rem;
  font-family: KozGoPr6N-Bold;
}
.flow .inner .flowlist .list .item .desc {
  max-width: 153px;
  width: 94%;
  margin: 0 auto;
}
.flow .inner .flowlist .list .item .desc p {
  font-size: 1.4rem;
  line-height: 1.2857142857;
  color: #3e3a39;
  font-family: KozGoPr6N-Medium;
  text-align: center;
}
.flow .inner .flowlist .list .item.item01 .item-tit {
  color: #cccccc;
}
.flow .inner .flowlist .list .item.item01::before {
  content: "";
  width: 45px;
  height: 100%;
  background: url(../img/3dprint/img15.svg) no-repeat left/auto 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.flow .inner .flowlist .list .item.item01::after {
  background: url(../img/3dprint/img17.svg) no-repeat right/auto 100%;
}
.flow .inner .flowlist .list .item.item02 .item-tit {
  color: #85e800;
}
.flow .inner .flowlist .list .item.item02::after {
  background: url(../img/3dprint/img19.svg) no-repeat right/auto 100%;
}
.flow .inner .flowlist .list .item.item03 .item-tit {
  color: #00d1e3;
}
.flow .inner .flowlist .list .item.item03::after {
  background: url(../img/3dprint/img21.svg) no-repeat right/auto 100%;
}
.flow .inner .flowlist .list .item.item04 .item-tit {
  color: #5b91e3;
}
.flow .inner .flowlist .list .item.item04::after {
  background: url(../img/3dprint/img23.svg) no-repeat right/auto 100%;
}
.flow .inner .flowlist .list .item.item05 .item-tit {
  color: #7b5fc2;
}
.flow .inner .flowlist .list .item.item05::after {
  background: url(../img/3dprint/img25.svg) no-repeat right/auto 100%;
}
.flow .inner .flowlist .list .item.item06 .item-tit {
  color: #944b84;
}
.flow .inner .flowlist .list .item.item06::after {
  background: url(../img/3dprint/img27.svg) no-repeat right/auto 100%;
  right: 0;
}
.flow .inner .flowlist .list .item.item07 .item-tit {
  color: #c43b64;
}
.flow .inner .flowlist .list .item.item07::after {
  background: url(../img/3dprint/img29.svg) no-repeat right/auto 100%;
}
.flow .inner .flowlist .list .item.item08 .item-tit {
  color: #ff6326;
}
.flow .inner .flowlist .list .item.item08::after {
  background: url(../img/3dprint/img31.svg) no-repeat right/auto 100%;
}
.flow .inner .flowlist .list .item.item09 .item-tit {
  color: #ffbc02;
}
.flow .inner .flowlist .list .item.item09::after {
  background: url(../img/3dprint/img37.svg) no-repeat right/auto 100%;
}
.flow .inner .flowlist .list .item.item10 .item-tit {
  color: #09e8c6;
}
.flow .inner .flowlist .list .item.item10::after {
  background: url(../img/3dprint/img36.svg) no-repeat right/auto 100%;
}
.flow .inner .flowlist .list .item.item11 .item-tit {
  color: #3da4ff;
}
.flow .inner .flowlist .list .item.item11::after {
  right: 0;
  background: url(../img/3dprint/img32.svg) no-repeat right/contain;
}
.flow .inner .btn-line {
  margin-top: 93px;
}

.price {
  background-image: linear-gradient(170deg, rgb(40, 46, 147), rgb(46, 151, 208));
}
.price .inner {
  padding: 130px 0 120px;
}
@media only screen and (max-width: 768px) {
  .price .inner {
    padding: 85px 0 47px;
  }
}
.price .inner .sec-title {
  margin-bottom: 50px;
}
.price .inner .sec-title .tit-ja,
.price .inner .sec-title .tit-en {
  color: #fff;
}
.price .inner .sec-title .tit-ja::before {
  background-color: #fff;
}
.price .inner .output-price__tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  width: calc(100% - 150px);
  margin: 0 auto 42px;
}
@media only screen and (max-width: 768px) {
  .price .inner .output-price__tabs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 7px;
    width: 100%;
    margin-bottom: 29px;
  }
}
.price .inner .output-price__tab {
  min-height: 9rem;
  padding: 14px 20px;
  border: 2px solid rgba(255, 255, 255, 0.85);
  border-radius: 0;
  color: #ffffff;
  text-align: center;
  background: transparent;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-transition: color 0.3s ease, background-color 0.3s ease, opacity 0.3s ease;
  transition: color 0.3s ease, background-color 0.3s ease, opacity 0.3s ease;
}
@media only screen and (max-width: 768px) {
  .price .inner .output-price__tab {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 8rem;
  }
}
.price .inner .output-price__tab:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.price .inner .output-price__tab:focus-visible {
  outline: 3px solid #ffffff;
  outline-offset: 4px;
}
.price .inner .output-price__tab.is-active {
  color: #26358f;
  background-color: #ffffff;
}
.price .inner .output-price__tab-size,
.price .inner .output-price__tab-label {
  display: block;
  font-weight: 700;
}
.price .inner .output-price__tab-size {
  font-size: 2.1rem;
  line-height: 1.7619047619;
  font-family: KozGoPr6N-Bold;
}
@media only screen and (max-width: 768px) {
  .price .inner .output-price__tab-size {
    font-size: 2.4rem;
  }
}
.price .inner .output-price__tab-label {
  font-size: 2.1rem;
  line-height: 1.7619047619;
  font-family: KozGoPr6N-Bold;
}
@media only screen and (max-width: 768px) {
  .price .inner .output-price__tab-label {
    font-size: 2.4rem;
  }
}
.price .inner .output-price__panel {
  display: none;
}
.price .inner .output-price__panel.is-active {
  display: block;
  -webkit-animation: outputPriceFade 0.4s ease;
          animation: outputPriceFade 0.4s ease;
}
.price .inner .output-price__table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.price .inner .output-price__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 13px;
  table-layout: fixed;
}
.price .inner .output-price__table th,
.price .inner .output-price__table td {
  text-align: center;
  vertical-align: middle;
}
.price .inner .output-price__table thead th {
  height: 7.4rem;
  text-align: center;
  border: 2px solid rgba(255, 255, 255, 0.85);
  color: #ffffff;
  font-size: 1.8rem;
  font-family: KozGoPr6N-Bold;
  background: linear-gradient(100deg, rgba(44, 52, 151, 0.95), rgba(43, 151, 204, 0.95));
}
.price .inner .output-price__table thead th:nth-child(1) {
  width: 25%;
}
@media only screen and (max-width: 900px) {
  .price .inner .output-price__table thead th:nth-child(1) {
    width: 26rem;
  }
}
.price .inner .output-price__table thead th:nth-child(2) {
  width: 25%;
}
@media only screen and (max-width: 900px) {
  .price .inner .output-price__table thead th:nth-child(2) {
    width: 26rem;
  }
}
.price .inner .output-price__table thead th:nth-child(3) {
  width: 25%;
}
@media only screen and (max-width: 900px) {
  .price .inner .output-price__table thead th:nth-child(3) {
    width: 26rem;
  }
}
.price .inner .output-price__table thead th:nth-child(4) {
  width: 25%;
}
@media only screen and (max-width: 900px) {
  .price .inner .output-price__table thead th:nth-child(4) {
    width: 26rem;
  }
}
.price .inner .output-price__table tbody th,
.price .inner .output-price__table tbody td {
  height: 9rem;
  color: #3e3a39;
  font-size: 1.8rem;
  font-family: KozGoPr6N-Medium;
  line-height: 1.2777777778;
  background-color: #f4f4f4;
}
.price .inner .output-price__notes {
  margin-top: 36px;
}
.price .inner .output-price__notes p {
  font-size: 16px;
  line-height: 1.875;
  color: #fff;
  font-family: KozGoPr6N-Medium;
}
@media only screen and (max-width: 768px) {
  .price .inner .output-price__notes p {
    font-size: 2.1rem;
  }
}
@-webkit-keyframes outputPriceFade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes outputPriceFade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.faq .inner {
  padding: 87px 0 103px;
}
.faq .inner .sec-title {
  margin-bottom: 37px;
}
.faq .inner .faq-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8px;
  margin-bottom: 54px;
}
@media only screen and (max-width: 900px) {
  .faq .inner .faq-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.faq .inner .faq-list__column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}
@media only screen and (max-width: 900px) {
  .faq .inner .faq-list__column {
    width: 100%;
  }
}
.faq .inner .faq-item {
  border: 3px solid #e7e8e8;
  background-color: #ffffff;
}
.faq .inner .faq-item__button {
  width: 100%;
  min-height: 65px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  padding: 20px;
  border: 0;
  border-radius: 0;
  color: #282e98;
  font: inherit;
  text-align: left;
  background: transparent;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.faq .inner .faq-item__button:hover {
  background-color: #fafafa;
}
.faq .inner .faq-item__button:focus-visible {
  outline: 3px solid #282e98;
  outline-offset: -3px;
}
.faq .inner .faq-item__title {
  display: block;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 1.8rem;
  font-family: KozGoPr6N-Medium;
}
@media only screen and (max-width: 768px) {
  .faq .inner .faq-item__title {
    font-size: 2.4rem;
  }
}
.faq .inner .faq-item__icon {
  width: 25px;
  height: 25px;
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25px;
          flex: 0 0 25px;
  position: relative;
  border-radius: 50%;
  background-color: #282e93;
}
.faq .inner .faq-item__icon::before, .faq .inner .faq-item__icon::after {
  content: "";
  width: 14px;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #ffffff;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.faq .inner .faq-item__icon::after {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
}
.faq .inner .faq-item__answer {
  display: block;
  max-height: 0;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: max-height 0.4s ease, opacity 0.3s ease, visibility 0.4s ease;
  transition: max-height 0.4s ease, opacity 0.3s ease, visibility 0.4s ease;
}
.faq .inner .faq-item.is-open .faq-item__icon::after {
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
          transform: translate(-50%, -50%) rotate(0deg);
}
.faq .inner .faq-item.is-open .faq-item__answer {
  visibility: visible;
  opacity: 1;
}
.faq .inner .faq-item__answer-inner {
  padding: 3px 20px 70px;
}
.faq .inner .faq-item__answer-inner p {
  margin: 0;
  color: #3e3a39;
  font-size: 16px;
  line-height: 1.875;
  font-family: KozGoPr6N-Medium;
}/*# sourceMappingURL=3dprint.css.map */