body{
    background-color: transparent !important;
}
.contact-parts a {
    background: #3F5AB2;
    transition: .25s;
}

.contact-parts a:hover{
    background: #3A3A3A;
    transition: .25s;
}


.it-ttl-font{
    font-family: "toppan-bunkyu-midashi-go-std", sans-serif;
}

.w-1360{
width: 100%;
margin: auto;
max-width: 1360px;
}

.w-1280{
width: 100%;
margin: auto;
max-width: 1280px;
}
.w-1190{
width: 100%;
margin: auto;
max-width: 1190px;
}

.itfactory-fv__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.itfactory-fv__inner .itfactory-fv__inner__text {
    display: flex;
    flex-direction: column;
    width: 45%;
    max-width: 610px;
}

.itfactory-fv__inner ul{
    width: 40%;
    max-width: 570px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 18px;
}

.itfactory-fv__inner ul li {
   display: block;
   width: calc((100% - (18px * 3)) / 4);
}

.itfactory-fv {
    height: 90vh;
    max-height: 700px;
    position: relative;
    overflow: hidden;
}

.itfactory-fv__inner {
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.section-itfactory-header{
    position: fixed;
    left: 50%;
    top: 32px;
    transform: translateX(-50%);
    width: calc(100% - (65px * 2));
    z-index: 99999;
}

.section-itfactory-header_inner {
    display: flex;
    justify-content: space-between;
}

.section-itfactory-header_inner .section-itfactory-header__logo{
    width: 173px;
    height: auto;
    object-fit: contain;
}

a.itfactory-contact-btn{
    font-size: 16px;
    padding: 8px 0;
    line-height: 1.5;
    background-color: #3F5AB2;
    display: flex;
    width: 180px;
    color: #fff;
    justify-content: center;
    align-items: center;
    clip-path: polygon(
        12px 0,
    calc(100% - 12px) 0,
    100% 50%,
    calc(100% - 12px) 100%,
    12px 100%,
    0 50%
  );
    height: 40px;
}

.itfactory-contact-arrow{
    font-size: 16px;
    width: 46px;
    height: 40px;
    line-height: 1.5;
    background-color: #DFDFDF;
    display: flex;
    justify-content: center;
    align-items: center;
    clip-path: polygon(
        12px 0,
    calc(100% - 12px) 0,
    100% 50%,
    calc(100% - 12px) 100%,
    12px 100%,
    0 50%
  );
}

.itfactory-contact-arrow img{
width: 19px;
height: 10px;
display: block;
object-fit: contain;
object-position: center;
}

.section-itfactory-header__nav-group__wrap {
    display: flex;
    align-items: center;
    gap: 0;
}

/* ===== ベース指定 ===== */
.itfactory-fv-bg{
  /* 要求どおり */
  position:absolute;
  left:50%; top:50%;
  width:100%;
  height:200vh;

  /* 中央に寄せつつ時計回りに回転 */
  transform: translate(-50%, -50%) rotate(var(--angle, 41deg));

  /* はみ出しを隠す（回転で角が出るので余白ぶん見切れ防止） */
  overflow:hidden;
  pointer-events:none; /* 背景用途なら */


  z-index: -1;
  /* スムーズ化 */
  will-change: transform;
}

/* 2枚を“コンテナ高=100%”で上下に配置して無限ループ */
.itfactory-fv-cont{
  position:absolute;
  left:0; width:100%; height:100%;
  /* 1枚目は上（0%）、2枚目は真下（100%）からスタート */
}
.itfactory-fv-cont:nth-child(1){ top:0; }
.itfactory-fv-cont:nth-child(2){ top:100%; }

/* 画像を面いっぱいにフィット */
.itfactory-fv-cont > img{
  width:100%; height:100%;
  object-fit:cover;      /* トリミングして全面を埋める */
  display:block;
  will-change: transform;
}

/* 等速で“上方向”へ流す（0%→-100%） */
.itfactory-fv-cont{
  animation: itfUp var(--duration, 20s) linear infinite;
}

@keyframes itfUp{
  from{ transform: translateY(0); }
  to  { transform: translateY(-100%); }
}

/* 低速端末や reduce motion 対応 */
@media (prefers-reduced-motion: reduce){
  .itfactory-fv-cont{ animation: none; }
}
/* ベース（共通） */
.itfactory-fv__inner__link {
  display: flex;
  gap: 10px;                /* 既存の width:calc((100% - 10px)/2) に合わせた隙間 */
}

.itfactory-fv__inner__link{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    max-width: 415px;
    width: 100%;
    margin: 40px auto 0;
}

.itfactory-fv__inner__link a{
  position: relative;
  display: block;
  width: calc((100% - 10px) / 2);
  padding: 12px 16px;       /* 文字の上下左右余白はお好みで */
  text-align: center;
  line-height: 1;           /* 行高のにじみ防止 */
  transition: .25s;
  opacity: 1;
  overflow: hidden;         /* 念のため */
  text-decoration: none;

  /* 外形：六角クリップ（左右の食い込み 12px） */
  clip-path: polygon(
    12px 0,
    calc(100% - 12px) 0,
    100% 50%,
    calc(100% - 12px) 100%,
    12px 100%,
    0 50%
  );
}

/* 1個目：塗りつぶし（青地・白文字） */
.itfactory-fv__inner__link a:first-of-type{
  background: #3F5AB2;
  color: #fff;
}

/* 2個目：枠付き（外側＝青、内側＝白） */
.itfactory-fv__inner__link a:last-of-type{
  background: #3F5AB2;   /* これが“枠色”になる */
  color: #3F5AB2;        /* テキストは上レイヤーで指定し直す */
  border: none;          /* 使わない（clipで欠けるため） */
}

/* 内側の白い六角形：上下左右1pxだけ縮めて配置 */
.itfactory-fv__inner__link a:last-of-type::after{
  content: "";
  position: absolute;
  top: 1px; left: 1px; right: 1px; bottom: 1px;
  background: #fff;
  z-index: 0;
  /* 内側は食い込みを 13px にして、外側1pxぶん均一に“枠”が残る */
  clip-path: polygon(
    13px 0,
    calc(100% - 13px) 0,
    100% 50%,
    calc(100% - 13px) 100%,
    13px 100%,
    0 50%
  );
  transition: .25s;
}

/* テキストは常に最前面へ */
.itfactory-fv__inner__link a > span{
  position: relative;
  z-index: 1;
}

/* 2個目のテキスト色（白地の上に青文字） */
.itfactory-fv__inner__link a:last-of-type > span{
  color: #3F5AB2;
}

/* hover（任意） */
.itfactory-fv__inner__link a:hover{
  opacity: .85;
}

/* キーボード操作の可視フォーカス（任意） */
.itfactory-fv__inner__link a:focus-visible{
  outline: 2px solid #233A86;
  outline-offset: 2px;
}


.itfactory-logo__group__inner ul {
    display: flex;
    gap: 20px 15px;
    flex-wrap: wrap;
}

.itfactory-logo__group__inner ul  li{
    width: calc((100% - (15px * 5)) / 6);
}

.itfactory-logo__group__inner{
    padding-top: 56px;
    padding-bottom: 56px;
}

.itfactory-about__group {
    background-image: url(../images/itfactory/about-us-bg.png);
    background-position: center;
    background-repeat: repeat;
    background-size: 1440px auto !important;
    padding-top: 140px;
    padding-bottom: 240px;
}


.itfactory-about__group__inner__text{
    line-height: 2.8;
    font-size: 18px;
    letter-spacing: .03em;
}

h2.itfactory-about__group__inner__ttl.main-ttl{
    font-size: 50px;
    margin-bottom: 60px;
    font-weight: 700;
}

.itfactory-about__group__inner__text-group{
    margin-top: 120px;
    max-width: 1060px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.main-ttl span {
    color: #3F5AB2;
}

.itfactory-intro__group__inner{
display: flex;
justify-content:flex-end;
}

.itfactory-intro__group{
    position: relative;
}

.itfactory-intro__group__images {
    position: absolute;
    left: 0;
    top: 0;
    width: calc(50vw - 100px);
    height: 100%;
}

.itfactory-intro__group__images img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.itfactory-intro__group__text{
    padding-top: 350px;
    padding-bottom: 80px;
    width: 50%;
}

.itfactory-intro__group__inner__ttl {
font-size: 40px;
margin-bottom: 40px;
line-height: 1.5;
font-weight: 700;
letter-spacing: .2em;
}

.itfactory-intro__group__inner__text{
font-size: 16px;
letter-spacing: .03em;
line-height: 2;
}


.itfactory-intro__group{
    position: relative;
}
.itfactory-intro__group::before{
    background-image: url(../images/itfactory/intro-image.png);
    background-repeat: no-repeat;
    width: 1050px;
    height: 778px;
    background-size: contain;
    background-position: center;
    position: absolute;
    content: "";
    right: 0;
    bottom: -550px;
}

.itfactory-style__group__inner{
    padding-top: 180px;
    padding-bottom: 180px;
}

.itfactory-style__group__inner .itfactory-style__group__inner__ttl{
font-size: 40px;
line-height: 1.5;
font-weight: 700;
text-align: center;
margin-top: 90px;
margin-bottom: 80px;
letter-spacing: .2em;
}

.itfactory-style{
    display: flex;
    gap: 32px;
    flex-direction: column;
}

.itfactory-style-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 80px 80px 80px 40px;
    width: 100%;
    background-color: #697EC3;
}

.itfactory-style-content-text {
    color: #fff;
}

.sub-ttl{
    letter-spacing: .1em;
}
.itfactory-style-content-sub-ttl.eng{
    font-size: 110px;
    margin-bottom: 50px;
    line-height: 1;
    height: 110px;
    font-weight: 700;
}

.itfactory-style-content-ttl{
    font-size: 30px;
    margin-bottom: 20px;
    line-height: 1.5;
    letter-spacing: .2em;
}


.itfactory-style-content-text {
    line-height: 2;
}

.itfactory-style-content-text li{
    font-size: 16px;
    letter-spacing: .03em;
}

.itfactory-style-content-text li span{
    font-size: 16px;
    color: #EF363A;
}

li.itfactory-style-content picture {
    width: 50%;
    max-width: 550px;
}


.itfactory-service__group__inner__ttl{
    font-size: 40px;
    margin-bottom: 40px;
    text-align: center;
    margin-top: 120px;
    font-weight: 700;
    letter-spacing: .2em;
}

.itfactory-service__group__inner__text{
    text-align: center;
    line-height: 2.2;
    letter-spacing: .03em;
}

ul.itfactory-service__group__inner__contact{
    display: flex;
    gap: 20px 15px;
    flex-wrap: wrap;
    margin-top: 80px;
}

ul.itfactory-service__group__inner__contact  li{
    width: calc((100% - (15px * 5)) / 6);
}

section.itfactory-service__group{
    padding-top: 140px;
    padding-bottom: 140px;
    background-image: url(../images/itfactory/service-bg.png);
    background-repeat: no-repeat;
    background-size: 2000px auto;
    background-position: top center;
    position: relative;
}

section.itfactory-service__group::before{
content: "";
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: #E4E8F4;
z-index: -1;
}

.itfactory-service__group__inner__attention{
    padding: 10px 24px;
    background-color: #3A3A3A;
    margin: auto;
    display: block;
    width: max-content;
    max-width: 100%;
    margin-top: 80px;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
    letter-spacing: .2em;
}







.itfactory-300__group__inner{
display: flex;
}

.itfactory-300__group{
    position: relative;
}

.itfactory-300__group__images {
    position: absolute;
    right: 0;
    top: 0;
    width: calc(50vw - 100px);
    height: 100%;
    z-index: -1;
}

.itfactory-300__group__images img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.itfactory-300__group__text{
    padding-top: 230px;
    padding-bottom: 230px;
    width: 50%;
    position: relative;
    z-index: 2;
}

.itfactory-300__group__inner__ttl {
font-size: 32px;
margin-bottom: 40px;
line-height: 1.5;
font-weight: 700;
letter-spacing: .2em;
}

.itfactory-300__group__text ul{
font-size: 16px;
line-height: 2;
margin-bottom: 60px;
letter-spacing: .03em;
}

.itfactory-300__group__inner__text span{
    color: #EF363A;
}


.itfactory-300__group__text ul li span {
    color: #EF363A;
}

.itfactory-300__group__inner__ttl span{
    color: #3F5AB2;
}

.itfactory-300__group__inner__text-box{
    display: flex;
    justify-content: flex-start;
    gap: 24px;
    align-items: center;
    background-color: #EEEEEE;
    padding: 15px 24px;
    border-radius: 10px;
    width: max-content;
    max-width: 100%;
}

.itfactory-300__group__inner__text-box img{
    display: block;
    width: 28px;
    height: 15px;
    object-fit: contain;
    object-position: center;
}

.itfactory-300__group__inner__text-box p{
    line-height: 1.5;
    font-size: 20px;
    letter-spacing: .07em;
}

section.itfactory-300__group::before{
    background-image: url(../images/itfactory/net-dots.png);
    background-position: center;
    background-repeat: repeat;
    background-size: 1440px auto;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    z-index: 0;
    display: block;
}


.itfactory-contact__group{
    background-image: url(../images/itfactory/contact-bg.png);
    background-position: center;
    background-size: cover;
    padding-top: 180px;
    padding-bottom: 200px;
    color: #fff;
}

.itfactory-contact__group__inner h2{
    font-size: 32px;
    line-height: 1.5;
    letter-spacing: .2em;
    text-align: center;
}

.itfactory-contact__group__inner__linkgroup {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 820px;
    margin: 60px auto 0;
}

.itfactory-contact__group__inner__linkgroup a{
    display: flex;
    justify-content: space-between;
    align-items: center;
        clip-path: polygon(20px 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 20px 100%, 0 50%);
}

.itfactory-contact__group__inner__linkgroup a {
    position: relative;
    display: block;
    width: calc((100% - 0px) / 2);
    padding: 12px 16px;
    text-align: center;
    line-height: 1;
    transition: .25s;
    opacity: 1;
    overflow: hidden;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    line-height: 1.5;
}





/* 1個目：塗りつぶし（青地・白文字） */
.itfactory-contact__group__inner__linkgroup a:first-of-type{
  background: #3F5AB2;
  color: #fff;
}

/* 2個目：枠付き（外側＝青、内側＝白） */
.itfactory-contact__group__inner__linkgroup a:last-of-type{
  background: #3F5AB2;   /* これが“枠色”になる */
  color: #3F5AB2;        /* テキストは上レイヤーで指定し直す */
  border: none;          /* 使わない（clipで欠けるため） */
}

/* 内側の白い六角形：上下左右1pxだけ縮めて配置 */
.itfactory-contact__group__inner__linkgroup a:last-of-type::after{
  content: "";
  position: absolute;
  top: 1px; left: 1px; right: 1px; bottom: 1px;
  background: #fff;
  z-index: 0;
  /* 内側は食い込みを 13px にして、外側1pxぶん均一に“枠”が残る */
  clip-path: polygon(
    13px 0,
    calc(100% - 13px) 0,
    100% 50%,
    calc(100% - 13px) 100%,
    13px 100%,
    0 50%
  );
  transition: .25s;
}



/* テキストは常に最前面へ */
.itfactory-contact__group__inner__linkgroup a > span{
  position: relative;
  z-index: 1;
  letter-spacing: .05em;
}

/* 2個目のテキスト色（白地の上に青文字） */
.itfactory-contact__group__inner__linkgroup a:last-of-type > span{
  color: #3F5AB2;
}

/* hover（任意） */
.itfactory-contact__group__inner__linkgroup a:hover{
  opacity: .85;
}

.itfactory-contact__group__inner__linkgroup a:focus-visible{
  outline: 2px solid #233A86;
  outline-offset: 2px;
}



.itfactory-footer-bottom{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.itfactory-footer-bottom-link{
    display: flex;
    gap: 40px;
    font-size: 14px;
}
.top-partners.it-part{
    background-color: transparent !important;
    padding-top: 80px;
    padding-bottom: 80px;
}

@media screen and (max-width:1380px) {

.w-1360,
.w-1280,
.w-1190{
    padding-left: 20px;
    padding-right: 20px;

}
.section-itfactory-header {
    top: 24px;
    transform: translateX(-50%);
    width: calc(100% - (20px * 2));
}
.section-itfactory-header_inner {
    align-items: center;
}
}

br.sp{
    display: none;
}

br.pc{
    display: block;
}


@media screen and (max-width:840px) {

br.sp{
    display: block;
}

br.pc{
    display: none !important;
}


.w-1360,
.w-1280,
.w-1190{
  max-width: 640px;
}
    .section-itfactory-header_inner .section-itfactory-header__logo {
    width: 130px;
    height: auto;
    object-fit: contain;
}
 .itfactory-fv__inner {
    top: auto;
    left: auto;
    transform: none;
    padding-top: 120px;
    padding-bottom: 80px;
    position: relative;
    flex-direction: column;
    gap: 40px;
}
.itfactory-fv__inner .itfactory-fv__inner__text {
    flex-direction: column;
    width: 100%;
    max-width: 400px;
}
.itfactory-fv__inner ul {
    max-width: 400px;
    gap: 10px;
    width: 100%;
}
.itfactory-fv__inner ul li {
    display: block;
    width: calc((100% - (10px * 3)) / 4);
}
.itfactory-fv__inner__link {
    max-width: 415px;
    width: 100%;
    margin: 20px auto 0;
}
.itfactory-fv {
    height: max-content;
    max-height: none;
    position: relative;
    overflow: hidden;
}
.itfactory-fv__inner__link a{
    font-size: 14px;
}
a.itfactory-contact-btn {
    font-size: 14px;
    padding: 8px 0;
    width: 150px;
    clip-path: polygon(
        10px 0,
    calc(100% - 10px) 0,
    100% 50%,
    calc(100% - 10px) 100%,
    10px 100%,
    0 50%
  );
    height: 32px;
}
.itfactory-contact-arrow {
    width: 38px;
    height: 32px;
    clip-path: polygon(
        10px 0,
    calc(100% - 10px) 0,
    100% 50%,
    calc(100% - 10px) 100%,
    10px 100%,
    0 50%
  );
}
.itfactory-logo__group__inner {
    padding-top: 40px;
    padding-bottom: 40px;
}
.itfactory-logo__group__inner ul  li {
    width: calc((100% - (10px * 2)) / 3);
}
.itfactory-logo__group__inner ul {
    display: flex;
    gap: 10px 10px;
    flex-wrap: wrap;
}
.itfactory-about__group {
    background-size: 50%;
    padding-top: 80px;
    padding-bottom: 80px;
}
.itfactory-about__group__inner__text-group {
    margin-top: 40px;
}
h2.itfactory-about__group__inner__ttl.main-ttl {
    font-size: 28px;
    margin-bottom: 14px;
    font-weight: 700;
}
.itfactory-about__group__inner__text {
    line-height: 2.8;
    font-size: 14px;
}
.itfactory-intro__group__images {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    height: max-content;
}
.itfactory-intro__group__inner {
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
}
.itfactory-intro__group__text {
    padding-top: 40px;
    padding-bottom: 0px;
    width: 100%;
}
.itfactory-intro__group__inner__ttl {
    font-size: 28px;
    margin-bottom: 14px;
    line-height: 1.5;
    font-weight: 700;
}
.itfactory-intro__group__inner__text {
    font-size: 14px;
    line-height: 2;
}
.itfactory-intro__group{
    padding-top: 80px;
    padding-bottom: 80px;
}
.itfactory-intro__group::before {
    background-image: url(../images/itfactory/intro-image.png);
    background-repeat: no-repeat;
    width: 300px;
    height: 270px;
    background-size: contain;
    background-position: center;
    position: absolute;
    content: "";
    right: 0;
    bottom: -70px;
}
.itfactory-style__group__inner {
    padding-top: 80px;
    padding-bottom: 80px;
}
.itfactory-style__group__inner .itfactory-style__group__inner__ttl {
    font-size: 28px;
    line-height: 1.5;
    font-weight: 700;
    text-align: left;
    margin-top: 40px;
    margin-bottom: 24px;
    letter-spacing: .2em;
}
.itfactory-style-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 40px 20px 40px 20px;
    width: 100%;
    background-color: #697EC3;
    flex-direction: column;
}
.itfactory-style-content-sub-ttl.eng {
    font-size: 72px;
    margin-bottom: 14px;
    line-height: 1;
    height: 70px;
    font-weight: 700;
}
.itfactory-style-content-ttl {
    font-size: 20px;
    margin-bottom: 14px;
    line-height: 1.5;
}
.itfactory-style-content-text li{
    line-height: 2;
    font-size: 14px;
}
li.itfactory-style-content picture {
    width: 100%;
    max-width: 550px;
    margin: 32px auto 0;
}
section.itfactory-service__group {
    padding-top: 80px;
    padding-bottom: 80px;
}.itfactory-service__group__inner__ttl {
    font-size: 32px;
    margin-bottom: 24px;
    text-align: left;
    margin-top: 40px;
    font-weight: 700;
    line-height: 1.5;
}
.itfactory-service__group__inner__text {
    text-align: left;
    line-height: 2.2;
    font-size: 14px;
}
ul.itfactory-service__group__inner__contact {
    display: flex;
    gap: 10px 10px;
    flex-wrap: wrap;
    margin-top: 24px;
}

ul.itfactory-service__group__inner__contact li {
    display: block;
    width: calc((100% - (10px * 3)) / 4);
}
.itfactory-service__group__inner__attention {
    padding: 10px 24px;
    background-color: #3A3A3A;
    margin: auto;
    display: block;
    width: max-content;
    max-width: 100%;
    margin-top: 32px;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
    font-size: 14px;
    text-align: center;
}
.itfactory-300__group__inner {
    display: flex;
    flex-direction: column;
}
.itfactory-300__group__text {
    padding-top: 40px;
    padding-bottom: 0;
    width: 100%;
    position: relative;
    z-index: 2;
    order: 2;
}
.itfactory-300__group__images {
    position: relative;
    right: 0;
    top: 0;
    width: 100%;
    height: auto;
    z-index: -1;
    order: 1;
}
.itfactory-300__group{
    padding-top: 80px;
    padding-bottom: 80px;
}
.itfactory-300__group__text ul {
    font-size: 14px;
    line-height: 2;
    margin-bottom: 24px;
}
.itfactory-300__group__inner__ttl {
    font-size: 28px;
    margin-bottom: 24px;
    line-height: 1.5;
    font-weight: 700;
}
.itfactory-300__group__inner__text-box p {
    line-height: 1.5;
    font-size: 14px;
}
.itfactory-300__group__inner__text-box {
    display: flex;
    justify-content: flex-start;
    gap: 10px;
    align-items: center;
    background-color: #EEEEEE;
    padding: 8px 14px;
    border-radius: 10px;
    width: max-content;
    max-width: 100%;
}
.itfactory-300__group__inner__text-box img {
    display: block;
    width: 20px;
    height: 11px;
    object-fit: contain;
    object-position: center;
}
.itfactory-contact__group {
    padding-top: 80px;
    padding-bottom: 80px;
    color: #fff;
}
.itfactory-contact__group__inner h2 {
    font-size: 20px;
    line-height: 1.5;
    text-align: center;
}
.itfactory-contact__group__inner__linkgroup a {
    position: relative;
    display: block;
    width: 100%;
    padding: 12px 16px;
    text-align: center;
    line-height: 1;
    transition: .25s;
    opacity: 1;
    overflow: hidden;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    line-height: 1.5;
}
.itfactory-contact__group__inner__linkgroup {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 820px;
    margin: 32px auto 0;
    flex-direction: column;
    gap: 20px;
}
.itfactory-contact__group__inner__linkgroup a{
    height: 64px;
}
.itfactory-contact__group {
    
    background-position: center;
    background-size: cover;
}
.itfactory-footer-bottom{
    flex-direction: column;
    gap: 8px;

}
.itfactory-footer-bottom-link{
    order: 1;
}
p.copy-right.eng{
    order: 2;
}
.contact-parts a::after {
    top: 0;
    left: -14%;
}

.top-partners.it-part{
    background-color: transparent !important;
    padding-top: 40px;
    padding-bottom: 40px;
}
.top-partners.it-part .partners{
    padding: 0;
}
.itfactory-300__group__text ul li {
    font-size: 3vw;
}
}


.contact-parts a::after {
    background-image: url(../images/itfactory/itfactory-contact-bg.png) !important;
}




.itfactory-btn-style{
    overflow: hidden;
    position: relative;
}

.itfactory-btn-style span{
    display: block;
    width: max-content;
}
.itfactory-btn-style .text-roling {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    transition: .25s;
}


.itfactory-btn-style .text-roling-after {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-270%);
    transition: .25s;
}

.itfactory-btn-style:hover .text-roling{
  transform:translate(-50%,270%);
}

.itfactory-btn-style:hover .text-roling-after{
  transform:translate(-50%,-50%);
}