@charset "UTF-8";
.c-pageMainv-advantage {
  background-image: url("../img/advantage/mainv.webp");
}
_::-webkit-full-page-media, _:future, :root .c-pageMainv-advantage {
  background-image: url("../img/advantage/mainv.jp2");
}

.c-pageMainv-contact {
  background-image: none;
  background-color: #f9f9f9;
  height: 350px;
}

@media screen and (max-width: 1023px) {
  .c-pageMainv-contact {
    height: 200px;
  }
}

.c-pageMainv-3dprinter {
  background-image: url("../img/3dprinter/mainv.webp");
}
_::-webkit-full-page-media, _:future, :root .c-pageMainv-3dprinter {
  background-image: url("../img/3dprinter/mainv.jp2");
}

.c-pageMainv-metal {
  background-image: url("../img/metal/mainv.webp");
}
_::-webkit-full-page-media, _:future, :root .c-pageMainv-metal {
  background-image: url("../img/metal/mainv.jp2");
}

.c-pageMainv-quality {
  background-image: url("../img/quality/mainv.webp");
}
_::-webkit-full-page-media, _:future, :root .c-pageMainv-quality {
  background-image: url("../img/quality/mainv.jp2");
}

.c-pageMainv-electrical {
  background-image: url("../img/electrical/mainv.webp");
}
_::-webkit-full-page-media, _:future, :root .c-pageMainv-electrical {
  background-image: url("../img/electrical/mainv.jp2");
}

.c-pageMainv-machinery {
  background-image: url("../img/machinery/mainv.webp");
}
_::-webkit-full-page-media, _:future, :root .c-pageMainv-machinery {
  background-image: url("../img/machinery/mainv.jp2");
}

.c-pageMainv-company {
  background-image: url("../img/company/mainv.webp");
}
_::-webkit-full-page-media, _:future, :root .c-pageMainv-company {
  background-image: url("../img/company/mainv.jp2");
}

.tec3D {
  margin-top: 100px;
  position: relative;
}

@media screen and (max-width: 1023px) {
  .tec3D {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

.about3D {
  margin-top: 120px;
  position: relative;
}

@media screen and (max-width: 1023px) {
  .about3D {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

.tools {
  margin-top: 120px;
  position: relative;
}

@media screen and (max-width: 1023px) {
  .tools {
    margin-top: 40px;
    margin-bottom: 30px;
  }
}

.overview {
  margin-top: 120px;
  position: relative;
}

@media screen and (max-width: 1023px) {
  .overview {
    margin-top: 40px;
    margin-bottom: 30px;
  }
}

.products {
  margin-top: 120px;
  position: relative;
  margin-bottom: 185px;
}

@media screen and (max-width: 1023px) {
  .products {
    margin-top: 40px;
    margin-bottom: 30px;
  }
}

.access {
  margin-top: 120px;
  position: relative;
  margin-bottom: 175px;
}

@media screen and (max-width: 1023px) {
  .access {
    margin-top: 40px;
    margin-bottom: 30px;
  }
}

.DNA {
  margin-top: 120px;
  position: relative;
}

@media screen and (max-width: 1023px) {
  .DNA {
    margin-top: 30px;
    margin-bottom: 60px;
  }
}

.feature {
  margin-top: 120px;
  position: relative;
}

@media screen and (max-width: 1023px) {
  .feature {
    margin-top: 60px;
    margin-bottom: 60px;
  }
}

.workflow {
  margin-top: 120px;
  margin-bottom: 130px;
  position: relative;
}

@media screen and (max-width: 1023px) {
  .workflow {
    margin-top: 60px;
    margin-bottom: 60px;
  }
}

.specs {
  margin-top: 150px;
  margin-bottom: 140px;
  position: relative;
}

@media screen and (max-width: 1023px) {
  .specs {
    margin-top: 60px;
    margin-bottom: 60px;
  }
}

.history {
  margin-top: 150px;
  margin-bottom: 140px;
  position: relative;
}

@media screen and (max-width: 1023px) {
  .history {
    margin-top: 60px;
    margin-bottom: 60px;
  }
}

.DX {
  margin-top: 136px;
  margin-bottom: 178px;
  position: relative;
}

@media screen and (max-width: 1023px) {
  .DX {
    margin-top: 0px;
    margin-bottom: 60px;
  }
}

.sectionInner {
  position: relative;
  padding: 110px 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.sectionInner.featureInner {
  padding: 110px 0 25px;
}

.sectionInner.machineryInner {
  padding: 25px 0 80px;
}

.sectionInner.modelingInner {
  padding: 110px 0 80px;
}

@media screen and (max-width: 1023px) {
  .sectionInner {
    padding: 40px 0;
  }
  .sectionInner.featureInner {
    padding: 40px 0;
  }
  .sectionInner.machineryInner {
    padding: 40px 0;
  }
  .sectionInner.modelingInner {
    padding: 40px 0;
  }
}

.sectionInnerBg {
  background-color: #f9f9f9;
  position: absolute;
  width: 87.5%;
  height: 100%;
  top: 0;
  right: 0;
  z-index: -1;
  border-radius: 40px 0 0 40px;
}

@media screen and (max-width: 1850px) {
  .sectionInnerBg {
    width: 95%;
  }
}

@media screen and (max-width: 1580px) {
  .sectionInnerBg {
    width: 100%;
  }
}

.sectionInnerBox-flex {
  margin-top: 100px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.sectionInnerBox-flex.sectionInnerBox-flex-machinery1 {
  margin-top: 0px;
}

@media screen and (max-width: 1023px) {
  .sectionInnerBox-flex {
    display: block;
  }
}

.sectionInnerBox-flex + .sectionInnerBox-flex {
  margin-top: 80px;
}

.sectionInnerBox-flex .sectionInnerBoxImg {
  width: calc(100% - 530px - 70px);
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
  -ms-flex-order: 2;
  order: 2;
}

@media screen and (max-width: 1023px) {
  .sectionInnerBox-flex .sectionInnerBoxImg {
    width: 100%;
    max-height: 400px;
    text-align: center;
    margin-bottom: 30px;
  }
}

.sectionInnerMainImg img {
  border-radius: 0 40px 40px 0;
}

.sectionInnerMainImg-right img {
  border-radius: 40px 0 0 40px;
}

.sectionInnerBox-flex .sectionInnerBoxInfo {
  width: 530px;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1;
}

.toolsInnerBoxImg img {
  border-radius: 40px 0 40px 0;
}

.sectionInnerBox-flex-ri .sectionInnerBoxInfo {
  -webkit-box-ordinal-group: 2 !important;
  -webkit-order: 1 !important;
  -ms-flex-order: 1 !important;
  order: 1 !important;
}

.sectionInnerBox-flex-ri .sectionInnerBoxImg {
  -webkit-box-ordinal-group: 3 !important;
  -webkit-order: 2 !important;
  -ms-flex-order: 2 !important;
  order: 2 !important;
}

.sectionInnerBox-flex-ri .sectionInnerBoxImg img {
  border-radius: 40px 0 0 40px !important;
}

.sectionInnerBox-flex .sectionInnerBoxImg img {
  border-radius: 40px 0 40px 0;
}

.sectionInnerBox-flex-li .sectionInnerBoxInfo,
.sectionInnerBox-flex:nth-child(2n) .sectionInnerBoxInfo {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
  -ms-flex-order: 2;
  order: 2;
}

.sectionInnerBox-flex-li .sectionInnerBoxInfo-left,
.sectionInnerBox-flex:nth-child(2n) .sectionInnerBoxInfo-left {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1;
}

.sectionInnerBox-flex-li .sectionInnerBoxImg,
.sectionInnerBox-flex:nth-child(2n) .sectionInnerBoxImg {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1;
}

.sectionInnerBox-flex-li .sectionInnerBoxImg img,
.sectionInnerBox-flex:nth-child(2n) .sectionInnerBoxImg img {
  border-radius: 0 40px 0 40px;
}

@media screen and (max-width: 1023px) {
  .sectionInnerBox-flex .sectionInnerBoxImg img {
    max-height: 400px;
  }
}

@media screen and (max-width: 1023px) {
  .sectionInnerBox-flex .sectionInnerBoxInfo {
    width: 100%;
  }
}

.sectionInnerBox-flex .sectionInnerBoxInfo-main {
  width: 580px;
  margin-top: 0px;
}

@media screen and (max-width: 1200px) {
  .sectionInnerBox-flex .sectionInnerBoxInfo-main {
    width: 100%;
  }
}

.sectionInnerBox-main {
  height: 600px;
  margin-top: 0px;
}

@media screen and (max-width: 1200px) {
  .sectionInnerBox-main {
    display: block;
    height: auto;
  }
}

.sectionInnerBoxCover-mb {
  margin-bottom: 92px;
}

@media screen and (max-width: 1023px) {
  .sectionInnerBoxCover-mb {
    margin-bottom: 60px;
  }
}

.sectionInnerBoxCover {
  position: relative;
}

.sectionInnerMainImg {
  position: absolute;
  top: 0;
  left: 0;
  width: 47%;
  max-height: 600px;
}

@media screen and (max-width: 1200px) {
  .sectionInnerMainImg {
    position: relative;
    width: 92%;
    max-height: 400px;
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 1200px) {
  .sectionInnerMainImg img {
    max-height: 400px;
  }
}

.sectionInnerMainImg-right {
  left: auto;
  right: 0;
}

@media screen and (max-width: 1200px) {
  .sectionInnerMainImg-right {
    margin: 0 0 30px auto;
    text-align: right;
  }
}

.sectionInnerBoxInfoImgCover {
  width: 91.6%;
  margin: 50px auto 30px;
}

@media screen and (max-width: 1200px) {
  .sectionInnerBoxInfoImgCover {
    width: 100%;
    overflow: scroll;
  }
  .sectionInnerBoxInfoImgCover .boxInfoImg {
    min-width: 900px;
  }
}

@media screen and (max-width: 1023px) {
  .c-pageSecTtl-long {
    font-size: 36px;
  }
}

.sectionInnerBg-left {
  left: 0;
  right: auto;
  border-radius: 0 40px 40px 0;
}

.smallTxt {
  font-size: 14px;
  color: #7d7d7d;
  display: block;
  margin-top: 10px;
}

.sectionInnerBlock{
  margin-top: 60px;
}

.sectionInnerBlockTtl{
  background-color: #cacaca;
  border-radius: 10px;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  line-height: 80px;
}
.sectionInnerBlockTtlImg{
 display: inline-block;
 margin-right: 12px;
 transform: translateY(3px);
}

.sectionInnerBoxTxtArea {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.modelingBox {
  width: calc((100% - 20px) / 3);
}

@media screen and (max-width: 767px) {
  .modelingBox {
    width: 100%;
    margin-bottom: 20px;
  }
}


.modelingBoxTtl {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 25px;
  padding: 25px 25px;
  border-bottom: 2px solid #000;
}

@media screen and (max-width: 1024px) {
  .modelingBoxTtl {
    margin-bottom: 20px;
    padding: 20px 10px;
  }
}

.modelingBoxTxt {
  line-height: 1.9;
  padding: 0 25px;
}
@media screen and (max-width: 1024px) {

  .modelingBoxTxt {
    padding: 0 10px;
  }
}

.m-toolsInner {
  margin-top: 75px;
  position: relative;
  padding-bottom: 25px;
}

@media screen and (max-width: 767px) {
  .m-toolsInner {
    margin-top: 40px;
  }
}

.toolsInnerBoxAria {
  padding-top: 110px;
  padding-bottom: 60px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .toolsInnerBoxAria {
    padding-top: 40px;
    padding-bottom: 30px;
  }
}

.toolsInnerBox {
  width: calc((100% - 80px) / 2);
  margin-bottom: 80px;
  display: flex;
  align-items: center;
}

.sectionInnerBoxTtl-toolBox {
  font-size: 24px;
}

.sectionInnerBoxInfo-toolBox {
  width: calc(100% - 60% - 20px);
}

@media screen and (max-width: 1023px) {
  .toolsInnerBox {
    width: calc((100% - 40px) / 2);
  }
  .sectionInnerBoxTtl-toolBox {
    font-size: 20px;
  }
}

@media screen and (max-width: 767px) {
  .toolsInnerBox {
    width: 100%;
    margin-bottom: 30px;
  }
}

.toolsInnerBox:nth-child(2n) {
  -webkit-transform: translateY(60px);
  transform: translateY(60px);
}

@media screen and (max-width: 767px) {
  .toolsInnerBox:nth-child(2n) {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
  }
}

.toolsInnerBoxImg {
  width: 60%;
  margin-right: 20px;
}

@media screen and (max-width: 767px) {
  .toolsInnerBoxImg {
    margin-bottom: 10px;
  }
}

.toolsDeta {
  color: #7d7d7d;
  font-size: 14px;
  margin-top: 15px;
  letter-spacing: 1.5px;
}

.toolsInnerSmallBoxAria {
  padding-top: 37px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.toolsInnerSmallBoxAria .toolsInnerSmallBox {
  width: calc((100% - 110px) / 3);
  margin-bottom: 50px;
}

@media screen and (max-width: 1023px) {
  .toolsInnerSmallBoxAria .toolsInnerSmallBox {
    width: calc((100% - 40px) / 3);
  }
}

@media screen and (max-width: 767px) {
  .toolsInnerSmallBoxAria .toolsInnerSmallBox {
    width: 100%;
    margin-bottom: 30px;
  }
}

.specsTblCover {
  margin-top: 55px;
  overflow-x: scroll;
}

.specsTblTtl {
  margin-top: 25px;
  font-size: 24px;
  text-align: center;
  background-color: #f9f9f9;
  padding: 25px 0;
  font-weight: bold;
  margin-bottom: 15px;
}

.tblTtl-smallTxt {
  font-size: 18px;
}

.specsTbl {
  min-width: 1200px;
}

.specsTbl .tblTr {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

.specsTbl .tblTh {
  font-weight: bold;
  font-size: 18px;
  padding: 27px 27px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 270px;
  border-bottom: 2px solid #000;
}

@media screen and (max-width: 767px) {
  .specsTbl .tblTh {
    padding: 10px 10px;
    font-size: 16px;
  }
  .specsTblTtl {
    font-size: 20px;
    padding: 10px 0;
    margin-bottom: 10px;
  }
  .tblTtl-smallTxt {
    font-size: 14px;
  }
}

.overViewTbl .tblTh {
  width: 270px;
  font-weight: bold;
  font-size: 18px;
  border-bottom: 2px solid #000;
  padding: 25px 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.historyTbl .tblTr {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  letter-spacing: 1.8px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  padding-left: 40px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
}

.historyTbl .tblTh {
  font-family: "Poppins", sans-serif;
  width: 130px;
  font-weight: bold;
  font-size: 28px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.historyTbl .tblTd {
  font-size: 16px;
  width: calc(100% - 140px);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.specsTbl .tblTh:nth-child(1) {
  width: 350px;
}

.specsTbl .tblTh:nth-child(2) {
  width: 230px;
}
.specsTbl .tblTh:nth-child(3) {
  width: calc(100% - 350px - 230px - 190px - 90px - 40px);
}

.specsTbl .tblTh:nth-child(4) {
  width: 190px;
}

.specsTbl .tblTh:nth-child(5) {
  width: 90px;
}

.specsTbl .tblTh + .specsTbl .tblTh {
  margin-left: 10px;
}

.specsTbl .tblTd {
  font-size: 16px;
  letter-spacing: 1.5px;
  padding: 27px 27px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-bottom: 1px solid #d7d7d7;
}

@media screen and (max-width: 767px) {
  .specsTbl .tblTd {
    padding: 10px 10px;
    font-size: 14px;
  }
}

.overViewTbl .tblTd {
  width: calc(100% - 10px - 270px);
  border-bottom: 1px solid #d7d7d7;
  padding: 25px 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.specsTbl .tblTd:nth-child(1) {
  width: 350px;
}

.specsTbl .tblTd:nth-child(2) {
  width: 230px;
}

.specsTbl .tblTd:nth-child(3) {
  width: calc(100% - 350px - 230px - 190px - 90px - 40px);
}

.specsTbl .tblTd:nth-child(4) {
  width: 190px;
}

.specsTbl .tblTd:nth-child(5) {
  width: 90px;
}

.specsTbl .tblTd + .specsTbl .tblTd {
  margin-left: 10px;
}

.noDeta {
  display: inline-block;
  width: 20px;
  height: 2px;
  background-color: #000;
}

.productsInner {
  padding-top: 105px;
  margin-top: 70px;
  position: relative;
  padding-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .productsInner {
    padding-top: 40px;
    margin-top: 30px;
    padding-bottom: 0px;
  }
}

.toolsInnerSmallBoxAria-product {
  padding-top: 70px;
}

@media screen and (max-width: 767px) {
  .toolsInnerSmallBoxAria-product {
    padding-top: 30px;
  }
}

.toolsInnerSmallBoxAria-product::after {
  content: "";
  width: calc((100% - 110px) / 3);
  display: inline-block;
}

@media screen and (max-width: 1023px) {
  .toolsInnerSmallBoxAria-product::after {
    width: calc((100% - 40px) / 3);
  }
}

@media screen and (max-width: 767px) {
  .toolsInnerSmallBoxAria-product::after {
    width: 100%;
  }
}

.toolsInnerSmallBoxAria-product .toolsInnerSmallBox {
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .toolsInnerSmallBoxAria-product .toolsInnerSmallBox {
    margin-bottom: 0px;
  }
}

.toolsInnerSmallBoxAria-product .sectionInnerBoxTtl {
  letter-spacing: 0px;
}

.overviewInner {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .overviewInner {
    margin-top: 20px;
  }
}

.overViewTbl .tblTr {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  letter-spacing: 1.8px;
}

@media screen and (max-width: 767px) {
  .overViewTbl .tblTr + .tblTr {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .overViewTbl .tblTh {
    padding: 10px;
    font-size: 14px;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .overViewTbl .tblTd {
    padding: 10px;
    font-size: 14px;
    width: 100%;
  }
}

.overViewTbl .tblTd-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

@media screen and (max-width: 1200px) {
  .overViewTbl .tblTd-flex {
    display: block;
  }
}

.overViewTbl .tblTdList + .tblTdList {
  margin-left: 40px;
}

@media screen and (max-width: 1200px) {
  .overViewTbl .tblTdList + .tblTdList {
    margin-left: 0px;
  }
}

.overViewTbl .tblTdItem {
  line-height: 2;
  position: relative;
  padding-left: 13px;
}

.overViewTbl .tblTdItem::before {
  position: absolute;
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: #d7d7d7;
  border-radius: 50%;
  left: 0px;
  top: 13px;
}

.overViewTbl .tblTdItem-50 {
  text-align: right;
}

.overViewTbl .tblTdItem-50::before {
  display: none;
}

.sectionInner-history {
  padding: 45px 1px;
}

@media screen and (max-width: 767px) {
  .sectionInner-history {
    padding: 5px 1px;
  }
}

.historyTblCover {
  margin-top: 55px;
  margin-bottom: 50px;
}

.historyTbl {
  padding-bottom: 50px;
}

@media screen and (max-width: 1200px) {
  .historyTbl .tblTr {
    padding-left: 20px;
  }
}

@media screen and (max-width: 767px) {
  .historyTbl .tblTr {
    padding-left: 20px;
  }
}

.historyTbl .tblTr::before {
  position: absolute;
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid #000;
  left: 0px;
  top: 9px;
}

@media screen and (max-width: 767px) {
  .historyTbl .tblTr::before {
    width: 10px;
    height: 10px;
    top: 9px;
  }
}

.historyTbl .tblTr::after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 2px;
  height: calc(100% + 15px);
  background-color: #000;
  left: 10px;
  top: 30px;
}

@media screen and (max-width: 767px) {
  .historyTbl .tblTr::after {
    left: 6px;
    top: 21px;
    height: calc(100% + 10px);
  }
}

.historyTbl .tblTr:last-child::after {
  display: none;
}

.historyTbl .tblTr + .tblTr {
  margin-top: 35px;
}

@media screen and (max-width: 767px) {
  .historyTbl .tblTr + .tblTr {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .historyTbl .tblTh {
    font-size: 20px;
    width: 100px;
  }
}

.historyTbl .tblTh span {
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .historyTbl .tblTh span {
    font-size: 12px;
  }
}

@media screen and (max-width: 767px) {
  .historyTbl .tblTd {
    font-size: 14px;
    width: calc(100% - 110px);
  }
}

.accessInner {
  max-width: 1440px;
  width: 92%;
  margin: 0 auto;
}

.accessInner iframe {
  width: 100%;
  height: 460px;
  margin-top: 65px;
  border-radius: 0 40px 0 40px;
}

@media screen and (max-width: 1023px) {
  .accessInner iframe {
    height: 50vw;
    max-height: 460px;
    margin-top: 20px;
  }
}

.accessInner address {
  text-align: center;
  margin-top: 40px;
}

@media screen and (max-width: 1023px) {
  .accessInner address {
    margin-top: 15px;
    font-size: 12px;
  }
}

.contentArea-contact {
  margin: 70px auto 120px;
}

/* フォーム*/
.contactFormHead {
  font-size: 16px;
  text-align: center;
  line-height: 16px;
  margin: 108px auto 170px;
}

.contactFormHeadTxt {
  font-size: 16px;
  text-align: center;
  line-height: 16px;
  margin: 70px auto 0px;
}

.contactFlow {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 55px auto;
  text-align: center;
}

.contactFlow::before {
  position: absolute;
  content: "";
  display: inline-block;
  border-radius: 50%;
  background-color: #000;
  width: 47%;
  height: 2px;
  top: -20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media screen and (max-width: 1200px) {
  .contactFlow::before {
    width: 590px;
  }
}

@media screen and (max-width: 1023px) {
  .contactFlow::before {
    width: 59%;
  }
}

.contactFlow__item {
  font-size: 18px;
  font-weight: bold;
  width: 290px;
  display: inline-block;
  position: relative;
}

.contactFlow__item::after {
  position: absolute;
  content: "";
  display: inline-block;
  border-radius: 50%;
  border: 2px solid #000;
  background-color: #fff;
  width: 20px;
  height: 20px;
  top: -30px;
  left: calc(50% - 10px);
}

.contactFlow__item--current::before {
  position: absolute;
  content: "";
  display: inline-block;
  border-radius: 50%;
  background-color: #000;
  width: 10px;
  height: 10px;
  top: -23px;
  left: calc(50% - 3px);
  z-index: 1;
}

.contactContents {
  padding: 60px 0 35px;
}

.contactForm__data {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.contactForm__ttl {
  width: 270px;
  font-size: 18px;
  letter-spacing: 1.5px;
  font-weight: bold;
  padding: 50px 0px 20px 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: left;
  position: relative;
  border-bottom: 2px solid #000;
}

.contactForm__box {
  width: calc(100% - 270px - 10px);
  border-bottom: 2px solid #d7d7d7;
  padding: 20px 0px 20px;
}

.contactForm__box-privacy {
  padding: 50px 0px 30px;
}

.privacy-checklabel {
  display: inline-block;
  margin: 0 !important;
}

.contactForm__box input[type="text"],
.contactForm__box input[type="email"],
.contactForm__box input[type="tel"],
.contactForm__box select.addressBox {
  padding: 0 30px;
  background-color: #fbfbfb;
  border: 0px;
  line-height: 75px;
  height: 75px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  width: 100%;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  cursor: none;
}

.contactForm__box textarea {
  border: 0px;
  background-color: #fbfbfb;
  font-size: 16px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  height: 240px;
  font-family: "Noto Sans JP", sans-serif;
  resize: vertical;
  padding: 25px 30px;
}

.privacy {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.privacy-checklabel-item {
  /*項目の色や文字サイズ*/
  cursor: none;
  font-size: 16px;
  position: relative;
}

input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  /*既存のチェックボックスを見えなくする*/
}

.privacy-checklabel-item:before {
  /*チェックボックスの枠*/
  content: "";
  border: 1px solid #d7d7d7;
  display: inline-block;
  width: 25px;
  height: 25px;
  position: relative;
  top: -3px;
  margin-right: 15px;
  vertical-align: middle;
  cursor: none;
  text-align: center;
}

input[type="checkbox"]:checked + .privacy-checklabel-item:after {
  /*チェックアイコン*/
  content: "";
  display: block;
  position: absolute;
  top: 7px;
  left: 7px;
  width: 15px;
  height: 10px;
  background: url("../img/common/icon_check.svg") no-repeat center;
  background-size: contain;
}

.privacyText {
  margin: 10px 0;
  line-height: 2;
  font-size: 14px;
}

.contactFormButton {
  text-align: center;
  margin-top: 70px;
  letter-spacing: 0.85em;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.contactFormButton__item {
  display: inline-block;
  position: relative;
  cursor: none;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border: 1px solid #7d7d7d;
  width: 290px;
  line-height: 70px;
  border-radius: 35px;
  font-weight: 500;
}

@media screen and (max-width: 1023px) {
  .contactFormButton__item {
    width: 240px;
    margin-bottom: 10px;
  }
}

.contactFormButton__item .ajax-loader {
  display: none !important;
}

.contactFormButton__item::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 25px;
  right: 42px;
  width: 20px;
  height: 17px;
  background: url("../img/common/arrow_gray.svg") no-repeat center;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  background-size: contain;
  pointer-events: none;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

@media screen and (max-width: 1023px) {
  .contactFormButton__item::after {
    right: 10px;
  }
}

.contactFormButton__item--back::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  left: 42px;
  right: auto;
}

.contactFormButton__item > button,
.contactFormButton__item > input[type="submit"],
.contactFormButton__item > input[type="button"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
  width: 100%;
  height: 70px;
  line-height: 70px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 16px;
  font-weight: bold;
  position: relative;
  text-align: center;
  display: block;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  cursor: none;
}

.topBtn {
  display: inline-block;
  position: absolute;
  left: 50%;
  top: 10%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.topBtnCover {
  position: relative;
  padding: 30px 0 90px;
}

.contactTelBtn {
  margin: 37px auto 185px;
  background-color: #474747;
  color: #fff;
  display: flex;
  height: 220px;
  max-width: 800px;
  width: 92%;
  border-radius: 0 40px 0 40px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
}

@media screen and (max-width: 1023px) {
  .contactTelBtn {
    height: 130px;
    margin: 30px auto 60px;
  }
}

.contactTelBtn .TelNum {
  font-size: 34px;
  font-weight: bold;
}

@media screen and (max-width: 1023px) {
  .contactTelBtn .TelNum {
    font-size: 22px;
  }
}

.contactTelBtn .TelNum span {
  font-size: 18px;
}

@media screen and (max-width: 1023px) {
  .contactTelBtn .TelNum span {
    font-size: 16px;
  }
}

@media screen and (max-width: 1023px) {
  .contactTelBtn .telTime {
    font-size: 12px;
  }
}

@media screen and (max-width: 1023px) and (orientation: portrait),
  screen and (max-width: 1023px) and (orientation: landscape) {
  .contactForm {
    width: 100%;
    margin: 76px 0 46px;
    padding: 0 20px;
  }
  .contactFormHead {
    font-size: 14px;
    margin: 30px auto 70px;
  }
  .contactFormHeadTxt {
    font-size: 14px;
    margin: 30px auto 30px;
  }
  .contactFlow {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 27px;
  }
  .contactFlow__item {
    font-size: 12px;
    font-weight: bold;
    border-radius: 30px;
    height: 60px;
    max-width: 210px;
    width: 25%;
    position: relative;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .contactFlow__item + .contactFlow__item {
    margin-left: 30px;
  }
  .contactForm__data {
    display: block;
  }
  .contactForm__data + .contactForm__data {
    margin-top: 30px;
  }
  .contactForm__data--noBox {
    margin-top: 20px !important;
  }
  .contactForm__ttl {
    width: 100%;
    font-size: 15px;
    padding: 0;
    margin-bottom: 14px;
  }
  .contactForm__box {
    width: 100%;
    padding: 0 0 10px;
  }
  .contactForm__box input[type="text"],
  .contactForm__box input[type="email"] {
    line-height: 50px;
    height: 50px;
    font-size: 13px;
  }
  .contactForm__box input[type="text"].addressBox,
  .contactForm__box input[type="tel"].addressBox,
  .contactForm__box select.addressBox {
    display: inline-block;
    width: 100%;
  }
  .contactForm__box input[type="text"]#city,
  .contactForm__box input[type="text"]#addr {
    width: 100%;
  }
  .contactForm__box textarea {
    font-size: 13px;
    height: 125px;
  }
  .contactFormButton {
    text-align: center;
    margin-top: 40px;
    letter-spacing: 0.85em;
  }
  .contactFormButton__item {
    display: inline-block;
    position: relative;
    cursor: none;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
}
