@charset "UTF-8";
body{
  box-sizing: border-box;
}
.of-hidden{ overflow: hidden;}
.fc-blk{ color: #000;}

/* ------------------------------------------ */
/* ------------------------------------------ */

/*  page header
--------------------------------------------- */
.page-header-height{
  padding-top: 70px;
}
@media screen and (max-width: 1024px) {
  .page-header-height{
    padding-top: 80px;
  }
}

/*  page footer-before padding
--------------------------------------------- */
.last-section .section-inner{
  padding-bottom: 130px;
}
@media screen and (max-width: 768px) {
  .last-section .section-inner{
    padding-bottom: 21.333vw;
  }
}

/*  page-common img
--------------------------------------------- */
.page-common img{
  width: 100%;
}

/*  page ttl
--------------------------------------------- */
.page-common-h1-box{
  margin-bottom: 90px;
}
.page-common-h1{
  border-bottom: 1.5px solid #6b1b7e;
  padding-top: 100px;
}
.page-common-h1 .ttl-flex{
  display: flex;
  align-items: flex-end;
  gap: 40px;
}
.page-common-h1 .ttl-flex .sub-ttl{
  margin-top: -15px;
  letter-spacing: -0.1em;
  position: relative;
  z-index: 3;
}
.page-common-h1 .ttl-flex .sub-ttl .en{
  line-height: 1;
  font-weight: 400;
}
.page-common-h1 .ttl-flex .main-ttl{
  border-left: 1.5px solid #6b1b7e;
  padding: 20px 0 20px 30px;
}

.page-common-h1.bg-color-blk{
  border-bottom: 1.5px solid #fff;
}
.page-common-h1.bg-color-blk .ttl-flex .main-ttl{
  border-left: 1.5px solid #fff;
}

@media screen and (max-width: 1024px) {
  .page-common-h1-box{
    margin-bottom: 80px;
  }
  .page-common-h1{
    border-bottom: 1.5px solid #6b1b7e;
    padding-top: 80px;
  }
}
@media screen and (max-width: 768px) {
  .page-common-h1-box{
    margin-bottom: 5.333vw;
  }
  .page-common-h1{
    border-bottom: 1.5px solid #6b1b7e;
    padding-top: 4vw;
  }
  .page-common-h1 .ttl-flex .sub-ttl{
    margin-top: 0;
  }
  .page-common-h1 .ttl-flex .sub-ttl .en{
    font-size: 9.067vw;
    line-height: 1.2;
    letter-spacing: -0.03em;
  }
  .page-common-h1 .ttl-flex .main-ttl .jp{
    font-size: 4vw;
  }
  .page-common-h1 .ttl-flex{
    gap: 4%;
  }
  .page-common-h1 .ttl-flex .main-ttl{
    padding: 0.8vw 0 1.867vw 4vw;
  }
}

/*  page ttl h1 anim
--------------------------------------------- */
.js_ttl {
  overflow: hidden;
}
.js_up-ttl {
  transform: translateY(100%);
}
.page-ttl-mid{
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .page-ttl-mid{
    font-size: 4vw;
  }
}

/*  page ttl color2-bottom
--------------------------------------------- */
.color2-bottom-ttl{
  position: relative;
  margin-bottom: 20px;
  border-bottom: 3px solid #6b1b7e;
}
.color2-bottom-ttl:before {
  position: absolute;
  content: '';
  width: 15%;
  right: 0;
  bottom: -3px;
  border-bottom: 3px solid #646464;
}
.color2-bottom-ttl.lgray:before{
  border-bottom: 3px solid #c8c8c8;
}
.color2-bottom-ttl .main-ttl .en{
  font-size: 4.5rem;
  line-height: 5.5rem;
}
.color2-bottom-ttl.plus-subttl .sub-ttl{
  padding-bottom: 15px;
}
.color2-bottom-ttl.plus-subttl .sub-ttl .jp{
  font-size: 2.2rem;
}
@media screen and (max-width: 1024px) {
  .color2-bottom-ttl{
    margin-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .color2-bottom-ttl:before {
    width: 25%;
  }
  .color2-bottom-ttl .main-ttl .en{
    font-size: 8vw;
    line-height: 9vw;
  }
  .color2-bottom-ttl.plus-subttl .sub-ttl{
    padding-top: 1.867vw;
    padding-bottom: 1.867vw;
  }
  .color2-bottom-ttl.plus-subttl .sub-ttl .jp{
    font-size: 4.8vw;
  }
}

/*  page ttl color2-outsid
--------------------------------------------- */
.color2-outside-ttl{
  background-color: #231815;
  margin-left: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
}
.color2-outside-ttl-inner{
  background-color: #6b1b7e;
  max-width: 1000px;
  margin: 0 auto;
  color: #fff;
  padding: 10px 20px;
  margin-left: -20px;
  line-height: 1em;
}
@media screen and (max-width: 768px) {
  .color2-outside-ttl-inner{
    padding: 1.867vw;
    margin-left: -1.333vw;
  }
}

/*  list
--------------------------------------------- */
.li5 ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.li5 ul{ gap: 2%;}
.li5 ul li{ width: 18.4%;}

.li5.no-space ul{ gap: 0;}
.li5.no-space ul li{ width: 20%;}


/*  footer z-index
--------------------------------------------- */
.z2{
  position: relative;
  z-index: 2;
  transform: translateZ(1px);
}

/*  page common anchorlink
--------------------------------------------- */
.anchor-link-box{
  padding-top: 40px;
  padding-bottom: 40px;
}
.anchor-link ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.33333%;
}
.anchor-link ul .anchor-link-item{
  width: 24%;
}
.anchor-link ul .anchor-link-item a{
  display: block;
  border: 1px solid #251e1c;
  box-sizing: border-box;
  background-color: #f5f5f5;
  border-radius: 30px;
  text-align: center;
  padding: 5px 10px;
  transition : .5s;
}
.anchor-link ul .anchor-link-item a:hover{
  transition : .5s;
  background-color: #231815;
  color: #fff;
}
.anchor-link ul .anchor-link-item:not(:nth-child(-n+4)){
  margin-top: 1.8%;
}
@media screen and (max-width: 1024px) {
  .anchor-link ul{
    gap: 1%;
  }
  .anchor-link ul .anchor-link-item{
    width: 49.5%;
  }
  .anchor-link ul .anchor-link-item:not(:nth-child(-n+2)){
    margin-top: 3%;
  }
}
@media screen and (max-width: 768px) {
  .anchor-link-box{
    padding-top: 9.067vw;
    padding-bottom: 9.067vw;
  }
  .anchor-link ul .anchor-link-item:not(:nth-child(-n+2)){
    margin-top: 4.8vw;
  }
  .anchor-link ul .anchor-link-item a{
    letter-spacing: -0.1em;
  }
}

/*  page common border img
--------------------------------------------- */
.border-img{
  position: relative;
  width: 100%;
  height: auto;
}
.border-img img{
  position: relative;
  width: calc( 100% - 6px ) !important;
  height: calc( 100% - 8px );
  object-fit: cover;
  vertical-align: bottom;
  border-radius: 10px;
  z-index: 1;
}
.border-img::before{
  content: "";
  position: absolute;
  top: 8px;
  left: 2px;
  width: calc( 100% - 4px );
  height: calc( 100% - 4px );
  border: 1px solid #9a9a9a;
  border-radius: 10px;
  z-index: 0;
}
@media screen and (max-width: 1024px) {
  .border-img{
    width: calc( 100% - 4px );
  }
}

/*  page common bottom btn
--------------------------------------------- */
.page-common-bottombtn{
  padding-top: 80px;
  padding-bottom: 120px;
}
@media screen and (max-width: 1024px) {
  .page-common-bottombtn{
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
@media screen and (max-width: 768px) {
  .page-common-bottombtn{
    padding-top: 16vw;
    padding-bottom: 16vw;
  }
}
.btnsize-max .btn-circle{
  padding: 8px 100px;
  font-size: 2.4rem;
  font-weight: 400;
}
@media screen and (max-width: 1024px) {
  .btnsize-max .btn-circle{
    padding: 8px 80px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .btnsize-max .btn-circle{
    padding: 1.067vw 12vw 1.067vw 12vw;
    font-size: 3.467vw;
  }
}

/*  page common doubleright arrow
--------------------------------------------- */
.arrow-doubleright{
  position: relative;
  padding-right: 27px;
}
.arrow-doubleright::after{
  position: absolute;
  top: 50%;
  right: 0;
  width: 14px;
  height: 14px;
  margin-top: 1px;
  background: url(/assets/img/common/arrow-doubleright.svg) 50% 50% no-repeat;
  background-size: 100% auto;
  content: "";
  transition: .3s;
  transform: translate(-50%, -50%);
  transform-origin: center;
}
.arrow-doubleright.arrow-blk::after{
  background: url(/assets/img/common/arrow-doubleright_blk.svg) 50% 50% no-repeat;
}
@media screen and (max-width: 768px) {
  .arrow-doubleright{
    padding-right: 4.8vw;
  }
  .arrow-doubleright::after{
    width: 2.6vw;
    height: 2.6vw;
    margin-top: 0.2vw;
  }
}
.popup-button:hover::after{
  background: url(/assets/img/common/arrow-doubleright.svg) 50% 50% no-repeat;
}

/*  page common border partition
--------------------------------------------- */
.top-partition{
  border-bottom: 1px solid #9a9a9a;
}
.bottom-partition{
  border-bottom: 1px solid #9a9a9a;
}

/*  page common tab (product/recruit-guidelines)
--------------------------------------------- */
.js-tab-target {
    display: none;
}
.js-tab-target.is-current {
    display: block;
}
.tab-list{
  border-bottom: 1px solid #6b1b7e;
  position: relative;
  height: 76px;
}
.tab-list::before{
  content: "";
  display: block;
}
.tab-selector {
  width: 100%;
  max-width: 1100px;
  height: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  position: absolute;
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.tab-selector__item {
  flex: 1;
  border-top: 5px solid #6b1b7e;
  border-left: 1px solid #6b1b7e;
  font-size: 2.0rem;
  font-weight: 500;
}
.tab-selector__item:last-child{
  border-right: 1px solid #6b1b7e;
}
.tab-selector__item span{
  display: block;
}
.tab-selector__item span.en{
  font-size: 1.4rem;
}
.tab-selector__trigger {
  position: relative;
  width: 100%;
  padding: 1rem;
  text-align: center;
  cursor: pointer;
  transition: 0;
  height: 100%;
  border-bottom: 1px solid #6b1b7e;
  transition : .5s;
}
@media (hover: hover) and (pointer: fine) {
  .tab-selector__trigger:hover {
    opacity: 1;
    transform: 0;
    background-color: #6b1b7e;
    color: #fff;
  }
}
.tab-selector__trigger.is-current {
  border-bottom: 1px solid #fff;
}
.tab-selector__trigger.is-current:hover{
  background-color: #fff;
  color: #000;
}
@media screen and (max-width: 1100px) {
  .tab-selector__item:first-child {
    border-left: none;
  }
  .tab-selector__item:last-child{
    border-right: none;
  }
}
@media screen and (max-width: 768px) {
  .tab-list{
    height: 16vw;
  }
  .tab-selector__trigger{
    justify-content: center;
    padding: unset;
  }
  .tab-selector__item {
    font-size: 3.733vw;
  }
  .tab-selector__item span.en{
    font-size: 2.133vw;
  }
}
.page-product .tab-selector__trigger{
  padding: 0;
  border-bottom: unset;
}
.page-product .tab-selector__trigger a{
  height: 100%;
  transition : .5s;
  display: flex;
  justify-content: center;
  align-items: center;
}
.page-product .tab-selector__trigger a p{
  display: flex;
  flex-wrap: wrap;
}
.page-product .tab-selector__trigger a span{
  width: 100%;
}
.page-product .tab-selector__trigger.is-current{
  background-color: #fff;
  color: #000;
}
@media (hover: hover) and (pointer: fine) {
  .page-product .tab-selector__trigger a:hover {
    opacity: 1;
    transform: 0;
    background-color: #6b1b7e;
    color: #fff;
  }
  .page-product .tab-selector__trigger.is-current a:hover{
    background-color: #fff;
    color: #000;
  }
}



/*  ----------------------------------------  */
/*  ----------------------------------------  */
/*  ----------------------------------------  */
/*  ----------------------------------------  */

/*  page aboutus
--------------------------------------------- */
.aboutus-strengths{
  overflow: hidden;
}
.img-outside2{
  display: flex;
  align-items: center;
  gap: 5%;
  justify-content: space-between;
}
.reverse{
  flex-direction: row-reverse;
}
.img-outside2-img{
  width: 35%;
  overflow: hidden;
}
.img-outside2-img img{
  min-width: 500px;
}
.img-outside2-txt{
  width: 60%;
}
/* right outside 2column */
.img-outside2-right{
  flex: 1;
  margin-right: calc(50% - 50vw);
}
/* left outside 2column */
.img-outside2-left{
  flex: 1;
  margin-left: calc(50% - 50vw);
}
.aboutus-strengths01 .img-outside2-img{
  width: 30%;
}    
.aboutus-strengths01 .img-outside2-txt{
  width: 65%;
}
.aboutus-strengths02,
.aboutus-strengths03{
  margin-top: 100px;
}
.aboutus-strengths03 .img{
  margin-top: 40px;
}
.wrap-aboutus-message{
  width: 65%;
  margin: 0 auto;
}
.aboutus-message-img{
  padding-top: 20px;
}
.message-name{
  margin-top: 20px;
  display: flex;
  gap: 20px;
  justify-content: center;
  align-items: center;
}
.message-name .message-name-txt{
  font-size: 2.0rem;
}
.aboutus-message-box{
  margin-top: 100px;
}
.aboutus-message-box .message-txt{
  padding-top: 40px;
  line-height: 3em;
}
.aboutus-philosophy-img{
  margin-top: 50px;
}
.aboutus-slogan .slogan-img{
  width: 45%;
  margin: 0 auto;
}
.aboutus-slogan .slogan-txt{
  padding-top: 60px;
}
.aboutus-slogan .slogan-txt-ttl span{
  font-size: 1.8rem;
  font-weight: 500;
  border-bottom: 1px solid #fff;
  padding-bottom: 3px;
}

@media  only screen and (max-width: 1024px){
.img-outside2{
  flex-wrap: wrap;
  flex-direction: column-reverse;
  gap: 60px;
  overflow: hidden;
}
.reverse{
  flex-direction: column-reverse;
}
.img-outside2-img{
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}
.img-outside2-img img{
  min-width: 100%;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}
.img-outside2-txt{
  width: 100%;
}
/* right outside 2column */
.img-outside2-right,
.img-outside2-left{
  flex: none;
}
.aboutus-strengths01 .img-outside2-img{
  width: 100vw;
}   
.aboutus-strengths01 .img-outside2-txt{
  width: 100%;
}
.aboutus-strengths02,
.aboutus-strengths03{
  margin-top: 60px;
}
.wrap-aboutus-message{
  width: 100%;
}
.aboutus-message-box{
  margin-top: 60px;
}
.aboutus-message-box .page-ttl-mid{
  font-size: 2.6rem;
}
.aboutus-message-box .message-txt{
  padding-top: 20px;
  line-height: 2.2em;
}
.aboutus-philosophy-img{
  margin-top: 60px;
}
.aboutus-slogan .slogan-img{
  width: 80%;
  margin-top: 60px;
}
.aboutus-slogan .slogan-txt{
  padding-top: 60px;
}
.aboutus-slogan .slogan-txt-ttl span{
  font-size: 2.2rem;
  padding-bottom: 3px;
}
}
@media  only screen and (max-width: 768px){
  .img-outside2{
    gap: 10.667vw;
  }
  .aboutus-strengths02, .aboutus-strengths03{
    margin-top: 13.333vw;
  }
  .aboutus-message-img{
    padding-top: 0;
  }
  .message-name{
    margin-top: 2.667vw;
    gap: 2.667vw;
  }
  .message-name .message-name-txt{
    font-size: 4vw;
  }
  .aboutus-message-box{
    margin-top: 14.667vw;
  }
  .aboutus-message-box .page-ttl-mid{
    font-size: 5.333vw;
  }
  .aboutus-message-box .message-txt{
    letter-spacing: -0.03em;
  }
  .aboutus-slogan .slogan-img{
    margin-top: 14.667vw;
  }
  .aboutus-slogan .slogan-txt{
    padding-top: 14.667vw;
  }
  .aboutus-slogan .slogan-txt-ttl span{
    font-size: 4.8vw;
  }
  .aboutus-slogan .slogan-txt-ttl.ttl-box-min{
    margin-bottom: 5.333vw;
  }
}

/*  ----------------------------------------  */
/*  ----------------------------------------  */
/*  ----------------------------------------  */
/*  ----------------------------------------  */

/*  page technology
--------------------------------------------- */
.technology01-inner{
  position: relative;
}
.technology01 .txt-semitall{
  position: relative;
  z-index: 2;
}
.technology01-img{
  position: absolute;
  right: 0;
  bottom: 0;
  width: 50%;
}
.technology01-img img{
  width: 100%;
}
.field-box{
  border: 1px solid #6b1b7e;
  border-radius: 15px;
  background-color: #fff;
  box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, .1);
}
.field-box:not(:first-child){
  margin-top: 50px;
}
.field-box .field-head{
  background: #6b1b7e;
  border-radius: 14px 14px 0 0;
  color: #fff;
  display: flex;
  align-items: center;
}
.field-box .field-head .field-ttl{
  width: 25%;
  text-align: center;
  font-size: 2.4rem;
}
.field-box .field-head .field-txt{
  width: 75%;
  border-left: 1px solid #fff;
  line-height: 1.8em;
  padding: 20px 20px;
}
.field-box .field-list{
  padding: 40px;
}
.field-box .field-list.li4 ul{
  justify-content: center;
}
@media  only screen and (max-width: 1024px){
  .technology01-img{
    position: unset;
    margin: 40px auto 0;
    width: 80%;
    max-width: 700px;
  }
  .technology01-02 img{
    width: 80%;
    max-width: 450px;
    margin: 0 auto;
  }
  .field-box-wrapper{
    padding-top: 30px;
  }
  .field-box .field-head{
    flex-wrap: wrap;
  }
  .field-box .field-head .field-ttl{
    width: 100%;
    text-align: left;
    padding: 20px 20px 0;
  }
  .field-box .field-head .field-ttl span{
    border-bottom: 1px solid #fff;
    padding-bottom: 5px;
    padding-right: 10px;
    padding-left: calc(50vw - 50%);
    margin-left: calc(50% - 50vw);
  }
  .field-box .field-head .field-txt{
    width: 100%;
    border-left: unset;
  }
  .field-box .field-list.li4 ul{
    gap: 20px 4%;
  }
  .field-box .field-list.li4 ul li{
    width: 48%;
  }
}
@media  only screen and (max-width: 768px){
  .technology01-img{
    margin: 4.8vw auto 0;
  }
  .technology01-02 img{
    width: 90%;
    max-width: 600px;
  }
  .field-box-wrapper{
    padding-top: 5.333vw;
  }
  .field-box{
    border-radius: 2.666vw;
  }
  .field-box:not(:first-child){
    margin-top: 50px;
  }
  .field-box .field-head{
    border-radius: 2.666vw 2.666vw 0 0;
  }
  .field-box .field-head .field-ttl{
    font-size: 5.333vw;
    padding: 4vw 4vw 0;
  }
  .field-box .field-head .field-txt{
    padding: 4vw;
    line-height: 1.6em;
  }
  .field-box .field-head .field-ttl span{
    padding-bottom: 0.8vw;
    padding-right: 1.333vw;
  }
  .field-box .field-list{
    padding: 4.8vw;
  }
  .field-box .field-list.li4 ul{
    gap: 3vw 4%;
  }
}

/*  page technology history
--------------------------------------------- */
.technology-person-box{
  background-color: #f6f6f6;
  border: 1px solid #000;
  border-radius: 10px;
  padding: 30px;
  display: flex;
  gap: 5%;
}
.technology-person-box .contents-left{
  width: 200px;
}
.technology-person-box .contents-left img{
  width: 100%;
}
.technology-person-box .contents-left .person-name{
  font-size: 1.8rem;
}
.technology-person-box .contents-right{
  width: calc(95% - 200px);
}
.timeline .timeline-band{
  margin: 0 auto;
  text-align: center;
}
.timeline .timeline-band img{
  width: 380px;
  vertical-align: bottom;
}
.timeline .timeline-box{
  border: 1px solid #6b1b7e;
  border-radius: 10px;
}

/* timeline-contents
--------------------------------------------- */
.timeline-contents{
  margin-top: 80px;
  margin-bottom: 80px;
}
.timeline-item {
  position: relative;
  margin: 0 80px;
  padding-bottom: 50px;
  display: flex;
}
.timeline-item:last-child{
  padding-bottom: 0px;
}
.timeline-item::after {
  content: "";
  position: absolute;
  top: 15px;
  left: 85px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #6b1b7e;
  border: 3px solid #6b1b7e;
  display: block;
}
.timeline-body > *:first-child {
  margin-top: 0 !important;
}
.timeline-time {
  font-size: 28px;
  font-weight: 500;
  color: #6b1b7e;
  width: 60px;
}
.timeline-body{
  margin-left: 60px;
  margin-top: 7px;
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.timeline-ttl{
  font-size: 20px;
  font-weight: 500;
  color: #6b1b7e;
}
.timeline-txt {
  margin-top: 10px;
  line-height: 1.7em;
}
.timeline-img{
  width: 150px;
}
.timeline-border {
  position: absolute;
  top: 15px;
  left: 89px;
  width: 2px;
  height: 100%;
  background-color: #6b1b7e;
}
.timeline-item .timeline-border::after{
  position: absolute;
  content: "";
  background: url(/assets/img/technology/history/arrow.png);
  background-repeat: no-repeat;
  width: 16px;
  height: 16px;
  bottom: 0;
  left: -16px;
}
.timeline-item:not(:last-child) .timeline-border::after{
  content: none;
}
@media  only screen and (max-width: 1024px){
  .timeline-contents{
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .timeline-item {
    margin: 0 40px;
    padding-bottom: 50px;
    display: flex;
  }
  .timeline-item:last-child{
    padding-bottom: 0px;
  }
}
@media  only screen and (max-width: 768px){
  .technology-person-box{
    border-radius: 1.333vw;
    padding: 6vw;
    gap: 5%;
    flex-wrap: wrap;
  }
  .technology-person-box .contents-left{
    width: 100%;
    text-align: center;
  }
  .technology-person-box .contents-left img{
    width: 50%;
  }
  .technology-person-box .contents-left .person-name{
    font-size: 4.4vw;
  }
  .technology-person-box .contents-right{
    width: 100%;
    margin-top: 3.6vw;
  }
  .technology-person-box .contents-right .graycircle-list ul li{
    margin-top: 1.5vw;
  }
  .timeline .timeline-band img{
    width: 80%;
  }
  .timeline .timeline-box{
    border-radius: 1.333vw;
  }
  /* timeline-contents
  --------------------------------------------- */
  .timeline-contents{
    margin-top: 9.6vw;
    margin-bottom: 9.6vw;
  }
  .timeline-item {
    margin: 0 6%;
    padding-bottom: 8vw;
  }
  .timeline-item:last-child{
    padding-bottom: 0px;
  }
  .timeline-item::after {
    top: 3.2vw;
    left: 20%;
    width: 0.4vw;
    height: 0.4vw;
    border: 0.6vw solid #6b1b7e;
  }
  .timeline-head{
    width: 18%;
  }
  .timeline-time {
    font-size: 5.2vw;
    width: auto;
  }
  .timeline-body{
    margin-left: 10%;
    margin-top: 1vw;
    flex-wrap: wrap;
    width: calc(100% - 28%);
  }
  .timeline-ttl{
    font-size: 4.2vw;
    width: 100%;
  }
  .timeline-txt {
    margin-top: 1vw;
    width: 100%;
  }
  .timeline-img{
    width: 45%;
    margin-top: 1vw;
  }
  .timeline-border {
    top: 3.2vw;
    left: 20.7%;
    width: 1.5px;
  }
  .timeline-item .timeline-border::after{
    width: 2vw;
    height: 2vw;
    bottom: 0;
    left: -2vw;
  }
}

/*  ----------------------------------------  */
/*  ----------------------------------------  */
/*  ----------------------------------------  */
/*  ----------------------------------------  */

/*  page product 
--------------------------------------------- */
.procuct-cat-item{
  margin-top: 150px;
  position: relative;
}
.procuct-cat-item:first-child{
  margin-top: 60px;
}
.procuct-cat-bg{
  border-top: 6px solid #6b1b7e;
  background-color: #efefef;
  padding: 20px 0;
}
.procuct-cat-ttl{
  font-size: 2.4rem;
  font-weight: 500;
  color: #6b1b7e;
  padding-bottom: 10px;
}
.product-cat-no{
  font-size: 3.0rem;
  line-height: 1;
}
.product-cat-name{
  font-size: 1.8rem;
  padding-top: 5px;
}
.procuct-cat-img{
  position: absolute;
  right: 50px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 50%;
}
@media  only screen and (max-width: 1024px){
  .procuct-cat-item{
    margin-top: 100px;
  }
  .procuct-cat-img{
    right: 3%;
  }
}
@media  only screen and (max-width: 768px){
  .procuct-cat-item{
    margin-top: 10.667vw;
  }
  .procuct-cat-item:first-child{
    margin-top: 8vw;
  }
  .procuct-cat-bg{
    border-top: 4px solid #6b1b7e;
    padding: 3.2vw 0;
  }
  .procuct-cat-ttl{
    font-size: 3.467vw;
    padding-bottom: 1.333vw;
  }
  .product-cat-no{
    font-size: 5.333vw;
  }
  .product-cat-name{
    font-size: 3.467vw;
    padding-top: 0.8vw;
  }
  .procuct-cat-img{
    right: 1%;
    width: 54%;
  }
}

.btn-box-min{
  margin-top: 10px;
  width: fit-content;
}
.btn-underline{
  width: max-content;
  padding: 7px 50px 7px 0;
  color: #343434;
  position: relative;
}
.btn-underline:before,
.btn-underline:after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 20px;
  height: 1px;
  width: 100%;
  background: #343434;
}
.btn-underline:before {
  width: -webkit-fill-available;
  width: -moz-available;
  transform: translateY(-50%);
  transition: 0.5s;
}
.btn-underline:after {
  width: 8px;
  transform: translateY(-50%) rotate(45deg);
  transform-origin: right center;
  transition: 0.5s;
}
.btn-underline:hover:before {
    transition: 0.5s;
    width: -webkit-fill-available;
    width: -moz-available;
}
.btn-underline:hover:before,
.btn-underline:hover:after {
  right: 15px;
}
@media  only screen and (max-width: 768px){
  .btn-box-min{
    margin-top: 0.8vw;
  }
  .btn-underline{
    font-size: 2.667vw;
    padding: 0.8vw 6.6vw 0.8vw 0;
  }
}

/*  page product archive
--------------------------------------------- */
.thumbnail{
  margin-top: 15px;
}
.thumbnail .slick-track {
  transform: unset !important;
  margin-left: unset !important;
}
.thumbnail-img {
  opacity: 0.8;
  transition: opacity .5s linear;
  cursor: pointer !important;
}
.thumbnail .slick-current {
  opacity: 1;
}
.thumbnail-img{
  margin-right: 5px;
}
.thumbnail-img:last-child{
  margin-right: 0 !important;
}
.product-img-slider .slick-slide{
  padding-bottom: 6px;
  opacity: 1 !important;
}
.tab-popuplink{
  margin-top: 30px;
}
.tab-popuplink .popup-button{
  transition : .5s;
}
.tab-popuplink .popup-button:hover{
  color: #6b1b7e;
  opacity: 1;
}
.tab-popuplink .arrow-doubleright{
  font-size: 1.8rem;
}
@media  only screen and (max-width: 768px){
  .tab-popuplink .arrow-doubleright{
    font-size: 4vw;
  }
}

/*  page common product popup
--------------------------------------------- */
.close-btn {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  padding: 20px;
  cursor: pointer;
}
.close-btn img{
  width: 30px;
  height: 30px;
}
.popup-button {
  display: inline-block;
  cursor: pointer;
  transition: .5s;
}
.popup-button:hover{
  opacity: .6;
}
.white-popup {
  position: relative;
  background: #FFF;
  padding: 0;
  width: auto;
  max-width: 1000px;
  margin: 80px auto;
}
.popup-ttl{
  padding-top: 40px;
}
.popup-ttl h2{
  color: #6b1b7e;
  font-size: 2.4rem;
  border-bottom: 1px solid #6b1b7e;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.popup-ttl p{
  padding-left: 40px;
  padding-right: 40px;
}
.popup-numlist{
  padding: 40px 40px 0 40px;
}
.popup-numlist-ttl{
  font-weight: 600;
  text-align: center;
  padding-bottom: 5px;
  border-bottom: 1px solid #000;
  display: table;
  margin: 0 auto 20px;
}
.popup-numlist-txt{
  display: flex;
  justify-content: center;
}
.popup-numlist ol {
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: inline-block;
}
.popup-numlist li {
  padding-left: 25px;
  margin-top: 10px;
  position: relative;
}
.popup-numlist li:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #6b1b7e;
  border: 1px solid;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 20px;
  width: 20px;
  color: #ffffff;
  font-size: 85%;
  position: absolute;
  top: 2px;
  left: 0;
}
.popup-mainimg{
  padding: 40px;
}
.popup-mainimg img{
  width: 100%;
}
@media  only screen and (max-width: 1024px){
  .white-popup {
    max-width: 88%;
    margin: 80px auto;
  }
  .popup-numlist-ttl{
    margin-bottom: 10px;
  }
  .popup-mainimg{
    padding: 40px 0;
  }
}
@media  only screen and (max-width: 768px){
  .close-btn {
    padding: 2.133vw;
  }
  .close-btn img{
    width: 5vw;
    height: 5vw;
  }
  .white-popup {
    margin: 16vw auto;
  }
  .popup-ttl{
    padding-top: 5.333vw;
  }
  .popup-ttl h2{
    font-size: 4.8vw;
    padding-bottom: 2.133vw;
    margin-bottom: 2.133vw;
  }
  .popup-ttl p{
    padding-left: 5.333vw;
    padding-right: 5.333vw;
  }
  .popup-numlist{
    padding: 5.333vw 5.333vw 0 5.333vw;
  }
  .popup-numlist-ttl{
    padding-bottom: 0.5vw;
    margin: 0 auto 1vw;
  }
  .popup-numlist li {
    padding-left: 5vw;
    margin-top: 2.5vw;
  }
  .popup-numlist li:before {
    height: 4vw;
    width: 4vw;
    top: 0.5vw;
  }
  .popup-mainimg{
    padding: 5.333vw 0;
  }
}

/*  page product archive
--------------------------------------------- */
.product-archive-list ul li{
  margin-top: 60px;
}
.product-archive-list .table02{
  margin-top: 20px;
}
.product-no .en{
  font-size: 3.6rem;
  line-height: 1em;
}
.product-name .jp{
  font-size: 1.7rem;
}
.product-archive-list .li2 ul{ 
  gap: 6%;
}
.product-archive-list .li2 ul li{ 
  width: 46%;
}
.ttl-box-min .product-no{
  margin-bottom: 3px;
}

.product-archive-list .li2 .table02 td dl{
  display: flex;
}

@media  only screen and (max-width: 1024px){
  .product-archive-list .li2 ul{ 
    flex-wrap: wrap;
  }
  .product-archive-list .li2 ul li{ 
    width: 100%;
  }
  .product-archive-list ul li:first-child{
    margin-top: 30px;
  }
}
@media  only screen and (max-width: 768px){
  .product-archive-list ul li{
    margin-top: 13.333vw;
  }
  .product-archive-list ul li:first-child{
    margin-top: 4vw;
  }
  .product-archive-list .table02{
    margin-top: 3.467vw;
  }
  .product-archive-list .table02 table th{
    padding: 1.6vw 0 1.6vw 3.733vw;
    width: 30vw;
  }
  .product-archive-list .table02 table td{
    padding: 1.6vw 3.733vw;
  }
  .product-no .en{
    font-size: 6.667vw;
  }
  .product-name .jp{
    font-size: 3.467vw;
  }
  .ttl-box-min .product-no{
    margin-bottom: 0.533vw;
  }
}

/*  page product after-service
--------------------------------------------- */
.min-contents-box{
  margin-top: 40px;
  padding-bottom: 30px;
}
.bef-circle{
  position: relative;
}
.bef-circle::before{
  content: "⚫︎";
}
.left-border-contents{
  border-left: 6px solid #efefef;
  padding-left: 20px;
}
.left-border-contents .main-ttl{
  font-weight: bold;
  margin-bottom: 10px;
}
.table03,
.table03 table {
  width: 100%;
}
.table03 table tr:first-child th{
  background-color: #6b1b7e;
  color: #fff;
  padding: 7px 30px;
}
.table03 table th, .table03 table td {
  border-bottom: 1px solid #9a9a9a;
  vertical-align: top;
  padding: 12px 30px;
  font-weight: 500;
}
.table03 table th {
  background-color: #efefef;
  border-right: 1px solid #fff;
}
.table03 table td{
  text-align: left;
}
.table03 table tr:last-child th,
.table03 table tr:last-child td{
  border-bottom: none;
}

.pdf-list{
  display: flex;
  gap: 4%;
}
.pdf-list ul{
  width: 48%;
}
.pdf-item{
  padding: 16px 0;
  border-bottom: 1px solid #9a9a9a;
  display: flex;
  justify-content: space-between;
}
.pdf-item .pdf-icon a{
  border: 1px solid #6b1b7e; 
  border-radius: 30px;
  color: #6b1b7e;
  padding: 0 20px;
  transition: 0.5s;
}
.pdf-item .pdf-icon a:hover{
  background-color: #6b1b7e;
  color: #fff;
}
.update-item a{
  display: flex;
  padding: 16px 0;
  border-bottom: 1px solid #9a9a9a;
  transition: 0.5s;
}
.update-item a:hover{
  opacity: 0.6;
}
.update-item a time{
  min-width: 120px;
}
.update-item-ttl{
  color: #6b1b7e;
}
@media  only screen and (max-width: 1024px){
  .after-service01-img{
    padding-top: 40px;
    max-width: 650px;
    margin: 0 auto;
  }
  .pdf-list{
    flex-wrap: wrap;
  }
  .pdf-list ul{
    width: 100%;
  }
  .update-item a{
    flex-wrap: wrap;
  }
  .update-item-ttl{
    width: 100%;
    padding-top: 10px;
  }
}
@media  only screen and (max-width: 768px){
  .min-contents-box{
    margin-top: 6.667vw;
    padding-bottom: 4vw;
  }
  .left-border-contents{
    border-left: 1.867vw solid #efefef;
    padding-left: 2.667vw;
  }
  .left-border-contents .main-ttl{
    font-weight: bold;
    margin-bottom: 1.867vw;
  }
  .after-service01-img{
    padding-top: 8vw;
  }
  .table03 table tr:first-child th{
    padding: 1.333vw 2.667vw;
  }
  .table03 table th, .table03 table td {
    padding: 3.2vw 2.667vw;
    vertical-align: middle;
  }
  .pdf-item{
    padding: 2.667vw 0;
  }
  .update-item-ttl{
    padding-top: 1.333vw;
  }
}
/*  ----------------------------------------  */
/*  ----------------------------------------  */
/*  ----------------------------------------  */
/*  ----------------------------------------  */

/*  page solution
--------------------------------------------- */
.section-inner-wide{ padding: 120px 0;}
.p-b0{ padding-bottom: 0 !important;}
.main-mid24-ttl .jp{ font-size: 2.4rem;}
.main-mid24-ttl .en{ font-size: 2.4rem;}
.main-mid24-ttl .en2{ font-size: 2.4rem;}
.main-large36-ttl .jp{ font-size: 3.6rem;}
.main-large36-ttl .en{ font-size: 3.6rem;}
.main-large36-ttl .en2{ font-size: 3.6rem;}

@media  only screen and (max-width: 1024px){
  .section-inner-wide{ padding: 100px 0;}
  .p-b0{ padding-bottom: 0 !important;}
}

@media  only screen and (max-width: 768px){
  .section-inner-wide{ padding: 13.333vw 0;}
  .p-b0{ padding-bottom: 0 !important;}
  .main-mid24-ttl .jp{ font-size: 4vw;}
  .main-mid24-ttl .en{ font-size: 5.333vw;}
  .main-mid24-ttl .en2{ font-size: 5.333vw;}
  .main-large36-ttl .jp{ font-size: 5.333vw;}
  .main-large36-ttl .en{ font-size: 5.333vw;}
  .main-large36-ttl .en2{ font-size: 5.333vw;}
  .txt-semitall{ line-height: 1.8em;}
}
.solution01 .fa-img{
  max-width: 500px;
  padding-bottom: 10px;
}
.bg-color-lightgray{
  background-color: #f1f1f1;
}
.solution01-figure{
  margin-top: 160px;
}
.solution01-figure .solution01-figure-img{
  max-width: 850px;
  margin: 0 auto;
}
.solution01-figure .solution01-figure-img02{
  max-width: 850px;
  margin: 130px auto 0;
}
.solution01-figure .solution01-figure-img img{
  vertical-align: bottom;
}
.solution01-figure .solution01-figure-img img:first-child{
  margin-top: -130px;
  margin-bottom: -130px
}
.border-right-outside{
  border-bottom : 1px solid #6b1b7e;
  margin-right: calc(50% - 50vw);
  padding-bottom: 10px;
  margin-bottom: 30px;
}
.border-outside-box .border-outside__left-inner{
  max-width: 36%;
}
.border-outside-box .border-outside__left-inner img{
  margin-top: 30px;
}
.border-outside-box{
  position: relative;
}
.border-outside__right{
  position: absolute;
  bottom: 0;
  right: 0;
  width: 54%;
}
.border-outside__right img:not(:first-child){
  margin-top: 10px;
}
.solution02 .border-outside-box .border-outside__left{
  padding-top: 80px;
  position: absolute;
  top: 0;
}
.solution02 .border-outside-box{
  height: 647px; 
}
.dl-color dl{
  display: flex;
}
.dl-color dl:not(:first-child){
  margin-top: 15px;
}
.dl-color dl dt,
.dl-color dl dd{
  display: flex;
  align-items: baseline;
  justify-content: center;
  padding: 10px;
  min-height: 53px;
  font-size: 1.8rem;
}
.dl-color dl dt{
  width: 20%;
  background-color: #6b1b7e;
  border: 1px solid #6b1b7e;
  color: #fff;
  border-radius: 10px 0 0 10px;
  padding: 10px;
}
.dl-color dl dd{
  width: 80%;
  border-radius: 0 10px 10px 0;
  border: 1px solid #6b1b7e;
  background-color: #fffdf5;
  line-height: 53px;
}
.dl-color .num-mid{
  font-size: 130%;
}
.dl-color .dt-one{
  line-height: 53px;
}
.solution03 .border-outside__left .border-right-outside{
  margin-top: 50px; 
}
.solution03 .border-outside-box .border-outside__left-inner{
  max-width: 52%;
}
.solution03 .border-outside__right{
  width: 42%;
}
.dt-list{
  display: flex;
}
.dt-list .dt-list-ttl,
.dt-list .dt-list-txt{
  align-items: center;
  display: flex;
}
.dt-list .dt-list-ttl{
  background-color: #6b1b7e;
  color: #fff;
  font-size: 2.0rem;
  border-radius: 10px;
  padding: 10px;
  width: 20%;
  justify-content: center;
}
.dt-list .dt-list-txt{
  padding: 0 20px;
  width: 80%;
}
.dt-list .dt-list-txt ul{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;  
}
.dt-list .dt-list-txt ul li{
  position: relative;
  padding-left: 15px;
}
.dt-list .dt-list-txt ul li::before{
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background-color: #6b1b7e;
}
.solution04 .color2-bottom-ttl{
  display: flex;
  align-items: center;
}
.s-dmodel-list{
  margin-top: 30px;
}
.s-dmodel-list img{
  padding-bottom: 10px;
}
@media  only screen and (max-width: 1024px){
  .solution01-figure{
    margin-top: 70px;
  }
  .solution01-figure .solution01-figure-img{
    max-width: 700px;
    padding: 70px 0;
  }
  .solution01-figure .solution01-figure-img img{
    margin-top: 0;
  }
  .solution01-figure .solution01-figure-img img:first-child{
    margin-top: unset;
    margin-bottom: unset;
  }
  .border-right-outside{
    margin-right: auto;
  }
  .border-outside-box .border-outside__left-inner{
    max-width: 100%;
  }
  .border-outside-box{
    position: relative;
  }
  .border-outside__right{
    position: unset;
    width: 100%;
  }
  .border-outside__right img{
    margin-top: 10px;
  }
  .solution02 .border-outside-box .border-outside__left{
    padding-top: 0;
    position: unset;
  }
  .solution02 .border-outside-box{
    height: auto; 
  }
  .solution02 .border-outside__right{
    margin-top: 40px;
  }  
  .sp_outside-right{
    margin-right: calc(50% - 50vw);
  }
  .sp_outside-left{
    margin-left: calc(50% - 50vw);
  }
  .solution02 .sp_outside-right{
    margin-left: 25%;
  }
  .solution02 .sp_outside-left{
    margin-right: 25%;
  }
  .dl-color dl{
    display: block;
  }
  .dl-color dl dt,
  .dl-color dl dd{
    min-height: unset;
    display: block;
    text-align: center;
  }
  .dl-color dl dt{
    width: calc( 100% - 20px);
    border-radius: 10px 10px 0 0;
  }
  .dl-color dl dd{
    width: calc( 100% - 20px);
    border-radius: 0 0 10px 10px;
    line-height: unset;
    padding: 10px 10px 15px;
  }
  .dl-color .num-mid{
    font-size: 140%;
  }
  .dl-color .dt-one{
    line-height: unset;
  }
  .solution03 .border-outside-box .border-outside__left-inner{
    max-width: 100%;
  }
  .solution03 .border-outside__right{
    width: 80%;
    margin: 30px auto 0;
  }
  .solution03 .tb_sinner{
    padding: 60px 0;
  }
  .dt-list{
    flex-wrap: wrap;
    justify-content: center;
  }
  .dt-list .dt-list-ttl,
  .dt-list .dt-list-txt{
    align-items: center;
    display: flex;
  }
  .dt-list .dt-list-ttl{
    padding: 10px 30px;
    width: max-content;
    position: relative;
    z-index: 3;
  }
  .dt-list .dt-list-txt{
    padding: 45px 30px 30px;
    margin-top: -25px;
    width: 100%;
    border: 1px solid #6b1b7e;
    border-radius: 10px;
  }
  .dt-list .dt-list-txt ul{
    padding: 0;
  }
  .solution04 .color2-bottom-ttl{
    display: block;
  }
  .s-dmodel-list ul{
    flex-wrap: wrap;
  }
  .s-dmodel-list ul li{
    width: 100%;
  }
  .s-dmodel-list ul li:not(:first-child){
    margin-top: 30px;
  }
  .s-dmodel-list .s-dmodel-txt{
    display: flex;
    align-items: center;
    gap: 15px;
  }
}
@media  only screen and (max-width: 768px){
  .solution01 .fa-img{
    max-width: 86%;
    padding-bottom: 1.333vw;
  }
  .solution01-figure{
    margin-top: 10.667vw;
  }
  .solution01-figure .solution01-figure-img{
    max-width: 85%;
    padding: 13.333vw 0;
  }
  .border-outside__right img{
    margin-top: 1.333vw;
  }
  .solution02 .border-outside__right{
    margin-top: 4.8vw;;
  }
  .dl-color-box{
    padding: 6.667vw 0;
  }
  .dl-color dl:not(:first-child){
    margin-top: 1.867vw;
  }
  .dl-color dl dt,
  .dl-color dl dd{
    font-size: 3.733vw;
  }
  .dl-color dl dt{
    width: calc( 100% - 2.666vw);
    border-radius: 1.867vw 1.867vw 0 0;
    padding: 1.6vw 1.333vw;
  }
  .dl-color dl dd{
    width: calc( 100% - 2.666vw);
    border-radius: 0 0 1.867vw 1.867vw;
    padding: 1.333vw 1.333vw 2.667vw;
  }
  .border-right-outside{
    padding-bottom: 1.333vw;
    margin-bottom: 2.667vw
  }
  .solution03 .tb_sinner{
    padding: 6.667vw 0;
  }
  .solution03 .border-outside__left .border-right-outside{
    margin-top: 5.333vw; 
  }
  .solution03 .border-outside__left .assembly-box .ttl-box-min{
    margin-bottom: 1.333vw;
  }
  .solution03 .border-outside__right{
    margin: 4vw auto -2vw;
  }
  .dt-list .dt-list-ttl{
    font-size: 4vw;
    padding: 1.867vw 6.667vw;
    border-radius: 1.867vw;
  }
  .dt-list .dt-list-txt{
    padding: 8vw 4.8vw 4.8vw;
    border-radius: 1.333vw;
    margin-top: -4.8vw;
  }
  .dt-list .dt-list-txt ul{
    gap: 5%;
  }
  .dt-list .dt-list-txt ul li{
    margin-top: 1.333vw;
    padding-left: 3.7vw;
  }
  .dt-list .dt-list-txt ul li::before{
    width: 2.667vw;
    height: 2.667vw;
  }
  .s-dmodel-list{
    margin-top: 6.667vw;
  }
  .s-dmodel-list img{
    padding-bottom: 1.333vw;
  }
  .s-dmodel-list .s-dmodel-txt{
    gap: 3%;
  }
}

/*  page solution Model Display
--------------------------------------------- */
.model-display{
  border-bottom: 1px solid #9a9a9a;
  padding-bottom: 90px;
}
.model-display03 .model-display{
  border-bottom: unset;
  padding-bottom: 0;
}
.model-box{
  display: flex;
  gap: 6%;
}
.model-box .model-left .table02 table th{
  width: max-content;
  padding-right: 0;
}
.model-box .model-left,
.model-box .model-right{
  width: 47%;
}
.graycircle-list ul li{
  position: relative;
  padding-left: 20px;
  line-height: 1.6em;
  margin-top: 5px;
}
.graycircle-list ul li::before{
  content: "";
  display: inline-block;
  position: absolute;
  top: 8px;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #969696;
}
.border-right-ttl{
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.border-right-ttl::after {
  content: '';
  width: 100%;
  height: 1px;
  background-color: #333;
}
.border-right-ttl::after {
  margin-left: 20px;
}
.left-border-min{
  border-left: 5px solid #6b1b7e;
  padding-left: 15px;
}
.model-display-note{
  padding: 40px;
  background-color: #f6f6f6;
  border: 1px solid #000;
  border-radius: 10px;
}
@media  only screen and (max-width: 1024px){
  .model-box{
    flex-wrap: wrap;
  }
  .model-box .model-left,
  .model-box .model-right{
    width: 100%;
  }
  .model-box .model-left .table02 table td{
    padding-right: 0;
  }
  .model-right .graycircle-list{
    margin-top: 30px;
  }
}
@media  only screen and (max-width: 768px){
  .model-display{
    padding-bottom: 13.333vw;
  }
  .model-right .graycircle-list{
    margin-top: 4.8vw;
  }
  .graycircle-list ul li{
    padding-left: 3.6vw;
    margin-top: 0.5vw;
  }
  .graycircle-list ul li::before{
    top: 1.867vw;
    width: 1.867vw;
    height: 1.867vw;
    border-radius: 5px;
  }
  .model-right .m-t50{
    margin-top: 8vw;
  }
  .border-right-ttl .txt-semi{
    font-size: 3.8vw;
  }
  .border-right-ttl::after{
    margin-left: 3.6vw;
  }
  .left-border-min{
    border-left: 1.333vw solid #6b1b7e;
    padding-left: 2.666vw;
  }
  .model-display-note{
    padding: 40px;
    background-color: #f6f6f6;
    border: 1px solid #000;
    border-radius: 10px;
  }
  .left-border-min.m-t20{
    margin-top: 3.467vw;
  }
  .left-border-min.m-t30{
    margin-top: 4.8vw;
  }
  .left-border-min .m-t10{
    margin-top: 1.333vw;
  }
  .model-display-note{
    padding: 6.667vw 2.666vw;
    border-radius: 2.666vw;
  }
}

/*  ----------------------------------------  */
/*  ----------------------------------------  */
/*  ----------------------------------------  */
/*  ----------------------------------------  */

/*  page company outline
--------------------------------------------- */
.table01 {
  width: 100%;
}
.table01 table {
  width: 100%;
  font-size: 1.8rem;
}
.table01 table th, .table01 table td {
  border-bottom: 1px solid #9a9a9a;
  vertical-align: top;
  text-align: left;
  padding: 26px 30px;
}
.table01 table{
  border-top: 1px solid #9a9a9a;
}
.table01 table th {
  background-color: #f6f6f6;
  width: 180px;
  font-weight: normal;
}
.table01 table td {
  padding: 26px 50px;
  line-height: 1.6em;
}
.table01 table td .td-box:not(:first-child){
  margin-top: 20px;
}
.table01 table td dl{
  display: flex;
}
.table01 table td dl dt{
  width: 160px;
}
.btn-box.btn-spcenter.btn-access{
  margin-bottom: 20px;
}

@media  only screen and (max-width: 1024px){
  .table01 table {
    width: 100%;
    max-width: 100%;
  }
  .table01 table th, .table01 table td{
    width: 100%;
    display: block;
  }
  .table01 table th{
    padding: 10px 20px;
    width: calc( 100% - 40px );
  }
  .table01 table td {
    padding: 20px 20px 40px 40px;
    width: calc( 100% - 60px );
  }
}
@media  only screen and (max-width: 768px){
  .table01 table {
    width: 100%;
    font-size: 3.467vw;
  }
  .table01 table th{
    padding: 1.333vw 2.667vw;
    width: calc( 100% - 5.334vw );
  }
  .table01 table td {
    padding: 2.667vw 2.667vw 6.667vw 5.333vw;
    width: calc( 100% - 8vw );
  }
  .table01 table td dl dt{
    width: 28vw;
  }
  .btn-box.btn-spcenter.btn-access{
    margin-bottom: 5.333vw;
  }
  .company-outline .table01 table tr:last-child td{
    border-bottom: none;   
    padding-bottom: 0; 
  }
}

/*  page company history
--------------------------------------------- */
.history-timeline .ttl-border01{
  border-bottom: 1px solid #9a9a9a;
  margin-bottom: 30px;
}
.history-timeline .ttl-border01:not(:first-child){
  margin-top: 60px;
}
.history-timeline .ttl-border01 .ttl-h2{
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 1.8em;
}
.history-timeline dl{
  margin-top: 15px;
  margin-inline: 3%;
  font-size: 1.8rem;
}
.history-timeline dl dt{
  color: #6b1b7e;
  width: 10%;
  min-width: 85px;
  font-weight: bold;
}
.history-timeline dl dd{
  width: 90%;
}
.history-timeline dl dt,
.history-timeline dl dd{
  display: inline-block;
  vertical-align: text-top;
}
@media  only screen and (max-width: 1024px){
  .history-timeline .ttl-border01{
    margin-bottom: 20px;
  }
  .history-timeline dl{
    line-height: 1.6em;
  }
}
@media  only screen and (max-width: 768px){
  .history-timeline .ttl-border01{
    margin-bottom: 4vw;
  }
  .history-timeline .ttl-border01:not(:first-child){
    margin-top: 9.067vw;
  }
  .history-timeline .ttl-border01 .ttl-h2{
    font-size: 6.667vw;
  }
  .history-timeline dl{
    margin-top: 2.667vw;
    font-size: 3.467vw;
  }
  .history-timeline dl dt,
  .history-timeline dl dd{
    width: 100%;
  }
}

/*  page company access
--------------------------------------------- */
.company-access .anchor-link ul{
  justify-content: flex-start;
}
.access-item:not(:first-child){
  margin-top: 100px;
}
.access-item .ttl-box-min .page-ttl-mid{
  font-weight: bold;
}
.access-item-container{
  display: flex;
  gap: 5%;
}
.access-item .access-item-table{
  width: 55%;
}
.access-item-container.no-img .access-item-table{
  width: 100%;
}
.access-item .access-item-table .table02{
  font-size: 1.7rem;
}
.table02,
.table02 table {
  width: 100%;
}
.table02 table th, .table02 table td {
  border-bottom: 1px solid #9a9a9a;
  vertical-align: top;
  text-align: left;
  padding: 7px 30px;
}
.table02 table th {
  width: 80px;
  font-weight: normal;
}
.table02 table tr:last-child th,
.table02 table tr:last-child td{
  border-bottom: 2px solid #333;
}
.list-note ul li {
  padding: 10px 0 0;
  list-style-type: none;
  font-size: 1.5rem;
}
.list-note ul li::before {
  display: inline;
  content: "※";
}
.access-item .list-note{
  padding-left: 30px;
  margin-top: 5px;
}
.access-item .access-item-img{
  width: 40%;
}
.access-item .access-item-img img{
  width: 100%;
}
.access-map{
  margin-top: 50px;
}
.access-map .access-map-link{
  font-weight: 500;
  font-size: 1.8rem;
}
.access-map iframe{
  aspect-ratio: 16 / 8;
  margin-top: 15px;
}
@media  only screen and (max-width: 1024px){
  .access-item-container{
    flex-wrap: wrap;
    gap: 40px;
  }
  .access-item .access-item-table{
    width: 100%;
  }
  .table02 table th, .table02 table td {
    padding: 7px 20px;
  }
  .table02 table th {
    width: 50px;
  }
  .access-item .access-item-img{
    width: 100%;
  }
  .access-map iframe{
    aspect-ratio: 16 / 10;
  }
}
@media  only screen and (max-width: 768px){
  .access-item-container{
    gap: 8vw;
  }
  .access-item:not(:first-child){
    margin-top: 16vw;
  }
  .access-item .ttl-box-min{
    margin-bottom: 1.6vw;
  }
  .access-item .access-item-table .table02{
    font-size: 3.467vw;
  }
  .table02 table th{
    padding: 2.133vw 0 2.133vw 3.733vw;
    width: 10.667vw;
  }
  .table02 table td {
    padding: 2.133vw 3.733vw;
  }
  .list-note ul li {
    padding: 2.133vw 0 0;
    font-size: 3.2vw;
  }
  .access-item .list-note{
    padding-left: 0;
    margin-top: 0.8vw;
  }
  .access-map{
    margin-top: 6.667vw;
  }
  .access-map .access-map-link{
    font-size: 3.467vw;
  }
  .access-map iframe{
    margin-top: 2.667vw;
  }
}

/*  ----------------------------------------  */
/*  ----------------------------------------  */
/*  ----------------------------------------  */
/*  ----------------------------------------  */

/*  page sitemap
--------------------------------------------- */
.page-common-sub-h1 .ttl-flex{
  align-items: center;
  gap: 25px;
  justify-content: center;
}
.page-common-sub-h1 .ttl-flex .sub-ttl{
  padding-bottom: 0 !important;
}
.page-common-sub-h1 .ttl-flex .sub-ttl .en{
  font-size: 4.8rem;
  line-height: 1.2em;
}
.page-common-sub-h1 .ttl-flex .main-ttl{
  border-left: unset;
  padding: unset;
}
.sitemap-container{
  display: flex;
  flex-wrap: wrap;
  gap: 5%;
}
.sitemap-item{
  width: 30%;
  margin-bottom: 40px;
}
.sitemap-head{
  color: #6b1b7e;
  font-size: 2.8rem;
  border-bottom: 1px solid #6b1b7e;
}
.sitemap-head a{
  transition : .5s;
}
.arrow-right2{
  width: 100%;
  transition: 0.5s;
  vertical-align: middle;
  position: relative;
  display: inline-block;
}
.arrow-right2 a{
  display: block;
  color: #6b1b7e;
}
.arrow-right2::before,
.arrow-right2::after{
	position: absolute;
	top: 0;
  right: 0;
	bottom: 0;
	margin: auto;
	content: "";
  cursor: pointer;
}
.arrow-right2::before{
	width: 8px;
	height: 8px;
	border-top: 1px solid #6b1b7e;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
  right: 0;
  border-right: 1px solid #6b1b7e;
}
.sitemap-body{
  margin-top: 15px;
}
.sitemap-body li a{
  padding: 7px 0;
  display: block;
  color: #000;
  transition : .5s;
}
.sitemap-head a:hover,
.sitemap-body li a:hover{
  opacity: .6;
}
.sitemap-body .arrow-right2::before{
	border-top: 1px solid #000;
  border-right: 1px solid #000;
}
@media  only screen and (max-width: 768px){
  .page-common-sub-h1 .ttl-flex{
    gap: 3%;
  }
  .page-common-sub-h1 .ttl-flex .sub-ttl .en{
    font-size: 6.667vw;
  }
  .sitemap-container{
    justify-content: center;
  }
  .sitemap-item{
    width: 60%;
    margin-bottom: 5.333vw;
  }
  .sitemap-item:last-child{
    margin-bottom: 0;
  }
  .sitemap-head{
    font-size: 4.8vw;
  }
  .arrow-right2::before{
    width: 1.333vw;
    height: 1.333vw;
  }
  .sitemap-body{
    margin-top: 2.666vw;
  }
  .sitemap-body li a{
    padding: 1.2vw 0;
  }
}

/*  ----------------------------------------  */
/*  ----------------------------------------  */
/*  ----------------------------------------  */
/*  ----------------------------------------  */

/*  page news
--------------------------------------------- */
.acd_wrapper{
  margin-bottom: 60px;
}
.acd_inner{
  width: 650px;
  margin: 0 auto;
  display: flex;
  gap: 5%;
}
.accordion{
  width: 100%;
  margin: 0 auto;
}
.acd_head,
.acd_content{
  display: flex;
  align-items: center;
  justify-content: left;
  width: 100%;
  background-color: #eee;
  border: 1px solid #bababa;
  box-sizing: border-box;
}
.acd_head {
  cursor: pointer;
  padding: 13px;
  position: relative;
}
.acd_content {
  display: none;
  border-top: unset;
}
.acd_content ul li{
  border-bottom: 1px solid #bababa;
}
.acd_content ul li:last-child{
  border-bottom: unset;
}
.acd_content ul li a{
  display: block;
  padding: 13px;
  transition: all .3s ease-in-out;
}
.acd_content ul li a:hover{
  opacity: .6;
}
.acd_head::before{
  position: absolute;
  content: '';
  top: 50%;
  right: 25px;
  width: 20px;
  height: 1px;
  background-color:#000;
  transform: rotate(90deg);
  transition: all .3s ease-in-out;
}
.acd_head::after{
  position: absolute;
  content: '';
  top: 50%;
  right: 25px;
  width: 20px;
  height: 1px;
  background-color:#000;
  transition: all .3s ease-in-out;
}
.acd_head.open::before {
  transform: rotate(180deg);
}
.acd_head.open::after {
  opacity:0;
}
@media  only screen and (max-width: 1024px){
  .acd_wrapper{ margin-bottom: 40px;}
  .acd_inner{ width: auto; max-width: 700px;}
}
@media  only screen and (max-width: 768px){
  .acd_wrapper{ margin-bottom: 4.8vw;}
  .acd_head { padding: 2.2vw;}
  .acd_content ul li a{ padding: 2.2vw;}
  .acd_head::before,
  .acd_head::after{
    right: 2.6vw;
    width: 2.6vw;
  }
  .acd_head,
  .acd_content{
    font-size: 90%;
  }
}

/*  page news single
--------------------------------------------- */
.news-cattime{
  margin-bottom: 20px;
}
.news-cattime .news-cat{
  background: #646464;
  font-size: 80%;
  color: #fff;
  padding: 2px 15px;
  margin-left: 12px;
  line-height: 1em;
}
.news-cattime .news-cat a{
  color: #fff;
}
.page-news-single h2{
  font-size: 3.2rem;
  padding-bottom: 15px;
  border-bottom: 1px solid #646464;
}
.news-original{
  margin-top: 60px;
}
.news-original h2{
  font-size: 2.8rem;
  margin-top: 20px;
  margin-bottom: 15px;
  padding-left: 20px;
  padding-bottom: 0;
  border-left: 5px solid #6b1b7e;
  border-bottom: unset;
}
.news-original h3{
  font-size: 2.4rem;
  margin-top: 20px;
  margin-bottom: 15px;
  border-bottom: 1px solid #646464;
}
.news-original a{
  color: #6b1b7e;
  text-decoration: underline;
}
.news-original p{
  line-height: 2em;
  margin-top: 20px;
}
.news-original ul,
.news-original ol{
  margin-top: 20px;
}
.news-original ol{
  counter-reset: list;
}
.news-original ol li{
  position: relative;
  padding-left: 20px;
}
.news-original ol li:not(:first-child){
  margin-top: 5px;
}
.news-original ol li:before{
  counter-increment: list;
  content: counter(list);
  position: absolute;
  left: -5px;
  text-align: center;
  width: 15px;
  top: 0;
}
.news-original ul li{
  position: relative;
  padding-left: 1em;
}
.news-original ul li:after{
  display: block;
  content: "";
  position: absolute;
  top: 12px;
  left: 1px;
  width: 6px;
  height: 6px;
  background-color: #646464;
  border-radius: 50%;
}
.news-original img{
  margin-top: 20px;
  width: auto;
  max-width: 100%;
  height: auto;
}
.news-back-btn{
  display: flex;
  gap: 2%;
  justify-content: center;
}
.btn-radius{
  display: flex;
  justify-content: center;
  align-items: center;
  width: max-content;
  padding: 10px 40px;
  border: 1px solid #343434;
  border-radius: 30px;
  transition: 0.5s;
  vertical-align: middle;
}
.btn-radius.s-back,
.btn-radius.s-next{
  position: relative;
  display: inline-block;
}
.btn-radius.s-back{
  padding: 10px 40px 10px 50px;
}
.btn-radius.s-next{
  padding: 10px 50px 10px 40px;
}
.btn-radius.s-back::before,
.btn-radius.s-back::after,
.btn-radius.s-next::before,
.btn-radius.s-next::after{
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
}
.btn-radius.s-back::before,
.btn-radius.s-back::after{
  left: 0;
}
.btn-radius.s-next::before,
.btn-radius.s-next::after{
  right: 0;
}
.btn-radius.s-back::before,
.btn-radius.s-next::before{
	width: 6px;
	height: 6px;
	border-top: 1px solid #000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.btn-radius.s-back::before{
  left: 15px;
  border-left: 1px solid #000;
  -webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.btn-radius.s-next::before{
  right: 15px;
  border-right: 1px solid #000;
}
.btn-radius:hover{
  opacity: .6;
}
/*  page news pagenavi */
.navi-box{
  margin: 60px auto 0;
  text-align: center;
}
.wp-pagenavi a, .wp-pagenavi span{
  padding: 5px 10px !important;
}

@media  only screen and (max-width: 1024px){
  .page-news-single h2{
    font-size: 2.6rem;
  }
  .news-original{
    margin-top: 40px;
  }
}
@media  only screen and (max-width: 768px){
  .news-cattime{
    margin-bottom: 3.2vw;
  }
  .news-cattime .news-cat{
    padding: 0.3vw 3.2vw;
    margin-left: 1.8vw;
  }
  .page-news-single h2{
    font-size: 4.8vw;
    padding-bottom: 1.8vw;
  }
  .news-original{
    margin-top: 5.333vw;
  }
  .news-original h2{
    font-size: 4vw;
  }
  .news-original h3{
    font-size: 4vw;
  }
  .news-original .is-layout-flex{
    flex-wrap: wrap;
    gap: 0;
  }
  .news-back-btn{
    gap: 4%;
  }
  .btn-radius{
    padding: 1.8vw 8vw;
    border-radius: 8vw;
  }
  .btn-radius.s-back{
    padding: 1.8vw 5.333vw 1.8vw 8vw;
  }
  .btn-radius.s-next{
    padding: 1.8vw 8vw 1.8vw 5.333vw;
  }
  .btn-radius.s-back::before,
  .btn-radius.s-next::before{
    width: 1.333vw;
    height: 1.333vw;
  }
  .btn-radius.s-back::before{
    left: 3.467vw;
  }
  .btn-radius.s-next::before{
    right: 3.467vw;
  }
  .news-back-btn.sp{
    margin-bottom: 4vw;
  }
  .news-back-btn.sp .btn-radius{
    margin: 0 auto;
  }
  /*  page news pagenavi */
  .navi-box{
    margin: 8vw auto 0;
  }
  .wp-pagenavi a, .wp-pagenavi span{
    padding: 1.333vw 1.8vw !important;
  }

}

/*  ----------------------------------------  */
/*  ----------------------------------------  */
/*  ----------------------------------------  */
/*  ----------------------------------------  */

/*  page privacy
--------------------------------------------- */
.numlist ol {
  counter-reset: my-counter2;
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: inline-block;
}
.numlist li {
  padding-left: 25px;
  margin-top: 10px;
  position: relative;
}
.numlist li:before {
  content: counter(my-counter2);
  counter-increment: my-counter2;
  background-color: #6b1b7e;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 20px;
  width: 20px;
  color: #ffffff;
  font-size: 85%;
  position: absolute;
  top: 2px;
  left: 0;
}
/*  page recruit voice archive  */
.border-dot{
  border-bottom: 2px dotted #6b1b7e;
}
.border-dot .main-mid24-ttl{
  padding-bottom: 5px;
}

@media  only screen and (max-width: 768px){
  .numlist li {
    padding-left: 5vw;
    margin-top: 2.5vw;
  }
  .numlist li:before {
    height: 4vw;
    width: 4vw;
    top: 0.8vw;
  }
}

/*  ----------------------------------------  */
/*  ----------------------------------------  */
/*  ----------------------------------------  */
/*  ----------------------------------------  */

/*  page contact
--------------------------------------------- */
.form-table table,
.form-table tbody{
  width: 100%;
  display: block;
}
.form-table table tr{
  width: 100%;
  display: flex;
}
.form-table table th{
  text-align:left;
  vertical-align: top;
  width:35%;
  padding: 10px;
  margin-top: 20px;
  font-weight: unset;
  box-sizing: border-box;
}
.form-table table td{
  text-align:left;
  width:65%;
  margin-top: 20px;
  box-sizing: border-box;
}
@media  only screen and (min-width: 1025px){
  .form-table table tr:first-child th,
  .form-table table tr:first-child td{
    margin-top: 0;
  }
}
.form-table table input,
.form-table table select,
.form-table table textarea{
  border: 1px solid #b2b2b2;
  padding: 10px;
  width: 100%;
  box-sizing: border-box;
}
.form-table table th span{
  font-size: 70%;
  color: #fff;
  background-color: #CE3D40;
  border-radius: 3px;
  padding: 3px 5px;
  margin-right: 10px;
}
.form-table table td .td-inner{
  display: flex;
  align-items: center;
}
.form-table table td .td-inner:not(:first-child){
  margin-top: 15px;
}
.form-table table td .td-inner .inner-name{
  width: 120px;
}
.form-table table td .td-inner:nth-child(1) input,
.form-table table td .td-inner:nth-child(2) input{
  width: auto;
}
.acceptance-area{
  margin-top: 40px;
  padding: 20px;
  background-color: #f0cccc;
  border: 1px solid #CE3D40;
}
.acceptance-area .txt-link{
  color: #6b1b7e;
  text-decoration: underline;
}
.acceptance-area .acceptance-txt{
  padding-top: 10px;
}
.acceptance-area .acceptance-btn{
  text-align: center;
  margin-top: 10px;
}
.form-btn{
  margin: 40px auto 0;
  text-align: center;
}
.wpcf7 form .wpcf7-response-output{
  display: none !important;
}
.wpcf7-submit{
  background: #6b1b7e;
  color: #fff;
  padding: 14px 80px;
  font-family: "Zen Old Mincho", serif;
  font-size: 1.6rem;
  cursor: pointer;
}
.wpcf7-previous{
  background: #858585;
  color: #fff;
  padding: 14px 80px;
  font-family: "Zen Old Mincho", serif;
  font-size: 1.6rem;
  margin-right: 40px;
  cursor: pointer;
}
.wpcf7 .wpcf7-submit:disabled{
  background: #858585 !important;
}
.wpcf7-spinner{
  display: none !important;
}
.form-table-confirm table td{
  padding: 10px;
}
@media  only screen and (max-width: 1024px){
  .form-table table tr{
    flex-wrap: wrap;
  }
  .form-table table th{
    width:100%;
    padding: 10px 0;
  }
  .form-table table tr:first-child th{
    margin-top: 0;
  }
  .form-table table td{
    width:100%;
    margin-top: 5px;
  }
  .form-table table td .td-inner .inner-name{
    width: 140px;
  }
  .form-table table td .td-inner .inner-input{
    width: calc(100% - 140px);
  }
  .form-table table td .td-inner .inner-input input{
    width: calc(100% - 140px);
  }
}
@media  only screen and (max-width: 768px){
  .form-table table th{
    padding: 1.8vw 0;
    margin-top: 2.3vw;
  }
  .form-table table td{
    margin-top: 0.6vw;
  }
  .form-table table input,
  .form-table table select, 
  .form-table table textarea{
    padding: 1.8vw;
  }
  .wpcf7-submit{
    font-size: unset;
    padding: 2vw 12vw;
  }
  .wpcf7-previous{
    font-size: unset;
    padding: 2vw 12vw;
    margin-right: 4vw;
  }
  .form-table table td .td-inner .inner-name{
    width: 30%;
  }
  .form-table table td .td-inner .inner-input{
    width: calc(100% - 30%);
  }
  .form-table table td .td-inner .inner-input input{
    width: 100%;
  }

}

/*  page inquiry
--------------------------------------------- */
.form-table table td input[type=radio]{
  width: auto;
}
.form-table table td .wpcf7-radio label{
  display: flex;
  align-items: center;
  gap: 5px;
}
@media  only screen and (max-width: 768px){
  .form-table table td .wpcf7-radio .wpcf7-list-item{
    width: calc( 100% - 1em);
  }
}


/*  ----------------------------------------  */
/*  ----------------------------------------  */
/*  ----------------------------------------  */
/*  ----------------------------------------  */

/*  page footer
--------------------------------------------- */
.page-common .footer-container{
  padding: 70px 0 30px;
}
.page-common .footer-copy{
  justify-content: center;
  margin-top: 20px;
}
.page-common .footer-contact{
  margin: 70px 0 0;
  justify-content: center;
}

@media screen and (max-width: 1024px) {
  .page-common .footer-container{
    padding: 60px 0 30px;
  }
}
@media screen and (max-width: 768px) {
  .page-common .footer-container{
    padding: 8vw 0 5.208vw !important;
  }
  .page-common .footer-copy{
    margin-top: 4vw;
  }
  .page-common .footer-contact{
    margin: 8vw 0 0;
  }
}

/*  ----------------------------------------  */
/*  ----------------------------------------  */
/*  ----------------------------------------  */
/*  ----------------------------------------  */

/*  page animation
--------------------------------------------- */
.js_ttl-wrap{
  position: relative;
  display: inline-block;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .page-common-h1 .ttl-flex .sub-ttl{
    padding-bottom: 10px;
  }
}
.js_ttl-up {
  opacity: 0;
  margin: 0;
  position: relative;
  bottom: -100px;
  white-space: nowrap;
  -webkit-animation: js_ttl-up .8s ease 0s 1;
  animation: js_ttl-up .8s ease 0s 1;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
@-webkit-keyframes js_ttl-up { 
  0%   {opacity: 0; }
  100% {opacity: 1; bottom: 0;} 
}
@keyframes js_ttl-up {
  0%   {opacity: 0; }
  100% {opacity: 1; bottom: 0;} 
}

.js_ttl-up2 {
  opacity: 0;
  margin: 0;
  position: relative;
  bottom: -100px;
  white-space: nowrap;
  -webkit-animation: js_ttl-up2 1.5s ease 1s 1;
  animation: js_ttl-up2 1.5s ease 1s 1;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
@-webkit-keyframes js_ttl-up2 { 
  0%   {opacity: 0; }
  100% {opacity: 1; bottom: 0;} 
}
@keyframes js_ttl-up2 {
  0%   {opacity: 0; }
  100% {opacity: 1; bottom: 0;} 
}


/*  page header colorchange
--------------------------------------------- */
.bg-white a img{
  display: none;
}
.bg-white{
  background: url(/assets/img/common/h-logo.svg);
  background-size: cover;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 1024px) {
  .bg-white{
    background-size: contain;
    height: 34px !important;
  }
}