/*
Theme Name: fukuin202110
Description: fukuin202110HPrenewal
Version: 1.1
*/
html{margin: 0!important;}
body{margin: 0; min-height: 100vh; min-height: calc(var(--vh, 1vh) * 100); font-family: sans-serif;
  display: -webkit-box; display: -ms-flexbox;
  display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column;
  -webkit-text-size-adjust: 100%;/*スマホ自動拡大防止*/
}
p{margin: 0; font-family: 'a-otf-ud-shin-go-pr6n',sans-serif;font-size: 18px; margin-bottom: 1em;}
p:last-child{margin-bottom: 0;}
@media only screen and (max-width: 828px) {
  p{font-size: 20px;}
}
br, .material-icons{
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
ul{padding: 0;}
ol{padding: 0;}
li{list-style: none;}
h1{margin: 0;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;}
h2{-webkit-margin-before: 0em;margin-block-start: 0em;
    -webkit-margin-after: 0em;
    margin-block-end: 0em;}
h3{ font-size: 24px;
  font-family: dnp-shuei-gothic-kin-std,sans-serif;
  line-height: 1.5em;    margin: 0;}
img{  -webkit-user-select: none;  -moz-user-select: none;  -ms-user-select: none;  user-select: none; -webkit-transition: .3s ease; -o-transition: .3s ease; transition: .3s ease;}
.pageContent.service a:hover img{opacity: .6;}
figure{  margin-bottom: 2em;}
a{
  color: #24282C;
  -webkit-text-decoration: underline #24282C;
  text-decoration: underline #24282C;
  text-underline-offset: 5px;
  -webkit-transition: .3s ease;
  -o-transition: .3s ease;
  transition: .3s ease;
}
a:hover{
  color: #DB481D;
  -webkit-text-decoration: underline #DB481D;
  text-decoration: underline #DB481D;
  text-underline-offset: 5px;
}
.orng{color: #DB481D!important;}
.orngLine{
  -webkit-text-decoration: underline #DB481D 3px;
  text-decoration: underline #DB481D 3px;
  text-underline-offset: 5px;
  line-height: 2.2em;
}
.red{color: #B8193F!important;}
.blue{color: #40a0ce!important;}
.dShadow{
  -webkit-filter: drop-shadow(2px 3px 2px #000);
  filter: drop-shadow(2px 3px 2px #000);
}
.border1{border:solid 1px #000;}
.mTopAuto{ margin-top: auto!important;}
.pLeftPage{  padding-left: 20px!important;}
.pLeftPage40{  padding-left: 40px!important;}
.flex{  display: -webkit-box;  display: -ms-flexbox;  display: flex; flex-wrap: wrap;}
img[src*=’.svg’]{width: 100%;height: auto;}
.pageLink{
  margin-top: -70px;
  height: 70px;
  display: block;
  visibility: hidden;
}
.pageLink.toH2{
  margin-top: calc(-70px + 1.75em);
  height: calc(70px - 1.75em);
}
.pageLink.toH3{
  margin-top: calc(-70px + 1.5em);
  height: calc(70px - 1.5em);
}
.pageLink2nd{
  margin-top: -140px;
  height: 140px;
  display: block;
  visibility: hidden;
}
.pageLink2nd.toH2{
  margin-top: calc(-140px + 1.75em);
  height: calc(140px - 1.75em);
}
.pageLink2nd.toH3{
  margin-top: calc(-140px + 1.5em);
  height: calc(140px - 1.5em);
}
@media only screen and (max-width: 1079px) {
  .pageLink, .pageLink2nd{
    margin-top:0!important;
    height:0!important;
  }
}
main{width: 100vw;
    overflow: hidden;
    min-width: 1080px;
    -webkit-box-flex:1;
    -ms-flex:1;
    flex:1;}
.signature {
  text-align: right;
  margin: 2em 0;
}
.center{
  text-align: center;
}
.subCopy{
  padding: 0 0 0 20px;
  font-size: 21px;
  line-height: 2em;
  font-family: dnp-shuei-gothic-kin-std,sans-serif;
}


::-moz-selection{
  background-color: #DB481D;
  color: #fff;
}
::selection{
  background-color: #DB481D;
  color: #fff;
}
main.pageContent.servicePage .servicesLinkContent p::-moz-selection{
  background-color: #fff;
  color: #DB481D;
}
.bgOrange::-moz-selection, .bgOrange p::-moz-selection, .bgOrange h3::-moz-selection, main.pageContent.servicePage .servicesLinkContent p::selection{
  background-color: #fff;
  color: #DB481D;
}
.bgOrange::-moz-selection, .bgOrange p::-moz-selection, .bgOrange h3::-moz-selection, main.pageContent.servicePage .servicesLinkContent p::-moz-selection{
  background-color: #fff;
  color: #DB481D;
}
.bgOrange::selection, .bgOrange p::selection, .bgOrange h3::selection, main.pageContent.servicePage .servicesLinkContent p::selection{
  background-color: #fff;
  color: #DB481D;
}

/*---ドット、飾りのスタイル---*/
.dotBg{background-image: -o-radial-gradient(currentColor 3px, transparent 3px);background-image: radial-gradient(currentColor 3px, transparent 3px);background-size: calc(10 * 3px) calc(10 * 3px);
  color: #DB481D;    pointer-events: none; z-index: -10;}
.slashBg{    pointer-events: none;
  width: 100vw; height: 40vh;
  -webkit-transform: rotateZ(-11deg) translateX(calc(-50vw + 540px)) translateY(-30vh);
  -ms-transform: rotate(-11deg) translateX(calc(-50vw + 540px)) translateY(-30vh);
  transform: rotateZ(-11deg) translateX(calc(-50vw + 540px)) translateY(-30vh);
  -webkit-transform-origin: left bottom;
  -ms-transform-origin: left bottom;
  transform-origin: left bottom;
  margin-bottom: -40vh;}
.bgOrange{
    background-color:  #DB481D;
    color: #fff;
  }
/*---------------*/
/*---共通ボタン---*/
.f-button {
background: #fff;
position: relative;
display: inline-block;
border: 3px solid #DB481D;
color: #DB481D!important;
text-align: center;
text-decoration: none;
-webkit-transition: .2s;
-o-transition: .2s;
transition: .2s;
border-radius: 24px;
margin-top: 40px;
z-index: 2;
cursor: pointer;
padding: .5em 2.5em;
    padding-right: 3.5rem;
overflow: hidden;
text-decoration: none!important;
}
.f-button_txt{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
.material-icons{
position: absolute;
right: 1rem;
-webkit-transition: ease-out .2s;
-o-transition: ease-out .2s;
transition: ease-out .2s;
top: 50%;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}
a:hover .material-icons {
  -webkit-transform: translateY(-50%) translateX(5px);
  -ms-transform: translateY(-50%) translateX(5px);
  transform: translateY(-50%) translateX(5px);
}
.f-button::before {
position: absolute;
top: -3px;
right: 0;
bottom: -3px;
left: 0;
z-index: -1;
content: '';
background: #DB481D;
-webkit-transform-origin: center center;
-ms-transform-origin: center center;
transform-origin: center center;
-webkit-transform: scale(0, 1.1);
-ms-transform: scale(0, 1.1);
transform: scale(0, 1.1);
-webkit-transition: -webkit-transform .2s;
transition: -webkit-transform .2s;
-o-transition: transform .2s;
transition: transform .2s;
transition: transform .2s, -webkit-transform .2s;
}
.f-button:hover, .card:hover .btn {
color: #fff!important;
-webkit-animation: bgColor .2s ease .1s 1 ;
animation: bgColor .2s ease .1s 1 ;
-webkit-animation-fill-mode:forwards;
animation-fill-mode:forwards
}
@-webkit-keyframes bgColor {
  90%{  }
  100%{background: #DB481D;}
}
@keyframes bgColor {
  90%{  }
  100%{background: #DB481D;}
}
.f-button:hover::before {
  -webkit-transform: scale(1.1, 1.1);
  -ms-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
}
/*---------------*/
/*---固定アイコン---*/
.contactBtn{
  position: fixed; z-index: 1000;
  bottom: 36px; right: 36px;
  width: 100px; height: 100px;
  line-height: 0;
  background: #7E7E7E;
  border-radius: 12px;
  border: 3px solid #fff;
  overflow: hidden;
}
.contactBtn a{
  text-decoration: none;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  width: 100px; height: 100px;
}
.contactBtn::after{
  content: '';
  -webkit-transition: .3s transform;
  -o-transition: .3s transform;
  transition: .3s transform;
  -webkit-transform: skewY(-11deg) scaleY(0) translateY(105%);
  -ms-transform: skewY(-11deg) scaleY(0) translateY(105%);
  transform: skewY(-11deg) scaleY(0) translateY(105%);
  -webkit-transform-origin: bottom;
  -ms-transform-origin: bottom;
  transform-origin: bottom;
  width: 100%;  height: 100%;
  position: absolute;
  right: 0; bottom: 0;
  background: #B8193F;
  z-index: -1000;
}
.contactBtn:hover::after{
  -webkit-transform: skewY(-11deg) scaleY(1.2) translateY(10%);
  -ms-transform: skewY(-11deg) scaleY(1.2) translateY(10%);
  transform: skewY(-11deg) scaleY(1.2) translateY(10%);
}

/*---メニューのスタイル---*/
  .pc.menu{
    width: 100%;
    background-color: #fff;
    border-bottom: solid 5px #DB481D;
    z-index: 999;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    position: relative;
  }
  .pc.menu a{    transition:none!important;}
  ul.firstMenu, ul.secondMenu{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: 70px; width: 1045px; margin: auto;
  }
  .menu ul li a{
    font-size: 18px;
    text-decoration: none;
    padding: 1.5em 2.75em;
    position: relative;
  }
  ul.firstMenu>li a svg{
    width: 124px;
    height: auto;
    fill:#B8193F;/*TOPのみ*/
  }
  ul.firstMenu>li a svg:hover{
    fill:#B8193F;
  }
  ul.firstMenu>li{ margin: auto;}
  ul.firstMenu>li a{ color: #7E7E7E; text-decoration: none;}
  ul.firstMenu>li.active>a{ color: #DB481D; text-decoration: none;}
  ul.secondMenu{ display: none;}
  .active ul.secondMenu{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top:70px; left: 0;
    padding: 3px calc(50% - 522.5px) 0 calc(50% - 522.5px);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: #DB481D;
    border-bottom: solid 5px #fff;
    height: 62px;
  }
  ul.secondMenu>li{ padding: 0 5px;}
  .active ul.secondMenu>li a{ color: #fff; text-decoration: none;}
  ul.secondMenu>li>a{
    padding: 0.75em 1.75em 1.25em 1.75em; text-decoration: none;
  }
  ul.secondMenu>li.active>a{
    background: #fff;
    text-decoration: none;
    color:#DB481D;
    border-radius: 10px 10px 0 0;
  }
  div.techMenu{
    background-color: #000b;
    color: #fff;
    position: absolute;
    padding: 0 calc(50vw - 540px);
    width: 1080px;
    height: 400px;
    left: 0;
    top: 65px;
    display: none;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    border-top: #fff solid 5px;
  }
  li:hover>div.techMenu{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .techMenuTitle{
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 25px;
  }
  .techMenuTitle h1{
    font-family: almanach,sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 2.7em;
  }
  .techMenuTitle::after{
    content: '';
    display: block;
    border-bottom: 5px solid;
    margin-top: 30px;
    width: 120px;
  }
  ul.techMenuContents{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: 102px;
    margin-top: 20px;
  }
  ul.techMenuContents li{
    padding: 20px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    -webkit-transition: .2s ease-out;
    -o-transition: .2s ease-out;
    transition: .2s ease-out;
  }
  ul#techMenuContents li.techInactive{
    -webkit-filter: brightness(.5);
    filter: brightness(.5);
    -webkit-transition: .2s ease-out;
    -o-transition: .2s ease-out;
    transition: .2s ease-out;
  }
  ul.techMenuContents li a{
    padding: 64px 0 30px 0;
    text-decoration: none;
  }
  ul.techMenuContents li a img{
    width: 136px;
    height: 80px;
  }
  div.thirdMenu{
    display: none;
    background: antiquewhite;
    position: absolute;
    top: 65px;
    text-align: center;
    width: 205px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    border-top: solid 3px #fff;
  }
  div.thirdMenu::before{
    content: "";
    display: block;
    width: 45px;
    height: 45px;
    background-image: url(image/expand_more-white.svg);
    background-repeat: no-repeat;
    margin: auto;
    position: absolute;
    left: calc(50% - 27.5px);
    top: -16px;
  }
  div.thirdMenu a{
    color:  #DB481D!important;
    text-decoration: none;
    padding: 20px 1.5em 16px 0.5em!important;
    display: block;
    border-bottom: solid 3px #DB481D;
  }
  li:hover>div.thirdMenu{
    display: block;
  }
  /*オレンジ三角形*/
  .firstMenu .menuTxt::after{
    content: "";
    display: block;
    width: 45px; height: 45px;
    background-image: url(image/expand_more.svg);
    background-repeat: no-repeat;
    margin: auto;
    position: absolute;
    left: 50%;  bottom: -10px;
    -webkit-transform: scaleY(0) translateX(-50%);
    -ms-transform: scaleY(0) translateX(-50%);
    transform: scaleY(0) translateX(-50%);
    -webkit-transition: .1s ease-out;
    -o-transition: .1s ease-out;
    transition: .1s ease-out;
    opacity: 0;
  }
  .active .menuTxt::after{
    -webkit-transform: scaleY(1) translateY(-.25rem) translateX(-50%);
    -ms-transform: scaleY(1) translateY(-.25rem) translateX(-50%);
    transform: scaleY(1) translateY(-.25rem) translateX(-50%);
    opacity: 1;}
    /*jsで固定クラス*/
      .fixed {
        position: fixed!important;
        top: 0;
        left: 0;
        width: 100%;
        -webkit-transition: .3s;
        -o-transition: .3s;
        transition: .3s;
      }
      _::-webkit-full-page-media, _:future, :root .fixed {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
      }
      .hide {
        -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
        transform: translateY(-100%);
      }

      /*ハンバーガーmenu*/
      .hMenuBox{
        position: fixed;
        background: #DB481D;
        z-index: 1000;
        top: 36px; right: 36px;
        width: 84px; height: 84px;
        line-height: 0;
        border-radius: 12px;
        border: 3px solid #fff;
        overflow: hidden;
        cursor: pointer;
      }
        .hMenu{
          height: 35px;
          position: absolute;
          width: 45px;
          z-index: 99;
          padding: 25px 20px;
        }
        .menu__line{
            background: #fff;
            display: block;
            height: 3px;
            position: absolute;
            -webkit-transition:-webkit-transform .3s;
            transition:-webkit-transform .3s;
            -o-transition:transform .3s;
            transition:transform .3s;
            transition:transform .3s, -webkit-transform .3s;
            width: 45px;
        }
        .menu__line--center{
            top: calc(50% - 1.5px);
        }
        .menu__line--bottom{
            bottom: 24px;
        }
        .menu__line--top.hmActive{
          top: 40px;
            -webkit-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
            transform: rotate(45deg);
        }
        .menu__line--center.hmActive{
            -webkit-transform:scaleX(0);
            -ms-transform:scaleX(0);
            transform:scaleX(0);
        }
        .menu__line--bottom.hmActive{
          top: 40px;
            -webkit-transform: rotate(135deg);
            -ms-transform: rotate(135deg);
            transform: rotate(135deg);
        }
        /*gnav*/
        .gnav{
            display: none;
            height: calc(100%);
            position: fixed;
            width: calc(100%);
            z-index: 98;
            overflow: scroll;
        }
        .gnav__bg{
          background: #000a;
          width: 100%;
          height: 100%;
          position: fixed;
          z-index: -1;
        }
        .gnav__wrap{
          width: 750px;
          position: absolute;
          top: 160px;
          left: calc(50% - 375px);
        }
        .gnav__menu{
          line-height: 1;
          margin: 0;
          border-top: solid 2px #fff;
          border-bottom: solid 2px #fff;
          margin-bottom: -2px;
          background: #DB481D;
        }
        .gnav__menu ol{
          padding-left: 2em;
        }
        .gnav__menu ol li{
          border-top: solid 2px #fff;
        }
        .gnav__menu__item{
        }
        span li.gnav__menu__item{
          padding-left: 2em;
        }
        .gnav__menu__item a{
            display: block;
            color: #fff;
            text-decoration: none;
            font-size: 1.6em;
            padding: 3% 4%;
            text-decoration: none;
            -webkit-transition: .3s;
            -o-transition: .35s;
            -o-transition: .3s;
            transition: .3s;
            font-family: sans-serif;
        }
        .gnav__menu__item a:hover{
            opacity: .6;
        }

/*.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
}*/
_::-webkit-full-page-media, _:future, :root .fixed {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
.hide {
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
}

/*---------------*/
/*---footer---*/
footer{
  background: #24282C;
  color: #fff;
  width: 1080px;
  overflow: hidden;
  padding: 30px calc(50% - 540px);
}
.fFlex{
  display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
margin-right: 106px;
}
.footerL{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-left: 30px;
}
.footerL div img{
  width:140px;
  height: auto;
  display: block;
  margin-bottom: 0.5em;
}
.footerL div a{
  color: #fff;
  text-decoration: none;
}
small{padding-top: 1em;}
small span{
  font-family: meiryo;
  letter-spacing: 4px;
}
.footerR{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /*height: 500px;*/
  height: 324px;/*第一弾はこっち*/
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-line-pack: end;
  align-content: flex-end;
}
.footerR a{
  color: #fff;
  text-decoration: none;
  position: relative;
}
.footerR a::after{
  content: ''; display: block;
  height: 1px; width: 100%;
  background: #fff;
  position: absolute;
  bottom: -4px;
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  -o-transition: transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
}
.footerR a:hover::after{
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scaleX(1);
  -ms-transform: scaleX(1);
  transform: scaleX(1);
}
.footerR ul{
  width: 240px;
  margin: 0 0 20px 80px;
  line-height: 2.2em;
}
.footerR ul>li{
  padding: 0;
  font-size: 1.2em;
  font-weight: 600;
}
.footerR ul ol li{
  padding: 0 1em;
}
.footerR ul ol span li{
  padding: 0 2em;
}

/*@media only screen and (max-width: 1079px) {
  footer{justify-content: normal;}
  .footerR{padding-left: 5em;}
}*/
/*---------------*/

/*------TOP-----*/
/*ファーストビュー*/
div.firstView{
  width: 100vw;
  min-height: 100vh; /* Fallback */
  background-color: #DB481D;
  color: #222;
  overflow: hidden;
  position: relative;
}
.firstView .slashBg{
  background: #fff;
  width: 150vw;  height: 80vh;
  -webkit-transform: rotateZ(-11deg) translateX(calc(-50vw + 25%)) translateY(-30vh);
  -ms-transform: rotate(-11deg) translateX(calc(-50vw + 25%)) translateY(-30vh);
  transform: rotateZ(-11deg) translateX(calc(-50vw + 25%)) translateY(-30vh);
  margin-bottom: -80vh;
}
.firstView .topImg{
  height: calc(100% - 140px);
  width: calc(100% - 250px);
  background-image: url(image/topImg.jpg);
  background-position: 75% 40%;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 40px;
  margin: 60px 175px 80px 75px;
  position: absolute;
  top:0;
}
.firstView .copy{
  position: absolute;
  top: calc(60px + 12%);
  left: calc(75px + 6%);
  font-family: dnp-shuei-gothic-kin-std,sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 46px;
  line-height: 1.75em;
}
/*ニュースボックス*/
.newsBox{
  position: absolute;
  width: 40%;
  height: 80px;
  min-width: 550px;
  max-width: 960px;
  margin-top: 1.5em;
  top: calc(100% - 150px);
  padding-left: 75px;
}
.newsBox::before{
  content: '';
  display: block;
  position: absolute;
  width: calc(100% - 70px);
  -webkit-transform: translateX(-75px);
  -ms-transform: translateX(-75px);
  transform: translateX(-75px);
  height: 79px;
  background-color: #DB481D;
}
.newsBox h1{
  color: #DB481D;
  position: absolute;
  z-index: 5;
  top: -.9em;
  font-family: almanach,sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 2em;
  padding-left: 20px;
}
.bx-wrapper{
  padding-left: 75px;
  -webkit-transform: translateX(-75px);
  -ms-transform: translateX(-75px);
  transform: translateX(-75px);
}
.slider{margin: 0;}
.slider li{
  padding-left: 75px;
}
.slider a{
  display: block;
  background:#fff;
  color: #000;
  text-decoration: none;
  padding:20px;
  padding-left: 36px;
}
.slider span {
    display:inline-block;
    font-size:0.8rem;
    margin-right:1.5em;
    color:#777;
}
/*TOP共通*/
main section{
  /*width: 1080px;*/
  overflow: hidden;
  padding: 50px calc(50% - 540px);
    padding-bottom: 75px;
  text-align: center;
}
.content{
  position: relative;
}
.contentTitle{
  color: #DB481D;
  margin-bottom: 40px;
}
.contentTitle h1{
  font-family: almanach,sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 2.7em;
}
.viewMore{
  position: absolute;
  color: #777
}
.viewMore::after{
  position: absolute;
  bottom: -3px;
  left: 0;
  content: '';
  width: 100%; height: 1px;
  background: #777;
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  -o-transition: transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
}
.viewMore:hover::after, .topCompany .content a:hover .viewMore::after, .topRecruit a:hover .rContent .viewMore::after, .topWorks .content .bgOrange:hover .viewMore::after, .topWorks .topWorksImg:hover + .bgOrange .viewMore::after, .servicesLink a:hover .viewMore::after{
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scaleX(1);
  -ms-transform: scaleX(1);
  transform: scaleX(1);
}
/*Topセクション*/
.topService, .topWorks{
  position: relative;
}
.topService .contentTitle{
  margin: auto;
    padding: 10px;
    width: 347px;
    background: #fff;
}
.topService .slashBg.dotBg{
  -webkit-transform: rotateZ(-11deg);
    -ms-transform: rotate(-11deg);
    transform: rotateZ(-11deg);
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    margin-bottom: 0;
    position: absolute;
    width: 110vw;
    height: 50%;
    top: -30%;
    left: -5%;
}
.topService .content{
  position: relative;
}
.serviceItems{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: distribute;
    justify-content: space-around;
  max-width: 960px;
  margin: 2em auto;
}
.serviceItem{
  width: 36%;
  margin-bottom: 4em;
  color: #000;
  -webkit-transition: .3s ease;
  -o-transition: .3s ease;
  transition: .3s ease;
  text-decoration: none;
}
.serviceItem:hover{ text-decoration: none; color: #000;}
.serviceItem li h3{
  -webkit-transition: .3s ease;
  -o-transition: .3s ease;
  transition: .3s ease;
}
.serviceItem:hover li h3{
  color: #DB481D
}

.serviceItemImg{
  width: 280px; height: 280px;
  margin: 1em auto;
  border-radius: 50%;
  background-repeat:no-repeat;
  background-size: cover;
  transition: .3s ease;
}
.serviceItemImg:hover{
  opacity: .6;
}

@media only screen and (max-width: 1279px){
  main section.topService{
    width: 750px;
    margin: 0;
    padding: 90px calc(50% - 375px) 60px calc(50% - 375px);
  }
  .serviceItems{
    margin: 1em auto;
  }
  .serviceItem{
    margin-bottom: 3em;
  }
  .serviceItemImg{
    width: 224px; height: 224px;
  }
}


.topWorks .content{
  min-height: 600px;
}
.topWorks .contentTitle{
  position: absolute;
  top: 50px;
  left: calc(50% - 540px);
}

.topWorksImg{
  position: absolute;
  width:  60%;
  height: 420px;
  cursor: pointer;
  background-image: url(image/top_B-our-works.png);
  right: 0;
  background-size: cover;
  background-position: left;
  background-repeat: no-repeat;
  z-index: 2;
}
.topWorks .content .bgOrange{
  position: absolute;
  width: 35%;
  height: fit-content;
  padding: 3em calc(1em + 10%) 0 0px;
  bottom: 0;
  left: 5%;
}
.topWorks .content .bgOrange .viewMore{
  color: #fff;
  position: absolute;
  bottom: 2em;
  right: calc(1em + 5%);
}
.topWorks .content .bgOrange .viewMore::after{
  background: #fff
}
.topWorks .content .bgOrange::before{
  content: '';
  display: block;
  width: 50%;
  height: 4px;
  margin: 0 auto 2em auto;
  background: #fff;
}
.topWorks .content .dotBg{
  content: '';
  display: block;
  position: absolute;
  width: 20%;
  height: 320px;
  margin: 0 auto 4em auto;
  left: 50%;
  bottom: 0;
  z-index: -1;
}
@media only screen and (max-width: 1079px){
  .topWorks .contentTitle{
    left: 1.5em;
  }
}

.topCompany .content{
  position: relative;
  min-height: 710px;
  margin: 0 90px;
}
.topCompany .content a img{
  width: 720px; height: 562px;
  position: absolute;
  top: 0; right: 0;
  margin-right: 70px;
  background: #ddd
}
.topCompany .content a::after{
  content: '';  display: block;
  background: antiquewhite;
  position: absolute;
  top: 70px; right: 0;
  z-index: -5;
  width: 720px; height: 562px;
}
.topCompany .content a .viewMore{
  bottom: 100px; right: 30px;
}
.topCompany .content .bgOrange{
  width: 350px;  height: auto;
  position: absolute;
  left: calc(200px - 3vw);
  bottom: 0;
}
.topCompany .content .bgOrange h3{
  padding: 60px 40px 0 40px;
}
.topCompany .content .bgOrange p,.topWorks .content .bgOrange p{
  line-height: 1.8em;
  margin-top: .6em;
  padding: 0px 40px 60px 40px;
}
.topNews{
  background: #FFF6E9;
  position: relative;
}
.topNews ul{
  background: #fff5;
  width: 860px;
  margin: auto;
}
.topNews ul li{
  padding: 20px 30px;
  border-bottom: solid 1px #777;
  border-top: solid 1px #777;
  margin-bottom: -1px;
  position: relative;
    text-align: left;
}
.topNews ul li>a{
  width: 100%;  height: 100%;
  display: block;
  text-decoration: none;
  position: absolute;
  top: 0;  left: 0;
}
.topNews ul li .newsList div:last-child{
  transition: .3s;
  pointer-events: none;
}
.topNews ul li:hover .newsList div:last-child{
  opacity: .6;
}
.topNews ul li span.nDate{
  display: inline-block;
  font-size: .9rem;
  margin-right: 1.5em;
  color: #777;
	width: 7em;
}
.newsList{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
.newsList div:last-child{
  max-width: 26em;
  overflow-wrap: anywhere;
}
.nCategoryBox{width: 10em;}
.nCategoryBox a{
  display: inline-block;
  text-decoration: none;
  position: relative;
  color: #fff;
}
ol.nCategoryBox{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  width: auto;
  margin-bottom: 3em;
}
.nCategory, .nCategoryBox .cat-item{
  padding: 4px 10px;
  border-radius: 5px;
  background: #DB481D;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
  color: #fff;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.nCategoryBox .cat-item, .nCategoryBox .cat-item a{line-height: 1; text-decoration: none;}
.nCategoryBox .cat-item{margin: 0 1em}

.nCategory:hover, .nCategoryBox .cat-item:hover{
  opacity: .6
}
.topRecruit{
  margin: 0 auto;
  width: 1080px;
  padding: 50px 0em;
}
.topRecruit a{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #40a0ce;
  text-decoration: none;
}
.rContent{
  width: 448px; height: 216px;
  position: relative;
  padding: 20px 36px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}
.rContent .contentTitle{
  color: #fff;
  margin-bottom: 20px;
  margin-bottom: 16px;
    margin-top: -.2em;
}
.rContent p{
  color: #fff;
}
.topRecruit a .rContent .viewMore{
  bottom: 20px; right: 35px;
  color: #fff;
}
.topRecruit a .rContent .viewMore::after{
  background: #fff;
}
.rImg{
  width: 660px; height: 256px;
  background: url(image/topRecruit.jpg);
  background-position: center;
  -webkit-transition: .3s ease-in-out;
  -o-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
  opacity: .6;
}
.topRecruit a:hover .rImg{
  opacity: 1;
}
.topContact{
  padding: 0 calc(50% - 540px);
  pointer-events: auto;
}
.topContact>div{
  background: #fff;
  width: 960px;
  margin: auto;
  padding: 40px 0 60px 0;
}
.topContact div p{
  font-size: 20px;
}
/*下層ページのcss*/
header{
  height: 272px;
  width: 100%;
  position: relative;
  text-align: center;
  overflow: hidden;
  margin-top: 70px;
}
header>div.dotBg.slashBg{
  -webkit-transform: rotateZ(-11deg);
  -ms-transform: rotate(-11deg);
  transform: rotateZ(-11deg);
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    margin-bottom: 0;
    bottom: 0;
    position: absolute;
    width: 110vw; height: 50vh;
}
.pageTitle{
  width: 750px;
  height: 178px;
  margin: 60px auto auto auto;
}
.pageTitle .contentTitle{
  margin: auto;
  padding: 10px;
  width: 347px;
  background: #fff;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}
.pageTitle .contentTitle::after{
  content: '';
  display: block;
  width:120px;
  height: 5px;
  background: #DB481D;
  margin: 20px auto 10px auto;
}
.pageTitle ol{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  background: #fff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: auto;
  padding: 0 .5em;
}
.pageTitle ol li{
  white-space: nowrap;
}
.pageTitle ol li:last-child{
  white-space: normal;
  text-align: left;
}
.pageTitle ol li::after{
  content: '>';
  padding: 0 0.2em;
  color: #7E7E7E;
}
.pageTitle ol li:last-child::after {
  content: '';
}
.pageTitle ol li a{
  color: #7E7E7E;
  text-decoration: none;
}
main.pageContent section{
  text-align: left;
  width: 960px;
  margin: auto;
  line-height: 2em;
  min-height: calc(100vh - 880px);
  position: relative;
}
main.pageContent section:first-child{
  padding-top: 0;
}
main.pageContent section:last-child{
  padding-bottom: 100px;
}
main.pageContent div.img-textBox{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
main.pageContent div.itBoxTxt {
    text-align: left!important;
}
main.pageContent section a.f-button, .serviceContact a.f-button{
  line-height: normal;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  font-family: sans-serif;
  margin: 40px calc(50% - 142px);
  white-space: nowrap;
}
main.pageContent.service section a.f-button{
  margin: auto;
  /*margin-bottom: 1.4em;*/
}
section h2:first-child, section h3:first-child, main.pageContent.designLrn section .nDate+h2, h3+.titleBold{
  margin-top: 0!important;
}
main.pageContent h2+h4,main.pageContent h3+h4{
  margin-top: 1em;
}

main.pageContent p img{
  /*width: 100%;
  min-width: 60%;*/
  max-width: 940px;
  height: auto;
  margin: .5em 0;
}
main.pageContent h2{
  position: relative;
  font-size: 28px;
  color: #fff;
  background: #DB481D;
  font-family: dnp-shuei-gothic-kin-std,sans-serif;
  font-weight: 600;
  font-style: normal;
  line-height: 1.75em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 7px 20px;
  margin-bottom: 1.2em;
  margin-top: 1.75em;
  overflow-wrap: anywhere;
}
main.pageContent h2 span{
  font-size: 21px;
}
main.pageContent h2::after{
  content: ''; position: absolute; display: block;
  width: 100%; height: 100%;
  top: 24%; left: 30%;  background-position: right center;
  background-image: -o-radial-gradient(currentColor 3px, transparent 3px);
  background-image: radial-gradient(currentColor 3px, transparent 3px);background-size: calc(10 * 3px) calc(10 * 3px);
    color: #DB481D;    pointer-events: none; z-index: -10;
}
main.pageContent h2::-moz-selection, main.pageContent h2 span::-moz-selection{
  background: #fff;
  color: #DB481D
}
main.pageContent h2::selection, main.pageContent h2 span::selection{
  background: #fff;
  color: #DB481D
}
main.pageContent h3{
  color: #DB481D;
  line-height: 1;
  position: relative;
  margin: 1.5em 0px 10px 20px;
}
main.pageContent h3::before{
  content: ''; position: absolute;
  background: #DB481D;
  height: 1em; width: 5px;
  left: -16px;
}
main.pageContent h4{
  font-family: sans-serif;
  font-size: 20px;
  margin: .7em 0 0 0;
}
main.pageContent .singleContent h4{
  padding-left: 20px;
}
main.pageContent p{
  padding-left: 20px;
  overflow-wrap: anywhere;
}
@media only screen and (min-width: 829px){
  main.pageContent p{
    line-height:2.2em;
  }
}
@media only screen and (max-width: 1079px){
  main.pageContent p img{
    max-width: 100%;
  }
  div.feature p img{
    max-width: 250px;
  }
  div.feature{
    height: auto!important;
  }
  div.feature p{
    height: fit-content;
  }
}

  .pageContent section .techMenu{
      display: block;
      position: unset;
      background: none;
      color: #DB481D;
      width: 100%;
      height: auto;
      padding: 0 calc(50% - 540px);
      padding-top: 2em;
    }
  .pageContent section .techMenu .techMenuTitle p{
    padding-left: 0;
    margin: 1em 0;
    font-family: sans-serif;
    display: block;
    line-height: 1;
  }
  .pageContent section .techMenu .techMenuContents{
      margin-left: 60px;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between
  }
  .pageContent section ul.techMenuContents li a img {
    width: 204px;
    height: 120px;
  }
  .pageContent section ul.techMenuContents li a {
    padding: 104px 0 38px 0;
    text-decoration: none;
    width: 204px;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
  }
  .pageContent section ul.techMenuContents li a:hover {
    opacity: .6;
  }
  .pageContent section .techMenu .techMenuContents p{
    padding-left:0;
    color:#000;
  }


/*---お問合わせ---*/
table.tel, div.tel{
  margin: 1em 0 3em 20px;
  padding: 4px 36px;
  border-top: #DB481D solid 3px;
  border-bottom: #DB481D solid 3px;
  max-width: 940px;
  width: calc(100% - 36px);
}
table.tel th, div.tel{
  font-family: 'almanach',sans-serif;
  font-size: 1.7em;
  color: #DB481D;
  padding: 6px 0;
  padding-right: 1.5em;
  white-space: nowrap;
  text-align: center;
  line-height: 1em;
}
table.tel th a, div.tel a{color: #DB481D; text-decoration: none;}
table.tel th::before, div.tel::before{
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url(image/call_24dp.svg);
  background-repeat: no-repeat;
  background-size: contain;
  margin-bottom: -6px;
  margin-right: .1em;
}
span.businessHours{
  font-size: 17px;
  font-family: 'a-otf-ud-shin-go-pr6n', sans-serif;
}
table.tel td{
  font-family: 'a-otf-ud-shin-go-pr6n',sans-serif;
  line-height: 1.7em;
  font-size: 17px;
  }
.formContent{
  margin: 1.2em 3em;
  font-size: 19px;
}
.formContent form>p{
  margin-bottom: 35px;
}
.formContent input.wpcf7-form-control.wpcf7-text, .formContent textarea.wpcf7-form-control{
  min-height: 51px;
  width: 100%;
  max-width: 780px;
  border: #DB481D solid 1px;
  background: #FFFAF2;
  padding: 1px 20px;
  font-size: 21px;
  margin-top: .3em;
  font-weight: 100;
  font-family: 'a-otf-ud-shin-go-pr6n',sans-serif;
}
.wpcf7-list-item label>span{-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;}
.formContent input[type="radio" i]{  display: none;}
.wpcf7-radio span.wpcf7-list-item {  margin: 0 1em;}
.wpcf7-radio span.wpcf7-list-item label span.wpcf7-list-item-label{
  position: relative;
  padding-left: 40px;
}
.wpcf7-list-item label span::before{
  content: '';
  display: inline-block;
  width: 28px; height: 28px;
  margin-right: .3em;
  background: #FFFAF2;
  border: solid 1px #DB481D;
  border-radius: 50%;
  cursor: pointer;
  position: absolute;
  bottom: calc(50% - 15px); left: 0;
}
.wpcf7-list-item label span::after{
  content: '';
  display: inline-block;
  position: absolute;
  width: 20px; height: 20px;
  margin: 0 5px;
  bottom: calc(50% - 10px); left: 0;
  background: #DB481D;
  border-radius: 50%;
  vertical-align: text-bottom;
  cursor: pointer;
  opacity: 0;
  -webkit-transition: .2s;
  -o-transition: .2s;
  transition: .2s;
}
.formContent input:checked + span::after {
  opacity: 1;
}
.wpcf7-list-item label input[type="checkbox"]+span{
  position: relative;
}
.wpcf7-list-item label input[type="checkbox"]+span::before{
  background: #fff;
  display: inline-block;
  vertical-align: -8px;
  height: 1.5em; width: 1.5em;
  border-radius: 0;
  border: 1px solid #DB481D;
  margin-right: .5em;
  cursor: pointer;
  position: unset;
}
.wpcf7-list-item label input[type="checkbox"]+span::after{
  content: "";
  position: absolute;
  border-radius: 0;
  background: none;
  margin: 0;
  left: 7px;
  top: -1px;
  width: 0.6em;
  height: 1.1em;
  border: solid #DB481D;
  border-width: 0 4px 4px 0;
  -webkit-transform: rotate(42deg) scale(0.8);
  -ms-transform: rotate(42deg) scale(0.8);
  transform: rotate(42deg) scale(0.8);
  opacity: 0;
  -webkit-transition: .1s ease-out;
  -o-transition: .1s ease-out;
  transition: .1s ease-out;
}
.wpcf7-list-item label input[type="checkbox"]:checked+span::after {
  opacity: 1;
  -webkit-transform: rotate(45deg) scale(1);
  -ms-transform: rotate(45deg) scale(1);
  transform: rotate(45deg) scale(1);
}
.wpcf7-list-item label input[type="checkbox"]{
  display: none;
}
.agreement .wpcf7-list-item.first.last{
  margin: 0
}

textarea.wpcf7-form-control.wpcf7-textarea.wpcf7-validates-as-required{
  padding: 10px 20px;
}
.wpcf7-radio .wpcf7-list-item{
  line-height: 3em;
  position: relative;
}
#contact-privacy{
  background: #FFFAF2;
  max-width: 740px;
  min-height: auto;
  margin-left: 20px;
  padding: 30px 40px 36px 40px;
}
#contact-privacy h3{
  font-family: 'a-otf-ud-shin-go-pr6n',sans-serif;
  color: black;
  font-weight: normal;
  margin: 10px 0px;
}
#contact-privacy h3::before{
  content: none;
}
#contact-privacy p{
  padding-left: 0;
}
#contact-privacy .scroll {
  overflow: auto;
  height: 150px;
  background-color: #fff;
  padding: 15px 20px;
  font-size: 15px;
  line-height: 1.7em;
  margin: 20px 0;
  border: solid 1px #D6DCE2;
}

#contact-privacy .scroll h4{
  font-weight: normal;
  margin: 0;
  font-size: 1em;
  font-family: 'a-otf-ud-shin-go-pr6n',sans-serif;
  padding-left: 0;
}
.agreement{
  margin-top: 2em;
  -webkit-user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
  user-select:none
}
.agreement label{
  font-family: 'a-otf-ud-shin-go-pr6n',sans-serif;
}
.agreement input[type="checkbox" i]#chk {display: none;}
span.labelTxt{
  pointer-events: none
}
form div.f-button{
  padding: 0;
}
.formContent input.f-button{
  cursor: pointer;
  width: 12rem;
  height: 40px;
  margin: auto;
  padding: 0.5em 2.5em;
  font-size: 18px;
  display: block;
  border: 0;
  background: none;
}
.f-button:hover input {
color: #fff!important;
}
.f-button span.ajax-loader{display: none!important;}

/*---技術ページ---*/
.tecNav{ margin-top: 5em;}
.tecNav ul{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}
.tecNav li{
  list-style: none;
  width: calc(240px + 1em);
  height: 100px;
  background: #666;
  text-align: center;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.tecNav li::after{
  content: '';
  -webkit-transition: .3s transform;
  -o-transition: .3s transform;
  transition: .3s transform;
  -webkit-transform: skewY(-11deg) scaleY(0) translateY(25%);
  -ms-transform: skewY(-11deg) scaleY(0) translateY(25%);
  transform: skewY(-11deg) scaleY(0) translateY(25%);
  -webkit-transform-origin: right bottom;
  -ms-transform-origin: right bottom;
  transform-origin: right bottom;
  width: 100%;  height: 100%;
  position: absolute;
  right: 0; bottom: 0;
  background: #DB481D;
  z-index: -1000;
}
.tecNav li:hover::after{
  -webkit-transform: skewY(-11deg) scaleY(2) translateY(15%);
  -ms-transform: skewY(-11deg) scaleY(2) translateY(15%);
  transform: skewY(-11deg) scaleY(2) translateY(15%);
}

.tecNav li a{
  color: #fff;
  width: 200px;
  height: 60px;
  position: relative;
  text-decoration: none;
  padding: 20px;
  padding-right: calc(20px + 1em);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}


/*---設備テーブル---*/
table.equipmentTable tr{
  vertical-align: top;
}
table.equipmentTable tr+tr th {
  padding-top:1.5em;
}
table.equipmentTable th{
  text-align:left;
}
table.equipmentTable td{
  padding-left:10px;
  position: relative;
  overflow: hidden;
  font-size: 16px;
}
table.equipmentTable td::after{
  content: '';
  background-image: -o-radial-gradient(currentColor 1px, transparent 1px);
  background-image: radial-gradient(currentColor 1px, transparent 1px);
  background-size: calc(5 * 3px) calc(5 * 3px);
  pointer-events: none;
  background-position: top;
  width: 100%;
  height: 10px;
  position: absolute;
  top: calc(1em - 5px);;
  margin: 0 10px;
}
@media only screen and (max-width: 930px) {
table.equipmentTable td::after{
  display: none;
}}
table.equipmentTable td.noDot::after{
  content: none;
}
table.equipmentTable tr td:first-child{
  white-space: nowrap;
  padding-left:20px;}
table.equipmentTable tr td:last-child{
  text-align:right;
  white-space: nowrap;
}
table.equipmentTable td.tdAfterRewrite::after{
  margin-left: calc(8em + 10px);
}
/*---記事一覧---*/
.News .topNews{
  background: none;
}


/*---デザインの学び場---*/
.designLrnPage section>p{
  padding: 0 0 2em 0;
  text-align: center;
}
main.pageContent.designLrn{
  margin-top: -1.5em;
}
main.pageContent.designLrn .singleContent dl{
  padding-left:20px;
}
main.pageContent.designLrn section .nDate{
  position: unset;
  text-align: right;
}
/*カードレイアウト*/
.designArchive{
}
ul.cards.designLrnPage>li.cards__item{
  padding: 0 5px 7% 0;
}
ul.cards.designLrnPage>li.cards__item a{
  display: block;
  width: 100%;
  height: 100%;
  color:#696969;
  position: relative;
  text-decoration: none;
}
ul.cards.designLrnPage>li.cards__item a::after {
    content: "";
    background: #DB481D;
    width: 100%;
    display: block;
    height: 100%;
    position: absolute;
    top: 5px; left: 5px;
    z-index: -1;
    border-radius: 0.25rem;
  }
.btn {
  border: 3px solid #DB481D;
  border-radius: 0.25rem;
  color: #DB481D;
    padding: 0.5rem;
    text-transform: uppercase;
    position: relative;
    overflow: hidden;
    z-index: 2;
    cursor:pointer;
	margin-top:0.5rem;
  -webkit-transition:ease-in  .3s;
  -o-transition:ease-in  .3s;
  transition:ease-in  .3s;
}
.btn:after{
    height: 120%;
    left:-5%;
    -webkit-transform: skewX(15deg);
    -ms-transform: skewX(15deg);
    transform: skewX(15deg);
    z-index: -1;
    position: absolute;
    -webkit-transition:ease-in  .3s;
    -o-transition:ease-in  .3s;
    transition:ease-in  .3s;
    content: '';
    width: 0;
    bottom: 0;
    background: #DB481D;
}
ul.cards.designLrnPage>li.cards__item a:hover .card__image{
  opacity: 0.6;
}
ul.cards.designLrnPage>li.cards__item a:hover .btn{
    color: #fff;
    border: 3px solid #DB481D;
}
ul.cards.designLrnPage>li.cards__item a:hover .btn:after{
    width:120%;
}
.cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
  margin: 0 auto;
    padding: 0;
    width: auto;
}
.cards::after{
  content: "";
  display: block;
  width: 31%;
}

.cards__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 31%;
  padding: 0 5px 3% 0;
}
.card {
    width: 100%;
  background-color: white;
  border-radius: 0.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
  height: 420px;
}
.card__content {
  padding: 5%;
	background-color: #fff8f0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
		-webkit-box-flex: 1;
		-ms-flex: 1 1 auto;
		flex: 1 1 auto;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
	}
	_::-webkit-full-page-media, _:future, :root .card__content {
		position:absolute;
		width:90%;
		bottom:0px;
	}
	_:-ms-lang(x)::-ms-backdrop, .card__content  {
		position:absolute;
		width:90%;
		bottom:0px;
	}
#column-card{
    background: url(image/blog_default_thumb.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position:center;
	color: rgba(0,0,0,0);
}
.card__image {
    height: 200px;
  background-repeat: no-repeat;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
  overflow: hidden;
  position: relative;
  -webkit-transition: ease .3s;
  -o-transition: ease .3s;
  transition: ease .3s;
}
.card__image::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.card__title {
  color: #DB481D;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.card__date{
    color: #696969;
    line-height: 1.5;
    text-align: right;
    padding-right: 0.5em;
    font-size: 0.9rem;
}
.card__text {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  line-height: 1.5;
    margin-top: 0;
}
/*---事例---*/
ol.nCategoryBox.works li{
  background: #7E7E7E;
}
ul.works .card{
  height: 368px;
}
ul.works li.cards__item{
  position: relative;
  width: 48.5%;
  -webkit-transition: .3s ease-out;
  -o-transition: .3s ease-out;
  transition: .3s ease-out;
  padding: 0 0 3% 0;
}
ul.works li.cards__item:hover{
  opacity: .6;
}
ul.works li.cards__item .card__content{
  background-color: #e5eaef;
}
ul.works li.cards__item .card__title{
  color:#24282C;
  position: relative;
  padding-right: 1em;
}
ul.works li.cards__item .card__title .material-icons{
  right: 0;
}
ul.works li.cards__item .card__subtitle{
  color:#24282C;
  line-height: 1.5em;
  margin-bottom: 3px;
}
ul.works .nCategoryBox{
  position: absolute;
  z-index: 2;
  right: 0;
  top: calc(3%);
  text-align: right;
  width: auto;
}
ul.works .nCategoryBox .nCategory{
  background: #24282C;
  border-radius: 0px;
}
ul.works .nCategoryBox .nCategory:hover{
  opacity: 1;
}
ul.works .nCategoryBox .nCategory a{
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  text-decoration: none;
}
ul.works li.cards__item>a{
  width: 100%;
  text-decoration: none;
}
ul.works li.cards__item a::after{
  content: none
}
section.singleContent.works .nDate{}
.workSingleTitle{
  padding-left: 20px;
  position: relative;
}
#workSubtitle{
  margin-right: 10em;
  font-size: 21px;
}
#workMaintitle{
  font-size: 28px;
  line-height: normal;
  margin-top: 0.25em;
}
.workSingleTitle::after{
  content: '';
  position: absolute;
  background: #DB481D;
  height: 100%;
  width: 5px;
  left: 0;
  top: 0;
  }


/*---投稿記事--*/
.nav-previous, .nav-next{
  width: 40%;
  overflow: hidden;
  white-space: nowrap;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  color:#7E7E7E;
  padding: 0 1em;
}
.nav-next{
  text-align: right;
}
.nav-previous a::before{
  content: '«';
  display: inline-block;
  position: absolute;
  left: 0;
}
.nav-next a::after{
  content: '»';
    display: inline-block;
    position: absolute;
    right: 0;
}
a.prev.page-numbers, a.next.page-numbers{
  color:#7E7E7E;
  padding: 0 1em;
  position: relative;
}
a.prev.page-numbers::before{
  content: '«';
  display: inline-block;
  position: absolute;
  left: 0;
}
a.next.page-numbers::after{
  content: '»';
    display: inline-block;
    position: absolute;
    right: 0;
}
.page-numbers{
  color: #888;
}
.page-numbers.current{
  color: #000;
}
.postLink.customArchive{
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.page-numbers{
  margin: 0 .5em;
}

.postLink{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between!important;
  width: 960px;
  margin: 0 auto;
  position: absolute;
  bottom: 2.5em;
}
.postLink div a, .postLink div a:hover{
  color:#7E7E7E;
  text-decoration: none;
}
.singleContent{
  position: relative;
}
.singleContent .nDate{
  font-family: 'a-otf-ud-shin-go-pr6n',sans-serif;
  position: absolute;
  right: calc(50vw - 540px);
  background: #fff;
  padding: 0 .5em;
}
.singleContent h2{
  margin-right: 10rem;
  display: block;
}
#singleTitle{
  margin-bottom: 1.6em;
  margin-top: 0;
}

/*---サイトマップ---*/
.sitemap.footerR{
  -ms-flex-line-pack: space-around;
  align-content: space-around;
  height: 560px;
  font-size: 18px;
}
.sitemap.footerR ul{
  margin: 0 0 20px 0;
  width: auto;
}
.sitemap.footerR ul li a{
  color: #24282C;
  text-decoration: none;
}
.sitemap.footerR ul li a:hover{
  color:#DB481D;
}
.sitemap.footerR a::after{
  content: none;
}



/*---サービス---*/
main.pageContent.servicePage>section{
  min-height: 0;
}
main.pageContent.servicePage h2 {
    position: relative;
    font-size: 30px;
    color: #000;
    background: none;
    font-family: dnp-shuei-gothic-kin-std,sans-serif;
    font-weight: 600;
    font-style: normal;
    line-height: 1.75em;
    text-align: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0;
    margin: auto;
    margin-bottom: 1.2em;
    margin-top: 1.5em;
    overflow-wrap: anywhere;
  }
  main.pageContent.servicePage h2::after{
    content: none;
  }
  main.pageContent.servicePage p{
    margin: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .servicesLinksBox{
    margin: 3em auto;
    width: 960px;
    margin: auto;
    margin-bottom: calc(140px + 2em);
  }
  .servicesLink{
    position: relative;
    height: 450px;
    margin: 6em 0;
  }
  .servicesLink:first-child{
    margin-top: 0;
  }
  .servicesLink:last-child{
    margin-bottom: 0;
  }
  .servicesLink a{
    right: 1em;
    position: absolute;
    width: 57%;
    top: 130px;
    z-index: 1;
    text-decoration: none;
  }
  .servicesLink a .mainImg {
      height: 280px;
      width: 100%;
      background-size: cover;
      background-repeat: no-repeat;
  }
#bookThumb{
    background-image: url(https://www.fukuin.co.jp/wp_fukuin/wp-content/uploads/2021/12/service-s-top-1.jpg);
  }
#catalogThumb{
    background-image: url(https://www.fukuin.co.jp/wp_fukuin/wp-content/uploads/2021/12/service-c-top.jpg);
    background-position-x: right;
  }
#manualThumb{
    background-image: url(https://www.fukuin.co.jp/wp_fukuin/wp-content/uploads/2021/12/A_3_bunkaizu.png);
  }
#designThumb{
    background-image: url(https://www.fukuin.co.jp/wp_fukuin/wp-content/uploads/2021/12/A_4_desginers_top.jpg);
    background-position-y: center;
  }
  .servicesLink a .mainImg::after{
    content: "";
    display: block;
    background: #D6DCE2;
    position: absolute;
    top: 36px;
    left: 34px;
    width: 100%;
    height: 100%;
    z-index: -1;
    -webkit-transition: .3s ease-out;
    -o-transition: .3s ease-out;
    transition: .3s ease-out;
  }
  .servicesLink a:hover img::after{
    background: antiquewhite;
  }
  .servicesLink a .viewMore{    right: 0;}

  .servicesLink .servicesLinkContent{
    position: absolute;
    width: calc(960px * 0.35 - 2.5em);
    color: #fff;
    padding-left: 2.5em;
    padding-top: 40px;
    top: 130px;
    }
  main.pageContent.servicePage .servicesLinkContent h2{
    color: #fff;
    margin-bottom: 0.7em;
  }
  .slashBox {
    overflow: hidden;
    position: relative;
    height: 450px;
    padding-top: 130px;
    width: calc(960px - 5em);
  }
  .servicesLink .slashBox .slashBg{
    right: 0;
    position: absolute;
    width: 110%;
    height: 60%;
    top: 15.5px;
    -webkit-transform: rotate(-11deg);
    -ms-transform: rotate(-11deg);
    transform: rotate(-11deg);
    -webkit-transform-origin: top right;
    -ms-transform-origin: top right;
    transform-origin: top right;
  }
  .servicesLink::before {
    content: "";
    background: #DB481D;
    width: calc(50vw);
    height: 348px;
    display: block;
    position: absolute;
  }
.servicesLink.slashL::before {
  left: calc(-50vw + 480px);
  -webkit-transform: rotate(-11deg) translateY(-2.5px) translateX(-40px);
  -ms-transform: rotate(-11deg) translateY(-2.5px) translateX(-40px);
  transform: rotate(-11deg) translateY(-2.5px) translateX(-40px);
  -webkit-transform-origin: bottom right;
  -ms-transform-origin: bottom right;
  transform-origin: bottom right;
  bottom: 0;
}
.servicesLink.slashR::before {
  right: calc(-50vw + 480px);
  -webkit-transform: rotate(-11deg) translateY(91px) translateX(10px);
  -ms-transform: rotate(-11deg) translateY(91px) translateX(10px);
  transform: rotate(-11deg) translateY(91px) translateX(10px);
  -webkit-transform-origin: top left;
  -ms-transform-origin: top left;
  transform-origin: top left;
  top: 0;
}
.servicesContactBox{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
  -ms-flex-pack: space-evenly;
  justify-content: space-evenly;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.servicePage div.tel{
  width: calc(50% - 72px);
  padding: 40px 0;
  margin: 0;
}
.toContact{
  height: 140px;
  background:#DB481D;
  width: 50%;
  border-top:solid 3px #DB481D;
  border-bottom:solid 3px #DB481D;
  -webkit-transition: ease-in .3s;
  -o-transition: ease-in .3s;
  transition: ease-in .3s;
  overflow: hidden;
  z-index: 2;
  position: relative;
}
.toContact::after {
    height: 120%;
    left: -5%;
    -webkit-transform: skewX(11deg);
    -ms-transform: skewX(11deg);
    transform: skewX(11deg);
    z-index: -1;
    position: absolute;
    -webkit-transition: ease-in .3s;
    -o-transition: ease-in .3s;
    transition: ease-in .3s;
    content: '';
    width: 0;
    bottom: 0;
    background: #fff;
  }
.toContact:hover::after {
    width:120%;
}
.toContact:hover a{
  color: #DB481D;
  text-decoration: none;
}
.toContact:hover a::before {
  background-image: url(image/mailIconOrange.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.toContact a{
  padding: 54px 0px;
  width: 100%;
  display: block;
  text-align: center;
  text-decoration: none;
  position: relative;
  font-size: 1.5em;
  font-family: 'almanach',sans-serif;
  color: #fff;
  -webkit-transition: ease-in .3s;
  -o-transition: ease-in .3s;
  transition: ease-in .3s;
}
.toContact a::before {
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    background-image: url(image/mailIcon.svg);
    background-repeat: no-repeat;
    background-size: contain;
    margin-bottom: -6px;
    margin-right: 0.5em;
}
.toContact a .material-icons{
  right: 2em;
}

header.servicePage{
  height: calc(100vh - 140px);
}
header.servicePage>div.dotBg.slashBg{
  top: 0;
  bottom: auto;
  height: 30%;
  min-height: 440px;
}
.serviceImg{
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -10;
}
@media only screen and (max-width:828px){
  .serviceImg{
    background-size: cover!important;
    background-attachment: inherit!important;
  }
}
.serviceImg::after {
  background: url(image/nav_bottom.svg) no-repeat;
  content: "";
  display: block;
  width: 100px;
  height: 100px;
  bottom: 0;
  position: absolute;
  left: calc(50% - 50px);
  opacity: .6;
}
.sHeaderMain{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  position: absolute;
    top: calc(50% - 89px);
    left: calc(50% - 480px);
  width: 980px;
}
.sHeaderMain .pageTitle{
  margin: 0;
    margin-right: 2em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: #fff;
}
.sHeaderMain>p{
  color: #fff;
  font-family: almanach,sans-serif;
  font-size: 1.9em;
  text-align: left;
}
@media only screen and (max-width: 1079px) {
  .sHeaderMain{
    width: 90%;
    left: calc(50% - 45%);
  }
}
main.pageContent div.customerWorries{
  margin: 1.8em auto;
}
main.pageContent div.customerWorries h4{
  margin-top: 0;
  padding: 0 0 0.5em 0;
}
main.pageContent div.customerWorries p{
  border-radius: 10px;
  width: calc(100% - 40px - 240px);
  padding: 16px 25px;
  margin: 1em auto;
  position: relative;
  border:solid 2px #db481d;
}
main.pageContent div.customerWorries h4.serviceSubCopy+p.customer{
  margin-top: 0;
}
main.pageContent div.customerWorries p.customer{
  background: #FFF6E9;
}
main.pageContent div.customerWorries p.fukuin{
  background: #FFF2EF;
}
main.pageContent div.customerWorries p.fukuin+p.customer{
  margin-top: 1.8em;
}
main.pageContent div.customerWorries p::before {
  content: "";
  display: block;
  width: 100px;
  height: 100px;
  position: absolute;
  top: 0;
}
main.pageContent div.customerWorries p.customer::before {
  left: -120px;
  background: url(https://www.fukuin.co.jp/wp_fukuin/wp-content/uploads/2021/12/service-icon-2.jpg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
main.pageContent div.customerWorries p.fukuin::before {
  right: -120px;
  background: url(https://www.fukuin.co.jp/wp_fukuin/wp-content/uploads/2021/12/service-icon-1-1.jpg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
main.pageContent div.customerWorries p::after {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  position: absolute;
  top: 30px;
}
main.pageContent div.customerWorries p.customer::after {
  left: -30px;
  background: url(image/fukidashi-C.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
main.pageContent div.customerWorries p.fukuin::after {
  right: -30px;
  background: url(image/fukidashi-F.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
main.pageContent.service{    padding-top: 50px;}
.serviceSubCopy{
  text-align: center;
  font-size: 21px;
  padding: 1em 0 1em 20px;;
  line-height: 2em;
  font-family: sans-serif;
}
div.serviceSubCopy+h3{
  margin-top: calc(1.5em - 20px);
}
.serviceContact{
  position: relative;
  padding: 70px calc(50% - 480px);
  padding-bottom: 80px;
  height: 450px;
}
.serviceContact .serviceSubCopy{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.serviceContact p{
  text-align: left;
  padding: 0;
  width: 60%;
}
.serviceContact a.f-button{
  position: absolute;
  bottom: 80px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  margin: 0;
}
div.feature{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  margin-left: 20px;
  height: 242px;
}
div.feature.f1{  background: #ffeed4;}
div.feature.f2{  background: #E4ECF8;}
div.feature.f3{  background: #e3f1e2;}
div.feature p, div.feature p img{
  margin: 0
}
div.feature p{
  padding: 20px;
  text-align: left;
}
div.serviceHowto{
  background: #e3f1e2;
  margin-left: 20px;
  padding: 2em;
  padding-top: 1.4em;
  margin-bottom: 2em;
}
main.pageContent div.serviceHowto p{
  padding: 0;
  margin: 0;
}
.titleBold{
  font-family: sans-serif;
  margin-top: 1em;
  margin-bottom: 0;
  font-size: 20px;
}
main.pageContent div.serviceHowto p.titleBold:first-child{
  margin-top: 0;
}
div.serviceHowto figure{
  margin: 0 0 2em 0;
}
div.serviceHowto figure:last-child{
  margin-bottom: 0;
}
div.serviceHowto p img, div.serviceHowto figure img{
  width: calc(100% - 20px);
  border: #fff solid 10px;
  margin: 0;
}
@media only screen and (max-width:1079px){
  main.pageContent p.designersPImg img{
    width: 300px!important;
  }
}
div.flow{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: justify;
  align-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: -2em;
}
main.pageContent p.flowL{
  background: url(https://www.fukuin.co.jp/wp_fukuin/wp-content/uploads/2021/12/service-s-wf.png);
  width: calc(384px - 60px);
  height: calc(140px - 60px);
  background-size: contain;
  background-repeat: no-repeat;
  padding: 30px;
  text-align: center;
  font-size: 28px;
  color: #fff;
  font-family: dnp-shuei-gothic-kin-std,sans-serif;
  position: relative;
  margin-bottom: 3em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
p.flowL::before {
  content: "";
  display: block;
  background: url(image/expand_more.svg);
  position: absolute;
  width: 100px;
  height: 100px;
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
  top: -96px;
  left: calc(50% - 50px);
}
p.flowL:first-child::before {
  content: none;
}
main.pageContent p.flowR{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  min-height: 140px;
  width: calc(60% - 40px);
  padding-left: 40px;
  line-height: 2em;
}
@media only screen and (max-width: 1079px) {
  div.flow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-wrap: unset;
      flex-wrap: unset;
}
main.pageContent p.flowL{
  margin-bottom: 0;
  margin-top: 2em;
}
main.pageContent p.flowL:first-child{
  margin-bottom: 0;
  margin-top: 0;
}
main.pageContent p.flowR{
  padding: 0;
  margin: 1em auto;
  min-height: auto;
}
}

.flex.index{
  justify-content: center;
  margin-bottom: 1em;
}
.flex.index .f-button{
  margin: 10px;
  border-radius: 0;
  border-left: 0;
  border-right: 0;
}



@media only screen and (max-width: 1079px) {
  header{margin-top: 0;}
  main{ width: 100%; min-width: 750px;}
  main section{ width: 750px; margin: auto;}
  main.pageContent section{
    max-width: 960px;
    width: 86%;
    min-height: calc(100vh - 675px);
    min-height: calc((var(--vh, 1vh) * 100) - 675px);
  }
  .topCompany .content{
    margin: 0;
  }
  .topCompany .content .bgOrange{ left: 0%;}
  section.topNews{ width: 100%;}
  .topNews ul{
    width: 750px;
  }
  .topCompany .content a img{
    right: 0;
    width: 80%;
    height: auto;
  }
  .topCompany .content a::after {
    width: 600px;
    height: 439px;
  }
  .topCompany .content a .viewMore{
    bottom: 222px;
  }
  .pageContent.News .topNews ul{
    width: 100%;
    max-width: 860px;
  }
  .topRecruit{
    margin: auto;
    width: 80%;
  }
  .rContent{
    margin: auto;
    width: 80%;
  }
  .topContact{
    width: 100%;
  }
  .topContact>div{
    width: 75%;
  }
  .singleContent .nDate{
    right: 0;
  }
  footer{
    min-width: 750px;
    width: 100%;
  }
  .postLink{
    width: 100%;
  }
  .footerR{
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -ms-flex-line-pack: start;
    align-content: flex-start;
  }
  .sitemap.footerR{
    height: 100%;
    width: fit-content;
    margin: auto;
  }
  .pageContent section .techMenu .techMenuContents{
    -webkit-box-pack: space-evenly;
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly;
    margin: 20px 60px;
  }
  .pageContent section .techMenu .techMenuContents::after{
    content:"";
    display: block;
    width: 244px;
  }
  .pageContent section .techMenu .techMenuContents::before{
    content:"";
    display: block;
    width: 244px;
    -webkit-box-ordinal-group:2;
    -ms-flex-order:1;
    order:1;
  }
  .serviceContact{
    padding: 70px 60px;
  }
    .cards__item, ul.works li.cards__item {
      width: 90%;
      margin: auto;
    }

    .servicesLink a {
      width: 40%;
      left:45vw;
      right: auto;
  }


}
@media only screen and (max-width: 828px) {
  div.firstView{
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
    min-width:750px;
    width: 100vw;
  }
  .firstView .topImg{
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
    width: 100%;
    border-radius: 0;
    margin: 0;
    mask-image: linear-gradient(
      -10deg, rgb(2 0 36 / 0%) 0%, rgb(0 0 0 / 0%) 19.9%, rgba(255,255,255,1) 20%, rgb(255 255 255) 80%, rgb(0 0 0 / 0%) 80.1%, rgb(0 0 0 / 0%) 100%);
    -webkit-mask-image: linear-gradient(
      -10deg, rgb(2 0 36 / 0%) 0%, rgb(0 0 0 / 0%) 19.9%, rgba(255,255,255,1) 20%, rgb(255 255 255) 80%, rgb(0 0 0 / 0%) 80.1%, rgb(0 0 0 / 0%) 100%);
    }
  .firstView .copy{
    top: calc(36px + 10%);
    left: calc(48px + 6%);
    font-size: 56px;
  }
  .newsBox{
    top: auto;
    bottom: 40px;
  }
  .newsBox h1{
    padding: 0px 10px 0 2.5em;
    color: #fff;
    left: 0;
    background: #DB481D;
    font-size: 2.3em;
    top: -1.5em;
  }
  .wpcf7-radio span.wpcf7-list-item{
    display: block;
    margin: .5em 1em;
  }
  .serviceContact p{
    width: 40vw;
  }

  .servicesLink a {
    width: 30%;
    left: 50vw;
  }

}

/* 要素の表示切り替え */
.displayNone{
  display: none !important;
}
/* pc用*/
@media only screen and (min-width: 1080px) {
.tab{ display: none !important; }
.no-pc { display: none !important; }}
/* tablet用*/
@media only screen and (max-width: 1079px) {
.pc { display: none !important; }
}
@media only screen and (min-width: 829px){
.sp { display: none !important; }
}
/* mobile用*/
@media only screen and (max-width: 828px) {
.tab { display: none !important; }
.no-sp { display: none !important; }}


.topDesign .topdesign_message {
  background-color: #fff8f0;
  padding-top: 30px;
  padding-bottom: 60px;
  padding-left: 30px;
  margin-left: -30px;
  margin-bottom: -30px;
  margin-right: 30px;
  z-index: -1;
}

.topDesign .topdesign_message p {
  text-align: left;
}

.topdesign_end {
  float: right;
  position: relative;
  width: 80%;
  height: auto;
  padding: 60px 30px;
  margin-top: -50px;
  margin-right: -30px;
  background: #DB481D;
}

.topdesign_end a .viewMore {
  right: 30px;
  color: #fff;
}

.topdesign_end a .viewMore::after {
  background: #fff;
}

@media only screen and (max-width: 828px) {
  .topDesign .topdesign_message {
    background-color: #fff8f0;
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: 30px;
    padding-right: 30px;
    margin-left: 30px;
    margin-right: 30px;
    margin-bottom: 20px;
  }

  .topdesign_end {
    position: relative;
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: 30px;
    padding-right: 30px;
    margin-top: -20px;
    margin-left: 30px;
    margin-right: 30px;
    margin-bottom: 20px;
    background: #DB481D;
  }
}

p.colums_contact {
  text-align: center;
  margin: 0px auto 50px;
}

@supports (-ms-ime-align:auto) {
  p.colums_contact {
    text-align: center;
    margin: 0px auto 50px;
  }
  }