@charset "UTF-8";

/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
body,sub,sup{position:relative}a:active,a:hover,input:focus{outline:0}abbr,acronym,fieldset,img,input,legend{border:0}legend,td,th{padding:0}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}blockquote,body,dd,div,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}address,caption,cite,code,dfn,th,var{font-style:normal;font-weight:400}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}q:after,q:before{content:''}a,img{vertical-align:top;display:inline-block}html{font-size:62.5%;line-height:1.75}body{margin:0;font-family:'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',Meiryo,メイリオ,Osaka,'MS PGothic',arial,helvetica,sans-serif}*{-webkit-box-sizing:border-box;box-sizing:border-box}a,a:hover{text-decoration:none}


/* ===========================================
共通
=========================================== */
body {
  color: #242424;
  padding-top: 91px;
  font-size: 16px;
  font-family:"Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
}
body.fixed {
  position: fixed;
  width: 100%;
  /* height: 100%; */
}
.fontEn {
  font-family: "Trebuchet MS","Arial","Futura";
}

a {
  color: #000;
  -webkit-backface-visibility: hidden;
     -moz-backface-visibility: hidden;
          backface-visibility: hidden;
}
img {
  -webkit-backface-visibility: hidden;
     -moz-backface-visibility: hidden;
          backface-visibility: hidden;
}
.pcOnly {
  display: block;
}
.spOnly {
  display: none;
}

@media screen and (max-width: 960px) {
  body {
    padding-top: 56px;
  }
  .pcOnly {
    display: none;
  }
  .spOnly {
    display: block;
  }
}

.l-column {
  width: 100%;
  min-width: 1101px;
  max-width: 1366px;
  margin: 0 auto;
  padding: 0 52px;
}
@media screen and (max-width: 1100px) and (min-width: 961px)  {
  .l-column {
    width: 1100px;
    min-width: 0;
    padding: 0 40px;
  }
}
@media screen and (max-width: 960px) {
  .l-column {
    width: 100%;
    min-width: 0;
    padding: 0 28px;
  }
}

.flexWrap {
  display: flex;
  flex-wrap: wrap;
}
.contents {
  width: 100%;
  min-width: 1100px;
  max-width: 1366px;
  margin: -60px auto 0;
  flex-wrap: nowrap;
}

.contentInner {
  background-color: #FFF;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 1100px) and (min-width: 961px)  {
  .contents {
    width: 1100px;
    min-width: 0;
  }
}
@media screen and (max-width: 960px) {
  .contents {
    width: 100%;
    min-width: 0;
    margin-top: 0;
    flex-direction: column;
  }
}
.service-solution .contents{
  width: 100%;
  max-width: 1200px;
  min-width: initial;
  min-width: auto;
}

.main {
  padding-top: 20px;
  padding-bottom: 175px;
  background-color: #FFF;
  position: relative;
  z-index: 10;
  order: 2;
  flex: 1 0 0%;
}
.mainLv3 {
  padding-right: 40px;
  padding-left: 40px;
}

@media screen and (max-width: 960px) {
  .main {
    padding-top: 51px;
    padding-bottom: 80px;
    order: 1;
    flex: 1 0 auto;
  }
  .mainLv3 {
    padding-right: 28px;
    padding-left: 28px;
  }
}
/* sub-navi */
.header{
  height: 93px;
}
@media (min-width: 961px) {
.column1 .sub{display: none;}
}
.sub-nav{
  width: 100%;
  margin-top: 2px;
  border-top: 1px solid #ebebeb;
  border-bottom: 1px solid #ebebeb;
  position: fixed;
  top: 91px;
  z-index: 50;
  background-color: #FFF;
}
@media screen and (max-width: 960px) {
  .sub-nav {display: none;}
}
.sub-menu {
  max-width: 1200px;
	position: relative;
	width: 100%;
	height: 50px;
	margin: 0 auto;
  display: flex;
  justify-content: space-between;
  border-right: 1px solid #ebebeb;
}
.sub-menu > li {
  font-size: 14px;
  text-align: center;
  border-left:1px solid #ebebeb;
  line-height: 1.4;
}
.sub-menu > li.current{ background: rgb(237, 237, 237);}
.col-3 .sub-menu > li{width: calc(100% / 3);}
.col-4 .sub-menu > li{width: calc(100% / 4);}
.col-5 .sub-menu > li{width: calc(100% / 5);}
.col-6 .sub-menu > li{width: calc(100% / 6);}
.col-sp .sub-menu > li:nth-child(1) { width: 25%;}
.col-sp .sub-menu > li:nth-child(2) { width: 13%;}
.col-sp .sub-menu > li:nth-child(3) { width: 13%;}
.col-sp .sub-menu > li:nth-child(4) { width: 23%;}
.col-sp .sub-menu > li:nth-child(5) { width: 13%;}
.col-sp .sub-menu > li:nth-child(6) { width: 13%;}
.sub-menu > li a {height: 100%;display: flex; align-items: center;}
.sub-menu > li a span{flex: 1;}
.sub-menu > li a:hover {color: #000000;}
.menu__none:hover,
.menu__multi:hover,
.menu__mega:hover,
.menu__single:hover {
  -webkit-transition: .2s ease;
  transition: .2s ease;
  background: #ededed;
}

.init-bottom::after {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 20px 0 0;
  border-right: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.sub-menu::before,
.sub-menu::after {
  content: "";
  display: table;
}
.sub-menu::after { clear: both;}
.sub-menu > .menu__multi { position: relative;}
.menu__multi .menu__second-level {
  position: absolute;
  top: 40px;
  /* width: 250px; */
  width: 100%;
  background: #f2f2f2;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  visibility: hidden;
  opacity: 0;
  z-index: 1;
}
.menu__multi .menu__second-level > li.current{
  background: #e9e9e9;
}
.menu__multi:hover .menu__second-level {
  top: 50px;
  visibility: visible;
  opacity: 1;
}
.menu__multi .menu__second-level li a,.menu__third-level li a,.menu__third-level li a{
  position: relative;
  text-align: left;
  padding:18px 24px 18px 24px;
  height: auto;
  line-height: 1.4;
  display: flex;
  justify-content: space-between;
}
.menu__multi .menu__second-level li:hover { background: #e1e1e1;}
.menu__multi .menu__second-level li .menu__third-level {
  position: absolute;
  top: -1px;
  left: 100%;
  width: 100%;
  background: #e9e9e9;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  visibility: hidden;
  opacity: 0;
}
.menu__multi .menu__second-level li .menu__third-level > li.current{
  background: #d4d4d4;
}
.menu__multi .menu__second-level li:hover .menu__third-level {
  visibility: visible;
  opacity: 1;
}
.menu__multi .menu__second-level li .menu__third-level li { position: relative;}
.menu__multi .menu__second-level li .menu__third-level li:hover { background: #e1e1e1;}
.menu__multi .menu__second-level li .menu__third-level li .menu__fourth-level {
  position: absolute;
  top: -1px;
  left: 100%;
  width: 100%;
  background: #2a1f1f;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  visibility: hidden;
  opacity: 0;
}
.menu__multi .menu__second-level li .menu__third-level li:hover .menu__fourth-level {
  visibility: visible;
  opacity: 1;
}
.sub-menu .init-right::after {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 0 0 15px;
  border-right: 1px solid #666666;
  border-top: 1px solid #666666;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.lity{
  background: rgba(0,0,0,0.7) !important;
}
.popup-set{
  position: relative;
}
.popup-set::after {
  position: absolute;content: "";
  bottom: 0px;right: 0px;
  margin: 0px 0 0 0;
  background:url("/common/img/service-solution/innovation/index/icon_loupe.png") no-repeat;
  width: 30px;height: 30px;
  background-size: 30px 30px;
}
/* contact-area */
.service-solution .main {
  padding-bottom: 0px;
}
html, body {overflow-x: hidden;}
#contact-area{
  text-align: center;
  background: #f5f5f5;
  padding: 50px 10px 70px 10px;
  margin: 0 calc(50% - 50vw);
}
#contact-area .contents-wrap {
  max-width: 1050px;
  margin: 0 auto 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#contact-area > p:first-child{
  font-size: 24px;
  margin-bottom: 28px;
}
#contact-area .set:first-child{ width: 55%;}
#contact-area .set:last-child{ width: 34%;}
#contact-area .set:last-child a{ max-width: 275px; margin: 0 auto;}
#contact-area .set > p:first-child{
  font-size: 20px;
  margin-bottom: 10px;
  position: relative;
}
#contact-area .set:first-child > p:first-child::before {
  content: "";
  display:inline-block;
  margin: 0 8px 0 0;
  background:url("/common/img/contacts/index/ico_phone.png") no-repeat;
  width: 22px;height: 34px;
  background-size: 22px 34px;
  position:relative;
  top:8px;
}
#contact-area .set:last-child > p:first-child::before {
  content: "";
  display:inline-block;
  margin: 0 8px 0 0;
  background:url("/common/img/contacts/ico_mail.png") no-repeat;
  width: 22px;height: 34px;
  background-size: 22px 34px;
  position:relative;
  top:8px;
}
#contact-area ul {
  margin: 0 auto 0 auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
#contact-area li{
  width: 48%;
  margin-bottom: 15px;
}
#contact-area li + li{
  margin-left: 4%;
}
#contact-area.normal .contents-wrap{ max-width: 750px;}
#contact-area.normal .set:first-child{ width: 38%;}
#contact-area.normal .set:last-child{ width: 38%;}
#contact-area.normal li{width: 100%;}
#contact-area li a{
  display: block;
  background: #FFFFFF;
  border-radius: 2px;
  border: 1px solid #bfc4c7;
  padding: 10px 0 4px 0;
  font-size: 16px;
  font-weight: bold;
}
#contact-area li a span{
  font-size: 24px;
  color: #d50000;
}
#contact-area .set:last-child a{
  display: block;
  background: #e01c04;
  border-radius: 2px;
  padding: 29px 0 29px 0;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 960px) {
  #contact-area{
  padding: 30px 10px 30px 10px;
  margin: 0 calc(50% - 50vw);
}
#contact-area > p:first-child{
  font-size: 20px;
  margin-bottom: 22px;
}
#contact-area .set:first-child{
  width: 100%;
}
#contact-area .set:last-child{
  width: 100%;
}
#contact-area .set > p:first-child{
  font-size: 22px;
  margin-bottom: 25px;
  position: relative;
}
#contact-area ul + p{
  text-align: left;
  margin-bottom: 40px;
}
#contact-area li{
  width: 100%;
}
#contact-area.normal .set:first-child{ width: 90%; margin: 0 auto 20px auto;}
#contact-area.normal .set:last-child{ width: 90%; margin: 0 auto 20px auto;}
#contact-area li + li{
  margin-left: 0;
}
}

/* underlayer-vis　下層ヘッダー画像 */
.underlayer-vis{
  margin: 50px 0 0 0;
  /* height: 250px; */
  height: 400px;
  z-index: 1;
  position: relative;
}
.underlayer-vis::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.5);
  top: 0;
  left: 0;
  z-index: -1;
}
.underlayer-vis.single {
  margin-top: 0;
}
.service-top .underlayer-vis{
  height: 400px;
}
.underlayer-vis h1{
  font-size: 30px;
  max-width: 1200px;
  margin: 0 auto 0 auto;
  padding: 8% 0 0 5%;
  color: #FFFFFF;
  font-weight: bold;
}
.underlayer-vis p{
  /* font-size: 22px; */
  font-size: 30px;
  width: 100%;
  max-width: 1200px;
  padding-left: 40px;
  margin: auto;
  color: #FFFFFF;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
}
/* .service-si .underlayer-vis h1,.service-si .underlayer-vis p{
  color: #242424;
}
.service-cae .underlayer-vis h1,.service-cae .underlayer-vis p{
  color: #242424;
}
.online-seminar .underlayer-vis h1,.service-cae .underlayer-vis p{
  color: #242424;
} */
.service-printing3d .underlayer-vis{ background: url("/common/img/service-solution/3dp-sales/img_kv_s_pc.jpg") center center / cover no-repeat;}
.service-rp .underlayer-vis{ background: url("/common/img/service-solution/rp/img_kv_s_pc.jpg") center center / cover no-repeat;}
.service-finalPartsProduction .underlayer-vis{ background: url("/common/img/service-solution/final-parts-production/img_kv_s_pc.jpg") center center / cover no-repeat;}
.service-am .underlayer-vis{ background: url("/common/img/service-solution/am/img_kv_s_pc.jpg") center center / cover no-repeat;}
.service-cad .underlayer-vis{ background: url("/common/img/service-solution/design/img_kv_s_pc.jpg") center center / cover no-repeat;}
.service-cae .underlayer-vis{ background: url("/common/img/service-solution/cae/img_kv_s_pc.jpg") center center / cover no-repeat;}
.service-mbd .underlayer-vis{ background: url("/common/img/service-solution/mbd/img_kv_s_pc.jpg") center center / cover no-repeat;}
.service-si .underlayer-vis{ background: url("/common/img/service-solution/innovation/img_kv_s_pc.jpg") center center / cover no-repeat;}
.service-specta .underlayer-vis{ background: url("/common/img/service-solution/specta/img_kv_pc.jpg") center center / cover no-repeat;}
.service-automation .underlayer-vis{ background: url("/common/img/service-solution/automation/img_kv_s_pc.jpg") center center / cover no-repeat;}
.service-software .underlayer-vis{ background: url("/common/img/service-solution/software/img_kv_s_pc.jpg") center center / cover no-repeat;}
.service-cybersecurity .underlayer-vis{ background: url("/common/img/service-solution/cyber-security/mainvis.jpg") center center / cover no-repeat;}
.service-lca .underlayer-vis{ background: url("/common/img/service-solution/lca/img_kv_s_pc.jpg") center center / cover no-repeat;}
.online-seminar .underlayer-vis{ background: url("/common/img/event/img_kv_s_pc.jpg") center center / cover no-repeat;}

.service-printing3d.service-top .underlayer-vis{ background: url("/common/img/service-solution/3dp-sales/img_kv_pc.jpg") center center / cover no-repeat;}
.service-cad.service-top .underlayer-vis{ background: url("/common/img/service-solution/design/img_kv_pc.jpg") center center / cover no-repeat;}
.service-cae.service-top .underlayer-vis{ background: url("/common/img/service-solution/cae/img_kv_pc.jpg") center center / cover no-repeat;}
.service-mbd.service-top .underlayer-vis{ background: url("/common/img/service-solution/mbd/img_kv_pc.jpg") center center / cover no-repeat;}
.service-si.service-top .underlayer-vis{ background: url("/common/img/service-solution/innovation/img_kv_pc.jpg") center center / cover no-repeat;}
.service-software.service-top .underlayer-vis{ background: url("/common/img/service-solution/software/img_kv_pc.jpg") center center / cover no-repeat;}
.online-seminar.service-top .underlayer-vis{ background: url("/common/img/event/online/img_kv_pc.jpg") center center / cover no-repeat;}

@media screen and (max-width: 960px) {
  .header {height: auto;}
  .underlayer-vis { margin: 0 0 0 0;}
  .service-top .underlayer-vis{ height: 250px;}
  .underlayer-vis h1{font-size: 20px;}
  .service-printing3d .underlayer-vis {background: url("/common/img/service-solution/3dp-sales/img_kv_sp.jpg") left top / cover no-repeat;}
  .service-cad .underlayer-vis {background: url("/common/img/service-solution/design/img_kv_sp.jpg") center center / cover no-repeat;}
  .service-cae .underlayer-vis {background: url("/common/img/service-solution/cae/img_kv_sp.jpg") center center / cover no-repeat;}
  .service-mbd .underlayer-vis {background: url("/common/img/service-solution/mbd/img_kv_sp.jpg") center center / cover no-repeat;}
  .service-si .underlayer-vis {background: url("/common/img/service-solution/innovation/img_kv_sp.jpg") center center / cover no-repeat;}
  .service-specta .underlayer-vis {background: url("/common/img/service-solution/specta/img_kv_sp.jpg") center center / cover no-repeat;}
  .service-software .underlayer-vis {background: url("/common/img/service-solution/software/img_kv_sp.jpg") center center / cover no-repeat;}
  .service-lca .underlayer-vis {background: url("/common/img/service-solution/lca/img_kv_sp.jpg") center center / cover no-repeat;}
  .online-seminar .underlayer-vis {background: url("/common/img/event/online/img_kv_sp.jpg") center center / cover no-repeat;}
  .underlayer-vis p{
    padding-left: 0;
    top: 0;
    transform: initial;
    padding: 6% 0 0 2%;
    font-size: 22px;
  }
}
.underlayer-vis + .contents {
  margin-top: 0;
}
/* underlayer-vis end */

.sub {
  width: 240px;
  flex: 0 0 auto;
  padding: 120px 30px 30px;
  order: 1;
}
.sideNavList {
  padding-top: 18px;
  border-top: 1px solid #BFC4C7;
}
.sideNavList dt {
  margin-bottom: 17px;
}
.sideNavList dt a {
  padding-right: 20px;
  color: #405461;
  font-size: 16px;
  line-height: 1.75;
  position: relative;
  display: block;
}
.sideNavList dt a:after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #405461;
  border-right: 1px solid #405461;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -1px;
  transform: translateY(-50%) rotate(45deg);
}
.sideNavList dd {
  margin-bottom: 16px;
}
.sideNavList dd:first-of-type {
  margin-top: 25px;
}
.sideNavList dd:empty {
  margin-top: 0;
}
.sideNavList dd a {
  color: #405461;
  font-size: 12px;
  line-height: 1.666666667;
  transition: .3s;
}
.sideNavList dt.is-active > a,
.sideNavList dd.is-active > a,
.sideNavList dd a:hover {
  color: #D50000;
}
.sideNavList .subList {
  margin-left: 11px;
}
.sideNavList .subList li {
  margin-top: 16px;
  list-style-image: url(data:0);
}
.sideNavList .subList a {
  font-size: 12px;
}
.sideNavList .subList .is-active > a {
  color: #D50000;
}
.js-subListOpen {
  padding-right: 20px;
  position: relative;
}
.js-subListOpen:after {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 1px solid #405461;
  border-bottom: 1px solid #405461;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) rotate(45deg);
}
.js-subListContents {
  display: none;
}
.js-subListOpen.is-opened {
  color: #D50000;
}
.js-subListOpen.is-opened:after,
.js-subListOpen.is-active:after {
  transform: translateY(-50%) rotate(-135deg);
}
.js-subListOpen.is-active {
  color: #405461;
}
.js-subListOpen.is-active + .js-subListContents {
  display: block;
}

@media screen and (max-width: 960px) {
  .sub {
    width: 100%;
    flex: 1 1 auto;
    padding: 34px 28px 20px;
    background-color: #F5F5F5;
    order: 2;
  }
  .sideNav {
    padding-top: 0;
    border-top: none;
  }
  .sideNavList dt {
    margin-bottom: 20px;
  }
  .sideNavList dt a {
    padding-right: 20px;
    display: block;
  }
  .sideNavList dd {
    margin-bottom: 16px;
  }
}

/* solution sp sub menu */
.solution .sideNavList {
  padding-top: 0;
}
.solution .sideNavList > li {
  font-size: 16px;
}
.solution .sideNavList > li:not(:last-child) {
  border-bottom: 1px solid #BFC4C7;
}
.solution .sideNavList > li > a {
  padding: 20px 0;
  position: relative;
  display: block;
}
.solution .sideNavList > li > a:after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #405461;
  border-right: 1px solid #405461;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -1px;
  transform: translateY(-50%) rotate(45deg);
}
.solution .sideNavList > li.is-active > a {
  color: #D50000;
}
.solution .sideNavList .subList {
  margin: 8px 0 0;
}
.solution .sideNavList .subList li {
  list-style-image: none;
  margin-top: 0;
  margin-bottom: 24px;
}
.solution .sideNavList .subList li.is-active > a {
  color: #D50000;
}

/* loadContents */
.js-loadContents li {
  display: none;
}

/*KVエリア*/
.kvArea {
  min-width: 1100px;
  height: 260px;
  padding-bottom: 26px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 1;
  position: relative;
}
.kvAreaInner {
  height: 100%;
  padding-bottom: 8px;
  position: relative;
  align-items: center;
  justify-content: center;
}
.kvText {
  color: #FFF;
  font-size: 18px;
  font-weight: normal;
  line-height: 1.5;
  text-align: center;
}
.kvText span {
  font-size: 32px;
  font-weight: bold;
  display: block;
}
.kvLight .kvText {
  color: #242424;
}
.kvArea:after {
  content: "";
  width: 50%;
  height: 60px;
  background-color: #FFF;
  position: absolute;
  right: 0;
  bottom: 0;
}
.kvAreaNoSideBar:after {
  width: 100%;
}

@media screen and (max-width: 960px) {
  .kvArea {
    min-width: auto;
    height: 200px;
    margin-bottom: 0;
    padding-top: 38px;
    padding-bottom: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .kvAreaInner {
    height: 100%;
    padding-top: 6px;
    position: relative;
    align-items: center;
    justify-content: center;
  }
  .kvText {
    margin-top: -4px;
    line-height: 1.1875;
  }
  .kvText span {
    margin-bottom: 6px;
  }
  .kvArea:after {
    content: normal;
  }
}

/*ページタイトル*/
.pageTit {
  margin-top: 45px;
  margin-bottom: 50px;
  padding-bottom: 14px;
  font-size: 34px;
  line-height: 1.5882;
  position: relative;
}
.labelWrap + .pageTit {
  margin-top: 0;
}
.pageTit:after {
  content: "";
  width: 48px;
  height: 4px;
  background-color: #D50000;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 960px) {
  .pageTit {
    margin-bottom: 50px;
    padding-bottom: 14px;
    font-size: 30px;
    line-height: 1.5625;
    position: relative;
  }
}

/*セクションタイトル*/
.sectionTit {
  margin-bottom: 29px;
  display: flex;
  align-items: center;
  position: relative;
}
.sectionTit span {
  font-size: 26px;
  line-height: 1.75;
  flex: 0 0 auto;
}
.sectionTit:after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #D50000;
  margin-left: 20px;
}
@media screen and (max-width: 960px) {
  .sectionTit {
    font-size: 26px;
  }
}

.txt {
  font-size: 16px;
  line-height: 1.75;
}

/*パンくず*/
.topicpath {
  margin-left: -10px;
  margin-bottom: 45px;
}
.topicpath li {
  margin-right: 0.3em;
}
.topicpath li,
.topicpath a {
  color: #405461;
  font-size: 12px;
  line-height: 1.75;
}
.topicpath a {
  text-decoration: underline;
}
.topicpath a:hover {
  text-decoration: none;
}

@media screen and (max-width: 1100px) and (min-width: 961px)  {
  .topicpath {
    left: 30px;
  }
}

@media screen and (max-width: 960px) {
  .topicpath {
    display: none;
  }
}

.btn a,
.btn button {
  width: 100%;
  height: 100%;
  padding-top: 2px;
  font-size: 16px;
  text-align: center;
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .3s;
  color: #FFF;
  position: relative;
  z-index: 0;
  background-image: linear-gradient(to left, rgba(213, 0, 0, 1), rgba(239, 71, 9, 1));
}
.btn button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
}
.btn a:after,
.btn button:after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: rgba(184, 0, 0, 1);
  opacity: 0;
  transition: .3s;
}
.btn a:hover:after,
.btn button:hover:after {
  opacity: 1;
}
.btnForward {
  width: 380px;
  margin: 50px auto 0;
}
.btnForward a {
  flex-direction: column;
  padding: 10px 20px 9px 34px;
}
.btnForward span {
  font-size: 12px;
  display: block;
}

@media screen and (max-width: 960px) {
  .btnForward {
    width: 100%;
  }
  .btnForward a {
    width: 87.5%;
    padding: 13px 20px 11px 20px;
    margin: 0 auto;
  }
}

/*戻るボタン*/
.btnBack {
  margin-top: 80px;
  padding: 78px 0 0 1px;
  border-top: 1px dashed #666;
}
.btnBack a {
  width: 280px;
  margin: 0 auto;
  padding: 10px 20px 9px 34px;
  color: #D50000;
  font-size: 16px;
  line-height: 1.6875;
  border: 1px solid #D50000;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: .3s;
}
.btnBack a:before {
  content: "";
  width: 7px;
  height: 7px;
  border-top: 1px solid #D50000;
  border-left: 1px solid #D50000;
  position: absolute;
  top: 50%;
  left: 14px;
  transform: translateY(-50%) rotate(-45deg);
}
.btnBack a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 960px) {
  .btnBack {
    padding-top: 80px;
  }
  .btnBack a {
    width: 87.5%;
    padding: 13px 20px 11px 40px;
    margin: 0 auto;
  }
}

/*進むボタン*/
.btnNext a,
.btnNext span {
  width: 280px;
  margin: 0 auto;
  padding: 10px 20px 9px 20px;
  color: #D50000;
  font-size: 16px;
  line-height: 1.6875;
  border: 1px solid #D50000;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: .3s;
}
.btnNext a:before,
.btnNext span:before {
  content: "";
  width: 7px;
  height: 7px;
  border-top: 1px solid #D50000;
  border-right: 1px solid #D50000;
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%) rotate(45deg);
}
.btnNext a:hover,
.btnNext span:hober {
  opacity: 0.7;
}

@media screen and (max-width: 960px) {
  .btnNext {
    padding-top: 20px;
  }
  .btnNext a,
  .btnNext span {
    width: 87.5%;
    padding: 13px 20px 11px 20px;
    margin: 0 auto;
  }
}

.focusTxt {
  color: #D50000;
}

.overlay {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  background-color: rgba(36, 36, 36 , .3)
}

.hoverScaleChange .img {
  overflow: hidden;
  transition: transform .3s;
}
.hoverScaleChange .img:before {
  content: "";
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  border: 1px solid #D50000;
  transition: .3s;
  opacity: 0;
  pointer-events: none;
}
.hoverScaleChange .img img {
  transition: transform .3s;
}
.hoverScaleChange:hover .img:before {
  opacity: 1;
}
.hoverScaleChange:hover .img img {
  transform: scale(1.1);
}

.linkArrow {
  padding-right: 15px;
  position: relative;
}
.linkArrow:after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #D50000;
  border-right: 1px solid #D50000;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) rotate(45deg);
}
.linkArrowL {
  position: relative;
}
.linkArrowL:after {
  content: "";
  width: 15px;
  height: 15px;
  margin-left: 8px;
  border-top: 2px solid #D50000;
  border-right: 2px solid #D50000;
  transform: translateY(-3px) rotate(45deg);
  display: inline-block;
}

/*アンカー*/
.anchor-link::before{
  content: "";
  display: block;
  height: 160px;
  margin-top: -160px;
  visibility: hidden;
}
.anchor-link2::before{
  content: "";
  display: block;
  height: 200px;
  margin-top: -160px;
  visibility: hidden;
}
#service1::before,#service2::before,#dmp::before,#dfam::before {
  content: "";
  display: block;
  height: 180px;
  margin-top: -180px;
  visibility: hidden;
}


/* ===========================================
ヘッダー
=========================================== */
.header {
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 1000;
  transition: .3s;
  background-color: #FFF;
}
.header.form {
  height: 91px;
}
.header.form .headerInner {
  height: 100%;
  padding-top: 0;
}
.header.fixed {
  box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 10px 1px;
}
.headerInner {
  padding-top: 8px;
  align-items: center;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.header .l-column {
  padding-left: 30px;
  padding-right: 30px;
}
.siteLog {
  margin-top: 1px;
  margin-right: auto;
  padding-bottom: 4px;
}
.siteLog a {
  transition: .3s;
}
.siteLog a:hover {
  opacity: 0.8;
}
.utility {
  margin-bottom: 8px;
}
.utilityList {
  justify-content: flex-end;
  -webkit-align-items: center;
          align-items: center;
  font-size: 14px;
}
.utilityList li {
  margin-top: 1px;
  margin-left: 2em;
}
.utilityList a {
  color: #405461;
  line-height: 1.7142;
  transition: .3s;
  padding-bottom: 4px;
}
.utilityList a:hover {
  color: #D50000;
}
.utilityList .search {
  margin-left: 23px;
  position: relative;
  padding-bottom: 4px;
}
.utilityList .search input[type="text"] {
  width: 240px;
  padding: 6px 40px 4px 19px;
  appearance: none;
  color: #666;
  border-radius: 40px;
  background-color: #F5F5F5;
}
.utilityList .search input[type="submit"] {
  width: 24px;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -1px;
  color: transparent;
  transform: translateY(-50%);
  background: url(../img/common/ico_search.png) no-repeat top / 24px auto;
}
input[type="text"]:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #F5F5F5 inset;
}

.utilityList .changeLang {
  margin: 0 0 0 10px;
  padding: 8px 28px 4px 38px;
  position: relative;
  transition: .3s;
  cursor: pointer;
}
.utilityList .changeLang:before,
.utilityList .changeLang:after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.utilityList .changeLang:before {
  width: 16px;
  height: 16px;
  margin-top: -2px;
  background: url(../img/common/ico_lang.png) no-repeat top / 16px auto;
  left: 12px;
}
.utilityList .changeLang:after {
  margin-top: -1px;
  right: 10px;
  border-top: 5px solid #242424;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
}
.utilityList .changeLang:hover,
.utilityList .changeLang.is-active {
  background-color: #242424;
}
.utilityList .changeLang:hover a,
.utilityList .changeLang.is-active a {
  color: #FFF;
  opacity: 1;
}
.utilityList .changeLang > p > a {
  pointer-events: none;
}
.utilityList .changeLang:hover:before,
.utilityList .changeLang.is-active:before {
  background-position: bottom;
}
.utilityList .changeLang:hover:after,
.utilityList .changeLang.is-active:after {
  border-top-color: #FFF;
}
.utilityList .changeLang.is-active:after {
  transform: translateY(-50%) rotate(-180deg);
}
.langSelectWrap {
  width: 380px;
  padding: 27px 0 0;
  position: absolute;
  top: 38px;
  right: 0;
  z-index: 10;
  background-color: #242424;
  display: none;
}
.langSelectWrap .changeLangList {
  padding: 0 20px 22px;
  border-bottom: 1px solid #797979;
}
.langSelectWrap li,
.langSelectWrap dd a {
  width: 160px;
  margin: 0;
}
.langSelectWrap dd.eu a {
  width: 100%;
}
.langSelectWrap .changeLangList li + li,
.langSelectWrap dd a + a {
  margin-left: auto;
}
.langSelectWrap a {
  width: 160px;
  height: 40px;
  padding: 0 0 0 27px;
  color: #FFF;
  display: flex;
  align-items: center;
  transition: .3s;
}
.langSelectWrap dd {
  display: flex;
  justify-content: space-between;
}
.langSelectWrap .is-active {
  background-color: #D50000;
  pointer-events: none;
}
.langSelectWrap .is-active.listIcon:before {
  background-color: #FFF;
}
.langSelectWrap .changeLangList .listIcon:before {
  top: 20px;
  left: 10px;
}
.langSelectWrap .changeLangList a:hover {
  opacity: 0.7;
}
.countrySelectList {
  padding: 20px 20px 0;
  margin-bottom: 30px;
}
.countrySelectList dt {
  margin-top: 19px;
  margin-bottom: 8px;
  padding-top: 21px;
  padding-left: 3px;
  color: #FFF;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.75;
  border-top: 1px solid #797979;
}
.countrySelectList dt:first-of-type {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}
.countrySelectList dd .listIcon:before {
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
}
.countrySelectList a:hover,
.langSelectWrap .countrySelectList dd a:hover {
  opacity: 0.7;
}
.utilityList .contact {
  width: 130px;
  border-left: none;
  padding: 0;
  margin-left: 19px;
  padding-bottom: 4px;
}
.utilityList .contact a {
  width: 130px;
  height: 32px;
  color: #FFF;
  font-size: 14px;
  padding-bottom: 2px;
  border-radius: 40px;
}
.utilityList .contact a:after {
  border-radius: 40px;
}
.utilityList .contact a:hover {
  opacity: 1;
}

.gnavList {
  justify-content: flex-end;
  -webkit-align-items: center;
          align-items: center;
}
.gnavList li {
  padding: 0 12px;
  padding-bottom: 10px;
  cursor: pointer;
  position: relative;
}
.gnavList > li:after {
  content: "";
  width: 1px;
  height: 26px;
  background-color: #EBEBEB;
  position: absolute;
  top: 1px;
  left: 0;
}
.gnavList li:first-child:after {
  content: normal;
}
.gnavList li:first-child {
  border-left: #000;
}
.gnavList li:last-child {
  padding-right: 0;
}
.gnavList a {
  font-size: 16px;
  line-height: 1.75;
  transition: .3s;
  position: relative;
}
.gnavList li:first-child a {
  border-left: none;
}
.gnavList .js-mega a {
  padding-right: 20px;
}
.gnavList .js-mega a:before {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 1px solid #242424;
  border-bottom: 1px solid #242424;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -2px;
  transform: translateY(-50%) rotate(45deg);
}
.gnavList .js-mega.is-active a:before {
  margin-top: 2px;
  transform: translateY(-50%) rotate(-135deg);
}
.gnav .gnavList > li > a:hover:after,
.gnav .gnavList > li.is-active > a:after,
.gnav .gnavList .current > a:after {
  content: "";
  width: 100%;
  height: 3px;
  background-color: #D50000;
  position: absolute;
  left: 0;
  bottom: -10px;
}
.headerMenuSp {
  display: none;
}
.gnavSub {
  width: 100%;
  position: fixed;
  top: 93px;
  left: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s;
  background-color: #242424;
  z-index: 100;
}
.gnavSub.is-active {
  opacity: 1;
  visibility: visible;
}
.gnavSub .img {
  opacity: 0;
}
.gnavSub.is-active .img {
  opacity: 1;
}
.gnavSub .flexWrap {
  width: 100%;
  max-width: 1340px;
  min-width: 1100px;
  margin: 0 auto;
  padding: 41px 41px 11px;
}
.gnavNoimage .gnavSub .flexWrap {
  padding: 40px 20px;
  -webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.gnavSub li {
  width: 33.33333%;
  margin-bottom: 19px;
  border-left: none;
}
.gnavNoimage .gnavSub li {
  width: initial;
  margin-bottom: 0;
  cursor: initial;
}
.gnavNoimage .gnavSub > ul > li {
  width: initial;
  border-left: none;
  padding: 0;
}
.gnavSub.service li:nth-child(2) {
  width: 50%;
}
.gnavNoimage .gnavSub.service li:nth-child(2) {
  width: initial;
}
.gnavSub li a {
  color: #FFF;
  display: flex;
  align-items: center;
  border-left: none;
}
.gnavSub li .img {
  margin-right: 13px;
  flex-shrink: 0;
  position: relative;
}
.gnavSub li .img:before {
  content: normal;
}
.gnavSub li .txt {
  color: #ffffff;
  font-size: 1.8rem;
  transition: opacity .3s;
}
.gnavSub li a:hover {
  opacity: 1;
}
.gnavSub li a:hover .txt {
  opacity: 0.7;
}
.searchSp {
  display: none;
}
.gnavNoimage .gnavSub .gnavSubContent {
  margin-top: 8px;
}
.gnavNoimage .gnavSub .gnavSubContent li {
  margin-top: 16px;
  margin-bottom: 0;
  padding: 0;
}
.gnavNoimage .gnavSub .gnavSubContent li a {
  font-size: 1.4rem;
  color: #C2C2C2;
  white-space: nowrap;
  transition: opacity .3s ease;
}
.gnavNoimage .gnavSub .gnavSubContent li a:hover {
  opacity: .7;;
}

.overlay,
.overlayLang {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  background-color: rgba(36, 36, 36 , .3)
}

@media screen and (max-width: 960px) {
  .header.form {
    height: auto;
  }
  .header.form .headerInner {
    height: auto;
    padding-top: 14px;
  }
  .header .l-column {
    padding-left: 20px;
    padding-right: 20px;
  }
  .headerInner {
    padding-top: 14px;
    padding-bottom: 13px;
    align-items: center;
  }
  .siteLog {
    width: 121px;
    margin-right: auto;
  }
  .siteLog img {
    width: 100%;
    height: auto;
  }
  .headerMenuPc {
    display: none;
  }

  .menuBtn_wrap {
    margin-left: auto;
    width: 50px;
    height: 50px;
    display: block;
    position: absolute;
    right: 2px;
    top: 5px;
    z-index: 10;
    cursor: pointer;
  }
  .menuBtn {
    width: 26px;
    height: 16px;
    position: absolute;
    z-index: 9999;
    right: 12px;
    top: 50%;
    transform: translateY(calc(-50% + 6px));
  }
  .menuBtn span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
  }
  .menuBtn span {
    position: absolute;
    left: 0;
    width: 18px;
    height: 2px;
    border-radius: 3px;
  }
  .header .menuBtn span,
  .menuBtn.active span {
    background-color: #000000;
  }
  .menuBtn span:nth-of-type(1) {
    top: 0;
  }
  .menuBtn span:nth-of-type(2) {
    top: -5px;
  }
  .menuBtn span:nth-of-type(3) {
    top: 5px;
  }
  .headerMenuSp {
    width: 81.0666%;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    right: -100%;
    z-index: 1001;
    background-color: #FFF;
    transition: .3s;
    overflow-y: hidden;
  }
  .headerMenuSpInner {
    width: calc(100% + 17px);
    overflow-y: scroll;
  }
  .headerMenuSp.is-active {
    right: 0;
  }
  .headerMenuSp .menuMain {
    background-color: #242424;
    padding: 1px 0 30px;
  }
  .headerMenuSp .btnClose {
    position: relative;
    padding-right: 69px;
    color: #C2C2C2;
    font-size: 20px;
    line-height: 2.7;
    cursor: pointer;
    text-align: right;
  }
  .headerMenuSp .btnClose span {
    position: absolute;
    top: 50%;
    right: 40px;
    transform: translateY(-50%);
  }
  .headerMenuSp .btnClose span:before,
  .headerMenuSp .btnClose span:after {
    content: "";
    width: 18px;
    height: 1px;
    background-color: #C2C2C2;
    position: absolute;
    top: 50%;
    left: 50%;
  }
  .headerMenuSp .btnClose span:before {
    transform: translate(-50%, -50%)  rotate(-45deg);
  }
  .headerMenuSp .btnClose span:after {
    transform: translate(-50%, -50%)  rotate(45deg);
  }
  .headerMenuSp .gnavSp {
    margin-top: 11px;
  }
  .headerMenuSp .gnavSp li {
    padding: 0;
    border-left: none;
  }
  .headerMenuSp .gnavSp a {
    height: 57px;
    padding-left: 30px;
    display: flex;
    align-items: center;
    color: #C2C2C2;
    font-size: 16px;
    line-height: 1.73;
    border-left: none;
  }
  .js-headerAccordion > a {
    position: relative;
  }
  .js-headerAccordion > a:after {
    content: "";
    width: 8px;
    height: 8px;
    border-right: 1px solid #BFC4C7;
    border-top: 1px solid #BFC4C7;
    position: absolute;
    right: 40px;
    top: 50%;
    transform: translateY(-50%) rotate(135deg);
  }
  .js-headerAccordion > a.is-active:after {
    transform: translateY(-50%) rotate(-45deg);
  }
  .gnavList > li:after {
    content: normal;
  }
  .gnavSpSub {
    width: 81.967213115%;
    margin: 0 auto;
    padding: 8px 0 9px;
    border-top: 1px solid #666;
    border-bottom: 1px solid #666;
    display: none;
  }
  .headerMenuSp .gnavSp .gnavSpSub a {
    padding-left: 0;
    font-size: 14px;
    line-height: 1.714285714;
    border-left: none;
  }
  .headerMenuSp .gnavSp .gnavSpSub dd {
    margin-left: 20px;
  }
  .headerMenuSp .contact {
    margin-top: 20px;
    padding-right: 17px;
  }
  .headerMenuSp .btn a {
    width: 86.842105263%;
    height: 48px;
    margin: 0 auto;
    font-size: 18px;
    border-radius: 80px;
  }
  .headerMenuSp .btn a:after {
    border-radius: 80px;
  }
  .searchSp {
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
    top: 5px;
    right: 51px;
    margin-top: 5px;

  }
  .searchSp .searchBtn {
    width: 40px;
    height: 40px;
    display: flex;
    -webkit-justify-content: center;
            justify-content: center;
    -webkit-align-items: center;
            align-items: center;
  }
  .searchSp .searchBtn span {
    width: 24px;
    height: 24px;
    display: block;
    overflow: hidden;
  }
  .searchSp form {
    display: none;
    width: 100%;
    padding: 20px 27px 20px;
    background-color: #242424;
    position: fixed;
    top: 48px;
    left: 0;
  }
  .searchSp input[type="text"] {
    width: 100%;
    height: 48px;
    display: flex;
    align-items: center;
    font-size: 14px;
    border-radius: 80px;
    padding: 0 44px 0 30px;
    appearance: none;
    border-radius: 40px;
    background-color: #F5F5F5;
  }
  .searchSp input[type="submit"] {
    width: 24px;
    height: 23px;
    position: absolute;
    top: 50%;
    right: 46px;
    margin-top: 1px;
    color: transparent;
    transform: translateY(-50%);
    background: url(../img/common/ico_search.png) no-repeat top / 24px auto;
  }
  .searchSp.is-active {
    background-color: #242424;
  }
  .searchSp.is-active .searchBtn img {
    margin-top: -24px;
  }
  .headerMenuSp .menuSub {
    padding: 9px 0 77px;
    background-color: #FFF;
  }
  .headerMenuSp .utilityListSp {
    padding: 0 21px 7px;
    display: flex;
    border-bottom: 1px solid #EBEBEB;
  }
  .headerMenuSp .utilityListSp li {
    margin-left: 15px;
    list-style: none;
  }
  .headerMenuSp .utilityListSp li:first-child {
    margin-left: 0;
  }
  .headerMenuSp .utilityListSp a {
    display: block;
    padding: 8px 16px;
    color: #405461;
    font-size: 14px;
    line-height: 2.2857;
    position: relative;
  }
  .headerMenuSp .utilityListSp a:after {
    content: "";
    width: 5px;
    height: 5px;
    margin-top: 0px;
    border-top: 2px solid #405461;
    border-right: 2px solid #405461;
    position: absolute;
    left: -2px;
    top: 50%;
    margin-top: -1px;
    transform: translateY(-50%) rotate(45deg);
  }

  .headerMenuSp .changeLang {
    margin: 0 10px 11px 0;
    padding: 25px 18px 12px 47px;
    position: relative;
    display: flex;
  }
  .headerMenuSp .changeLang li {
    line-height: 1.142857143;
  }
  .headerMenuSp .changeLang li:first-child {
    margin-right: 30px;
  }
  .headerMenuSp .changeLang a {
    padding-left: 19px;
    font-size: 14px;
    position: relative;
  }
  .headerMenuSp .menuSub .is-selected {
    color: #D50000;
  }
  .headerMenuSp .changeLang:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    margin-top: 5px;
    background: url(../img/common/ico_lang.png) no-repeat top / 20px auto;
  }
  .headerMenuSp .changeLang a:before {
    content: "";
    width: 6px;
    height: 6px;
    border-top: 2px solid #405461;
    border-right: 2px solid #405461;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: 0px;
    transform: translateY(-50%) rotate(45deg);
  }
  .headerMenuSp .changeLang .is-selected a:before {
    border-color: #D50000;
  }
  .langSelectList {
    margin-left: 47px;
    border-top: 1px solid #E3E3E3;
    padding-top: 13px;
  }
  .langSelectList dt {
    font-size: 14px;
    font-weight: bold;
    line-height: 2;
  }
  .langSelectList dd {
    margin-top: -6px;
    font-size: 14px;
    line-height: 2;
  }
  .langSelectList dd a {
    position: relative;
    padding-left: 13px;
  }
  .langSelectList dd a:before {
    content: "";
    width: 6px;
    height: 6px;
    border-top: 1px solid #405461;
    border-right: 1px solid #405461;
    position: absolute;
    top: 50%;
    left: -2px;
    transform: translateY(-50%) rotate(45deg);
  }
  .langSelectList dd a + a {
    margin-left: 30px;
  }
  /* service solution 第２階層 */
  .gnavSp .solution .gnavSpSub {
    padding: 12px 0;
  }
  .gnavSp .solution .gnavSpSub .txt {
    color: #C2C2C2;
    font-size: 1.6rem;
    padding: 12px 0;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .gnavSp .solution .gnavSpSub .txt::after {
    content: "";
    width: 8px;
    height: 8px;
    border-right: 1px solid #BFC4C7;
    border-top: 1px solid #BFC4C7;
    display: block;
    transform: translateY(-50%) rotate(135deg);
    margin-right: 10px;
    transition: transform .3s ease;
  }
  .gnavSp .solution .gnavSpSub .txt.is-active::after {
    transform: translateY(-50%) rotate(-45deg);
  }
  .gnavSp .solution .gnavSpSub .gnavSubContent {
    margin-bottom: 28px;
    display: none;
  }
  .gnavSp .solution .gnavSpSub .gnavSubContent li a {
    padding: 12px 0;
  }
}


/* ===========================================
フッター
=========================================== */
.footer {
  min-width: 1200px;
  padding: 74px 0 24px;
  background-color: #242424;
  position: relative;
}
.footer.form {
  height: 150px;
  display: flex;
  -webkit-align-items: flex-end;
          align-items: flex-end;
  -webkit-justify-content: center;
          justify-content: center;
}
.footer a {
  color: #FFF;
  transition: .3s;
}
.footer a:hover {
  opacity: 0.7;
}
.sitemap {
  width: 1200px;
  padding: 0 50px;
  margin: 22px auto;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
dl.sitemapList,
ul.sitemapList {
  min-width: 200px;
  /* margin-left: 60px; */
  flex: 0 0 auto;
}
/* dl.sitemapList:nth-child(1) {
  margin-left: 0;
} */
.sitemapList dt {
  margin-top: 31px;
  margin-bottom: 18px;
}
.sitemapList dt:first-of-type {
  margin-top: 0;
}
.sitemapList dt a {
  font-size: 16px;
  line-height: 1.75;
  display: block;
  height: 100%;
}
.sitemapContent li {
  margin-bottom: 11px;
}
.sitemapContent li br {
  line-height: 0;
}
.sitemapContent a {
  font-size: 14px;
  line-height: 1.5;
  color: #C2C2C2;
}
ul.sitemapList li a {
  font-size: 14px;
  line-height: 2.2857;
}
.sitemapList.listNews {
  width: 64px;
}
ul.social-list {
  display:flex;
  /* justify-content:center; */
}
ul.social-list li {
  margin:0 5px;
}
.footerUtilityList li {
  margin-right: 24px;
}
.footerUtilityList li:last-child {
  margin-left: 0;
}
.footerUtilityList {
  width: 1100px;
  padding: 0 60px;
  margin: 22px auto 0;
}
.footerUtilityList a {
  position: relative;
  padding-left: 17px;
  font-size: 14px;
  color: #C2C2C2;
  line-height: 2.2857;
}
.footerUtilityList a:before {
  content: "";
  width: 5px;
  height: 5px;
  margin-top: -1px;
  border-top: 1px solid #C2C2C2;
  border-right: 1px solid #C2C2C2;
  position: absolute;
  top: 12px;
  left: -1px;
  transform: rotate(45deg);
}
.copy {
  width: 1100px;
  padding: 0 60px;
  margin: 0 auto;
  color: #C2C2C2;
  font-size: 14px;
  line-height: 2.2857;
}
.btnTopPc {
  position: absolute;
  top: -55px;
  right: 15px;
  z-index: 100;
}
.btnTopPc a {
  padding-top: 125px;
  position: absolute;
  bottom: -193px;
  right: 0;
  transition: .3s;
}
.btnTopPc a:before,
.btnTopPc a:after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  transition: .3s;
}
.btnTopPc a:before {
  width: 0;
  height: 0;
  top: 0;
  border-bottom: 5px solid #666666;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
}
.btnTopPc a:after {
  width: 2px;
  height: 112px;
  bottom: 81px;
  background: linear-gradient(to top, #BFC4C7, #BFC4C7 57px, #666666 57px, #666666 100%);
}
.btnTopPc:hover a {
  padding-top: 145px;
}
.btnTopPc a:hover {
  opacity: 1;
}
.btnTopPc:hover a:after {
  height: 132px;
}
.btnTopSp {
  display: none;
}

@media screen and (max-width: 960px) {
  .footer {
    min-width: 0;
    padding: 0 0 15px;
    background-color: #242424;
  }
  .footer a:hover {
    text-decoration: none;
  }
  .footerInner {
    width: auto;
    padding: 0;
  }
  .footerInner .flexWrap {
    display: block;
  }
  .sitemap {
    width: 100%;
    padding: 0;
    margin: 0;
  }
  dl.sitemapList,
  ul.sitemapList {
    width: 100%;
    margin-left: 0;
  }
  dl.sitemapList:nth-child(2) {
    width: auto;
    margin-left: 0;
  }
  .sitemapList dt {
    margin: 0;
    border-bottom: 1px solid #666;
    position: relative;
  }
  .sitemapList dt:after {
    content: "";
    width: 7px;
    height: 7px;
    margin-top: 3px;
    border-top: 1px solid #BFC4C7;
    border-right: 1px solid #BFC4C7;
    position: absolute;
    right: 31px;
    top: 50%;
    transform: translateY(-50%) rotate(135deg);
  }
  .sitemapList dt.is-active:after {
    transform: translateY(-50%) rotate(-45deg);
  }
  .sitemapList dt.noAccordion:after {
    content: normal;
  }
  .sitemapList dt:first-of-type {
    margin-top: 0;
  }
  .sitemapList dt a {
    padding: 15px 30px 13px;
    font-size: 16px;
    line-height: 1.75;
  }
  .sitemapList dd {
    display: none;
  }
  .sitemapContent {
    background-color: #000000;
  }
  .sitemapContent li {
    margin-bottom: 11px;
  }
  .sitemapContentList {
    padding: 20px 0 6px;
  }
  .sitemapContent a {
    padding: 4px 30px 3px;
    font-size: 14px;
    line-height: 1.5;
    color: #C2C2C2;
  }
  ul.sitemapList {
    padding: 8px 30px;
  }
  ul.sitemapList li {
    margin-top: 1px;
  }
  ul.sitemapList li:first-child {
    margin-top: 0;
  }
  ul.sitemapList li a {
    color: #C2C2C2;
    font-size: 14px;
    line-height: 2.8571;
  }
  .sitemapList.listNews {
    width: 100%;
  }
  ul.social-list {
  padding: 8px 30px;
}
  .footerUtilityList {
    width: 100%;
    margin-top: 10px;
    padding: 0 30px;
  }
  .footerUtilityList li {
    margin-right: 0;
  }
  .footerUtilityList li:first-child {
    margin-right: 0;
  }
  .footerUtilityList li {
    margin-top: 3px;
  }
  .footerUtilityList li:first-child {
    margin-top: 0;
  }
  .footerUtilityList a {
    position: relative;
    padding-left: 17px;
    font-size: 14px;
    color: #C2C2C2;
    line-height: 2.2857;
  }
  .copy {
    width: auto;
    margin-top: 10px;
    padding-left: 30px;
    font-size: 12px;
  }
  .btnTopPc {
    display: none;
  }
  .btnTopSp {
    display: block;
    background-color: #3B3F45;
  }
  .btnTopSp a {
    width: 100%;
    height: 68px;
    padding-top: 15px;
    font-size: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #3B3F45;
    position: relative;
  }
  .btnTopSp a:before,
  .btnTopSp a:after {
    content: "";
    position: absolute;
    left: 50%;
    z-index: 10;
  }
  .btnTopSp a:before {
    width: 10px;
    height: 1px;
    top: 18px;
    background-color: #FFF;
    transform: translateX(-50%);
  }
  .btnTopSp a:after {
    width: 7px;
    height: 7px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: translateX(-50%) rotate(-45deg);
    top: 20px;
  }
}

/* footer(service solution) */
.solution .sitemapContent .sitemapContentList .ttl {
  color: #FFFFFF;
  font-size: 1.6rem;
  display: block;
  margin-bottom: 18px;
}
.solution .sitemapContent .sitemapContentList li:not(:last-child) {
  margin-bottom: 24px;
}
.solution .sitemapContent .sitemapContentList .sitemapSubContentList {
  padding-left: 20px;
  min-width: 240px;
}
.solution .sitemapContent .sitemapContentList .sitemapSubContentList li:not(:last-child) {
  margin-bottom: 16px;
}
.solution .sitemapContent .sitemapContentList .sitemapSubContentList li a {
  font-size: 1.4rem;
  color: #C2C2C2;
  display: block;
  line-height: 1;
}
@media screen and (max-width: 960px) {
  .footerInner .solution .sitemapContent.flexWrap {
    display: none;
  }
  .solution .sitemapContent .sitemapContentList {
    padding: 0;
  }
  .solution .sitemapContent .sitemapContentList .ttl {
    margin: 0;
    padding: 20px 30px;
    color: #C2C2C2;
    position: relative;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .solution .sitemapContent .sitemapContentList .ttl::after{
    content: "";
    width: 7px;
    height: 7px;
    margin-top: 3px;
    border-top: 1px solid #BFC4C7;
    border-right: 1px solid #BFC4C7;
    position: absolute;
    right: 31px;
    top: 50%;
    transform: translateY(-50%) rotate(135deg);
    transition: transform .3s ease;
  }
  .solution .sitemapContent .sitemapContentList .ttl.is-active::after {
    transform: translateY(-50%) rotate(-45deg);
  }
  .solution .sitemapContent .sitemapContentList .sitemapSubContentList {
    display: none;
  }
  .solution .sitemapContent .sitemapContentList li {
    margin-bottom: 0;
    border-bottom: 1px solid #666666;
  }
  .solution .sitemapContent .sitemapContentList li:not(:last-child) {
    margin-bottom: 0;
  }
  .solution .sitemapContent .sitemapContentList .sitemapSubContentList {
    padding: 10px 0;
    border-top: 1px solid #666666;
  }
  .solution .sitemapContent .sitemapContentList .sitemapSubContentList li {
    border-bottom: none;
    margin-bottom: 0;
  }
  .solution .sitemapContent .sitemapContentList .sitemapSubContentList li:not(:last-child) {
    margin-bottom: 0;
  }
  .solution .sitemapContent .sitemapContentList .sitemapSubContentList li a {
    padding: 10px 30px;
  }
}

/*GDPR対応*/
.gdprBox {
  width: 100%;
  padding: 15px 0;
  background-color: rgba(64, 84, 97, .8);
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 100;
}
.gdprBox .l-column {
  position: relative;
}
.gdprBox .txt {
  width: calc(100% - 170px);
  color: #FFF;
  font-size: 14px;
  line-height: 1.714285714;
}
.gdprBox .gdprLinkList {
  display: flex;
}
.gdprBox .gdprLinkList li {
  margin-right: 30px;
}
.gdprBox .gdprLinkList a {
  padding-right: 14px;
  color: #FFF;
  font-size: 14px;
  line-height: 1.714285714;
  position: relative;
}
.gdprBox .gdprLinkList a:after {
  content: "";
  width: 5px;
  height: 5px;
  border-top: 1px solid #BFC4C7;
  border-right: 1px solid #BFC4C7;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) rotate(45deg);
}
.gdprBox .gdprBtn {
  width: 140px;
  height: 48px;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}
.gdprBox .gdprBtn a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #FFF;
  transition: .3s;
}
.gdprBox .gdprBtn a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 960px) {
  .gdprBox {
    width: 100%;
    padding: 15px 20px;
  }
  .gdprBox .l-column {
    padding: 0;
  }
  .gdprBox .txt {
    width: 100%;
  }
  .gdprBox .gdprLinkList {
    flex-direction: column;
  }
  .gdprBox .gdprLinkList li {
    margin-right: 0;
  }
  .gdprBox .gdprLinkList a {
    padding-right: 14px;
  }
  .gdprBox .gdprLinkList a:after {
    width: 7px;
    height: 7px;
  }
  .gdprBox .gdprBtn {
    position: absolute;
    top: auto;
    bottom: 0;
    right: 0;
    transform: translateY(0);
  }
  .gdprBox .gdprBtn a {
  }
}

.highlight01{
  background: linear-gradient(transparent 30%, #fffa7e 30%);
  font-weight: bold;
}

.highlight02{
  background: linear-gradient(transparent 30%, #f2ffd9 30%);
  font-weight: bold;
}
.highlight03{
  background: linear-gradient(transparent 50%, #333333 50%);
  font-weight: bold;
}

/* ===========================================
TOP
=========================================== */
/*キービジュアル*/
.kvAreaIndex {
  width: 100%;
  min-width: 1100px;
  height: 46vw;
  min-height: 520px;
  position: relative;
  overflow: hidden;
}
.kvAreaIndex video {
  width: 100% !important;
  height: 100% !important;
}
.kvAreaInner {
  padding: 0 0 30px;
  z-index: 100;
}
.kvAreaInner .l-column {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0 80px;
}
.kvSpSlider {
  display: none;
}
.kvAreaInner .img {
  display: none;
}
.kvBanList {
  width: 100%;
  /* padding: 0 70px 0 30px; */
  /* padding: 0 347px 0 30px; */
  padding: 0 47px 0 30px;
  position: absolute;
  /* bottom: 30px; */
  /* bottom: 20px; */
  bottom: 132px;
  text-align:right;
}
.kvBanList li {
  /* width: calc((100% - 12px) / 3 - .1px); */
  width: 100%;
  margin-left: 6px;
}
.kvBanList li:first-child {
  margin-left: 0;
}
.kvBanList li img {
  /* width: 100%; */
  height: auto;
  transition: .3s;
}
.kvBanList li a {
  display: block;
  /* background-image: linear-gradient(to right, #fff 99%, transparent 100%); */
}
.kvBanList li a:hover img {
  opacity: 0.7;
}

/*アラート表示*/
.alert .kvAreaInner {
  padding-bottom: 108px;
}
.alert .alertBox {
  padding: 0 80px;
  position: absolute;
  left: 0;
  bottom: 30px;
}
.alert .alertBox .flexWrap {
  padding: 8px 38px 8px;
  border: 2px solid #D50000;
  background-color: #fff;
  align-items: center;
  flex-wrap: nowrap;
}
.alert .alertBox .tit {
  padding-left: 41px;
  margin-right: 60px;
  color: #D50000;
  font-size: 16px;
  font-weight: bold;
  background: url(../img/common/ico_alert.png) no-repeat left center / 24px auto;
}
.alert .alertBox li a {
  display: inline-flex;
  transition: .3s;
}
.alert .alertBox li a:hover {
  opacity: 0.7;
}
.alert .alertBox .head {
  margin-right: 22px;
  color: #666;
  font-size: 16px;
  line-height: 1.75;
}
.alert .alertBox .body {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.75;

}

.kvScrollBox {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 100%;
  background-color: #D50000;
}
.kvScrollBox span {
  position: absolute;
  bottom: 25px;
  left: 50%;
  padding-bottom: 139px;
  transform: translateX(-50%);
}
.kvScrollBox span:before,
.kvScrollBox span:after {
  content: "";
  position: absolute;
  transform: translateX(-50%);
}
.kvScrollBox span:before {
  width: 0;
  height: 0;
  bottom: 0;
  left: 50%;
  border-top: 5px solid #fff;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
}
.kvScrollBox span:after {
  width: 2px;
  background-color: #FFF;
  height: 125px;
  top: 60px;
  right: 7px;
  transition: .3s;
  animation: kvSroll 2s infinite ease;
}
.kvSlider {
  display: none;
}
.scrollBoxSp {
  display: none;
}

@keyframes kvSroll{
  0% {
    transform: scaleY(0);
    transform-origin: top;
  }
  30% {
    transform: scaleY(1);
    transform-origin: top;
  }
  50% {
    transform: scaleY(1);
    transform-origin: bottom;
  }
  100% {
    transform: scaleY(0);
    transform-origin: bottom;
  }
}


/* スライドの前後チラ見せ */
.newsArea .slick-slider .slick-list {
  padding: 0 52px;
}
@media screen and (max-width: 960px) {
  .newsArea .slick-slider .slick-list {
    padding: 0 26px;
  }
}

@media screen and (max-width: 960px) {
  .kvAreaIndex {
    min-width: 0;
    min-height: 0;
    height: auto !important;
    background: none;
  }
  .kvAreaInner {
    padding: 0 0 30px;
    z-index: auto;
  }
  .kvVideo {
      display: none !important;
  }
  .kvAreaInner .l-column {
    height: 100%;
    padding: 0;
    -webkit-justify-content: center;
            justify-content: center;
  }
  .kvSpSlider {
    display: block;
    position: relative;
  }
  .kvSpSlider img {
    width: 100%;
    height: auto;
  }
  .kvAreaInner .img {
    display: block;
    width: 100%;
    position: relative;
  }
  .kvAreaInner .img img {
    width: 100%;
    height: auto;
  }
  .scrollBoxSp {
    display: block;
    color: #FFF;
    font-size: 12px;
    font-weight: bold;
    text-shadow: 0 0 4px #000;
    position: absolute;
    bottom: 42px;
    left: 50%;
    z-index: 10;
    transform: translateX(-50%);
  }
  .scrollBoxSp:before {
    content: "";
    width: 8px;
    height: 1px;
    border-bottom: 1px solid #fff;
    box-shadow: 0 0 4px #000;
    position: absolute;
    top: -40px;
    left: 50%;
    margin-right: -5px;
    z-index: 10;
    transform: translateX(-50%) rotate(-45deg);
    animation: sdb05L 1.5s infinite;
  }
  .scrollBoxSp:after {
    content: "";
    width: 8px;
    height: 1px;
    border-bottom: 1px solid #fff;
    box-shadow: 0 0 4px #000;
    position: absolute;
    top: -40px;
    left: 50%;
    margin-left: -5px;
    z-index: 10;
    transform: translateX(-50%) rotate(45deg);
    animation: sdb05R 1.5s infinite;
  }
  .kvBanList {
    margin-top: 10px;
    padding: 0;
    position: relative;
    bottom: 0;
  }
  .kvBanList img {
    width: 100%;
    height: auto;
  }
  .kvAreaIndex .kvBanList > li {
    width: 84%;
    margin: 0 auto;
  }
  .kvAreaIndex .kvBanList .slick-slide {
    width: auto;
    margin: 0;
    padding: 0 5px;
  }
  .slick-dots {
    display: flex !important;
    -webkit-justify-content: center;
            justify-content: center;
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
  }
  .slick-dots li {
    width: 12px;
    height: 12px;
    margin-left: 16px;
    color: transparent;
    background-color: #BFC4C7;
    border-radius: 50px;
    cursor: pointer;
  }
  .slick-dots li:first-child {
    margin-left: 0;
  }
  .slick-dots button {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: none;
    background-color: transparent;
    outline-style: none;
  }
  .slick-dots li.slick-active {
    background-color: #D50000;
  }

  /*アラート表示*/
  .alert .kvAreaInner {
    padding-bottom: 30px;
  }
  .alert .alertBox {
    padding: 30px 20px;
    position: static;
    background-color: #FFF;
  }
  .alert .alertBox .flexWrap {
    padding: 8px 20px 10px;
    display: block;
  }
  .alert .alertBox .tit {
    padding-left: 41px;
    margin: 0 0 4px;
  }
  .alert .alertBox li a {
    display: block;
    transition: none;
  }
  .alert .alertBox li a:hover {
    opacity: 1;
  }
  .alert .alertBox li span {
    display: block;
  }
  .alert .alertBox .head {
    margin: 0 0 0px;
  }

  .kvScrollBox {
    display: none;
  }
}
@-webkit-keyframes sdb05L {
  0% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}
@keyframes sdb05L {
  0% {
    transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}
@-webkit-keyframes sdb05R {
  0% {
    -webkit-transform: rotate(45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(45deg) translate(20px, 20px);
    opacity: 0;
  }
}
@keyframes sdb05R {
  0% {
    transform: rotate(45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotate(45deg) translate(20px, 20px);
    opacity: 0;
  }
}

@media screen and (max-width: 960px) {
}

.indexSectionTit {
  min-width: 1100px;
  margin: 0 auto 32px;
  font-size: 18px;
  line-height: 3;
  text-align: center;
}
.indexSectionTit span {
  margin-bottom: -2px;
  display: block;
  font-size: 48px;
  line-height: 1.125;
}

@media screen and (max-width: 960px) {
  .indexSectionTit {
    min-width: 0;
    margin-bottom: 22px;
    font-size: 18px;
    line-height: 3;
    text-align: center;
  }
  .indexSectionTit span {
    margin-bottom: -4px;
    display: block;
    font-size: 40px;
    line-height: 1.125;
  }
}

.btnMore a {
  width: 184px;
  height: 48px;
  margin: 45px auto 0;
  border-radius: 0;
}

@media screen and (max-width: 960px) {
  .btnMore a {
    margin-top: 34px;
  }
}

.label {
  padding: 2px 6px 1px 5px;
  margin-right: 4px;
  color: #FFF;
  font-size: 14px;
  text-align: center;
  background-color: #000;
  display: inline-block;
}

.labelWrap {
  margin-top: -7px;
}
.labelWrap .label {
  margin-top: 7px;
}

.date {
  color: #666666;
  font-size: 14px;
  line-height: 1.7857;
}

@media screen and (max-width: 960px) {
}

/*テクノロジー*/
.technologyArea {
  width: 100%;
  padding-top: 80px;
}
.technologyArea .lead {
  margin-bottom: 44px;
  font-size: 16px;
  line-height: 1.75;
  text-align: center;
}
.technologyArea .technologyList {
  position: relative;
}
.technologyArea .technologyList:after {
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: -2px;
  left: 0;
  z-index: 10;
  background-color: #FFF;
}
.technologyArea .technologyList .item {
  width: 20%;
  transition: .3s;
  margin-bottom: -2px;
}
.technologyArea .technologyList .item a {
  position: relative;
  display: block;
}
.technologyArea .technologyList .item .textBox {
  width: calc(100% - 52px);
  position: absolute;
  top: 42px;
  left: 26px;
  z-index: 10;
  word-break: break-all;
  transition: .3s;
}
.technologyArea .technologyList .item:hover .textBox {
  opacity: 0.7;
}
.technologyArea .technologyList .img img {
  width: 100.2%;
  height: auto;
}
.technologyArea .technologyList .num {
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: bold;
  position: relative;
  display: inline-block;
  line-height: 1.4;
  border-bottom: 2px solid #D50000;
}
.technologyArea .technologyList .tit {
  font-size: 26px;
  line-height: 1.25;
}
.technologyArea .technologyList .item.cLight .num,
.technologyArea .technologyList .item.cLight .tit {
  color: #FFF;
}

@media screen and (max-width: 960px) {
  .technologyArea {
    width: 100%;
    padding-top: 67px;
  }
  .technologyArea .indexSectionTit {
    margin-bottom: 15px;
  }
  .technologyArea .lead {
    margin-bottom: 35px;
  }
  .technologyArea .technologyList {
    height: 100%;
    margin-bottom: 0;
    display: block;
  }
  .technologyArea .technologyList:after {
    content: normal;
  }
  .technologyArea .technologyList .item {
    width: 100%;
    transition: .3s;
    position: relative;
  }
  .technologyArea .technologyList .item a .img:before {
    width: calc(100% - 2px);
    height: calc(100% - 3px);
  }
  .technologyArea .technologyList .item .textBox {
    top: 12.765957447%;
    left: 8%;
  }
  .technologyArea .technologyList .img {
    width: 100%;
  }
  .technologyArea .technologyList .num {
    margin-bottom: 12px;
  }
  .technologyArea .technologyList .tit {
    font-size: 32px;
    line-height: 1.09375;
  }
  .technologyArea .technologyList .tit.fzS {
    font-size: 26px;
    line-height: 1.25;
  }
}

/*ニュース*/
.newsArea {
  padding: 80px 0 130px;
}
.slideShowBox {
  min-width: 1100px;
  margin: 0 auto;
  position: relative;
}
.slideShowBox a {
  display: block;
  padding: 0 15px;
}
.slideShowBox .img {
  width: 100%;
  padding-top: 56.209150327%;
  margin-right: 17px;
  margin-bottom: 12px;
  background-color: #E3E3E3;
  position: relative;
  overflow: hidden;
}
.slideShowBox .img.noImg {
  background-color: #fff;
  border: 1px solid #DDD;
}
.slideShowBox img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transform-origin: center;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  transition: .3s;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}
.slideShowBox a .img:before {
  content: "";
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  border: 1px solid #D50000;
  transition: .3s;
  opacity: 0;
  pointer-events: none;
}
.slideShowBox a:hover .img:before {
  opacity: 1;
}
.slideShowBox a:hover img {
  transform: translate(-50%, -50%) scale(1.1);
}
.slideShowBox a:hover .textBox {
  opacity: 0.7;
}
.slideShowBox .labelWrap {
  margin-bottom: 13px;
}
.slideShowBox .date {
  display: block;
  margin-bottom: 5px;
  color: #41454D;
}
.slideShowBox .textBox {
  transition: .3s;
}
.slideShowBox .txt {
  font-weight: bold;
}
.slideShowBox .slick-arrow {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  background-color: transparent;
  padding-bottom: 8px;
  position: absolute;
  top: -81px;
  color: #666;
  /*font-size: 16px;*/
  font-size: 0px;
  font-family: "Trebuchet MS","Arial","Futura";
  line-height: 1.5;
  cursor: pointer;
}
.slideShowBox .slick-next {
  left: 50%;
  margin-left: -455px;
  /*left: 88px;*/
}
.slideShowBox .slick-prev {
  right: 50%;
  margin-right: -456px;
  /*right: 86px;*/
}
.slideShowBox .slick-arrow:before,
.slideShowBox .slick-arrow:after {
  content: "";
  position: absolute;
  bottom: 0;
  transition: .3s;
}
.slideShowBox .slick-arrow:before {
  width: 18px;
  height: 1px;
  background-color: #BFC4C7;
}
.slideShowBox .slick-arrow:after {
  width: 80px;
  height: 1px;
  background-color: #BFC4C7;
}
.slideShowBox .slick-next:after {
  right: 0;
}
.slideShowBox .slick-prev:after {
  left: 0;
}
.slideShowBox .slick-next:before {
  right: 65px;
  transform: translateY(-7px) rotate(-48deg);
}
.slideShowBox .slick-prev:before {
  left: 65px;
  transform: translateY(-7px) rotate(48deg);
}
.slideShowBox .slick-arrow:hover {
  color: #000;
}
.slideShowBox .slick-arrow:hover:after {
  width: 100px;
}
.slideShowBox .slick-next:hover:after {
  right: 0;
  background-color: #000;
}
.slideShowBox .slick-prev:hover:after {
  left: 0;
  background-color: #000;
}
.slideShowBox .slick-next:hover:before {
  right: 85px;
  background-color: #000;
}
.slideShowBox .slick-prev:hover:before {
  left: 85px;
  background-color: #000;
}

@media screen and (max-width: 960px) {
  .newsArea {
    padding: 100px 0 100px;
  }
  .slideShowBox {
    min-width: 0;
  }
  .slideShowBox a {
    display: block;
    padding: 0 10px;
  }
  .slideShowBox .img {
    margin-bottom: 12px;
  }
  .slideShowBox .slick-arrow {
    top: -72px;
  }
  .slideShowBox .slick-arrow span {
    opacity: 0;
  }
  .slideShowBox .slick-next {
    margin-left: auto;
    left: 46px;
  }
  .slideShowBox .slick-prev {
    margin-right: auto;
    right: 46px;
  }
  .slideShowBox .slick-arrow:after {
    width: 50px;
  }
  .slideShowBox .slick-next:after {
    right: 0px;
  }
  .slideShowBox .slick-prev:after {
    left: 0px;
  }
  .slideShowBox .slick-next:before {
    right: 35px;
    transform: translateY(-7px) rotate(-48deg);
  }
  .slideShowBox .slick-prev:before {
    left: 35px;
    transform: translateY(-7px) rotate(48deg);
  }
  .slideShowBox .slick-arrow:hover {
    color: #000;
  }
  .slideShowBox .slick-arrow:hover:after {
    width: 70px;
  }
  .slideShowBox .slick-next:hover:after {
    right: 0;
    background-color: #000;
  }
  .slideShowBox .slick-prev:hover:after {
    left: 0;
    background-color: #000;
  }
  .slideShowBox .slick-next:hover:before {
    right: 55px;
    background-color: #000;
  }
  .slideShowBox .slick-prev:hover:before {
    left: 55px;
    background-color: #000;
  }
}

/*イベント*/
.eventArea {
  padding: 81px 0 130px;
  background-color: #F5F5F5;
}
.eventlist {
  justify-content: center;
}
.eventlist li {
  width: 100%;
  margin-top: 30px;
}
.eventlist li:first-child {
  margin-top: 0;
}
.eventlist .img {
  width: 31.37254902%;
  padding-top: 17.647058824%;
  margin-right: 24px;
  overflow: hidden;
  position: relative;
  background-color: #E3E3E3;
}
.eventlist .img:before {
  content: "";
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  border: 1px solid #D50000;
  transition: .3s;
  opacity: 0;
  pointer-events: none;
}
.eventlist .img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transform-origin: center;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  transition: .3s;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}
.eventlist a:hover .textBox {
  opacity: 0.7;
}
.eventlist a:hover .img:before {
  opacity: 1;
}
.eventlist a:hover img {
  transform: translate(-50%, -50%) scale(1.1);
}
.eventlist .textBox {
  flex: 1;
  transition: .3s;
}
.eventlist .labelWrap {
  margin-bottom: 10px;
}
.eventlist .date {
  margin-bottom: 5px;
  display: block;
  font-size: 14px;
  line-height: 1.5;
}
.eventlist .tit {
  font-size: 16px;
  font-weight: bold;
}
.eventArea .btnMore a {
  margin-top: 50px;
}

@media screen and (max-width: 960px) {
  .eventArea {
    padding: 79px 0 100px;
    background-color: #F5F5F5;
  }
  .eventlist li {
    width: 100%;
    margin: 53px 0 0;
  }
  .eventlist li:first-child {
    margin: 0;
  }
  .eventlist a {
    display: block;
  }
  .eventlist .img {
    width: 100%;
    padding-top: 56.25%;
    margin-right: 0;
    margin-bottom: 10px;
  }
  .eventlist .img img {
    width: 100%;
    height: auto;
  }
  .eventlist .textBox {
    width:  100%;
    min-height: 105px;
  }
  .eventlist .tit {
    font-size: 20px;
  }
  .eventArea .btnMore a {
    margin-top: 42px;
  }
}

/*サービス・ソリューション*/
.solutionArea {
  width: 100%;
  min-width: 1100px;
}
.index .solutionArea {
  /*
  ローンチ時、間隔調整用
  padding: 80px 0 80px;*/
  padding: 80px 0 0;
}
.solutionBox {
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: center;
          justify-content: center;
}
.solutionItemCopy {
  width: 33.333%;
  padding: 31px 35px 15px 44px;
  background-color: #eee;
}
.en .solutionItemCopy {
  padding: 25px 35px 13px 44px;
}
@media screen and (max-width: 1140px){
  .wideOnly {
    display: none;
  }
}
.solutionItemCopyTit {
  color: #434242;
  font-size: 21px;
  font-weight: bold;
}
.en .solutionItemCopy {
  font-size: 21px;
  line-height: 1.5;
}
.solutionItem {
  width: 33.333%;
  cursor: pointer;
  background-color: #F5F5F5;
  position: relative;
}
.solutionItem .img {
  position: relative;
}
.solutionItem .img:before {
  content: normal;
}
.solutionItem .img img {
  width: 100%;
  height: auto;
  transition: .3s;
  transform: scale(1.01);
}
.solutionItem:hover .img:after {
  background-color: rgba(0, 0, 0, .7);
}
.solutionItem .tit {
  position: absolute;
  top: 31px;
  left: 44px;
  z-index: 10;
  margin-top: 1px;
  color: #434242;
  font-size: 22px;
  font-weight: bold;
  white-space: nowrap;
}
.solutionItem .tit span {
  margin-top: -13px;
  margin-bottom: 16px;
  display: block;
  font-size: 16px;
  font-weight: normal;
  line-height: 2.5;
}
.solutionItem .tit:after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 1px solid #242424;
  border-bottom: 1px solid #242424;
  position: absolute;
  left: 5px;
  bottom: -7px;
  transform: rotate(45deg);
  /*transition: .3s;*/
}
.us .solutionItem .tit:after,
.china .solutionItem .tit:after,
.india .solutionItem .tit:after,
.eu .solutionItem .tit:after {
  right: -16px;
  left: auto;
  bottom: 50%;
  transform: rotate(-45deg) translateY(50%);
}
.solutionItem .tit .spEnTit {
  display: none;
}
.solutionItem .tit .pcEnTit {
  display: block;
}
.solutionItem.is-active .tit:after {
  transform: rotate(-135deg);
}
.solutionItem.itemLight .tit {
  color: #fff;
}
.solutionItem.itemLight .tit:after {
  border-color: #fff;
}
.solutionItem:hover .tit:after,
.solutionItem.itemLight:hover .tit:after,
.solutionItem.is-active .tit:after,
.solutionItem.itemLight.is-active .tit:after {
  border-color: #D50000;
}
.solutionArea .menuWrap {
  width: 100%;
  background-color: #F5F5F5;
  position: relative;
}
.solutionArea .menu {
  width: 100%;
  padding-bottom: 16px;
  clear: both;
  position: relative;
  display: none;
  overflow: hidden;
}
.solutionArea .solutionItem:before {
  content: "";
  width: 30px;
  height: 15px;
  position: absolute;
  left: 50%;
  bottom: -15px;
  transform: translate(-50%);
  z-index: 100;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  opacity: 0;
}
.solutionArea .solutionItem.odd:before {
  left: calc(20% + 30px);
}
.solutionArea .solutionItem.even:before {
  right: 20%;
}
.solutionArea .solutionItem.solution3dCad:before {
  background-image: url(../img/service-solution/index/ico_arrow_3d_cad.png);
}
.solutionArea .solutionItem.solutionCae:before {
  background-image: url(../img/service-solution/index/ico_arrow_cae.png);
}
.solutionArea .solutionItem.solutionMbd:before {
  background-image: url(../img/service-solution/index/ico_arrow_mbd.png);
}
.solutionArea .solutionItem.solution3d:before {
  background-image: url(../img/service-solution/index/ico_arrow_3d.png);
}
.solutionArea .solutionItem.solutionInnovation:before {
  background-image: url(../img/service-solution/index/ico_arrow_innovation.png);
}
.solutionArea .solutionItem.is-active:before {
  opacity: 1;
}
.solutionArea .menu a {
  color: #405461;
  position: relative;
  transition: .3s;
  display: block;
}
.solutionArea .menu a:hover {
  opacity: 0.7;
}
.solutionArea .menu .tit {
  padding: 25px 30px 0px;
  margin-bottom: 6px;
}
.solutionArea .menu .tit a {
  padding-right: 40px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.4;
  display: inline-block;
}
.solutionArea .menu .flexWrap {
  position: relative;
}
.solutionArea .menu .flexWrap:after {
  content: "";
  width: 1px;
  height: calc(100% - 28px);
  background-color: #BFC4C7;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.solutionArea .menu .list {
  width: calc(50% - 1em);
  padding: 10px 30px 24px;
  margin-left: 1em;
}
.solutionArea .menu li {
  margin-top: 14px;
  list-style-type: none;
}
.solutionArea .menu li:first-child {
  margin-top: 0;
}
.solutionArea .menu li a {
  font-size: 16px;
  line-height: 1.687;
}
.solutionArea .menu a {
  color: #405461;
}
.solutionArea .menu a:after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 1px solid #405461;
  border-bottom: 1px solid #405461;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}
.solutionArea .menu a:hover {
  color: #D50000;
}
.menuSpWrap .btnClose {
  display: none;
}

@media screen and (max-width: 960px) {
  .solutionArea {
    min-width: 0;
  }
  .solutionItemCopy,
  .en .solutionItemCopy {
    width: 100%;
    padding: 28px;
  }
  .solutionItemCopyTit{
    font-size: 18px;
  }
  .solutionItem {
    width: 100%;
    float: none;
  }
  .solutionItem:hover .img:after {
    background-color: rgba(0, 0, 0, .4);
  }
  .solutionItem .tit {
    top: 28px;
    left: 28px;
    margin-top: 0;
    font-size: 18px;
    line-height: 1.555;
  }
  .solutionItem .tit span {
    margin-bottom: 4px;
    font-size: 14px;
  }
  .solutionItem .tit .spEnTit {
    display: block;
  }
  .solutionItem .tit .pcEnTit {
    display: none;
  }
  .solutionItem .tit:after {
    content: "";
    width: 7px;
    height: 7px;
    position: absolute;
    left: 23px;
    bottom: -15px;
    transform: rotate(45deg);
  }
  .solutionArea .menuSpWrap {
    width: 100%;
    background-color: #F5F5F5;
  }
  .solutionArea .menuWrap:before {
    content: normal;
  }
  .solutionArea .menu {
    width: 100%;
  }
  .solutionArea .menu.odd,
  .solutionArea .menu.even {
    margin: 0;
  }
  .solutionArea .menu .flexWrap {
    display: block;
  }
  .solutionArea .menu .flexWrap:after {
    content: normal;
  }
  .solutionArea .menu .list {
    width: 100%;
    margin-left: 0;
  }
  .solutionArea .menu .list + .list {
    margin-top: -20px;
  }
  .solutionArea .menu a {
    padding-right: 70px;
  }
  .solutionArea .menu .tit {
    padding-top: 40px;
  }
  .solutionArea .menu .tit a {
    display: block;
    padding-right: 10px;
    font-size: 16px;
    line-height: 1.4;
  }
  .solutionArea .menu li {
    width: 100%;
    display: block;
  }
  .menuSpWrap .btnClose {
    width: 184px;
    height: 48px;
    padding: 8px 5px 10px;
    margin: 0 auto 40px;
    text-align: center;
    border: 1px solid #242424;
    font-size: 16px;
    position: relative;
    display: none;
    transition: .3s;
  }
  .menuSpWrap .btnClose:hover {
    opacity: 0.7;
  }
  .menuSpWrap .btnClose span {
    width: 14px;
    height: 14px;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
  }
  .menuSpWrap .btnClose span:before,
  .menuSpWrap .btnClose span:after {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #242424;
    position: absolute;
    top: 50%;
    left: 0;
  }
  .solutionArea .btnClose span:before {
    transform: translateY(-50%) rotate(45deg);
  }
  .solutionArea .btnClose span:after {
    transform: translateY(-50%) rotate(-45deg);
  }
  .menuSpWrap.is-active .btnClose {
    display: block;
  }
}

/*インダストリー&事例*/
.casestudyArea {
  padding: 80px 0 80px;
  background-color: #F5F5F5;
}
.casestudylist {
  justify-content: center;
}
.casestudylist li {
  width: calc((100% - 60px) / 3);
  margin-left: 30px;
}
.casestudylist li:first-child {
  margin-left: 0;
}
.casestudylist .img {
  margin-bottom: 11px;
}
.casestudylist img {
  width: 100%;
  height: auto;
  transition: .3s;
  -webkit-backface-visibility: hidden;
     -moz-backface-visibility: hidden;
          backface-visibility: hidden;
}
.casestudylist .textBox {
  transition: .3s;
}
.casestudylist a:hover .textBox {
  opacity: 0.7;
}
.casestudylist .labelWrap {
  margin-bottom: 10px;
}
.casestudylist .date {
  margin-bottom: 5px;
  display: block;
  font-size: 14px;
}
.casestudyArea .btnMore a {
  margin-top: 43px
}
.casestudy .relatedListArea .txt {
  font-weight: bold;
}

@media screen and (max-width: 960px) {
  .casestudyArea {
    padding: 78px 0 99px;
  }
  .casestudylist {
    justify-content: center;
  }
  .casestudylist li {
    width: 100%;
    margin: 35px 0 0 0px;
  }
  .casestudylist li:first-child {
    margin: 0;
  }
  .casestudylist li a {
    display: block;
  }
  .casestudylist .img {
    margin-bottom: 5px;
  }
  .casestudyArea .btnMore a {
    margin-top: 35px;
  }
}

/*技術コラム*/
.columnArea {
  padding: 80px 0 130px;
}
.columnArea .articleListH li {
  margin-top: 32px;
}
.articleListH li:first-child {
  margin-top: 0;
}
.articleListH a {
  overflow: hidden;
  display: block;
}
.articleListH a:after {
  content: "";
  display: table;
  clear: both;
}
.articleListH a:hover .textBox {
  opacity: 0.7;
}
.articleListH .img {
  width: 31.374%;
  padding-top: 17.648%;
  float: left;
  margin-right: 24px;
  overflow: hidden;
  position: relative;
  background-color: #DDDDDD;
}
.articleListH .img:before {
  content: "";
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  border: 1px solid #D50000;
  transition: .3s;
  opacity: 0;
}
.articleListH.loadContents .img.noImg,
.relatedList .img.noImg {
  background-color: #fff;
  border: 1px solid #DDD;
}
.articleListH .img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transform-origin: center;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  transition: .3s;
  -webkit-backface-visibility: hidden;
     -moz-backface-visibility: hidden;
          backface-visibility: hidden;
}
.articleListH a:hover .img:before {
  opacity: 1;
}
.articleListH a:hover img {
  transform: translate(-50%, -50%) scale(1.1);
}
.articleListH .textBox {
  overflow: hidden;
  transition: .3s;
}
.articleListH .labelWrap {
  margin-bottom: 11px;
}
.articleListH .date {
  display: block;
  margin-bottom: 5px;
}
.articleListH .tit {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.75;
}

@media screen and (max-width: 960px) {
  .columnArea {
    padding: 80px 0 100px;
  }
  .articleListH li {
    margin-top: 56px;
  }
  .articleListH .img {
    width: 100%;
    padding-top: 56.25%;
    margin: 0 0 5px;
    float: none;
  }
  .articleListH .labelWrap {
    margin-bottom: 1px;
  }
  .articleListH .tit {
    font-size: 20px;
  }
  .articleListH .date {
    display: block;
    margin: 0 0 6px;
  }
}

/*採用情報*/
.recruitArea {
  height: 23.9vw;
  padding: 12px 0 11px;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  align-items: center;
  justify-content: center;
  background: url(../img/index/bg_reqruite.jpg) no-repeat center / cover;
}
.recruitArea .indexSectionTit {
  margin-bottom: 28px;
}
.recruitArea .btnMore {
  min-width: 1100px;
  margin: 0 auto;
}
.recruitArea .btnMore a {
  margin-top: 0;
}

@media screen and (max-width: 960px) {
  .recruitArea {
    height: 330px;
    padding: 0;
    align-items: flex-start;
  }
  .recruitArea .indexSectionTit {
    margin-top: 2px;
    margin-bottom: 25px;
  }
  .recruitArea .btnMore {
    min-width: 0;
  }
}

/*お問い合わせ*/
.contactArea {
  max-width: 1366px;
  min-width: 1100px;
  margin: 0 auto;
  padding: 80px 0 80px;
}
.contactArea li {
  width: 50%;
}
.contactArea li:first-child {
  border-right: 1px solid #BFC4C7;
}
.contactArea a {
  width: 100%;
  height: 120px;
  padding-top: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  transition: .3s;
}
.contactArea a span {
  margin-bottom: 3px;
  font-size: 36px;
  line-height: 1.5;
}
.contactArea a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 960px) {
  .contactArea {
    min-width: 0;
    padding: 30px 20px 30px;
    display: block;
  }
  .contactArea li {
    width: 100%;
  }
  .contactArea li:first-child {
    border-right: none;
    padding-bottom: 31px;
    margin-bottom: 31px;
    border-bottom: 1px solid #BFC4C7;
  }
  .contactArea a {
    height: auto;
    padding: 0;
  }
  .contactArea a span {
    margin-bottom: 0;
  }
}

/*緊急のお知らせエリア*/
.urgentInfo{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 3px solid #d31176;
  margin: 20px auto 0;
  padding: 8px 0;
  max-width: 1020px;
}
.urgentInfoWrap {
  width: 100%;
  padding: 0 40px;
}
.urgentInfoName {
  font-size: 16px;
  padding: 0;
  font-weight: 700;
  width: 213px;
  text-align: center;
  height: 100%;
  color: #ce000c;
}
.urgentInfoName span {
  width: 25px;
  height: auto;
  display: inline-block;
  margin-right: 20px;
}
.urgentInfoName span>img {
  width: 100%;
  height: auto;
  vertical-align: text-top;
}
.urgentInfoCont {
  font-size: 1.6rem;
  border-left: 2px solid #d31176;
  padding: 0 28px;
  width: calc(100% - 166px);
}
.urgentInfoContList li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  float: left;
}
.urgentInfoUnit {
  margin-right: 30px;
}
.urgentInfoDate {
  font-size: 14px;
}
.urgentInfoTitle a:hover {
  text-decoration: underline;
}
@media screen and (max-width: 960px) {
  .urgentInfo{
    padding: 0 13px;
    display: inherit;
    margin: 0;
    max-width: none;
    border: 2px solid #d31176;
  }
  .urgentInfoWrap {
    padding: 0 8px;
  }
  .urgentInfoName {
    border-bottom: 1px solid #d31176;
    width: 100%;
    padding: 4px 5px;
  }
  .urgentInfoName span {
    width: 22px;
    margin-right: 13px;
  }
  .urgentInfoCont {
    border-left: none;
    padding: 5px 7px 9px;
    font-size: 14px;
    width: 100%;
  }
  .urgentInfoContList li {
    display: inline-block;
    float: none;
  }
  .urgentInfoUnit {
    margin-right: 0;
  }
  .urgentInfo_date {
    font-size: 12px;
  }
}
/* 3Dプリンティング エンジニアリングサービス TOP */
.service-top #news-service{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 25px;
}
.service-top #news-service > p{
  width: 17%;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  padding-top: 8px;
}
.service-top #news-service dl {
  width: 83%;
  overflow: hidden;
  border-top: 1px solid #f1f1f1;
  padding: 0 0 0 0;
}
.service-top #news-service dt {
  width: 100px;
  float: left;
  clear: both;
  padding: 17px 0 15px 0;
}
.service-top #news-service dd {
  padding: 17px 0 15px 120px;
  border-bottom: 1px solid #f1f1f1;
}
.service-top #news-service a{
  display: block;
}
.service-top #news-service a:hover{
  opacity: 0.7;
}
.service-top .catch h2{
  font-size: 34px;
  margin-bottom: 60px;
}
.service-top .catch p{
  margin-bottom: 30px;
}
.service-top .catch p:last-of-type{
  margin-bottom: 0px;
}
.service-top.service-printing3d .sec01 .img{
  width: 50%;
}
.service-top.service-printing3d .sec01 .textBox{
  width: 45%;
}
.service-top.service-printing3d .sec01 .textBox p{
  margin-bottom: 30px;
}
.service-top .prototypeCaseBtn {
  width: 100%;
  max-width: 315px;
  margin: 70px auto 0 auto;
}
.service-top .prototypeCaseBtn a {
  width: 100%;
  padding: 9px 20px 9px;
  color: #D50000;
  font-size: 16px;
  border: 1px solid #D50000;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: #FFF;
  position: relative;
  transition: .3s;
}
.service-top .prototypeCaseBtn a::before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #D50000;
  border-right: 1px solid #D50000;
  position: absolute;
  top: 50%;
  right: 16px;
  z-index: 10;
  margin-top: -1px;
  transform: translateY(-50%) rotate(45deg);
}
.service-top .prototypeCaseBtn a:hover {
  opacity: 0.7;
}
.service-top .prototypeCaseBtn2 {
  width: 100%;
  max-width: 315px;
  margin: 70px auto 0 auto;
}
.service-top .prototypeCaseBtn2 a {
  width: 100%;
  padding: 9px 20px 9px;
  color: #FFFFFF;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: #D50000;
  position: relative;
  transition: .3s;
}
.service-top .prototypeCaseBtn2 a::before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #FFFFFF;
  border-right: 1px solid #FFFFFF;
  position: absolute;
  top: 50%;
  right: 16px;
  z-index: 10;
  margin-top: -1px;
  transform: translateY(-50%) rotate(45deg);
}
.service-top .prototypeCaseBtn2 a:hover {
  opacity: 0.7;
}
.service-top .sec-service .contents-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 80px;
}
.service-top .sec-service .contents-wrap:nth-child(even) {
  flex-direction: row-reverse;
}
.service-top .sec-service .img{
  width: 37%;
}
.service-top .sec-service .img img{
  max-width: 100%;
}
.service-top .sec-service .text{
  width: 56%;
}
.service-top .sec-service h3{
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 16px;
}
.service-top .prototypeCaseBtn + .prototypeCaseBtn{
  margin-top: 20px;
}
.service-top.service-printing3d .sec03 div{
  text-align: center;
}
.service-top.service-printing3d .sec03 img,.service-top.service-printing3d .sec04 img{
  max-width: 100%;
}
.service-top .sec-case .contents-wrap a,.service-solution .sec-case .contents-wrap a{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 60px;
}
.service-top .sec-case .contents-wrap:nth-child(even) a,.service-solution .sec-case .contents-wrap:nth-child(even) a {
  flex-direction: row-reverse;
}
.service-top .sec-case .contents-wrap,.service-solution .sec-case .contents-wrap{
  transition:all .2s;
}
.service-top .sec-case .contents-wrap:hover,.service-solution .sec-case .contents-wrap:hover{
  opacity: 0.7;
  transition:all .2s;
}
.service-top .sec-case .text,.service-solution .sec-case .text {
  width: 46%;
  background: #f5f5f5;
  padding: 35px 35px 0 45px;
}
.service-top .sec-case .img,.service-solution .sec-case .img {

  width: 54%;
  background: #f5f5f5;
}
.service-top .sec-case .img img,.service-solution .sec-case .img img{

  max-width: 100%;
}
.service-top .sec-case h3,.service-solution .sec-case h3{
  background: #d50000;
  color: #FFFFFF;
  font-size: 20px;
  font-weight: bold;
  margin: 0 -15% 30px -2%;
  padding: 18px 0 16px 18px;
  position: relative;
  z-index: 10;
}
.service-top .sec-case .contents-wrap:nth-child(odd) h3,.service-solution .sec-case .contents-wrap:nth-child(odd) h3{
  margin: 0 -2% 30px -15%;
}
.service-top .sec-case h3 span,.service-solution .sec-case h3 span{
  width: 90px;
  text-align: center;
  display: block;
  font-size: 13px;
  border: 1px solid #FFFFFF;
  padding: 1px 5px 1px 5px;
}

@media screen and (max-width: 960px) {

.service-top #news-service > p{
  width: 100%;
  font-size: 24px;
}
.service-top #news-service dl {
  width: 100%;
  padding: 0 0 0 0;
}
.service-top #news-service dt {
  width: 100px;
  float: none;
  padding: 8px 0 8px 0;
  color: #818181;
}
.service-top #news-service dd {
  padding: 0 0 8px 0;
  border-bottom: 1px solid #f1f1f1;
}
.service-top .catch h2{
  font-size: 22px;
  margin-bottom: 30px;
}
.service-top .catch p{
  margin-bottom: 20px;
}
.service-top .catch p:last-of-type{
  margin-bottom: 20px;
}
.service-top.service-printing3d .sec01 .img{
  width: 100%;
}
.service-top.service-printing3d .sec01 .textBox{
  width: 100%;
}
.service-top .sec01 .textBox p{
  margin-bottom: 20px;
}
.service-top .sec-service .contents-wrap {
  margin-bottom: 55px;
}
.service-top .sec-service .contents-wrap:nth-child(even) {
  flex-direction: row-reverse;
}
.service-top .sec-service .img{
  width: 100%;
  margin-bottom: 15px;
}
.service-top .sec-service .text{
  width: 100%;
}
.service-top .prototypeCaseBtn {
  margin: 30px auto 0 auto;
}

.service-top .sec-case .text,.service-solution .sec-case .text {
  width: 100%;
  background: #f5f5f5;
  padding: 0 0 0 0;
}
.service-top .sec-case .img,.service-solution .sec-case .img {
  width: 100%;
}
.service-top .sec-case h3,.service-solution .sec-case h3{
  font-size: 18px;
  margin: 0 0 25px 0;
  padding: 12px 12px 14px 12px;
}
.service-top .sec-case .contents-wrap:nth-child(odd) h3,.service-solution .sec-case .contents-wrap:nth-child(odd) h3{
  margin: 0 0 25px 0;
}
.service-top .sec-case .text p,.service-solution .sec-case .text p{
  padding: 0 10px 20px 10px;
}
}
.service-solution .solution-top .contents-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  margin: 0 auto;
}
.service-solution .solution-top .set {
  width: calc(100% / 3);
  position: relative;
}
.service-solution.service-mbd .solution-top .contents-wrap{
    max-width: 1000px;
    margin: 0 auto 80px auto;
}
.service-solution.service-mbd .solution-top .set{
  width: calc(100% / 2);
}
.service-solution .solution-top .set img{
  width: 100%;
}
_:-ms-lang(x)::-ms-backdrop, .solution-top .set {
  width: 33.33%; /* IE11 only */
}
.service-solution .solution-top .set:hover .thumbnail-wrapper:after {
  opacity: 1;
}
.service-solution .solution-top .set:hover .thumbnail-wrapper img {
  transform: scale(1.3);
  filter: blur(3px) grayscale(80%);
}
.service-solution .solution-top .set:hover .more-text {
  transform: translate(0%, -25%);
  opacity: 1;
}
.service-solution .solution-top .l-thumbnail {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: auto;
}
.service-solution .solution-top .l-thumbnail .more-text {
  transition: opacity 0.5s, transform 0.8s;
  text-align: left;
  position: absolute;
  left: 3%;
  bottom: 0%;
  transform: translate(0%, -0%);
  display: inline-block;
  padding: 6px 12px 8px;
  color: #fff;
  font-size: 14px;
  font-weight: lighter;
  line-height: 1.4;
  letter-spacing: 1px;
  opacity: 0;
}
_:-ms-lang(x)::-ms-backdrop, .solution-top .l-thumbnail .more-text {
  top: 70%; /* IE11 only */
}
.service-solution .solution-top .thumbnail-wrapper {
  display: block;
  margin: 0;
  padding: 0;
}
.service-solution .solution-top .thumbnail-wrapper::after {
  transition: 0.5s;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
}
.service-solution .solution-top .thumbnail-wrapper img {
  transition: 0.5s;
  display: block;
  max-width: 100%;
}
.service-solution .solution-top  p.tit {
  position: absolute;
  top: 18px;
  left: 28px;
  font-size: 20px;
  color: #434242;
  font-weight: bold;
  line-height: 1.6;
  z-index: 100;
  transition: 0.5s;
}
.service-solution .solution-top .set:hover p.tit{
  color: #FFFFFF;
  transition: 0.5s;
}


@media screen and (max-width: 960px) {
  .service-solution .solution-top .set {
    width: 50%;
  }
}
@media screen and (max-width: 650px) {
  .service-solution .solution-top .set {
    width: 100%;
  }
    .service-solution.service-mbd .solution-top .set {
    width: 100%;
  }
  .service-solution .solution-top figure.re_photo {
    max-width: initial;
    max-height: initial;
  }
  .service-solution .solution-top  p.tit {
  font-size: 18px;
}
}
/* =========================================
テクノロジー
========================================= */
.article.technology {
  overflow: hidden;
}
.technology .kvArea {
  height: auto;
  padding-top: 100px;
}
.technology .contents {
  min-width: 0;
  max-width: 100%;
}
.technology .kvText {
  color: #242424;
  line-height: 3;
}
.technology .kvText span {
  font-size: 48px;
  font-weight: normal;
  line-height: 1.125;
}

/*index*/
.technology .mainLead {
  padding: 0 60px;
  margin-bottom: 74px;
  text-align: center;
}
.technology .technologyList {
}
.technology .technologyList .item {
  width: 100%;
  position: relative;
}
.technology .technologyList .item:after,
.technology .technologyList .item:first-of-type:before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #E3E3E3;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.technology .technologyList .item:first-of-type:before {
  top: 0;
  bottom: auto;
}
.technology .technologyList .flexWrap {
  min-width: 1100px;
  margin: 0 auto;
}
.technology .technologyList .textBox {
  min-height: 230px;
  margin-right: 58px;
  padding: 20px 0 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
}
.technology .technologyList .textBox .tit {
  margin-bottom: 16px;
  padding-left: 70px;
  font-size: 24px;
  line-height: 1;
  position: relative;
}
.technology .technologyList .textBox .num {
  padding-right: 20px;
  margin-right: 20px;
  border-right: 2px solid #D50000;
  font-weight: bold;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
}
.technology .technologyList .textBox .txt {
  margin-left: 70px;
}
.technology .technologyList a:hover .textBox {
  opacity: 0.7;
}
.technology .technologyList .img {
  width: 36.66666667%;
  margin-left: auto;
  margin-right: -52px;
  overflow: hidden;
  position: relative;
}
.technology .technologyList .img img {
  width: auto;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.technology .technologyList .btnNext {
  display: none;
}

@media screen and (max-width: 1100px) and (min-width: 961px)  {
  .technology .technologyList {
    /*margin: 0 -40px;*/
  }
  .technology .technologyList .img {
    margin-right: -40px;
  }
}

@media screen and (max-width: 960px) {
  .technology .main {
    padding-top: 0;
  }
  .technology .kvArea {
    height: auto;
    padding-top: 75px;
    margin-bottom: 32px;
  }
  .technology .kvAreaInner {
    padding-bottom: 0;
  }
  .technology .kvText {
    color: #242424;
    line-height: 1.25;
  }
  .technology .kvText span {
    font-size: 40px;
    margin-bottom: 5px;
    line-height: 1.5;
  }
  .technology .mainLead {
    padding: 0 28px;
  }
  .technology .technologyList .flexWrap {
    min-width: 0;
    padding: 0;
    margin: 0 auto;
  }
  .technology .technologyList .item:after {
    content: normal;
  }
  .technology .technologyList .item:last-of-type .textBox {
    padding-bottom: 0;
  }
  .technology .technologyList a {
    flex-direction: column;
  }
  .technology .technologyList .textBox {
    min-height: auto;
    margin-right: 0;
    padding: 26px 28px 79px;
    display: block;
    flex: 1;
    order: 2;
  }
  .technology .technologyList .textBox .tit {
    line-height: 1.333333333;
  }
  .technology .technologyList .textBox .tit .num {
    top: 5px;
    line-height: 1;
  }
  .technology .technologyList .textBox .txt {
    margin-left: 0;
  }
  .technology .technologyList .img {
    width: calc(100% + 56px);
    margin: 0 -28px;
    order: 1;
  }
  .technology .technologyList .img img {
    width: 100%;
    height: auto;
    position: static;
  }
  .technology .technologyList .btnNext {
    padding-top: 19px;
    display: block;
  }
  .technology .technologyList .btnNext span {
    width: 54.933333333%;
    padding: 9px 20px 10px 20px;
  }
}

/*story*/
.technology .mainTechnology {
  padding-top: 152px;
}
.technology .pageTitArea {
  width: 980px;
  margin: 0 auto 74px;
}
.technology .pageTit {
  margin-top: 0;
  margin-left: -20px;
  font-size: 26px;
  font-weight: normal;
  display: flex;
  align-items: center;
}
.technology .pageTit:after {
  width: 16px;
  height: 2px;
}
.technology .pageTit span {
  margin-left: 16px;
  font-size: 12px;
  display: inline-block;
}
.technologySubTit {
  margin-bottom: 45px;
  font-size: 34px;
  line-height: 1.529411765;
}
.mainImgTechnology {
  width: 100%;
  margin-bottom: 100px;
}
.mainImgTechnology img {
  width: 100%;
  height: auto;
}
.sectionTechnology {
  padding-bottom: 100px;
}
.sectionTechnology.bgColor {
  padding-top: 80px;
  background-color: #F5F5F5;
}
.sectionTechnology.bgColor2 {
  padding-top: 80px;
  background-color: #eaf6fb;
}
.titTechnology {
  width: 980px;
  margin: 0 auto 60px;
  padding: 0 55px 0 150px;
  display: flex;
  font-size: 26px;
  line-height: 1.615384615;
  position: relative;
}
.titTechnology:before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #707070;
  position: absolute;
  top: 20px;
  right: 860px;
}
.titTechnology span {
  display: block;
}
.titTechnology.indt4 {
  padding-left: calc(150px + 4em);
  padding-right: 0;
  text-indent: -4em;
}
.titTechnology.indt15 {
  padding-left: calc(150px + 15em);
  padding-right: 0;
  text-indent: -15em;
}
.titTechnology.indt17 {
  padding-left: calc(150px + 17em);
  padding-right: 0;
  text-indent: -17em;
}
.innerTechnology:after {
  content: "";
  display: table;
  clear: both;
}
.alignCenter {
  align-items: center;
}
.alignBottom {
  align-items: flex-end;
}
.innerTechnology .flexWrap {
  margin-bottom: 60px;
}
.innerTechnology .leftBox,
.innerTechnology .rightBox {
  width: calc(50% - 30px);
  flex: 1 0 auto;
}
.innerTechnology .leftBox {
  margin-right: 60px;
}
.innerTechnology .img {
  position: relative;
  z-index: 1;
}
.innerTechnology .img img {
  width: 100%;
  height: auto;
}
.boxImg {
  margin-bottom: 70px;
}
.themeTit {
  margin-bottom: 24px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.2;
  display: flex;
  align-items: center;
}
.themeTit span {
  margin-right: 20px;
  padding: 3px 6px 3px 7px;
  font-size: 14px;
  font-weight: normal;
  display: inline-block;
  border:  1px solid #707070;
}
.themeTit span {
  color: #D50000;
  font-weight: bold;
}
.listTechnology {
  margin-bottom: 34px;
}
.listTechnology li {
  margin-top: 25px;
  padding: 27px 30px 24px;
  background-color: #FFF;
}
.listTechnology li:first-child {
  margin-top: 0;
}
.listTechnology .listIcon:before {
  top: 11px;
}
.listTechnology .num {
  margin-bottom: 21px;
  color: #D50000;
  display: inline-block;
}

.commentBox {
  width: 768px;
  padding: 34px 40px 27px;
  color: #fff;
  background-color: #D50000;
  position: relative;
  z-index: 10;
}
.commentBox .name {
  margin-top: 6px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.commentBox .name:before {
  content: "";
  width: 46px;
  height: 1px;
  margin-right: 1em;
  background-color: #FFF;
  display: inline-block;
}
.commentBox.commentRight {
  float: right;
  margin-right: -60px;
}
.commentBox.commentLeft {
  float: left;
  margin-left: -60px;
  padding-left: 60px;
}
.commentBox.m- {
  margin-top: -100px;
  margin-bottom: 80px;
}
.theme3SubBox {
  clear: both;
}
.theme3SubBox .img {
  width: 75.057208238%;
}

.technologyLinkList {
  width: 87.272727273%;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}
.technologyLinkList .item {
  width: 20%;
  position: relative;
}
.technologyLinkList .item a {
  height: calc(100% - 1px);
  overflow: hidden;
  display: block;
  position: relative;
}
.technologyLinkList .item a.is-active {
  pointer-events: none;
}
.technologyLinkList .item a.is-active .img:before {
  opacity: 1;
}
.technologyLinkList .item img {
  width: 101%;
  height: auto;
}
.technologyLinkList .textBox {
  position: absolute;
  top: 12.765957447%;
  left: 8%;
  z-index: 100;
}
.technologyLinkList .item.cLight .textBox {
    color: #FFF;
}
.technologyLinkList .textBox .num {
  margin-bottom: 8px;
  font-size: 9px;
  border-bottom: 2px solid #D50000;
  display: inline-block;
}
.technologyLinkList .textBox .tit {
  font-size: 17px;
  line-height: 1.235294118;
}
.technologyBtnBack {
  width: 87.272727273%;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 960px) {
  /*story*/
  .technology .mainTechnology {
    padding-top: 60px;
  }
  .technology .pageTitArea {
    width: auto;
  }
  .technology .pageTit {
    margin-left: 0;
  }
  .technologySubTit {
    margin-bottom: 46px;
    font-size: 30px;
    line-height: 1.5;
  }
  .mainImgTechnology {
    width: 100%;
    margin-bottom: 80px;
  }
  .mainImgTechnology img {
    width: 100%;
    height: auto;
  }
  .sectionTechnology {
    padding-bottom: 80px;
  }
  .sectionTechnology.bgColor {
    padding-top: 80px;
  }
    .sectionTechnology.bgColor2 {
    padding-top: 80px;
  }
  .titTechnology {
    width: 100%;
    margin: 0 auto 47px;
    padding: 0 27px;
    display: block;
    font-size: 26px;
    line-height: 1.5;
    position: relative;
  }
  .titTechnology:before {
    width: 40px;
    margin-right: 10px;
    position: static;
    display: inline-block;
    transform: translateY(-10px);
  }
  .titTechnology span {
    display: inline;
  }
  .titTechnology.indt4,
  .titTechnology.indt15,
  .titTechnology.indt17 {
    padding: 0 27px;
    text-indent: 0;
  }
  .innerTechnology:after {
    content: "";
    display: table;
    clear: both;
  }
  .innerTechnology .flexWrap {
    margin-bottom: 34px;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .innerTechnology .flexWrap .order1 {
    order: 1;
    margin-bottom: 40px;
  }
  .innerTechnology .flexWrap .order2 {
    order: 2;
  }
  .innerTechnology .leftBox,
  .innerTechnology .rightBox {
    width: 100%;
  }
  .innerTechnology .leftBox {
    margin-right: 0;
    margin-bottom: 34px;
  }
  .innerTechnology .img {
    position: relative;
    z-index: 1;
  }
  .innerTechnology .img img {
    width: 100%;
    height: auto;
  }
  .boxImg {
    margin-bottom: 27px;
  }
  .themeTit {
    margin-bottom: 18px;
  }
  .themeTit span {
    margin-right: 20px;
    padding: 2px 6px 2px 7px;
  }
  .listTechnology {
    margin-bottom: 34px;
  }
  .listTechnology li {
    margin-top: 25px;
    padding: 27px 18px 24px;
  }
  .listTechnology .num {
    margin-bottom: 11px;
    margin-right: 5px;
  }
  .listTechnology .listIcon:before {
    top: 10px;
  }

  .commentBox {
    width: 100%;
    padding: 24px 18px 24px;
    color: #fff;
    background-color: #D50000;
    position: relative;
    z-index: 10;
  }
  .commentBox .name {
    margin-top: 8px;
    -webkit-justify-content: flex-start;
            justify-content: flex-start;
  }
  .commentBox .name:before {
    content: "";
    width: 48px;
    margin-top: -28px;
  }
  .commentBox.commentRight,
  .commentBox.commentLeft {
    width: 100%;
    float: none;
    margin: 0;
  }
  .commentBox.m- {
    margin: 0;
  }
  .commentBox.commentLeft {
    padding-left: 18px;
  }
  .theme3SubBox {
    margin-top: 34px;
    clear: both;
  }
  .theme3SubBox .img {
    width: 100%;
  }

  .technologyLinkList {
    width: 100%;
    display: block;
  }
  .technologyLinkList:after {
    content: normal;
  }
  .technologyLinkList .item {
    width:100%;
    position: relative;
  }
  .technologyLinkList .item a {
    display: block;
    position: relative;
  }
  .technologyLinkList .item a.is-active {
    pointer-events: none;
  }
  .technologyLinkList .item a.is-active:after {
    content: "";
    width: 93.229166667%;
    height: 90.551181102%;
    border: 1px solid #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .technologyLinkList .item img {
    width: 100.5%;
    height: auto;
  }
  .technologyLinkList .textBox {
    position: absolute;
    top: 12.765957447%;
    left: 8%;
    z-index: 100;
  }
  .technologyLinkList .item.cLight .textBox {
      color: #FFF;
  }
  .technologyLinkList .textBox .num {
    margin-bottom: 8px;
    font-size: 16px;
    border-bottom: 2px solid #D50000;
    display: inline-block;
  }
  .technologyLinkList .textBox .tit {
    font-size: 32px;
    line-height: 1.21875;
  }
  .technologyBtnBack {
    width: 87.272727273%;
    margin-left: auto;
    margin-right: auto;
  }
}

/*story-2*/
.posAWrap {
  position: relative;
}
.posAWrap .box {
  width: calc(50% - 30px);
}
.posAWrap.left {
  justify-content: flex-start;
}
.posAWrap.right {
  justify-content: flex-end;
}
.technologyFloatBox {
  width: calc(50% - 30px);
  position: absolute;
  top: 0;
}
.technologyFloatBox img {
  width: 100%;
  height: auto;
}
.technologyFloatBox.robot {
  top: 36px;
  right: 0;
}
.technologyFloatBox.service {
  top: 63px;
  right: 0;
}
.technologyFloatBox.printing {
  top: 36px;
  left: -60px;
}
.technologyFloatBox.project {
  top: 216px;
  right: 0;
}
.technologyFloatBox.infinity {
  top: 0;
  left: 0;
}
.technologyFloatBox.infinityImg {
  top: 40%;
  left: 0;
}
.technologyFloatBox.infinityImg .img {
  text-align: center;
}
.technologyFloatBox.infinityImg .img img {
  width: 70%;
}
.technologyFloatBox.record {
  top: 0;
  right: 0;
}
.robotTxtBottom {
  margin-top: 40px;
}
.serviceTxtBottom {
  margin-top: 100px;
}
.recordTxtBottom {
  margin-top: 130px;
}
.banArea {
  width: 87.272727273%;
  height: 161px;
  margin: 0 auto 100px;
  border: 1px solid #B4BAC0;
  background: url(../img/technology/common/bg_banner_pc.jpg) no-repeat center / cover;
}
.banArea a {
  width: 100%;
  height: 100%;
  padding: 10px 0 0 30px;
  display: flex;
  flex-direction: column;
  position: relative;
}
.banArea a:before {
  content: "";
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  border: 1px solid #D50000;
  transition: .3s;
  opacity: 0;
  pointer-events: none;
}
.banArea a:after {
  content: "";
  width: 14px;
  height: 14px;
  margin-top: -1px;
  border-top: 3px solid #242424;
  border-right: 3px solid #242424;
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%) rotate(45deg);
}
.banArea .tit {
  font-size: 39px;
  line-height: 2.692307692;
  display: flex;
  align-items: center;
}
.banArea .tit span {
  margin-left: 20px;
  font-size: 14px;
  line-height: 1;
  display: inline-block;
}
.banArea .txt {
  margin-top: -10px;
  font-size: 16px;
  line-height: 1.25;
}
.banArea a:hover:before {
  opacity: 1;
}
.img.shiftL {
  transform: translateX(-60px);
}
.img.shiftR {
  transform: translateX(60px);
}

@media screen and (max-width: 960px) {
  .textMarginWrap .mb30,
  .textMarginWrap .mb40,
  .textMarginWrap .mb60,
  .textMarginWrap .mb80,
  .textMarginWrap .mb100,
  .textMarginWrap .mb110,
  .textMarginWrap .mb160 {
    margin-bottom: 24px !important;
  }
  .textMarginWrap .spMb0 {
    margin-bottom: 0 !important;
  }
  .textMarginWrap .pt80,
  .textMarginWrap .pt160,
  .textMarginWrap .pt210 {
    padding-top: 0 !important;
  }
  .textMarginWrap .imgCenter {
    padding: 0 20px;
    margin-bottom: 0;
  }
  .posAWrap {
    position: relative;
  }
  .posAWrap .box {
    width: 100%;
  }
  .technologyFloatBox {
    width: 100%;
    margin-bottom: 30px;
    position: static;
  }
  .technologyFloatBox.infinityImg .img img {
    width: 100%;
  }
  .recordTxtBottom {
    margin-top: 0;
  }
  .serviceTxtBottom,
  .robotTxtBottom {
    margin-top: 24px;
  }
  .technologyFloatBox.record .img {
    margin-top: 24px;
  }
  .img.shiftL,
  .img.shiftR {
    transform: translateX(0);
  }
  .banArea {
    width: calc(100% - 56px);
    height: 240px;
    margin: 0 auto 100px;
    background: url(../img/technology/common/bg_banner_sp.jpg) no-repeat center / cover;
  }
  .banArea a {
    width: 100%;
    height: 100%;
    display: block;
    padding: 50px 0 50px 30px;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
  }
  .banArea.mbd a {
    padding-top: 26px;
    padding-bottom: 47px;
  }
  .banArea a:after {
    content: normal;
  }
  .banArea .tit {
    padding-right: 40px;
    padding-bottom: 24px;
    font-size: 39px;
    line-height: 1.153846154;
    position: relative;
    display: block;
  }
  .banArea .tit:after {
    content: "";
    width: 12px;
    height: 12px;
    margin-top: -1px;
    border-top: 3px solid #242424;
    border-right: 3px solid #242424;
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%) rotate(45deg);
  }
  .banArea .txt {
    margin-top: -10px;
    padding-right: 40px;
    font-size: 16px;
    line-height: 1.75;
  }
  .banArea .tit span {
    margin: 10px 0 0;
    display: block;
  }
}
@media screen and (min-width: 1330px) {
  .robotTxtBottom {
    margin-top: 110px;
  }
  .serviceTxtBottom {
    margin-top: 150px;
  }
  .recordTxtBottom {
    margin-top: 130px;
  }
}


/* =========================================
サービス・ソリューション
========================================= */
.service-solution .kvArea {
  background-image: url(../img/service-solution/img_kv_pc.jpg);
}
.centerTit {
  width: 100%;
  padding-top: 10px;
  margin-bottom: 23px;
  font-size: 40px;
  line-height: 1.225;
  text-align: center;
}
.centerTit span {
  margin-top: -5px;
  font-size: 18px;
  line-height: 3;
  display: block;
}
.mainImg {
  width: calc(100% + 80px);
  margin: 0 -40px 34px;
}
.mainImg img {
  width: 100%;
  height: auto;
}
.mainLeadArea {
  margin-bottom: 104px;
  padding: 0 30px;
}
.mainLeadArea .tit {
  font-size: 26px;
  margin-bottom: 30px;
}
.leadBox {
  font-size: 16px;
  line-height: 1.75;
}
.leadBox p {
  margin-top: 27px;
}
.leadBox p:first-of-type {
  margin-top: 0;
}
.service-solution .solutionArea {
  min-width: calc(100% - 80px);
}
.service-solution .relatedListArea .txt {
  font-weight: bold;
}

@media screen and (max-width: 1100px) and (min-width: 961px)  {
  .mainImg {
    margin: 0 -40px 34px;
  }
}
@media screen and (max-width: 960px) {
  .service-solution .kvArea {
    background-image: url(../img/service-solution/img_kv_sp.jpg);
  }
  .centerTit {
    width: 100%;
    min-width: auto;
    padding-top: 46px;
    margin:  0 0 23px;
    font-size: 30px;
  }
  .centerTit span {
    margin-top: -3px;
    font-size: 16px;
  }
  .mainImg {
    width: calc(100% + 56px);
    margin: 0 -28px 37px;
  }
  .mainImg img {
    width: 100%;
    height: auto;
  }
  .mainLeadArea {
    padding: 0;
  }
  .leadBox {
    padding: 0;
    margin-bottom: 78px;
    font-size: 16px;
  }
  .mainLeadArea .leadBox {
    padding: 0;
  }
  .mainLeadArea .tit {
    font-size: 26px;
    line-height: 1.5;
  }
  .service-solution .solutionArea {
    width: calc(100% + 56px);
    margin: 0 -28px 100px;
  }
}


/*MBD*/
.service-solution .titL {
  margin-bottom: 24px;
}
.service-solution .supportImg {
  margin: 28px 0 60px;
  text-align: center;
}
.service-solution .supportImg img {
  max-width: 100%;
  height: auto;
}
.leadBox.mb0 {
  margin-bottom: 0;
}
.supportList {
  margin: -20px 0 85px;
  -webkit-justify-content: space-between;
          justify-content: space-between;
}

.supportList .item {
  width: calc(50% - 10px);
  margin-top: 20px;
  background-color: #F5F5F5;
  border: 1px solid #E3E3E3;
}
.supportList .item .flexWrap,
.supportList .item > a {
  height: 100%;
  padding: 16px 40px 15px 19px;
  align-items: center;
  position: relative;
  transition: .3s;
}
.supportList .item.flexWrap {
  padding-right: 10px;
}
.supportList .item > a:after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #405461;
  border-right: 1px solid #405461;
  position: absolute;
  top: 50%;
  right: 14px;
  margin-top: 0px;
  transform: translateY(-50%) rotate(45deg);
}
.supportList .img {
  margin-right: 20px;
}
.supportList .textBox {
  flex: 1;
}
.supportList .tit {
  margin-top: -3px;
  color: #242424;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
}
.supportList .txt {
  margin-top: 6px;
  font-size: 16px;
  line-height: 1.5;
}
.supportList .item a:hover .textBox {
  opacity: 0.7;
}
.service-solution .sectionTit {
  margin-bottom: 13px;
}
.service-solution .sectionTit:after {
  background-color: #BFC4C7;
}
.service-solution .fieldArea .txt {
  margin-bottom: 14px;
}
.fieldArea .gridList {
  margin: -24px 0 0 -27px;
}
.fieldArea .gridList .gridItem {
  width: calc(((100% - 81px) / 3) - .1px);
  margin: 24px 0 0 27px;
}
.fieldArea .gridList .gridItem .txt {
  margin: 7px 0 0 0;
}
.storyBoxWrap {
  margin-top: 80px;
  padding-top: 80px;
  border-top: 1px dashed #666;
}
.storyBox {
  min-height: 180px;
  border: 1px solid #BFC4C7;
  position: relative;
  overflow: hidden;
}
.storyBox:before {
  content: "";
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  pointer-events: none;
  border: 1px solid #D50000;
  opacity: 0;
  transition: .3s;
}
.storyBox a {
  padding-top: 14px;
  padding-right: 375px;
  padding-left: 35px;
  padding-bottom: 67px;
  display: block;
  height: 100%;
}
.storyBox .textBox {
  transition: .3s;
}
.storyBox:hover:before {
  opacity: 1;
}
.storyBox:hover .textBox {
  opacity: 0.7;
}
.storyBox .tit {
  margin-bottom: 15px;
  padding-bottom: 9px;
  font-size: 34px;
  line-height: 1.5882;
  position: relative;
}
.storyBox .tit:after {
  content: "";
  width: 23px;
  height: 3px;
  background-color: #D50000;
  position: absolute;
  left: 0;
  bottom: 0;
}
.storyBox .txt {
  line-height: 1.25;
}
.storyBox .img {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.storyBox .img:before {
  content: normal;
}
.service-solution .btnBack a {
  width: 400px;
}

@media screen and (max-width: 960px) {
  .service-solution .titL {
    margin-bottom: 24px;
  }
  .service-solution .supportImg {
    margin: 34px 0 60px;
  }
  .service-solution .supportImg img {
    width: 100%;
    height: auto;
  }
  .supportList {
    margin: -21px 0 70px;
    display: block;
  }
  .supportList .item {
    width: 100%;
    margin-top: 21px;
  }
  .supportList .item a {
    padding: 14px 30px 12px 15px;
  }
  .supportList .item.flexWrap a {
    padding: 0;
  }
  .supportList .img {
    width: 78px;
    height: 78px;
    margin-right: 16px;
  }
  .supportList .textBox {
    display: block;
  }
  .service-solution .fieldArea {
    margin-bottom: 80px;
  }
  .service-solution .gridList {
    margin: 9px 0 0 0;
  }
  .service-solution .gridList .gridItem {
    width: 100%;
    margin: 21px 0 0 0;
  }
  .storyBox {
    padding: 0;
    border: 1px solid #BFC4C7;
    position: relative;
    overflow: hidden;
  }
  .storyBox a {
    padding: 0;
  }
  .storyBox .textBox {
    padding: 13px 25px 16px;
  }
  .storyBox .tit {
    margin-bottom: 12px;
  }
  .storyBox .txt {
    line-height: 1.75;
  }
  .storyBox .img {
    width: 100%;
    padding-top: 47.48427673%;
    bottom: auto;
    position: relative;
    top: auto;
    right: auto;
    transform: translateY(0);
    overflow: hidden !important;
  }
  .storyBox .img img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transform-origin: center;
    width: 100%;
    height: auto;
  }
  .storyBox a:hover .img img {
    transform: translate(-50%, -50%) scale(1.1);
  }
  .service-solution .btnBack a {
    width: 100%;
  }
}

/*MBDコンサルティング*/
.sectionSolution {
  margin-bottom: 80px;
}
.sectionSolution .imgCenter {
  margin-top: 30px;
  margin-bottom: 30px;
}
.sectionSolution .img.mbM {
  margin-bottom: 24px;
}
.useCaseArea .titL {
  margin-bottom: 20px;
}
.useCaseArea .titS {
  margin-top: 20px;
  margin-bottom: 12px;
}
.useCaseBox {
  margin-top: 51px;
}
.useCaseBox:first-of-type {
  margin-top: 0;
}
.useCaseArea .useCaseList {
  margin: -18px 0 0 -18px;
}
.useCaseArea .useCaseList + .useCaseList {
  margin-top: 0;
}
.useCaseArea .useCaseList .item {
  width: calc((100% - 54px) / 3);
  margin: 18px 0 0 18px;
  padding: 20px 20px 18px;
  border: 1px solid #BFC4C7;
}
.useCaseArea .useCaseList .item.col2 {
  width: calc(50% - 18px);
}
.useCaseArea .useCaseList .img {
  margin-bottom: 15px;
}
.useCaseArea .useCaseList .img img {
  width: 100%;
  height: auto;
}
.useCaseArea .useCaseList .tit {
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5555;
  text-align: center;
}
.solutionBtnBack {
  margin-top: 0;
  border-top: none;
}
.solutionCompanylog {
  width: 145px !important;
  margin-top: 5px;
}
.solutionCompanylog2 {
  width: 200px !important;
}

@media screen and (max-width: 960px) {
  .sectionSolution {
    margin-bottom: 68px;
  }
  .sectionSolution .imgCenter {
    margin-top: 44px;
    margin-bottom: 30px;
  }
  .sectionSolution .imgCenter.mtbM {
    margin-top: 28px;
    margin-bottom: -5px;
  }
  .useCaseArea .titL {
    margin-bottom: 20px;
  }
  .useCaseArea .titM {
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .useCaseBox {
    margin-top: 51px;
  }
  .useCaseBox:first-of-type {
    margin-top: 0;
  }
  .useCaseArea .useCaseList {
    margin: -34px 0 0 0;
  }
  .useCaseArea .useCaseList .item,
  .useCaseArea .useCaseList .item.col2 {
    width: 100%;
    margin: 34px 0 0 0;
    padding: 0;
    border: none;
  }
  .useCaseArea .useCaseList .tit {
    text-align: left;
  }
  .useCaseArea .useCaseList .img img {
    width: 100%;
    height: auto;
  }
  .sectionSolution .supportList {
    margin-top: 0;
  }
  .sectionSolution img {
    width: 100%;
    height: auto;
  }
  .solutionCompanylog {
    margin-top: 0;
  }
}

/*SE Suite（Systems Engineering Suite）*/
.fzS {
  font-size: 14px;
  line-height: 2;
}
.featureList {
  margin: -13px 0 0 -18px;
}
.featureList .item {
  width: calc((100% - 54px) / 3 - .1px);
  margin: 18px 0 0 18px;
  padding: 27px 20px 18px;
  border: 1px solid #E3E3E3;
}
.featureList.list4 .item {
  width: calc(25% - 18px);
}
.featureList.list2 .item {
  width: calc(50% - 18px);
}
.featureList .item > a {
  display: block;
}
.featureList .num {
  margin-bottom: 14px;
  color: #D50000;
  font-size: 40px;
  line-height: 1;
  text-align: center;
}
.featureList .num span {
  display: block;
}
.featureList .img img {
  width: 100%;
  height: auto;
}
.featureList .tit {
  margin-bottom: 6px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5555;
  text-align: center;
}
.seSuiteList {
  margin-top: 30px;
  padding-left: 7px;
}
.seSuiteList li {
  margin-top: 33px;
  display: flex;
}
.seSuiteList li:first-child {
  margin-top: 0;
}
.seSuiteList .img {
  width: 14.102564103%;
  padding-top: 3px;
  margin-right: 24px;
  flex: 0 0 auto;
}
.seSuiteList .img img {
  width: 100%;
  height: auto;
}
.seSuiteList .textArea {
  flex: 1 0 0%;
}
.seSuiteList .tit {
  margin-bottom: 5px;
  position: relative;
  font-size: 17px;
  font-weight: bold;
}
.seSuiteList .listIcon:before {
  top: 13px;
}
.sesuiteUseCaseArea .titS {
  margin-top: 0;
  margin-bottom: 14px;
}
.cccArea .floatBox {
  margin-top: 22px;
  margin-bottom: 29px;
}
.cccArea .floatBox.imgLeft .img {
  margin-right: 32px;
}
.cccList + .cccList {
  margin-top: 19px;
}
.cccList dt {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.75;
}
.cccList dd {
  font-size: 16px;
  line-height: 1.75;
}
.cccList .listIcon:before {
  top: 13px;
}
.cccArea .table {
  margin-top: 18px;
  table-layout: auto;
}
.environmentArea .table thead th {
}
.environmentArea .table thead th:first-child {
  width: 146px;
}
.environmentArea .listIcon:before {
  top: 7px;
}
.aboutReuseArea .floatBox.imgLeft .img {
  margin-right: 23px;
}

@media screen and (max-width: 960px) {
  .featureList {
    margin: -33px 0 0 0;
  }
  .featureList .item,
  .featureList.list4 .item {
    width: 100%;
    margin: 30px 0 0 0;
    padding: 26px 20px 18px;
    border: 1px solid #E3E3E3;
  }
  .featureList .num {
    margin-bottom: 12px;
    font-size: 53px;
  }
  .featureList .tit {
    margin-bottom: 12px;
  }
  .seSuiteList {
    padding-left: 0;
  }
  .seSuiteList li {
    margin-top: 22px;
    display: block;
  }
  .seSuiteList .img {
    width: 35%;
    margin: 0 auto 13px;
    flex: 0 0 auto;
  }
  .seSuiteList .img img {
    width: 100%;
    height: auto;
  }
  .seSuiteList .textArea {
    flex: 1 0 0%;
  }
  .seSuiteList .tit {
    position: relative;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.75;
  }
  .sesuiteUseCaseArea .titS {
    margin-top: 0;
    margin-bottom: 25px;
  }
  .cccArea .floatBox.imgLeft {
    margin-bottom: 35px;
  }
  .cccArea .floatBox.imgLeft .img {
    margin-right: 0;
    margin-bottom: 36px;
  }
  .cccArea .floatBox.imgLeft .img img {
    width: 100%;
    height: auto;
  }
  .cccList + .cccList {
    margin-top: 20px;
  }
  .cccList dt {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.75;
  }
  .cccList dd {
    font-size: 16px;
    line-height: 1.75;
  }
  .cccArea .listIcon:before {
    top: 14px;
    left: 0;
  }
  .environmentArea .table {
    table-layout: auto;
  }
  .aboutReuseArea .floatBox.imgLeft .img {
    width: 45.625%;
    margin: 0 auto 24px;
  }
}

/*3Dプリンティングエンジニアリングサービス*/
.service-solution .prototypeList {
  margin-top: 0;
}
.prototypeCaseArea {
  margin-top: 62px;
}
.prototypeCaseArea .gridItem {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.prototypeCaseArea .gridItem > a {
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
}
.prototypeCaseArea .img {
  margin-bottom: 8px;
  position: relative;
  flex: 0 0 auto;
}
.prototypeCaseArea .label {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  font-weight: normal;
  line-height: 1.785714286;
  padding-left: 15px;
  padding-right: 15px;
}
.prototypeCaseArea .tit .labelNew {
  background-color: #D50000;
  padding: 3px 7px 2px;
  margin-right: 5px;
  vertical-align: 0px;
  display: inline-block;
  color: #FFF;
  font-size: 14px;
  line-height: 1;
}
.prototypeCaseArea .bgBlue {
  background-color: rgba(52,152,219,0.8);
}
.prototypeCaseArea .bgRed {
  background-color: rgba(231,76,60,0.8);
}
.prototypeCaseArea .bgPurple {
  background-color: rgba(155,107,204,0.8);
}
.prototypeCaseArea .bgYellow {
  background-color: rgba(241,196,15,0.8);
}
.prototypeCaseArea .textBox {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.prototypeCaseArea .tit {
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.75;
}
.prototypeCaseArea .overviewBox {
  padding-bottom: 14px;
}
.prototypeCaseArea .overviewBox li {
  font-size: 16px;
  line-height: 1.75;
}
.prototypeCaseArea .gridList .gridItem .txt,
.prototypeCaseArea .gridList .gridItem .list {
  border-top: 1px solid #E3E3E3;
  padding-top: 14px;
  margin-top: 0;
  font-size: 16px;
  margin-bottom: 16px;
  font-weight: normal;
  line-height: 1.75;
}
.prototypeCaseArea .gridList .gridItem .listIcon:before {
  top: 13px;
}
.prototypeCaseArea  .prototypeCaseBtnWrap {
  margin-top: auto;
}
.prototypeCaseArea .prototypeCaseBtn {
  width: 100%;
  margin-top: 10px;
}
.prototypeCaseArea .prototypeCaseBtn:first-of-type {
  margin-top: 0;
}
.prototypeCaseArea .prototypeCaseBtn a {
  width: 100%;
  padding: 9px 20px 9px;
  color: #D50000;
  font-size: 16px;
  border: 1px solid #D50000;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: #FFF;
  position: relative;
  transition: .3s;
}
.prototypeCaseArea .prototypeCaseBtn a:before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #D50000;
  border-right: 1px solid #D50000;
  position: absolute;
  top: 50%;
  right: 16px;
  z-index: 10;
  margin-top: -1px;
  transform: translateY(-50%) rotate(45deg);
}
.prototypeCaseArea .prototypeCaseBtn a:hover {
  opacity: 0.7;
}
.prototypeCaseArea .prototypeGridList .gridItem .txt {
  padding-top: 0;
  border-top: none;
}
.gridList .gridItem .h300 {
  text-align: center;
}
.gridList .gridItem .h300 img {
  width: auto;
  height: 300px;
}
.recruit .relatedList .img {
  margin-bottom: 7px;
  padding-top: 0;
  background-color: transparent;
}
.recruit .relatedList img {
  position: static;
  top: 0;
  left: 0;
  transform: translate(0, 0);
  transform-origin: center;
  width: 100%;
  height: auto;
}
.recruit .relatedList a:hover img {
  transform: translate(0, 0) scale(1.1);
}
.relatedListArea.caseRelatedList .img {
  margin-bottom: 7px;
  padding-top: 0;
  background-color: transparent;
  border: 1px solid #DDD;
}
.relatedListArea.caseRelatedList img {
  position: static;
  top: 0;
  left: 0;
  transform: translate(0, 0);
  transform-origin: center;
  width: 100%;
  height: auto;
}
.relatedListArea.caseRelatedList .img:before {
  content: "";
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  border: 1px solid #D50000;
  transition: .3s;
  opacity: 0;
}
.relatedListArea.caseRelatedList a:hover img {
  transform: scale(1.1);
}
.relatedListArea.caseRelatedList a:hover .img:before {
  opacity: 1;
}
.relatedListArea.caseRelatedList .txt {
  word-wrap: break-word;
  font-weight: normal;
}

.interviewArea .lead {
  margin-top: 30px;
  font-size: 18px;
}
.interviewArea .lead:first-of-type {
  margin-top: 0;
}
.interviewArea .lead + .txt {
  margin-top: 5px;
}

.btnNext.btnCase a {
  width: 200px;
  display: inline-flex;
}

@media screen and (max-width: 960px) {
  .prototypeCaseArea .gridList .gridItem {
    margin-top: 60px;
  }
  .prototypeCaseArea .gridList .gridItem:first-of-type {
    margin-top: 0;
  }
  .prototypeCaseArea .tit {
    font-size: 20px;
  }
  .btnNext.btnCase {
    text-align: center;
  }
  .btnNext.btnCase a {
    display: inline-flex;
  }
}

/*rpList*/
.rpList {
  margin-bottom: 50px;
  justify-content: space-between;
}
.rpList .item {
  width: calc(50% - 10px);
}

@media screen and (max-width: 960px) {
  .rpList {
    display: block;
  }
  .rpList .item {
    width: 100%;
  }
}

/*Process v1
------------------------------------*/
.process-v1 {
  background-color: #f7f7f7 !important;
}
.process-v1 .content-sm {
  padding-top: 40px;
  padding-bottom: 20px;
}
.process-v1 .process-in {
  text-align: center;
}
.process-v1 {
  font-size: 13px;
}
.process-v1 .col-sm-3 {
    width: 25%;
    float: left;
}

.process-v1 .process-in > li i {
  z-index: 1;
  width: 30px;
  height: 30px;
  position: relative;
  text-align: center;
  background: #72c02c;
  margin-bottom: 15px;
  display: inline-block;
  border: solid 9px #fff;
  border-radius: 50% !important;
}

.process-v1 .process-in > li i:after {
  top: -9px;
  left: -9px;
  right: -9px;
  bottom: -9px;
  content: " ";
  border-radius: 50%;
  position: absolute;
  border: 1px solid #bbb;
}

/*Process Description*/
.process-v1 .process-in .process-desc {
  padding: 0 20px;
}

.process-v1 .process-in > li h3 {
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 10px;
}

/*Process Border*/
.process-v1 .process-border {
  position: relative;
}

.process-v1 .process-border:before {
  top: 15px;
  width: 75%;
  left: 12%;
  content: " ";
  display: block;
  position: absolute;
  border-top: solid 2px #ddd;
}
.rpServiceList a {
  transition: .3s;
}
.rpServiceList a:hover {
  opacity: 0.7;
}
.service-printing3d .rpServiceList#design h2::before,.service-printing3d .rpServiceList#modeling h2::before,.service-printing3d .rpServiceList#re h2::before{
    content: "";
  display: block;
  height: 160px;
  margin-top: -160px;
  visibility: hidden;
}
.printImgBox {
  margin-top: 30px;
  justify-content: space-between;
}
.printImgBox li {
  width: calc(25% - 20px);
}
.printImgBox li img {
  width: 100%;
  height: auto;
}
.treatmentList {
  margin-top: 30px;
  flex-wrap: wrap;
  justify-content: space-between;
}
.treatmentList li {
  width: calc(50% - 10px);
  margin-top: 20px;
}
.treatmentList img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 960px) {
  .printImgBox {
    margin-top: -50px;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .printImgBox li {
    width: calc(50% - 10px);
    margin-top: 20px;
  }
}

/*youtubeレスポンシブ化*/
.floatBox .yt {
  width: 545px !important;
}
.yt span {
  position:relative;
  width:100% !important;
  height: auto !important;
  padding-top:56.25%;
  display: block;
}
.yt iframe {
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}
.vidyard_player,
.vidyard_player > span {
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  width:100% !important;
  height:100% !important;
}
.hpYtBox .img {
  margin-top: auto;
}

/*HP社3Dプリンター用Youtube*/
.hpYtBox {
  padding: 50px 0 60px;
  text-align: center;
  background: url(../img/service-solution/3dp-sales/hp/jet-fusion4200/bg.jpg) no-repeat left / cover;
}
.hpYtBox .yt {
  display: inline-block;
  width: 48.076923077%;
  margin-left: 340px;
}


@media screen and (max-width: 960px) {
  .yt,
  .floatBox .yt {
    width: 100% !important;
  }

  /*HP社3Dプリンター用Youtube*/
  .hpYtBox {
    padding: 30px 0 40px;
  }
  .hpYtBox .yt {
    width: 80% !important;
    margin-left: 0;
  }
}

/*QAリスト*/
.faqList li {
  display: flex;
}
.faqList .icon {
  width: 50px;
  height: 50px;
  margin-right: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #FFF;
  font-size: 16px;
  flex: 0 0 auto;
}
.faqList .q {
  margin-bottom: 10px;
  clear: both;
}
.faqList .a {
  margin-bottom: 20px;
  clear: both;
}
.faqList .q .icon {
  background-color: #666666;
}
.faqList .a .icon {
  background-color: #D50000;
}
.faqList .txt {
  padding-top: 10px;
}

@media screen and (max-width: 960px) {
  .rpList {
    display: block;
  }
  .rpList .item {
    width: 100%;
  }
  .process-v1 .process-border:before {
    top: 20px;
    left: 24px;
    width: 2px;
    height: 75%;
    border-top: none;
    border-left: 2px solid #ddd;
  }
  .process-v1 .col-sm-3 {
    width: 100%;
    float: none;
    padding-bottom: 30px;
  }
  .process-v1 .col-sm-3:after {
    content: "";
    display: table;
    clear: both;
  }
  .process-v1 .process-icon {
    width: 30px;
    float: left;
    padding-left: 10px;
    padding-right: 10px;
    text-align: left;
  }
  .process-v1 .process-in .process-desc {
    padding-left: 30px;
    text-align: left;
    overflow: hidden;
  }
  .treatmentList {
    margin-top: 30px;
    display: block;
  }
  .treatmentList li {
    width: 100%;
  }
  .treatmentList img {
    width: 100%;
    height: auto;
  }
}

/*導入事例*/
.caseArea .interviewKvArea .textBox {
  margin-top: 25%;
}

@media screen and (max-width: 960px) {
  .caseArea .interviewKvArea .textBox {
    margin-top: 0;
  }
}

/*変革テーマ例紹介*/
.loadContentsArea {
  margin-bottom: 80px;
}
.loadContentsArea .img {
  margin-bottom: 14px;
}
.loadContentsArea .gridList {
  margin-top: -54px;
}
.loadContentsArea .gridList .gridItem {
  margin-top: 54px;
}
.loadContentsArea .textBox {
  transition: .3s;
}
.loadContentsArea a:hover .textBox {
  opacity: 0.7;
}

/*製造業における開発スループットの向上*/
.sectionSolutionBox {
  padding-top: 55px;
  margin-top: 80px;
  border-top: 1px solid #E3E3E3;
}
.sectionSolutionBox:first-of-type {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}
.service-solution .loadContentsArea {
  margin-top: 14px;
}

/* =========================================
事例
========================================= */
.casestudy .kvArea {
  background-image: url(../img/casestudy/img_kv_pc.jpg);
}
.casestudy .loadContentsArea {
  margin-top: 14px;
}
.sectionCasestudy .titL .label:last-of-type {
  margin-right: 10px;
}
.casestudyArticleArea section {
  margin-bottom: 80px;
}
.casestudyArticleArea section:last-of-type {
  margin-top: 0;
}
.casestudyArticleArea .titL .label {
  vertical-align: 3px;
}

#cat-case .ca-catP{
    display: none !important;
}
#cat-case.ca-catProduction .ca-catP{
    display: inline-block !important;
}

#cat-case .ca-catR{
    display: none !important;
}
#cat-case.ca-catRp .ca-catR{
    display: inline-block !important;
}
@media screen and (max-width: 960px) {
  .casestudy .kvArea {
    background-image: url(../img/casestudy/img_kv_sp.jpg);
  }
}


/* =========================================
ニュース
========================================= */
.news .kvArea {
  background-image: url(../img/news/img_kv_pc.jpg);
}

.news .labelWrap {
  padding-top: 6px;
  margin-bottom: 10px;
}
.articleSubText {
  margin-top: 50px;
}
.themeList li {
  font-size: 16px;
  line-height: 1.75;
}
.themeList .listIcon:before {
  top: 13px;
}

@media screen and (max-width: 960px) {
  .news .kvArea {
    background-image: url(../img/news/img_kv_sp.jpg);
  }
}



/* =========================================
イベント・セミナー
========================================= */
.event .kvArea {
  background-image: url(../img/event/img_kv_pc.jpg);
}
.event .labelWrap {
  margin-top: 10px;
  margin-bottom: 20px;
}
.event .articleListH .labelWrap {
  margin-top: -7px;
  margin-bottom: 11px;
}
.dateOverText {
  margin-top: 50px;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  line-height: 1.75;
}
.event .titM {
  margin: 30px 0 0;
}
.event .titM + .floatBox {
  margin-top: 10px;
}

@media screen and (max-width: 960px) {
  .event .kvArea {
    background-image: url(../img/event/img_kv_sp.jpg);
  }
}


/* =========================================
事例
========================================= */


/* =========================================
技術コラム
========================================= */
.column .kvArea {
  background-image: url(../img/column/img_kv_pc.jpg);
}
.articleListH.loadContents {
  margin-top: 60px;
}
.articleListH.loadContents li {
  border-top: 1px solid #E3E3E3;
}
.articleListH.loadContents li:first-child {
  padding-top: 0;
  border-top: none;
}
.articleListH.loadContents li a {
  padding: 30px 0 29px;
}
.articleListH.loadContents li:first-child a {
  padding-top: 0;
}
/* .articleListH.loadContents li:nth-child(n + 11) {
  display: none;
} */
.articleListH.loadContents .img {
  width: 26.668%;
  padding-top: 15%;
  margin-right: 17px;
  background-color: #E3E3E3;
}
.articleListH.loadContents .date {
  margin-right: 6px;
}
.btnLoadMore {
  padding: 45px 0 0 10px;
}
.btnLoadMore a {
  width: 184px;
  height: 48px;
  margin: 0 auto;
  padding-left: 1px;
  color: #D50000;
  font-size: 16px;
  line-height: 1.6875;
  border: 1px solid #D50000;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: .3s;
}
.btnLoadMore span {
  position: absolute;
  top: 50%;
  right: 19px;
}
.btnLoadMore span:before,
.btnLoadMore span:after {
  content: "";
  width: 14px;
  height: 1px;
  background-color: #D50000;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -1px;
}
.btnLoadMore span:before {
  transform: translate(-50%, -50%);
}
.btnLoadMore span:after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.btnLoadMore a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 960px) {
  .column .kvArea {
    background-image: url(../img/column/img_kv_sp.jpg);
  }
  .articleListH.loadContents li {
    margin-top: 0;
    padding-bottom: 0;
  }
  .articleListH.loadContents a {
    display: block;
  }
  .articleListH.loadContents .img {
    width: 100%;
    padding-top: 56.25%;
    margin-right: 0;
    margin-bottom: 14px;
  }
  .btnLoadMore {
    padding: 60px 0 0 1px;
  }
  .btnLoadMore a {
    width: 184px;
    margin: 0 auto;
  }
}

/* =========================================
コラム_詳細テンプレート
========================================= */
.columnLabelWrap {
  padding-top: 6px;
}
/*見出し*/
.titL {
  padding-bottom: 9px;
  margin-bottom: 41px;
  font-size: 28px;
  line-height: 1.928571429;
  border-bottom: 1px solid #D50000;
}
.titL .subTit {
  font-size: 20px;
}

@media screen and (max-width: 960px) {
  .titL {
    font-size: 26px;
    line-height: 1.714285714;
  }
}
.titLs {
  font-size: 22px;
}
.titL.noLine {
  padding-bottom: 0;
  border-bottom: none;
}
.titM {
  margin: 42px 0 7px;
  font-size: 26px;
  line-height: 1.6923;
}
.titS {
  margin: 35px 0 7px;
  font-size: 22px;
  line-height: 1.6818;
}
.titSs {
  margin: 35px 0 14px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.75;
}
.column .section .txt {
  margin-top: 15px;
}

.fontB {
  font-weight: bold;
}

/*箇条書きリスト*/
.itemsList {
  margin: 0 0 38px;
}
.itemsList li {
  font-size: 16px;
}
.listIcon {
  margin-top: 5px;
  padding-left: 16px;
  padding-top: 4px;
  line-height: 1.5;
  position: relative;
}
.listIcon:before {
  content: "";
  width: 8px;
  height: 2px;
  background-color: #D50000;
  position: absolute;
  left: 3px;
  top: 15px;
}

.dlList {
  margin-top: 10px;
  font-size: 16px;
  line-height: 1.75;
}
.dlList dt {
  font-weight: bold;
}
.dlList .listIcon:before {
  top: 15px;
}

.inlist {
  margin-left: 13px;
}


/*線で囲まれたもの*/
.surroundedLine {
  padding: 30px;
  border: 1px solid #D50000;
}
.surroundedLine .titM {
  margin-top: 0;
}
.surroundedLine .itemsList {
  margin-bottom: 0;
}

@media screen and (max-width: 960px) {
  .surroundedLine {
    padding: 20px;
  }
}

.headTxt {
  color: #D50000;
  font-size: 18px;
}

/*注釈*/
.notes {
  margin: 38px 0 38px;
  font-size: 14px;
  line-height: 1.75;
}
.notes a {
  word-break: break-all;
}

/*リンク*/
.link {
  color: #D50000;
  line-height: inherit !important;
  transition: .3s;
  display: inline;
}
.link:hover {
  opacity: 0.7;
}
.outLink:after {
  content: "";
  width: 15px;
  height: 14px;
  background: url(../img/common/ico_outlink.png) no-repeat right center / 15px auto;
  padding-left: 5px;
  display: inline-block;
}
.pdfLink {
  position: relative;
}
.pdfLink span {
  width: 30px;
  height: 16px;
  padding-top: 1px;
  margin-left: 6px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 12px;
  font-family: "Trebuchet MS","Arial","Futura";
  line-height: 1;
  text-align: center;
  border: 1px solid #BFC4C7;
  background-color: #fff;
}
.opacityLink {
  transition: .3s;
}
.opacityLink:hover {
  opacity: 0.7;
}
.column .link {
  line-height: 2;
}
.telLink {
  pointer-events: none;
}

@media screen and (max-width: 960px) {
  .telLink {
    pointer-events: all;
    color: #D50000;
  }
}

.fwN {
  font-weight: normal;
}
.fwB {
  font-weight: bold;
}

/*画像左右パターン*/
.floatBox {
  margin: 42px 0 40px;
}
.floatBox:after {
  content: "";
  display: table;
  clear: both;
}
.floatBox .img {
  width: 420px;
}
.floatBox .img img {
  width: 100%;
  height: auto;
}
.floatBox .img150 {
  width: 150px;
}
.floatBox .img200 {
  width: 200px;
}
.floatBox .img240 {
  width: 240px;
}
.floatBox .img280 {
  width: 280px;
}
.floatBox .img320 {
  width: 320px;
}
.floatBox .img415 {
  width: 415px;
}
.ytImgLink {
  display: block;
  overflow: hidden;
}
.ytImgLink img {
  transition: .3s;
}
.ytImgLink:hover img {
  transform: scale(1.1);
}
.floatBox .tit {
  margin-bottom: 2px;
  font-size: 24px;
  line-height: 2.041666667;
}
.floatBox .txt {
  margin-top: -5px;
  overflow: hidden;
}
.floatBox.imgLeft .img {
  float: left;
  margin-right: 16px;
}
.floatBox.imgRight .img {
  float: right;
  margin-left: 16px;
}
.floatBox .noWrap {
  overflow: hidden;
}
.floatBox .textBox *:first-of-type,
.floatBox .noWrap *:first-of-type {
  margin-top: 0;
}
.taC {
  text-align: center;
}
.taR {
  text-align: right;
}
.floatBox .taC {
  display: block;
}

/*画像中央*/
.imgCenter {
  margin: 60px auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.imgCenter .w80p {
  width: 80%;
}
.imgCenter .w40p {
  width: 40%;
}
.imgCenter img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 960px) {
  .imgCenter .w40p,
  .imgCenter .w80p {
    width: 100%;
  }
  .floatBox .img415 {
    width: 100%;
  }
}
.caption {
  margin-top: 10px;
  color: #405461;
  font-size: 12px;
  display: block;
  position: relative;
}
.tar {
  text-align: right;
}
.imgFull {
  margin-bottom: 40px;
}
.imgFull img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 960px) {
  .imgFull.allW {
    margin-left: -28px;
    margin-right: -28px;
  }
}

/*画像横並び*/
.imgColumn {
  margin: 60px auto;
  display: flex;
  justify-content: space-between;
}
.imgColumn img {
  max-width: 100%;
  height: auto;
}
/*中央揃え*/
.imgColumnCenter {
  justify-content: center;
}
/*1列の場合 (100%の大きさ)*/
.imgColumn .colFull {
  width: 100%;
}
/*1列の場合 (75%の大きさ)*/
.imgColumn .col1-5 {
  width: 75%;
}
/*2列の場合*/
.imgColumn .col2 {
  width: calc((100% / 2) - 10px);
}
/*3列の場合*/
.imgColumn .col3 {
  width: calc((100% / 3) - 10px - .1px);
}
.vaB {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
}
.vaB span {
  align-self: flex-end;
}
.vaB .alC {
  align-self: center;
}
.imgColumn .vaB + .vaB {
  margin-left: 40px;
}

@media screen and (max-width: 960px) {
  .imgColumn {
    margin: 60px auto;
    display: block;
  }
  .imgColumn img {
    width: 100%;
    height: auto;
  }
  .imgColumn .vaB + .vaB {
    margin-left: 0;
  }
  /*2列の場合*/
  .imgColumn .colFull,
  .imgColumn .col1-5,
  .imgColumn .col2,
  .imgColumn .col3,
  .imgColumn .vaB {
    width: 100%;
    margin-top: 20px;
  }
  .imgColumn .col2:first-of-type {
    margin-top: 0;
  }
}


/*テーブル*/
.tableWrap {
  margin: 30px 0 0;
}
.table {
  width: 100%;
  table-layout: fixed;
  border-bottom: 1px solid #E3E3E3;
}
.tableHalf {
  width: calc(50% - 10px);
}
.tableHalf + .tableHalf {
  margin-left: 20px;
}
.table thead tr {
  border-right: 1px solid #D50000;
}
.table thead th {
  height: 58px;
  padding: 11px 8px;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.75;
  text-align: center;
  border-left: 1px solid #E3E3E3;
  background-color: #D50000;
}
.table thead th:first-child {
  border-left: 1px solid #D50000;
}
.table tbody tr:nth-child(odd) {
  background-color: #F5F5F5;
}
.table tbody th,
.table tbody td {
  padding: 10px ;
  font-size: 16px;
  line-height: 1.75;
  word-break: break-all;
}
.table tbody th {
  padding: 11px 8px;
  font-weight: bold;
  border-left: 1px solid #E3E3E3;
}
.table tbody td {
  padding: 23px 8px 23px;
  border-left: 1px solid #E3E3E3;
  border-right: 1px solid #E3E3E3;
  vertical-align: top;
}
.table .focus {
  color: #D50000;
  font-weight: bold;
}
.table .vat {
  padding-top: 29px;
  vertical-align: top;
}
.tableType2 tbody th {
  font-size: 16px;
}
.tableType2 tbody td {
  padding: 18px 15px 17px;
  font-size: 14px;
  line-height: 1.571;
}
.indt {
  padding-left: calc(1em + 12px);
  text-indent: calc(-1em - 12px);
}
.tableIcon {
  padding: 2px 3px 2px;
  color: #D50000;
  font-size: 14px;
  line-height: 1;
  vertical-align: 1px;
  background-color: #FFF;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/*左TH（色あり）*/
.tableType3 {
  border-bottom: none;
}
.tableType3 th {
  width: 200px;
  color: #FFF;
  font-size: 16px;
  border-top: 1px solid #fff;
  background-color: #D50000;
}
.tableType3 tr:first-child th {
  border-top: 1px solid #D50000;
}
.tableType3 tr:last-child th {
  border-bottom: 1px solid #D50000;
}
.tableType3 td {
  padding: 18px 15px 17px;
  font-size: 14px;
  line-height: 1.571;
}
.tableType3 tr:first-child td {
  border-top: 1px solid #E3E3E3;
}
.tableType3 tr:last-child td {
  border-bottom: 1px solid #E3E3E3;
}

/*ボーダーなしテーブル  */
.noBorderTable {
  margin: 20px 0;
}
.noBorderTable th,
.noBorderTable td {
  font-size: 16px;
  line-height: 1.75;
}
.noBorderTable th {
  white-space: nowrap;
  padding-right: 20px;
}
.noBorderTable.vaT th,
.noBorderTable.vaT td {
  vertical-align: top;
}

@media screen and (max-width: 960px) {
  .tableType2 tbody td {
    padding: 10px 20px 11px;
    font-size: 14px;
    line-height: 2;
  }
}

/* テーブルセル色変更 */
.table thead th.bgGray {
  background-color: gray;
}
.table thead th.blGray {
  border-left-color: gray;
}

.table tbody th.bgGray,
.table tbody td.bgGray {
  background-color: #EFEFEF;
}
.table tbody th.bgRed,
.table tbody td.bgRed {
  background-color: #fed1d1;
}


.w10p {
  width: 10%;
}
.w20p {
  width: 20%;
}
.w30p {
  width: 30%;
}
.w40p {
  width: 40%;
}
.w60p {
  width: 60%;
}
.w100p {
  width: 100%;
}
.vaM {
  vertical-align: middle !important;
}
.bkcOdd {
  background-color: #F5F5F5 !important;
}
.bkcEven {
  background-color: #FFF !important;
}
.borderTop {
  border-top: 1px solid #fff !important;
}
.tableBorderTop {
  border-top: 1px solid #E3E3E3;
}
.fixedImg {
  width: 100%;
  height: auto;
}
.borderImg {
  border: 1px solid #DDD;
}

.tableFlexWrap {
  justify-content: space-between;
}
.tableFlexWrap .tableWrap {
  width: 65%;
  margin-bottom: 50px;
}
.tableFlexWrap .img {
  width: 30%;
}

@media screen and (max-width: 960px) {
  .tableFlexWrap {
    display: block;
  }
  .tableFlexWrap .tableWrap {
    width: 100%;
    margin-bottom: 30px;
  }
  .tableFlexWrap .img {
    width: 100%;
    margin-bottom: 30px;
  }
}

/*間隔調整用*/
.mta {
  margin-top: auto !important;
}
.mt0 {
  margin-top: 0 !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.mt50 {
  margin-top: 50px !important;
}
.mt80 {
  margin-top: 80px !important;
}
.mb0 {
  margin-bottom: 0 !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.mb50 {
  margin-bottom: 50px !important;
}
.mb60 {
  margin-bottom: 60px !important;
}
.mb70 {
  margin-bottom: 70px !important;
}
.mb80 {
  margin-bottom: 80px !important;
}
.mb100 {
  margin-bottom: 100px !important;
}
.mb110 {
  margin-bottom: 110px !important;
}
.mb160 {
  margin-bottom: 160px !important;
}
.pt80 {
  padding-top: 80px !important;
}
.pt100 {
  padding-top: 100px !important;
}
.pt160 {
  padding-top: 160px !important;
}
.pt210 {
  padding-top: 210px !important;
}
.pr20 {
  padding-right: 20px !important;
}
.wsnw {
  white-space: nowrap;
}
.jcC {
  justify-content: center;
}

/*コラムページ用CSS*/
.articleArea .titL {
  margin: 50px 0 30px;
}
.articleArea .imgFull {
  width: 100%;
  margin-bottom: 0;
}
.articleArea .txt a {
  word-break: break-all;
}
.articleArea .section + .section {
  margin-top: 80px;
}
.articleArea .txt {
  margin-top: 15px;
}

/*関連コラム*/
.relatedListArea {
  margin-top: 71px;
}
.relatedListArea .sectionTit:after {
    background-color: #BFC4C7;
}
.relatedList li {
  width: calc(((100% - 60px) / 3) - .1px);
  margin-left: 30px;
}
.relatedList li:first-child {
  margin-left: 0;
}
.relatedList li a {
  display: block;
}
.relatedList .img {
  width: 100%;
  margin-bottom: 13px;
  overflow: hidden;
  position: relative;
}
.relatedList img {
  width: 100%;
  height: auto;
  transition: .3s;
}
.column .relatedList .img {
  width: 100%;
  padding-top: 56.5%;
  margin-bottom: 13px;
  overflow: hidden;
  position: relative;
  background-color: #DDDDDD;
}
.column .relatedList .img.noImg {
  background-color: #FFF;
}
.column .relatedList img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transform-origin: center;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  transition: .3s;
}
.relatedList a:hover img {
  transform: translate(-50%, -50%) scale(1.1);
}
.relatedList .textBox {
  transition: .3s;
}
.relatedList a:hover .textBox {
  opacity: 0.7;
}
.relatedList .tit {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.75;
}
.relatedList .labelWrap {
  margin-bottom: 8px;
}
.relatedList .label {
  margin-right: 6px;
}
.relatedList .date {
  margin-bottom: 6px;
  font-size: 14px;
}
.relatedListArea .btnMore a {
  margin-top: 43px
}

@media screen and (max-width: 960px) {
  .columnLabelWrap {
    margin-bottom: 42px;
  }
  .columnLabelWrap .label {
    margin-right: 7px;
    margin-bottom: 7px;
  }

  /*注釈*/
  .notes {
    margin: 38px 0 38px;
    font-size: 14px;
    line-height: 1.75;
  }

  /*画像左右パターン*/
  .floatBox {
    margin: 35px 0 40px;
  }
  .floatBox:after {
    content: "";
    display: table;
    clear: both;
  }
  .floatBox .img {
    width: auto;
    padding-top: 5px;
  }
  .floatBox .txt {
    margin-top: -5px;
    overflow: hidden;
  }
  .floatBox.imgRight {
    display: flex;
    flex-direction: column;
  }
  .floatBox.imgRight .txt {
    order: 1;
    margin-bottom: 8px;
  }
  .floatBox.imgRight .img {
    order: 2;
  }
  .floatBox.imgLeft .img {
    margin: 0 0 19px;
  }
  .floatBox.imgLeft .img,
  .floatBox.imgRight .img {
    float: none;
    text-align: center;
    margin-left: 0;
  }

  /*画像中央*/
  .imgCenter {
    margin: 50px 0;
  }
  .imgCenter img {
    width: 100%;
    height: auto;
  }

  /*テーブル*/
  .tableWrap {
    margin: 30px 0 81px;
    overflow-x: scroll;
  }
  .tableWrap::-webkit-scrollbar {
    height: 10px;
  }
  .tableWrap::-webkit-scrollbar-track {
    margin: 0 2px;
    background: #BDBDBD;
    border-radius: 5px;
  }
  .tableWrap::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: #535353;
  }
  .tableWrapInner {
    width: 780px;
  }
  .table {
    width: 100%;
    min-width: 780px;
  }
  .tableHalf {
    width: calc(50% - 10px);
    min-width: 200px;
  }
  .tableHalf + .tableHalf {
    margin-left: 20px;
  }
  .tableSpFull {
    width: 100%;
  }

  .relatedList {
    justify-content: center;
  }
  .relatedList li {
    width: 100%;
    margin: 45px 0 0 0px;
  }
  .relatedList li:first-child {
    margin: 0;
  }
  .relatedList li a {
    display: block;
  }
  .relatedList .img {
    margin-bottom: 14px;
  }
  .relatedListArea .btnMore a {
    margin-top: 35px;
  }
}

/* ===========================================
採用情報
=========================================== */
/*index*/
.recruit .mainLead {
  width: 100%;
  height: 280px;
  margin-bottom: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(../../en/common/img/recruit/index/bg_main_pc.jpg) no-repeat center / cover;
  overflow: hidden;
  position: relative;
}
.recruit .mainLead p {
  padding-left: 5em;
  text-indent: -5em;
  color: #FFF;
  font-size: 36px;
  line-height: 1.305555556;
  display: flex;
}
.recruit .mainLead p:before,
.recruit .mainLead p:after {
  content: "";
  width: 170px;
  height: 1px;
  background-color: #FFF;
  position: absolute;
  top: 50%;
}
.en .recruit .mainLead p:before,
.en .recruit .mainLead p:after {
  max-width: 120px;
  min-width: 60px;
  width: auto;
}
.recruit .mainLead p:before {
  margin-top: -25px;
  left: 0%;
}
.recruit .mainLead p:after {
  margin-top: 22px;
  right: 0%;
}
.sectionRecruit .titS {
  font-weight: bold;
}
.sectionRecruit .topArea {
  padding-bottom: 28px;
}
.sectionRecruit .btnMore {
  width: 200px;
  height: 48px;
  margin: 24px auto 80px;
}
.sectionRecruit .btnMore a {
  color: #D50000;
  font-size: 16px;
  border: 1px solid #D50000;
  display: flex;
  -webkit-justify-content: center;
          justify-content: center;
  -webkit-align-items: center;
          align-items: center;
  position: relative;
  transition: .3s;
}
.sectionRecruit .btnMore a:after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #D50000;
  border-right: 1px solid #D50000;
  position: absolute;
  top: 50%;
  left: auto;
  right: 16px;
  z-index: 10;
  margin-top: -1px;
  transform: translateY(-50%) rotate(45deg);
}
.sectionRecruit .btnMore a:hover {
  opacity: 0.7;
}

.recruitCampanyArea {
  padding: 70px 40px 90px;
  margin: 0 -40px;
}
.recruitCampanyArea.odd {
  background-color: #F5F5F5;
}
.recruitCampanyArea .titMain {
  padding-bottom: 14px;
  margin-bottom: 34px;
  font-size: 28px;
  line-height: 1.714285714;
  position: relative;
}
.recruitCampanyArea .titMain:after {
  content: "";
  width: 48px;
  height: 4px;
  background-color: #D50000;
  position: absolute;
  left: 0;
  bottom: 0;
}
.recruitCampanyArea .txt {
  margin-bottom: 20px;
}
.recruitCampanyArea .supportList {
  margin-top: -30px;
  margin-bottom: 0;
}
.recruitCampanyArea .supportList a:after {
  border-color: #707070;
}
.recruitCampanyArea .supportList .item {
  width: calc(50% - 15px);
  margin-top: 30px;
  background: #fff;
}
.recruit .supportList .item {
  background: #fff;
}
.recruit .supportList.bgGray .item {
  background: #f5f5f5;
}
.recruitCampanyArea .supportList .textBox {
  -webkit-align-items: center;
          align-items: center;
}
.recruitCampanyArea .supportList .textBox .tit {
  font-size: 24px;
  font-weight: normal;
}
.recruitCampanyArea .supportList .textBox .tit .fzS {
  font-size: 16px;
}

.recruitCampanyArea .supportList .textBox .txt {
  margin-bottom: 0;
  font-size: 16px;
  line-height: 1.75;
}
.recruitCampanyArea .ban {
  width: 100%;
  height: 250px;
  margin-bottom: 34px;
  justify-content: space-between;
  align-items: center;
}
.recruitCampanyArea#solize .ban {
  background: url(../img/recruit/index/bg_solize_pc.jpg) no-repeat center / cover;
}
.recruitCampanyArea#engineering .ban {
  background: url(../img/recruit/index/bg_engineering_pc.jpg) no-repeat center / cover;
}
.recruitCampanyArea#products .ban {
  background: url(../img/recruit/index/bg_products_pc.jpg) no-repeat center / cover;
}
.recruitCampanyArea .ban > .banTxt .txt {
  color: #FFF;
  margin: 0 0 0 31px;
  font-size: 28px;
  line-height: 1.785714286;
}

@media screen and (min-width: 961px){
  .recruitCampanyArea .ban .endBorder {
    display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
    -webkit-box-align: center;
  	-ms-flex-align: center;
  	align-items: center;
    position: relative;
    width: calc(100% - 300px);
    padding: 0 20px 0 0;
    box-sizing: border-box;
  }

  .recruitCampanyArea .ban .endBorder > .txt {
    word-break: keep-all;
  }

  .recruitCampanyArea .ban .endBorder .border {
    display: block;
    max-width: 200px;
    width: 16%;
    height: 1px;
    margin-left: 10px;
    background: #fff;
  }
}

.recruitCampanyArea .ban .btnBox {
  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;
  width: 280px;
  max-height: 250px;
  min-height: 175px;
  margin-right: 20px;
  color: #FFF;
}
.recruitCampanyArea .ban .btnBox .tit {
  margin-bottom: 15px;
  font-size: 34px;
  font-weight: bold;
  line-height: 2.147058824;
}
.recruitCampanyArea .ban .btnBox .tit > span {
  display: block;
  margin-top: -5px;
  font-size: 15px;
  font-weight: normal;
  line-height: 1;
}
.recruitCampanyArea .ban .btnBox .txt {
  margin-bottom: 10px;
  font-size: 15px;
  line-height: 1.75;
}
.recruitCampanyArea .ban .btnBox .txt .corporate {
  margin-bottom: 5px;
  font-weight: bold;
  font-size: 16px;
}
.recruitCampanyArea .ban .btnBox .btnReqruite {
  width: 100%;
  height: 48px;
  background-color: #FFF;
}
.recruitCampanyArea .ban .btnBox .btnReqruite a {
  width: 100%;
  height: 100%;
  color: #D50000;
  font-size: 16px;
  background-color: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: .3s;
}
.recruitCampanyArea .ban .btnBox .btnReqruite a:after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #D50000;
  border-right: 1px solid #D50000;
  position: absolute;
  top: 50%;
  left: auto;
  right: 16px;
  z-index: 10;
  margin-top: -1px;
  transform: translateY(-50%) rotate(45deg);
}
.recruitCampanyArea .ban .btnBox .btnReqruite a:hover {
  opacity: 0.7;
}

.recruit .messageArea .txt {
  margin-top: 20px;
}
.recruit .messageArea .txt:first-of-type {
  margin-top: 0;
}

@media screen and (max-width: 960px) {
  .recruit .mainLead {
    width: calc(100% + 56px);
    height: calc((100vw - 56px) * .58);
    margin: 0 -28px;
    padding: 0 28px;
    margin-bottom: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: url(../img/recruit/index/bg_main_sp.jpg) no-repeat center / cover;
    overflow: visible;
  }
  .recruit .mainLead p {
    padding-left: 0;
    text-indent: 0;
    font-size: 22px;
    text-align: center;
    line-height: 1.818181818;
  }
  .recruit .mainLead p:before,
  .recruit .mainLead p:after {
    content: normal;
  }
  .sectionRecruit .btnMore {
    width: 200px;
    height: 48px;
    margin: 24px auto 80px;
  }
  .sectionRecruit .btnMore a {
    color: #D50000;
    font-size: 16px;
    border: 1px solid #D50000;
    display: flex;
    -webkit-justify-content: center;
            justify-content: center;
    -webkit-align-items: center;
            align-items: center;
    position: relative;
    transition: .3s;
  }
  .sectionRecruit .btnMore a:after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid #D50000;
    border-right: 1px solid #D50000;
    position: absolute;
    top: 50%;
    left: auto;
    right: 16px;
    z-index: 10;
    margin-top: -1px;
    transform: translateY(-50%) rotate(45deg);
  }
  .sectionRecruit .btnMore a:hover {
    opacity: 0.7;
  }
  .recruitCampanyArea {
    padding: 50px 28px 80px;
    margin: 0 -28px;
  }
  .recruitCampanyArea .supportList {
    margin-top: -6px;
  }
  .recruitCampanyArea .supportList .item {
    width: 100%;
    margin-top: 20px;
  }
  .recruitCampanyArea .supportList .textBox .tit {
    font-size: 16px;
    font-weight: bold;
  }
  .recruitCampanyArea .supportList .textBox .txt {
    font-size: 16px;
  }
  .recruitCampanyArea .supportList img {
    width: 100%;
    height: auto;
  }
  .recruitCampanyArea .ban {
    width: 100%;
    height: calc((100vw - 56px) * .8375);
    padding: 29px 20px 20px;
    margin-bottom: 34px;
    flex-direction: column;
    align-items: flex-start;
  }
  .recruitCampanyArea#solize .ban {
    background: url(../img/recruit/index/bg_solize_sp.jpg) no-repeat center / cover;
  }
  .recruitCampanyArea#engineering .ban {
    padding: 16px 20px 16px;
    background: url(../img/recruit/index/bg_engineering_sp.jpg) no-repeat center / cover;
  }
  .recruitCampanyArea#products .ban {
    background: url(../img/recruit/index/bg_products_sp.jpg) no-repeat center / cover;
  }
  .recruitCampanyArea .ban > .banTxt .txt {
    margin: 0;
    font-size: 16px;
  }
  .recruitCampanyArea#engineering .ban > .btnTxt .txt {
    font-size: 14px;
    line-height: 1.5;
  }
  .recruitCampanyArea .ban > .banTxt.endBorder .border {
    display: none;
  }
  .recruitCampanyArea .ban .btnBox {
    width: 100%;
    min-height: auto;
    margin-right: 0;
    display: flex;
    flex-direction: column;
    text-align: right;
  }
  .recruitCampanyArea .ban .btnBox .tit {
    margin-bottom: 15px;
    font-size: 20px;
  }
  .recruitCampanyArea#engineering .ban .btnBox .tit,
  .recruitCampanyArea#products .ban .btnBox .tit {
    margin-bottom: 10px;
  }
  .recruitCampanyArea .ban .btnBox .tit > span {
    margin-top: -3px;
    font-size: 12px;
  }
  .recruitCampanyArea .ban .btnBox .txt {
    margin-bottom: 0;
    font-size: 12px;
    line-height: 1.75;
  }
  .recruitCampanyArea .ban .btnBox .txt .corporate {
    margin-bottom: 0;
    font-size: 13px;
  }
  .recruitCampanyArea#engineering .ban .tit span,
  .recruitCampanyArea#products .ban .tit span {
    font-size: 11px;
  }
  .recruitCampanyArea#engineering .ban .btnBox li,
  .recruitCampanyArea#products .ban .btnBox li {
    line-height: 1.4;
    font-size: 11px;
  }
  .recruitCampanyArea .ban .btnBox .btnReqruite {
    width: 100%;
    height: 36px;
    background-color: #FFF;
  }
  .recruitCampanyArea .ban .btnBox .btnReqruite a {
    width: 100%;
    height: 100%;
    color: #D50000;
    font-size: 16px;
    background-color: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: .3s;
  }
  .recruitCampanyArea .ban .btnBox .btnReqruite a:after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid #D50000;
    border-right: 1px solid #D50000;
    position: absolute;
    top: 50%;
    left: auto;
    right: 16px;
    z-index: 10;
    margin-top: -1px;
    transform: translateY(-50%) rotate(45deg);
  }
  .recruitCampanyArea .ban .btnBox .btnReqruite a:hover {
    opacity: 0.7;
  }
}

.linkList {
  margin: -10px 0 50px -21px;
}
.linkList li {
  width: calc((100% - 42px) / 3.09);
  margin: 20px 0 0 21px;
  position: relative;
}
.linkList li:before {
  content: "";
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  border: 1px solid #D50000;
  transition: .3s;
  opacity: 0;
  pointer-events: none;
}
.linkList a {
  height: 70px;
  padding: 15px 36px 15px 20px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  border: 1px solid #E3E3E3;
  background-color: #F5F5F5;
  position: relative;
  display: flex;
  align-items: center;
  transition: .3s;
}
.linkList a:after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #405461;
  border-right: 1px solid #405461;
  position: absolute;
  top: 50%;
  right: 14px;
  margin-top: -1px;
  transform: translateY(-50%) rotate(135deg);
}
.linkList a:before {
  content: "";
  width: 11px;
  height: 1px;
  background-color: #405461;
  position: absolute;
  right: 13px;
  bottom: 50%;
  margin-bottom: -10px;
  transform: translateY(-50%);
}
.linkList li:hover:before {
  opacity: 1;
}
.linkList a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 960px) {
  .linkList {
    margin: 60px 0 50px;
  }
  .linkList li {
    width: 100%;
    margin: 0;
  }
  .linkList a {
    height: 62px;
    border-top: none;
    padding: 8px 36px 8px 10px;
  }
  .linkList li:first-child a {
    height: 63px;
    border: 1px solid #E3E3E3;
  }
  .linkList a:before {
    background-color: #BFC4C7;
  }
  .linkList a:after {
    width: 8px;
    height: 8px;
    border-top: 1px solid #BFC4C7;
    border-right: 1px solid #BFC4C7;
  }
  .linkList a:hover {
    opacity: 0.7;
  }
}

/*募集要項*/
.recruitTableArea {
  width: 100%;
  table-layout: fixed;
}
.recruitTableArea tr {
  border-bottom: 1px solid #E3E3E3;
}
.recruitTableArea tr:first-child {
  border-top: 1px solid #E3E3E3;
}
.recruitTableArea th {
  width: 160px;
  padding: 10px 10px 10px 17px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.166666667;
  vertical-align: middle;
}
.recruitTableArea td .listIcon {
  padding-left: 20px;
}
.recruitTableArea td .listIcon:before {
  top: 13px;
}
.recruitTableArea td {
  padding: 24px 10px 24px;
  font-size: 16px;
  line-height: 1.75;
}
.recruitTableArea .list + .list {
  margin-top: 12px;
}
.recruitTableArea p + p {
  margin-top: 29px;
}
.btnEntry {
  width: 280px;
  height: 48px;
  margin: 80px auto 0;
}
.btnEntry a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btnEntry a:before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
  top: 50%;
  left: auto;
  right: 16px;
  z-index: 10;
  margin-top: -1px;
  transform: translateY(-50%) rotate(45deg);
}

@media screen and (max-width: 960px) {
  .recruitTableArea th {
    width: 100%;
    display: block;
    padding: 27px 0 0;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.166666667;
    vertical-align: top;
  }
  .recruitTableArea th .listIcon {
    padding-left: 20px;
  }
  .recruitTableArea td {
    width: 100%;
    display: block;
    padding: 10px 0 22px;
  }
}



/*先輩社員インタビュー index*/
.recruit .kvArea {
  background-image: url(../../en/common/img/recruit/img_kv_pc.jpg);
}
.interviewItem {
  margin-bottom: 40px;
  background-color: #F5F5F5;
}
.interviewItem a {
  padding: 20px 20px 25px 20px;
  display: block;
  word-break: break-all;
}
.interviewItem .flexWrap {
  -webkit-align-items: flex-start;
  align-items: flex-start;
}
.interviewItem .img {
  width: 52%;
  margin-right: 16px;
  position: relative;
}
.interviewItem .img img {
  width: 100%;
  height: auto;
}
.interviewItem .textBox {
  flex: 1;
  position: relative;
}
.interviewItem .titBox {
  width: calc(100% + 43px);
  padding: 20px 20px 13px;
  margin: 15px 0 10px -43px;
  color: #fff;
  background-color: #D50000;
  position: relative;
  z-index: 101;
}
.interviewItem .label {
  padding: 4px 7px 4px;
  font-size: 12px;
  line-height: 1;
  border: 1px solid #fff;
  background-color: #D50000;
  transition: .3s;
}
.interviewItem .tit {
  margin-bottom: 3px;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.7;
  transition: .3s;
}
.interviewItem .interviewMemberList {
  transition: .3s;
}
.interviewItem a:hover .label,
.interviewItem a:hover .tit,
.interviewItem a:hover .interviewMemberList {
  opacity: 0.7;
}
.interviewItem .interviewMemberList {
  font-size: 16px;
  line-height: 1.75;
}
.btnBack.interview a {
  width: 280px;
}

@media screen and (max-width: 960px) {
  /*index*/
  .recruit .kvArea {
    background-image: url(../img/recruit/img_kv_sp.jpg);
  }
  .interviewItem {
    margin: 0 0 30px;
  }
  .interviewItem a {
    padding: 0 0 14px;
  }
  .interviewItem .flexWrap {
    display: block;
  }
  .interviewItem .img {
    width: 100%;
    margin: 0 0 0;
  }
  .interviewItem .img img {
    width: 100%;
    height: auto;
  }
  .interviewItem .textBox {
    padding-right: 0;
    flex: 1;
  }
  .interviewItem .titBox {
    width: 100%;
    margin: 0;
  }
  .interviewMemberList {
    padding: 10px 20px 0;
  }
}

/*01*/
.interviewKvArea {
  position: relative;
  margin-bottom: 54px;
}
.interviewKvArea:after {
  content: "";
  display: table;
  clear: both;
}
.interviewKvArea .img {
  width: 100%;
  padding-right: 140px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.interviewKvArea.noTitBox {
  margin-bottom: 80px;
}
.interviewKvArea.noTitBox .img {
  padding-right: 0;
}
.interviewKvArea .img img {
  width: 100%;
  height: auto;
}
.interviewKvArea .textBox {
  width: 500px;
  padding: 0 20px 14px;
  margin-top: 42%;
  float: right;
  position: relative;
  z-index: 10;
  background-image: linear-gradient(to bottom, transparent 0%, #F5F5F5 30px, #F5F5F5 100%);
}
.interviewKvArea .textBox:after {
  content: "";
  width: 140px;
  height: 100px;
  background-color: #F5F5F5;
  position: absolute;
  top: -20px;
  right: 0;
  z-index: -1;
}
.interviewKvArea .titBox {
  width: calc(500px - 20px);
  padding: 12px 20px 19px;
  margin: 0 0 10px;
  float: right;
  color: #fff;
  background-color: #D50000;
  position: relative;
  z-index: 10;
}
.interviewKvArea .label {
  padding: 4px 7px 4px;
  font-size: 12px;
  line-height: 1;
  border: 1px solid #fff;
  background-color: #D50000;
  transition: .3s;
}
.interviewKvArea .tit {
  margin-bottom: 6px;
  font-size: 28px;
  font-weight: bold;
  line-height: 1.7;
}
.interviewKvArea .textBox {
  font-size: 16px;
  line-height: 1.75;
}
.interviewKvArea .interviewMemberList a {
  color: #D50000;
  transition: .3s;
}
.interviewKvArea .interviewMemberList a:hover {
  opacity: 0.7;
}
.interviewLead {
  margin-bottom: 61px;
  font-size: 16px;
  line-height: 1.75;
}
.interviewSection {
  margin-top: 66px;
}
.interviewSection:first-of-type {
  margin-top: 0;
}
.interviewSection .tit {
  margin-bottom: 25px;
  display: flex;
  position: relative;
}
.interviewSection .tit span {
  font-size: 24px;
  line-height: 1.75;
}
.interviewSection .tit:before {
  content: "";
  width: 80px;
  height: 1px;
  background-color: #D50000;
  margin-right: 20px;
  margin-top: 20px;
}
.interviewSection .txt {
  margin-top: 28px;
}
.interviewSection .txt:first-of-type {
  margin-top: 0;
}
.interviewSection .name {
  display: inline-block;
  padding-right: 1em;
  color: #D50000;
  font-weight: bold;
}
.recruit .relatedList .tit {
  margin-bottom: 6px;
}
.recruit .relatedList .label {
  color: #fff;
  background-color: #D50000;
}
.recruit .relatedList .img {
  margin-bottom: 7px;
  padding-top: 0;
  background-color: transparent;
  position: relative;
}
.recruit .relatedList .img:before {
  content: "";
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  border: 1px solid #D50000;
  transition: .3s;
  opacity: 0;
  pointer-events: none;
}
.recruit .relatedList img {
  position: static;
  top: 0;
  left: 0;
  transform: translate(0, 0);
  transform-origin: center;
  width: 100%;
  height: auto;
}
.recruit .relatedList a:hover .img:before {
  opacity: 1;
}
.recruit .relatedList a:hover img {
  transform: translate(0, 0) scale(1.1);
}

@media screen and (max-width: 960px) {
  .interviewKvArea {
    margin-bottom: 30px;
  }
  .interviewKvArea .img {
    padding-right: 0;
    position: static;
  }
  .interviewKvArea .textBox {
    width: 100%;
    padding: 0 20px 14px;
    margin-top: 0;
    float: none;
    position: static;
  }
  .interviewKvArea .interviewMemberList {
    padding: 0;
  }
  .interviewKvArea .titBox {
    width: calc(100% + 40px);
    padding: 19px 20px 20px;
    margin: 0 -20px 14px;
    float: none;
    position: static;
  }
  .interviewKvArea .tit {
    font-size: 26px;
  }
  .interviewKvArea .interviewMemberList dt,
  .interviewKvArea .interviewMemberList dd {
    font-size: 16px;
    line-height: 1.75;
  }
  .interviewArea {
    margin-bottom: 80px;
  }
  .interviewKvArea .textBox:after {
    content: normal;
  }
/*  .titRow1 .interviewKvArea {
    padding-bottom: 0;
  }
  .titRow2 .interviewKvArea {
    padding-bottom: 0;
  }
  .titRow1 .interviewKvArea .titBox {
    bottom: 12%;
  }
  .titRow2 .interviewKvArea .titBox {
    bottom: 16%;
  }
  .titRow1 .interviewKvArea .textBox {
    padding-top: 19px;
  }
  .titRow2 .interviewKvArea .textBox {
    padding-top: 19px;
  }
  .titRow1 .interviewArea {
    padding-top: 60px;
  }
  .titRow2 .interviewArea {
    padding-top: 54px;
  }*/
  .interviewLead {
    margin-bottom: 46px;
  }
  .interviewSection {
    margin-top: 66px;
  }
  .interviewSection .tit {
    margin-bottom: 21px;
    padding-left: 9px;
    display: block;
  }
  .interviewSection .tit span {
    text-indent: 1.6em;
    display: inline-block;
  }
  .interviewSection .tit:before {
    width: 40px;
    height: 2px;
    background-color: #D50000;
    margin-right: 10px;
    margin-top: 0;
    position: absolute;
    top: 20px;
    left: 0;
  }
  .interviewSection .txt {
    margin-top: 28px;
  }
  .interviewSection .txt:first-of-type {
    margin-top: 0;
  }
  .interviewSection .name {
    display: inline-block;
    padding-right: 1em;
    color: #D50000;
    font-weight: bold;
  }
}

/*社員紹介*/
/*.staffArea .interviewKvArea .titBox {
  bottom: 267px;
}
.staffArea .interviewKvArea .textBox {
  bottom: 50px;
}*/
/*.staffArea .titRow1 .interviewKvArea {
  padding-bottom: 250px;
}
.staffArea .titRow1 .interviewKvArea .titBox {
  bottom: 210px;
}
.staffArea .titRow1 .interviewKvArea .textBox {
  padding-top: 145px;
}
.staffArea .titRow2 .interviewKvArea {
  padding-bottom: 350px;
}
.staffArea .titRow2 .interviewKvArea .textBox {
  padding-top: 190px;
}
.staffArea .titRow3 .interviewKvArea {
  padding-bottom: 280px;
}
.staffArea .titRow3 .interviewKvArea .titBox {
  bottom: 180px;
}
.staffArea .titRow3 .interviewKvArea .textBox {
  padding-top: 212px;
}*/

/*@media screen and (max-width: 960px) {
  .staffArea .titRow1 .interviewKvArea,
  .staffArea .titRow2 .interviewKvArea {
    padding-bottom: 0;
  }
  .staffArea .titRow1 .interviewKvArea .textBox,
  .staffArea .titRow2 .interviewKvArea .textBox {
    padding-top: 20px;
  }
}*/

/*イメージ絵画「想像の創造」*/
/*.sectionRecruit.souzou .interviewKvArea {
  padding-bottom: 150px;
}
.sectionRecruit.souzou .interviewKvArea .titBox {
  bottom: 50px;
}*/
.sectionRecruit.souzou .interviewKvArea .textBox {
  background: none;
  margin-top: 28%;
}
.sectionRecruit.souzou .interviewKvArea .textBox:after {
  content: normal;
}
.sectionRecruit.souzou .interviewKvArea .date {
  display: block;
  color: #FFF;
}

@media screen and (max-width: 960px) {
  .sectionRecruit.souzou .interviewKvArea .textBox {
    margin-top: 0;
  }
}

.sectionRecruit .linkList a:before {
  display: none;
}

/*沿革*/
/*Timeline v2
------------------------------------*/
.historyArea {
  width: 75%;
  margin: 0 auto;
}
.historyArea .timeline-v2 {
  padding: 0;
  list-style: none;
  position: relative;
}

/* The line */
.historyArea .timeline-v2 > li{
  position: relative;
}
.historyArea .timeline-v2 > li .cbp_tmicon {
    top: 22px;
    left: 22%;
    width: 10px;
    height: 10px;
    position: absolute;
    background: #72c02c;
    margin: 0 0 0 -17px;
    box-shadow: 0 0 0 4px #f3f3f3;
    -webkit-font-smoothing: antialiased;
    border-radius: 50% !important;
}

.historyArea .timeline-v2:before {
  top: 0;
  bottom: 0;
  left: 22%;
  width: 4px;
  content: '';
  background: #f3f3f3;
  position: absolute;
  margin-left: -14px;
}

/* The date/time */
.historyArea .timeline-v2 > li .cbp_tmtime {
  width: 25%;
  display: block;
  position: absolute;
  padding-right: 80px;
}

.historyArea .timeline-v2 > li .cbp_tmtime span {
  top: 9px;
  display: block;
  text-align: right;
  position: relative;
}

.historyArea .timeline-v2 > li .cbp_tmtime span:first-child {
  color: #999;
  font-size: 14px;
  line-height: 0.9;
}

.historyArea .timeline-v2 > li .cbp_tmtime span:last-child {
  color: #585f69;
  font-size: 20px;
  font-weight: normal;

}

/* Right content */
.historyArea .timeline-v2 > li .cbp_tmlabel {
  padding: 10px 20px 20px;
  background: #f3f3f3;
  line-height: 1.4;
  clear: both;
  position: relative;
  margin: 0 0 40px 25%;
}

/*
.historyArea .timeline-v2 > li .cbp_tmlabel img.big-thumb {
  width: 100%;
}
*/

.historyArea .timeline-v2 > li .cbp_tmlabel li {
  padding: 0;
}

/*
.historyArea .timeline-v2 > li .cbp_tmlabel img.small-thumb {
  width: 111px;
  height: auto;
}
*/

.historyArea .timeline-v2 > li .cbp_tmlabel h2 {
  margin-top: 0px;
  font-size: 21px;
  padding: 0 0 5px;
  margin-bottom: 10px;
  text-transform: capitalize;
  border-bottom: 1px solid #ddd;
}

.historyArea .timeline-v2 > li .cbp_tmlabel .text-left {
  float: left;
}

/* The triangle */
.historyArea .timeline-v2 > li .cbp_tmlabel:after {
  right: 100%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-right-color: #f3f3f3;
  border-width: 10px;
  top: 18px;
}

/* The icons */
.historyArea .timeline-v2 > li .cbp_tmicon {
  top: 22px;
  left: 22%;
  width: 10px;
  height: 10px;
  position: absolute;
  background: #72c02c;
  margin: 0 0 0 -17px;
  box-shadow: 0 0 0 4px #f3f3f3;
  -webkit-font-smoothing: antialiased;
}
.carousel-inner>.item>a>img, .carousel-inner>.item>img, .img-responsive, .thumbnail a>img, .thumbnail>img {
    display: block;
    max-width: 100%;
    height: auto;
}
.historyArea .col-lg-1, .historyArea .col-lg-10, .historyArea .col-lg-11, .historyArea .col-lg-12, .historyArea .col-lg-2, .historyArea .col-lg-3, .historyArea .col-lg-4, .historyArea .col-lg-5, .historyArea .col-lg-6, .historyArea .col-lg-7, .historyArea .col-lg-8, .historyArea .col-lg-9, .historyArea .col-md-1, .historyArea .col-md-10, .historyArea .col-md-11, .historyArea .col-md-12, .historyArea .col-md-2, .historyArea .col-md-3, .historyArea .col-md-4, .historyArea .col-md-5, .historyArea .col-md-6, .historyArea .col-md-7, .historyArea .col-md-8, .historyArea .col-md-9, .historyArea .col-sm-1, .historyArea .col-sm-10, .historyArea .col-sm-11, .historyArea .col-sm-12, .historyArea .col-sm-2, .historyArea .col-sm-3, .historyArea .col-sm-4, .historyArea .col-sm-5, .historyArea .col-sm-6, .historyArea .col-sm-7, .historyArea .col-sm-8, .historyArea .col-sm-9, .historyArea .col-xs-1, .historyArea .col-xs-10, .historyArea .col-xs-11, .historyArea .col-xs-12, .historyArea .col-xs-2, .historyArea .col-xs-3, .historyArea .col-xs-4, .historyArea .col-xs-5, .historyArea .col-xs-6, .historyArea .col-xs-7, .historyArea .col-xs-8, .historyArea .col-xs-9 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}
.col-md-4 {
    width: 33.33333333%;
    float: left;
}
.col-md-8 {
    width: 66.66666667%;
    float: left;
}
.historyArea .row {
    margin-right: 10px;
    margin-left: 10px;
}
.historyArea .row:after {
  content: "";
  display: table;
  clear: both;
}
.historyArea p {
  margin-bottom: 10px;
  font-size: 16px;
}

/* Example Media Queries */
@media screen and (max-width: 960px) {
  .historyArea {
    width: 100%;
    margin: 0 auto;
  }
  .md-margin-bottom-20 {
      margin-bottom: 20px;
  }
  .historyArea .timeline-v2 > li .cbp_tmtime span:last-child {
    font-size: 20px;
  }
  .historyArea .timeline-v2:before {
    display: none;
  }

  .historyArea .timeline-v2 > li .cbp_tmtime {
    width: 100%;
    position: relative;
    padding: 0 0 20px 0;
  }

  .historyArea .timeline-v2 > li .cbp_tmtime span {
    text-align: left;
  }

  .historyArea .timeline-v2 > li .cbp_tmlabel {
    padding: 1em;
    font-weight: 400;
    margin: 0 0 30px 0;
    border-radius: 0;
  }

  .historyArea .timeline-v2 > li .cbp_tmlabel:after {
    left: 20px;
    top: -20px;
    right: auto;
    border-bottom-color: #f3f3f3;
    border-right-color: transparent;
  }
  .col-md-4,
  .col-md-8 {
      width: 100%;
      float: none;
  }

  .historyArea .timeline-v2 > li .cbp_tmicon {
    display: none;
  }
}

/*よくある質問*/
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 4px;
}
.panel-default {
  border-color: #ddd;
}
.panel {
  margin-bottom: 20px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 1px rgba(0,0,0,.05);
  box-shadow: 0 1px 1px rgba(0,0,0,.05);
}
.panel-default {
  border-color: #ddd;
}
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 4px;
}
.panel-group .panel+.panel {
margin-top: 5px;
}
.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.panel-heading {
  color: #fff;
  padding: 5px 15px;
}
.panel-heading a:hover {
color: #D00000;
text-decoration: underline;
}
.panel-group .panel-heading {
  border-bottom: 0;
}
.panel-default>.panel-heading {
  color: #333;
  background-color: #f5f5f5;
  border-color: #ddd;
}
.acc-v1 .panel-heading {
  padding: 0;
  box-shadow: none;
}
.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 16px;
  color: inherit;
}
.acc-v1 .panel-heading a {
  display: block;
  font-size: 16px;
  padding: 5px 15px;
  background: #fefefe;
}
.collapse {
  display: none;
}
.panel:first-of-type .collapse {
display: block;
}
.panel-body {
  padding: 15px;
  font-size: 16px;
}
.panel-body .listIcon:before {
top: 10px;
}
.panel-group .panel-heading+.panel-collapse>.list-group, .panel-group .panel-heading+.panel-collapse>.panel-body {
  border-top: 1px solid #ddd;
}
.panel-default>.panel-heading+.panel-collapse>.panel-body {
  border-top-color: #ddd;
}
.btn-group-vertical>.btn-group:after, .btn-toolbar:after, .clearfix:after, .container-fluid:after, .container:after, .dl-horizontal dd:after, .form-horizontal .form-group:after, .modal-footer:after, .nav:after, .navbar-collapse:after, .navbar-header:after, .navbar:after, .pager:after, .panel-body:after, .row:after {
  clear: both;
   content: "";
   display: table;
}


/* ===========================================
会社情報
=========================================== */
.corporate .kvArea {
  background-image: url(../img/corporate/img_kv_pc.jpg);
}
.gridList {
  margin: -43px 0 0 -30px;
  display: flex;
  flex-wrap: wrap;
}
.gridList .gridItem {
  width: calc(((100% - 90px) / 3) - .1px);
  margin: 43px 0 0 30px;
}
.gridList .img.border {
  border: 1px solid #E3E3E3;
}
.gridList .gridItem .img {
  position: relative;
}
.gridList .gridItem img {
  width: 100%;
  height: auto;
}
.gridList .gridItem .txt {
  display: block;
  margin-top: 11px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6875;
  transition: .3s;
}
.corporateList a:hover span {
  opacity: 0.7;
}
.gridItem.col2 {
  width: calc(50% - 30px);
}
.gridItem.gridItemBorder {
  padding: 20px;
  border: 1px solid #BFC4C7;
}

@media screen and (max-width: 960px) {
  .corporate .kvArea {
    background-image: url(../img/corporate/img_kv_sp.jpg);
  }
  .gridList {
    margin: -44px 0 0 0;
  }
  .gridList .gridItem {
    width: 100%;
    margin: 44px 0 0 0;
  }
  .gridList img {
    width: 100%;
    height: auto;
  }
  .gridList .gridItem .txt {
    margin-top: 12px;
  }
  .gridList a {
    display: block;
  }
}

/*SOLIZE代表挨拶*/
.messageArea .messageKv {
  margin-bottom: 33px;
  display: flex;
  justify-content: space-between;
  background: url(../img/corporate/message/bg_main.jpg) no-repeat left top / 100% auto;
}
.messageArea .messageKv .img {
  order: 1;
  width: 29.5%;
}
.messageArea .messageKv .img img {
  width: 100%;
  height: auto;
}
.messageArea .messageKv .titBox {
  order: 2;
  flex: 1 0 0%;
  padding: 16px 30px 8px 30px;
  color: #FFF;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  background-color: #D50000;
}
.messageArea .messageKv .tit {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.5;
}
.messageArea .messageKv .name {
  margin-top: -30px;
  font-size: 18px;
  text-align: right;
  line-height: 1.1;
}
.messageArea .messageKv .name span {
  line-height: 2.12222222;
}
.messageArea .messageKv .name span.position {
  font-size: .8em;
  line-height: 1.6;
}
@media screen and (max-width: 960px){
  .messageArea .messageKv .name span.position {
    line-height: 1.1;
  }
}

.messageArea .textBox {
  margin-bottom: 28px;
}
.messageArea .textBox .txt {
  margin-top: 28px;
}
.messageArea .textBox .txt:first-of-type {
  margin-top: 0;
}
.messageArea .nameBox {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.messageArea .nameBox .date {
  font-size: 16px;
  line-height: 1.75;
}
.messageArea .nameBox .position {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.75;
  margin-bottom: 12px;
}
.messageArea .nameBox .name {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.166666667;
}
.messageArea .nameBox .name .corpPos {
  font-size: 18px;
}

@media screen and (max-width: 960px) {
  .messageArea .messageKv {
    padding-top: 0;
    padding-bottom: 0;
    display: block;
    background: none;
  }
  .messageArea .messageKv .titBox {
    width: 100%;
    height: auto;
    padding: 12px 20px 18px;
  }
  .messageArea .messageKv .name {
    margin-top: 0;
  }
  .messageArea .messageKv .img {
    width: 100%;
  }
  .messageArea .messageKv .img img {
    width: 100%;
    height: auto;
  }
}


/*SOLIZE理念*/
.corporateSection {
  margin-top: 82px;
}
.corporateSection:first-of-type {
  margin-top: 0;
}
.corporateSection .tit,
.messageTit {
  margin-bottom: 25px;
  color: #D50000;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.75;
  text-align: center;
}
.corporateSection .lead {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.555555556;
}
.symbolBox .titSs {
  margin-top: 0;
}
.symbolBox .flexWrap .img {
  margin: -7px 30px 0 0;
}
.symbolBox .flexWrap .textBox {
  flex: 1 0 0%;
}
.corporateSection .list li {
  margin-top: 18px;
  font-size: 16px;
  line-height: 1.75;
}
.corporateSection .list li:first-child {
  margin-top: 0;
}
.corporateSection .list li > span {
  font-size: 18px;
  display: block;
}
.corporateSection .list .listIcon {
  padding-left: 22px;
}
.corporateSection .list .listIcon:before {
  top: 18px;
}
.corporateSection .list.lSpace {
  margin-left: 50px;
}
.globalArea .corporateSection .list .listIcon:before {
  top: 18px;
}
.corporateSection.vowBox .list {
  margin-bottom: 28px;
}
.corporateSection.vowBox li {
  line-height: 2;
}
.corporateSection.vowBox .txt {
  margin-left: 50px;
}

@media screen and (max-width: 960px) {
  .corporateSection {
    margin-top: 86px;
  }
  .corporateSection .tit {
    width: 87.1875%;
    margin: 0 auto 30px;
    display: flex;
    -webkit-justify-content: center;
            justify-content: center;
  }
  .corporateSection .tit span {
    text-align: left;
  }
  .corporateSection .lead {
    margin-bottom: 6px;
  }
  .symbolBox .flexWrap {
    display: block;
  }
  .symbolBox .flexWrap .img {
    margin: -12px 0 26px;
    text-align: center;
  }
  .corporateSection .list .listIcon {
    padding-left: 21px;
  }
  .globalArea .corporateSection .list .listIcon:before {
    top: 16px;
  }
  .corporateSection.vowBox {
    margin-bottom: 77px;
  }
  .corporateSection.vowBox .list {
    margin-bottom: 52px;
  }
  .corporateSection.vowBox li {
    margin-top: 24px;
    font-size: 18px;
    line-height: 1.5555555;
  }
  .corporateSection.vowBox .listIcon:before {
    top: 13px;
  }
  .corporateSection .list.lSpace,
  .corporateSection.vowBox .txt {
    margin-left: 0;
  }
  .corporateSection.vowBox .txt {
    font-size: 18px;
  }
}


/*コンピテンシー・事業ドメイン*/
.corporateArea.competency {
  margin-bottom: 80px;
}
.corporateSection .list li {
  margin-top: 19px;
}
.corporateSection .list li > span {
  margin-bottom: -3px;
}
.competency .list .listIcon:before {
  top: 21px;
}
.corporateSection .fontEn {
  color: #D50000;
  font-size: 20px;
}
.corporateSection .imgCenter {
  margin-top: 34px;
}
.corporateSection .imgFull  {
  margin-top: 34px;
}

@media screen and (max-width: 960px) {
  .corporateSection .list li > span {
    margin-bottom: -3px;
  }
  .competency .list .listIcon:before {
    top: 21px;
  }
  .corporateSection .imgCenter {
    display: block;
  }
}


/*沿革*/
.historyTableArea {
  width: 100%;
  table-layout: fixed;
}
.historyTableArea tr {
  border-bottom: 1px solid #E3E3E3;
}
.historyTableArea tr:first-child {
  border-top: 1px solid #E3E3E3;
}
.historyTableArea th {
  width: 160px;
  padding: 27px 10px 10px 17px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.166666667;
  vertical-align: top;
}
.historyTableArea th .listIcon {
  padding-left: 20px;
}
.historyTableArea th .listIcon:before {
  top: 14px;
}
.historyTableArea td {
  padding: 24px 10px 24px;
  font-size: 16px;
  line-height: 1.75;
}

@media screen and (max-width: 960px) {
  .historyTableArea th {
    width: 100%;
    display: block;
    padding: 27px 10px 0 20px;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.166666667;
    vertical-align: top;
  }
  .historyTableArea th .listIcon {
    padding-left: 20px;
  }
  .historyTableArea td {
    width: 100%;
    display: block;
    padding: 10px 20px 22px;
  }
}


/*SOLIZE役員紹介*/
.officerArea *,.officerArea *::before,.officerArea *::after { -webkit-box-sizing: border-box;-moz-box-sizing: border-box;-o-box-sizing: border-box;-ms-box-sizing: border-box;box-sizing: border-box;}
.officerArea .lazy {
  opacity: 0;
  transform: translate(0, 10%);
  transition: 1s;
}
.officerArea .lazy.loaded {
  transform: translate(0, 0);
  opacity: 1;
}
.officerArea .in-viewport{
  animation: fadeIn001 2s ease 0s 1 normal;
}
@keyframes fadeIn001 {
  0% {opacity: 0}
  100% {opacity: 1}
}
@-webkit-keyframes fadeIn001 {
  0% {opacity: 0}
  100% {opacity: 1}
}
.officerArea h2.titL{
  margin-bottom: 5px;
}
.officerArea{
  margin-bottom: 75px;
}
.officerArea .wrapper{
  width: 100%;
  display: grid; 
  grid-template-columns: 170px 1fr 150px;
  grid-template-rows: 1fr auto;
  gap: 0px 0px;
  align-items: center;
  padding: 20px 25px 20px 25px;
  border-bottom: 1px solid #dadada;
}
.officerArea .img { grid-area: 1 / 1 / 2 / 2; }
.officerArea .text { grid-area: 1 / 2 / 2 / 3; }
.officerArea .btn { grid-area: 1 / 3 / 2 / 4; }
.officerArea .biography { grid-area: 2 / 1 / 3 / 4; } 

.officerArea#operating-officer .wrapper{
  grid-template-columns: 170px 225px 1fr 150px;
  grid-template-rows: 1fr auto;
}
.officerArea#operating-officer .img { grid-area: 1 / 1 / 2 / 2; }
.officerArea#operating-officer .text { grid-area: 1 / 2 / 2 / 3; }
.officerArea#operating-officer .officer-post { grid-area: 1 / 3 / 2 / 4; }
.officerArea#operating-officer .btn { grid-area: 1 / 4 / 2 / 5; }
.officerArea#operating-officer .biography { grid-area: 2 / 1 / 3 / 5; }

.officerArea#director .text,.officerArea#auditor .text{
  padding: 0 0 0 80px;
}
.officerArea#operating-officer .text{
  padding: 0 0 0 80px;
}
.officerArea#operating-officer .officer-post{
  font-size: 13px;
  color: #6b6b6b;
}
.officerArea .btn{
  padding: 10px 5px 10px;
  display:block;
  cursor:pointer;
  font-size: 14px;
  position: relative;
  text-align: center;
}
.officerArea .btn::after{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 1px #d50000;
  border-right: solid 1px #d50000;
  transform: rotate(135deg);
  position: absolute;
  bottom: 0px;
  left: 0; right: 0;
  margin: 0 auto 0;
  transition: .3s;
}
.officerArea .btn.active::after{
  transform: rotate(315deg);
  transition: .3s;
}
.officerArea h3{
  font-size: 24px;
  font-weight: bold;
  font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',Meiryo,メイリオ,Osaka,'MS PGothic',arial,helvetica,sans-serif;
  font-weight: 500;
}
.officerArea h3 span{
  font-size: 16px;
  display: block;
  font-weight: 400;
  color: #575757;
}
.officerArea .biography{
  width: 100%;
  display:none;
  padding: 32px 0 0 28px;
}
.officerArea .biography p{
  font-size: 16px;
  font-weight: bold;
  display: flex;
  align-items: center;
  margin-bottom: 13px;
}
.officerArea .biography p::after {
  content: "";
  flex-grow: 1;
  border-top: 1px dashed #b2b2b2;
  display: block;
  margin-left: .8em;
}
.officerArea .biography dl{
  overflow: hidden;
}
.officerArea .biography dt {
  width: 125px;
  float: left;
  clear: both;
  font-size: 14px;
}
.officerArea .biography dd {
  padding: 0 0 9px 130px;
  font-size: 14px;
}
@media screen and (max-width: 1200px) {
  .officerArea#director .text,.officerArea#auditor .text{
    padding: 0 0 0 45px;
  }
  .officerArea#operating-officer .wrapper{
    grid-template-columns: 135px 225px 1fr 150px;
  }
}
@media screen and (max-width: 960px) {
  .officerArea {
    width: 100%;
    margin-bottom: 35px;
  }
  .officerArea:first-of-type {
    margin-top: 0;
  }
  .officerArea .wrapper{
    padding: 16px 0px 18px 0px;
    border-bottom: 1px solid #dadada;
    display: grid;
    grid-template-columns: 30% 1fr;
    grid-template-rows: repeat(2, auto) auto;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    align-items: center;
  }
  .officerArea .wrapper .img { grid-area: 1 / 1 / 3 / 2; }
  .officerArea .wrapper .text { grid-area: 1 / 2 / 2 / 3; }
  .officerArea .wrapper .btn { grid-area: 2 / 2 / 3 / 3;}
  .officerArea .wrapper .biography { grid-area: 3 / 1 / 4 / 3; }
  .officerArea#operating-officer .wrapper{
    grid-template-columns: 30% 1fr;
    grid-template-rows: repeat(3, auto) auto;
    align-items: stretch;
  }
  .officerArea#operating-officer .img { grid-area: 1 / 1 / 4 / 2; }
  .officerArea#operating-officer .text { grid-area: 1 / 2 / 2 / 3; }
  .officerArea#operating-officer .officer-post { grid-area: 2 / 2 / 3 / 3; }
  .officerArea#operating-officer .btn { grid-area: 3 / 2 / 4 / 3;}
  .officerArea#operating-officer .biography { grid-area: 4 / 1 / 5 / 3; }
  .officerArea h3{
    font-size: 16px;
  }
  .officerArea h3 span{
    font-size: 13px;
  }
  .officerArea .img img{
    width: 100%;
    height: auto;
  }
  .officerArea .btn{
    padding: 7px 5px 7px;
    font-size: 13px;
  }
  .officerArea#director .text,.officerArea#auditor .text{
    padding: 0 0 0 25px;
  }
  .officerArea#operating-officer .text{
    padding: 0 0 0 25px;
  }
  .officerArea#operating-officer .officer-post{
    font-size: 12px;
    color: #6b6b6b;
    padding: 0 0 0 25px;
  }
  .officerArea .biography{
    padding: 15px 0 0 0px;
  }
  .officerArea .biography dt {
    width: 95px;
    font-size: 13px;
  }
  .officerArea .biography dd {
    padding: 0 0 5px 100px;
    font-size: 13px;
  }
}


/*グローバル展開*/
.globalArea .imgMap {
  margin: 34px 0 50px;
}
.globalArea .imgMap .img {
  position: relative;
}
.globalArea .imgMap img {
  width: 100%;
  height: auto;
}
.globalArea .imgMap .icon {
  width: 100px;
  height: 32px;
  border: 1px solid #D50000;
  background-color: rgba(255, 255, 255, .8);
  display: inline-block;
  position: absolute;
}
.globalArea .imgMap .icon.china {
  top: 32.16374269%;
  left: 37.179487179%;
}
.globalArea .imgMap .icon.india {
  top: 48.538011696%;
  right: 73.974358974%;
}
.globalArea .imgMap .icon.thailand {
  top: 52.06374269%;
  right: 59.674358974%;
}
.globalArea .imgMap .icon.europe {
  top: 28%;
  right: 84.743589744%;
}
.globalArea .imgMap .icon.usa {
  top: 23.391812865%;
  right: 30.512820513%;
}
.globalArea .imgMap .icon a {
  height: 100%;
  padding-right: 5px;
  color: #D50000;
  font-size: 14px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: .3s;
}
.globalArea .imgMap .icon a:hover {
  opacity: 0.7;
}
.globalArea .imgMap .icon a:after {
  content: "";
  width: 5px;
  height: 5px;
  border-right: 1px solid #D50000;
  border-bottom: 1px solid #D50000;
  position: absolute;
  top: 50%;
  right: 8px;
  margin-top: -2px;
  transform: translateY(-50%) rotate(45deg);
}
.globalArea .imgMap .icon a:before {
  content: "";
  width: 8px;
  height: 1px;
  background-color: #D50000;
  position: absolute;
  right: 7px;
  bottom: 50%;
  margin-bottom: -6px;
  transform: translateY(-50%);
}
.globalArea .titL {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.globalArea .titL .globalLink {
  display: flex;
  -webkit-align-items: center;
          align-items: center;
}
.globalArea .titL .globalLink a {
  padding-right: 20px;
  color: #D50000;
  font-size: 16px;
  line-height: 1.6875;
  position: relative;
}
.globalArea .titL .globalLink a:after {
  content: "";
  width: 7px;
  height: 7px;
  border-top: 1px solid #D50000;
  border-right: 1px solid #D50000;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) rotate(45deg);
}
.globalArea .list .listIcon:before {
  top: 14px;
}

@media screen and (max-width: 960px) {
  .globalArea {
    margin-bottom: 74px;
  }
  .globalArea .imgMap {
    margin: 24px 0 50px;
    position: relative;
  }
  .globalArea .imgMap img {
    width: 100%;
    height: auto;
  }
  .globalArea .imgMap .icon {
    display: none;
  }
  .globalArea .imgMap .list {
    width: 100%;
    margin-top: 40px;
  }
  .globalArea .imgMap .list li {
    background-color: #F5F5F5;
  }
  .globalArea .imgMap .list a {
    height: 59px;
    padding: 7px 36px 7px 19px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
    border: 1px solid #BFC4C7;
    position: relative;
    display: flex;
    align-items: center;
    transition: .3s;
  }
  .globalArea .imgMap .list a:after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid #BFC4C7;
    border-right: 1px solid #BFC4C7;
    position: absolute;
    top: 50%;
    right: 14px;
    margin-top: -1px;
    transform: translateY(-50%) rotate(135deg);
  }
  .globalArea .imgMap .list a:hover {
    opacity: 0.7;
  }
  .globalArea .imgMap .list li {
    margin-top: 0;
  }
  .globalArea .imgMap .list li + li a {
    border-top: none;
  }
  .globalArea .titL {
    margin-bottom: 93px;
    position: relative;
  }
  .globalArea .titL .globalLink {
    width: 100%;
    position: absolute;
    bottom: -69px;
    left: 0;
  }
  .globalArea .list li {
    margin-top: 18px;
    line-height: 1.75;
  }
  .globalArea .list li span {
    margin-bottom: 1px;
    line-height: 1.555555556;
  }
  .globalArea .titL .globalLink a {
    width: 100%;
    height: 48px;
    border: 1px solid #D00000;
    display: flex;
    -webkit-align-items: center;
            align-items: center;
    -webkit-justify-content: center;
            justify-content: center;
  }
  .globalArea .titL .globalLink a:after {
    right: 20px;
  }
  .globalArea .list .listIcon:before {
    top: 14px;
  }
}


/*拠点一覧*/
.branchList {
  margin: -10px 0 50px -21px;
}
.branchList li {
  width: calc((100% - 42px) / 3.09);
  margin: 20px 0 0 21px;
}
.branchList a {
  height: 70px;
  padding: 15px 36px 15px 20px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  border: 1px solid #BFC4C7;
  background-color: #F5F5F5;
  position: relative;
  display: flex;
  align-items: center;
  transition: .3s;
}
.branchList a:after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #BFC4C7;
  border-right: 1px solid #BFC4C7;
  position: absolute;
  top: 50%;
  right: 14px;
  margin-top: -1px;
  transform: translateY(-50%) rotate(135deg);
}
.branchList a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 960px) {
  .branchList {
    margin: 60px 0 50px;
  }
  .branchList li {
    width: 100%;
    margin: 0;
  }
  .branchList a {
    height: 62px;
    border-top: none;
    padding: 8px 36px 8px 10px;
  }
  .branchList li:first-child a {
    height: 63px;
    border: 1px solid #BFC4C7;
  }
  .branchList a:after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid #BFC4C7;
    border-right: 1px solid #BFC4C7;
    position: absolute;
    top: 50%;
    right: 30px;
    margin-top: -1px;
    transform: translateY(-50%) rotate(135deg);
  }
  .branchList a:hover {
    opacity: 0.7;
  }
}

.companyArea:last-of-type {
  margin-top: 80px;
}
.companyBox {
  padding: 53px 0 0;
  margin-top: 56px;
  border-top: 1px dashed #666666;
}
.companyBox:first-of-type {
  padding-top: 0;
  margin-top: 0;
  border-top: none;
}
.companyBox .tit {
  margin-bottom: 35px;
  font-size: 26px;
  line-height: 1.692307692;
}
.companyBox .subTit {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.75;
}
.companyBox .companySubTit {
  margin-top: -11px;
  margin-bottom: 26px;
  font-size: 22px;
  line-height: 1.681818182;
}
.companyBox .flexWrap {
  margin: -41px 0 0 -35px;
  -webkit-justify-content: space-between;
          justify-content: space-between;
}
.companyBox .col {
  width: 100%;
  width: calc(50% - 35px);
  margin-top: 41px;
  margin-left: 35px;
}

@media screen and (max-width: 960px) {
  .companyBox .flexWrap {
    margin-left: 0;
  }
  .companyBox .col {
    width: 100%;
    margin-left: 0;
  }
}

/*グループ企業情報*/
.groupArea .tit {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.35;
}
.groupArea .subTit {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5625;
}
.groupArea .txt {
  font-size: 14px;
  line-height: 1.785714286;
}
.groupArea .img {
  border: 1px solid #E3E3E3;
}
.groupArea img {
  width: 100%;
  height: auto;
}
.groupArea a {
  display: block;
}
.groupArea .textBox {
  transition: .3s;
}
.groupArea a:hover .textBox {
  opacity: 0.7;
}
.groupListMain {
  margin-bottom: 40px;
  background-color: #F5F5F5;
}
.groupListMain a {
  padding: 24px 20px 25px 24px;
}
.groupListMain .flexWrap {
  -webkit-align-items: center;
          align-items: center;
}
.groupListMain .img {
  width: 47.891156463%;
  margin-right: 20px;
  flex: 0 0 auto;
  border: none;
  position: relative;
}
.groupListMain .img img {
  width: 100%;
  height: auto;
}
.groupListMain .textBox {
  padding-right: 20px;
  flex: 1;
  position: relative;
  transition: .3s;
}
.groupListMain .textBox:after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #405461;
  border-right: 1px solid #405461;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) rotate(45deg);
}
.groupListMain .tit {
  padding-top: 2px;
  margin-bottom: 12px;
}
.groupListMain .subTit {
  margin-bottom: 1px;
}
.groupBox {
  -webkit-justify-content: space-between;
          justify-content: space-between;
}
.japan .groupBox {
  padding: 40px 20px 0;
  border-top: 1px dashed #666666;
}
.groupArea {
  padding-top: 66px;
}
.groupArea:first-of-type {
  padding-top: 0;
}
.groupArea .itemCol2 {
  width: calc(50% - 18px);
}
.groupArea .item .img {
  margin-bottom: 13px;
  position: relative;
}
.groupArea .item .tit {
  margin-bottom: 12px;
}
.groupArea .item .subTit {
  margin-top: 12px;
  margin-bottom: 3px;
}
.groupArea .item .subTit:first-of-type {
  margin-top: 8px;
}
.groupBox .txt {
  line-height: 1.714285714;
}
.groupArea .itemCol3 {
  width: calc((100% - 60px) / 3);
}
.foreign .groupBox .img {
  margin-bottom: 13px;
}
.foreign .groupBox .tit {
  margin-bottom: 18px;
  font-size: 18px;
  line-height: 1.333333333;
}
.foreign .groupBox .subTit {
  margin-bottom: 5px;
}
.foreign .groupBox .txt {
  line-height: 1.571428571;
}

@media screen and (max-width: 960px) {
  .groupArea img {
    width: 100%;
    height: auto;
  }
  .groupListMain {
    margin: 0 -28px;
    margin-bottom: 40px;
  }
  .groupListMain a {
    padding: 29px 28px 23px;
  }
  .groupListMain .flexWrap {
    display: block;
  }
  .groupListMain .img {
    width: 100%;
    margin: 0 0 16px;
  }
  .groupListMain .img img {
    width: 100%;
    height: auto;
  }
  .groupListMain .textBox {
    padding-right: 0;
    flex: 1;
  }
  .groupListMain .textBox:after {
    content: none;
  }
  .groupListMain .tit {
    padding-top: 2px;
    margin-bottom: 12px;
    position: relative;
  }
  .groupListMain .tit:after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid #707070;
    border-right: 1px solid #707070;
    position: absolute;
    top: 50%;
    right: 0;
    margin: -1px 1px 0 0;
    transform: translateY(-50%) rotate(45deg);
  }
  .groupListMain .subTit {
    margin-bottom: 1px;
  }
  .groupBox {
    display: block;
  }
  .japan .groupBox {
    padding: 41px 0 0;
    border-top: 1px dashed #666666;
  }
  .groupArea .itemCol2 {
    width: 100%;
    margin-top: 36px;
  }
  .groupArea .itemCol2:first-of-type {
    margin-top: 0;
  }
  .groupArea .item .img {
    margin-bottom: 13px;
  }
  .groupArea .item .tit {
    margin-bottom: 12px;
  }
  .groupArea .item .subTit {
    margin-top: 8px;
  }
  .groupArea .itemCol3 {
    width: 100%;
    margin-top: 35px;
  }
  .groupArea .itemCol3:first-of-type {
    margin-top: 0;
  }
  .foreign .groupBox .img {
    margin-bottom: 8px;
  }
  .foreign .groupBox .tit {
    margin-bottom: 5px;
    font-size: 18px;
    line-height: 1.777777778;
  }
  .foreign .groupBox .subTit {
    margin-top: 5px;
    margin-bottom: 1px;
  }
}

/*各企業情報*/
.companyInfoText {
  width: 51.282%;
  margin: 0 40px 0 0;
  padding-top: 5px;
  flex: 1;
}
.companyInfoText li {
  margin: 20px 0 0;
  display: flex;
}
.companyInfoText li:first-child {
  margin-top: 0;
}
.companyInfoText .head {
  width: 85px;
  margin-right: 39px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.65;
  text-align: right;
  clear: both;
  flex: 0 0 auto;
}
.companyInfoText .body {
  margin-top: -1px;
  font-size: 16px;
  line-height: 1.75;
  flex: 1;
}
.companyInfoText .body a {
  word-break: break-all;
}
.companyInfoText .list dt {
  margin-top: 10px;
}
.companyInfoText .list dt:first-of-type {
  margin-top: 0;
}
.companyInfoMap {
  width: calc(100% - 51.282% - 40px);
  position: relative;
  padding-bottom: 29%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}
.companyInfoMap iframe,
.companyInfoMap object,
.companyInfoMap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 960px) {
  .companyInfoArea {
    display: block;
  }
  .companyInfoText {
    width: 100%;
    margin: 0 0 35px;
    padding-top: 5px;
    flex: 1;
  }
  .companyInfoText li {
    margin: 19px 0 0;
  }
  .companyInfoMap {
    width: 100%;
    position: relative;
    padding-bottom: 66%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
  }
  .companyInfoMap iframe,
  .companyInfoMap object,
  .companyInfoMap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

.companyInfoTextType2 {
  width: 100%;
}
.companyInfoTextType2 li:first-child {
  margin-top: 20px;
}
.companyInfoTextType2 .flexWrap {
  justify-content: space-between;
}
.companyInfoTextType2 .col {
  width: calc(50% - 10px);
}
@media screen and (max-width: 960px){
  .companyInfoTextType2 .col {
    width: 100%;
  }
  .companyInfoTextType2 .col:nth-child(n+2) {
    margin-top: 20px;
  }
}
@media screen and (min-width: 961px){
  .companyInfoTextType2 .col:nth-child(n+3) {
    margin-top: 20px;
  }
}

.companyInfoTextType2 .col .subTit {
  font-weight: bold;
}
/* =========================================
導入事例　共通レイアウト用
========================================= */
.case-study-wrap{
  text-align: center;
  padding-top: 0;
}
.case-study-wrap figure {
  margin: 0;
  padding: 0;
}
.case-study-wrap .case-header{
  max-width: 1200px;
  height: 80px;
  margin: 0 auto 0;
  padding: 0 15px 0;
  background-color: #FFFFFF;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}
.case-study-wrap .case-header .service_logo{
  max-width: 220px;
}
.case-study-wrap .case-header .case_logo-solize{
  max-width: 146px;
}
.case-study-wrap #case-mainvis{
  height: 400px;
  padding-top: calc(400 / 1800 * 100%);
  position: relative;
  /* background: url("/common/img/service-solution/altviz/case/01/img_main.jpg") no-repeat center top; */
  /* 画像は各サービスページのcssで設定 */
}
@media (min-width: 1800px) {
  .case-study-wrap #case-mainvis{
    height: auto;
    padding-top: calc(400 / 1800 * 100%);
    background-size: 100% auto !important;
    position: relative;
  }
}
.case-study-wrap #case-mainvis .inr{
  max-width: 1200px;
  margin: 0 auto 0;
  position: absolute;
  top:0;left:0;right:0;bottom:0;
}
@font-face {
  font-family: "nsfont";
  font-style: normal;
  font-weight: normal;
  src: url("./font/NotoSansCJKjp-Bold2.woff2") format("woff2"),
  url("./font/NotoSansCJKjp-Bold2.woff") format("woff"),
  url("./font/NotoSansCJKjp-Bold2.ttf") format("truetype");
}
.nsfont{ font-family: "nsfont", sans-serif;}
.case-study-wrap #case-mainvis .txt_main{
  font-family:"nsfont" ,"メイリオ", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.case-study-wrap #case-mainvis .txt_main{
  width: 48%;
  position: absolute;
  top: 50%;right:10px;
  transform: translateY(-50%);
  margin: 0 auto 0;
  padding: 35px 20px 60px;
  background-color:rgba(213,0,0,0.6);
  display: inline-block;
  color: #FFFFFF;
}
.case-study-wrap #case-mainvis .title{
  font-size: 18px;
  display: inline-block;
  margin: 0 auto 15px;
  padding: 2px 15px 2px;
  background-color: #000000;
}
.case-study-wrap #case-mainvis .company{
  font-size: 20px;
  margin: 0 auto 16px;
}
.case-study-wrap #case-mainvis .company b{
  display: inline-block;
  border: 1px solid #FFFFFF;
  margin: 0 6px 0 0;
  padding: 2px 5px 1px;
  line-height: 1.3;
  font-weight: normal;
  font-size: 18px;
}
.case-study-wrap #case-mainvis h1{
  font-size: clamp(16px, 2.5vw, 30px);
  line-height: 1.6;
}
.case-study-wrap #case-study-inr{
  max-width: 1220px;
  margin: 0 auto 0;
  padding: 0 10px 0;
  text-align: left;
}
.case-study-wrap #case-study-inr h2{
  margin: 77px 0 24px 0;
  padding: 0 0 14px 10px;
  line-height: 1.6;
  font-size: 28px;
  border-bottom: 1px solid #d50000;
}
.case-study-wrap .contents-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.case-study-wrap .contents-wrap .img{
  width: 48.4%;
}
.case-study-wrap .contents-wrap .text{
  width: 46%;
  text-align: left;
}
.case-study-wrap p{
  margin-bottom: 20px;
}
.case-study-wrap .contents-wrap p:last-of-type{
  margin-bottom: 0;
}
.case-study-wrap figure{
  text-align: center;
  margin-bottom: 30px;
}
.case-study-wrap .list-dot{
  margin: 0 0 30px 15px;
}
.case-study-wrap .list-dot li{
  list-style-type:none !important;
  list-style-image:none !important;
  position: relative;padding-left: 14px;margin-bottom: 8px;
}
.case-study-wrap .list-dot li::after {
  display: block; content: ''; position: absolute; top: .7em; left: 0em; width: 3px; height: 3px;
  background-color: #333333; border-radius: 100%;
}
.case-study-wrap .list-lower-alpha{
  margin: 0 0 30px 30px;
}
.case-study-wrap .list-lower-alpha li{
  list-style-type:lower-alpha;
  margin-bottom: 8px;
}
.case-study-wrap h3{
  font-size: 24px;
  color: #d61d22;
  margin-bottom: 15px;
  font-weight: bold;
}
.case-study-wrap .box-red{
  background-color: #a6272b;
  display: inline-block;
  color: #FFFFFF;
  font-size: 18px;
  margin-bottom: 15px !important;
  padding:4px 30px 3px 15px
}
.case-study-wrap dl {
  overflow: hidden;
}
.case-study-wrap dt {
  width: 90px;
  float: left;
  clear: both;
  font-weight: bold;
}
.case-study-wrap dd {
  padding: 0 0 15px 110px;
}
.case-study-wrap .contents-wrap.a-center{
  align-items: center;
}
.case-study-wrap .contents-wrap.width-s{
  max-width: 1000px;
  margin: 0 auto 0;
}
.case-study-wrap .contents-wrap + .contents-wrap,.case-study-wrap .contents-wrap + p{
  margin-top: 30px;
}
.case-study-wrap .box-gray{
  background-color: #f8f8f8;
  margin-bottom: 30px;
  padding: 20px;
}
table.case-table-type01 ,table.case-table-type01 td,table.case-table-type01 th {
	border: 1px solid #FFFFFF;
	border-collapse: collapse;
  font-size: 14px;
  text-align: center;
}
table.case-table-type01 td,table.case-table-type01 th {
	padding: 7px 15px 7px;
  background-color: #ebebeb;
  line-height: 1.4;
}
table.case-table-type01 td:nth-child(even){
  background-color: #dddddd;
}
table.case-table-type01 th {
	background: #4e4e4e;
  color: #FFFFFF;
  font-weight: bold;
}
table.case-table-type01 b{
  color: #e02036;
  font-weight: bold;
}
/* 導入事例　共通レイアウト SP用  */
@media (max-width: 960px) {
  .case-study-wrap div{
    line-height: 1;
  }
  .case-study-wrap img{
    vertical-align: bottom !important;
  }
.case-study-wrap figure {
  margin: 0;
  padding: 0;
}
.case-study-wrap .case-header{
  height: 60px;
  margin: 0 auto 0;
  padding: 0 15px 0;
}

.case-study-wrap .case-header .service_logo{
  max-width: 120px;
}
.case-study-wrap .case-header .case_logo-solize{
  max-width: 100px;
}
.case-study-wrap #case-mainvis{
  height: auto;
  padding-top: 200px;
  position: relative;
  background-size: 234% auto !important;
}
.case-study-wrap #case-mainvis .inr{
  margin: 0 auto 0;
  position: relative;
  top:0;left:0;right:0;bottom:0;
}
.case-study-wrap #case-mainvis .txt_main{
  width: 100%;
  position: relative;
  top: 0;left:0;right:0px;
  transform: unset;
  margin: 0 auto 0;
  padding: 20px 15px 20px;
  background-color:rgba(213,0,0,1.0);
  display: inline-block;
  color: #FFFFFF;
}
.case-study-wrap #case-mainvis .title{
  font-size: 16px;
  display: inline-block;
  margin: 0 auto 15px;
  padding: 2px 15px 5px;
  background-color: #000000;
}
.case-study-wrap #case-mainvis .company{
  font-size: 14px;
  margin: 0 auto 16px;
}
.case-study-wrap #case-mainvis .company b{
  font-size: 12px;
}
.case-study-wrap #case-mainvis h1{
  font-size: clamp(18px, 2.5vw, 30px);
  line-height: 1.6;
}
.case-study-wrap #case-study-inr h2{
  margin: 40px 0 30px 0;
  padding: 0 0 14px 5px;
  line-height: 1.6;
  font-size: 18px;
  border-bottom: 1px solid #d50000;
}
.case-study-wrap .contents-wrap .img{
  width: 100%;
  margin-bottom: 25px;
}
.case-study-wrap .contents-wrap .text{
  width: 100%;
  text-align: left;
  margin-bottom: 25px;
}
.case-study-wrap p{
  margin-bottom: 25px;
  line-height: 1.6;
}
.case-study-wrap .contents-wrap p:last-of-type{
  margin-bottom: 0;
}
.case-study-wrap figure{
  text-align: center;
  margin-bottom: 22px;
}
.case-study-wrap .list-dot{
  margin: 0 0 30px 15px;
}
.case-study-wrap .list-dot li{
  list-style-type:none !important;
  list-style-image:none !important;
  position: relative;padding-left: 14px;margin-bottom: 8px;
  line-height: 1.6;
}
.case-study-wrap .list-dot li::after {
  display: block; content: ''; position: absolute; top: .6em; left: 0em; width: 3px; height: 3px;
  background-color: #333333; border-radius: 100%;
}
.case-study-wrap .list-lower-alpha li{
  list-style-type:lower-alpha;
  margin-bottom: 8px;
  line-height: 1.6;
}
.case-study-wrap h3{
  font-size: 20px;
  color: #d61d22;
  margin-bottom: 15px;
  font-weight: bold;
}
.case-study-wrap .box-red{
  background-color: #a6272b;
  display: inline-block;
  color: #FFFFFF;
  font-size: 16px;
  margin-bottom: 15px !important;
  padding:4px 30px 3px 15px
}
.case-study-wrap dl {
  overflow: hidden;
}
.case-study-wrap dt {
  width: 90px;
  float: left;
  clear: both;
  font-weight: bold;
}
.case-study-wrap dd {
  padding: 0 0 15px 100px;
  line-height: 1.6;
}
.case-study-wrap .contents-wrap + .contents-wrap,.case-study-wrap .contents-wrap + p{
  margin-top: 30px;
}
.case-study-wrap .box-gray{
  background-color: #f8f8f8;
  margin-bottom: 30px;
  padding: 10px;
}
}

/* =========================================
お問い合わせ
========================================= */
.contacts .kvArea {
  background-image: url(../img/contacts/img_kv.jpg);
}
.contactsArea {
  margin: 28px 0 0;
}
.contactBox {
  margin-top: 76px;
}
.contactBox:first-of-type {
  margin-top: 0;
}
.contactsArea .flexWrap {
  justify-content: space-between;
}
.contactsArea .item {
  width: calc(50% - 15px);
  padding: 133px 40px 39px;
  background-color: #F5F5F5;
  position: relative;
  display: flex;
  flex-direction: column;
}
.contactsArea .item:before {
  content: "";
  width: 64px;
  height: 70px;
  position: absolute;
  top: 42px;
  left: 50%;
  transform: translateX(-50%);
  background-position: center;
  background-repeat: no-repeat;
}
.contactsArea .service:before {
  background-image: url(../img/contacts/index/ico_service.png);
  background-size: 64px auto;
}
.contactsArea .every:before {
  background-image: url(../img/contacts/index/ico_every.png);
  background-size: 53px auto;
}
.contactsArea .tel:before {
  background-image: url(../img/contacts/index/ico_phone.png);
  background-size: 45px auto;
}
.contactsArea .phoneNumWrap {
  display: inline-block;
  margin: 20px auto 0;
  text-align: center;
}
@media screen and (max-width: 960px){
  .contactsArea .phoneNumWrap {
    display: block;
  }
}

.contactsArea .phoneNumWrap a {
  color: #D50000;
  font-size: 30px;
  font-weight: bold;
  font-family: "Arial";
}
@media screen and (min-width: 961px) {
  .contactsArea .phoneNumWrap a[href^="tel:"] {
    pointer-events: none;
  }
}
@media screen and (max-width: 960px) {
  .contactsArea .phoneNumWrap a {
    font-size: 27px;
  }
}

.contactsArea .phoneNumWrap a span{
  color: #242424;
  font-size: 20px;
  line-height: 1;
}
@media screen and (max-width: 960px){
  .contactsArea .phoneNumWrap a span {
    display: block;
  }
}
.contactsArea .item .tit {
  margin-bottom: 16px;
  font-size: 28px;
  line-height: 1.5;
  text-align: center;
}
.contactsArea .item .list {
  margin-bottom: 31px;
}
.contactsArea .item .list li {
  font-size: 16px;
  line-height: 1.5;
}
.contactsArea .item .list .listIcon:before {
  top: 15px;
}
.contactsArea .item .btn {
  width: 270px;
  height: 48px;
  margin: auto auto 0;
}
.contactsArea .note {
  margin-top: 17px;
}
.contactsArea .note li {
  font-size: 14px;
  line-height: 1.5714;
}
.contactsArea .item.phone {
  width: 100%;
  padding-top: 40px;
  text-align: center;
}
.contactsArea .item.phone .tit {
  margin-bottom: 32px;
}
.contactsArea .item.phone .tit span {
  padding: 5px 0 5px 47px;
  background: url(../img/contacts/index/ico_phone.png) no-repeat left top -6px / 39px auto;
  display: inline-block;
}
.contactsArea .item.phone .txt {
  margin-bottom: 13px;
  font-size: 20px;
  line-height: 1.5;
}
.contactsArea .item.phone .flexWrap {
  width: 625px;
  margin: 0 auto;
  -webkit-justify-content: center;
          justify-content: center;
}
.contactsArea .item.phone .flexWrap li {
  border: 1px solid #BFC4C7;
  background-color: #FFF;
}
.contactsArea .item .list a {
  pointer-events: none;
  padding: 13px 10px 5px;
  display: block;
  font-weight: bold;
}
.contactsArea .item.phone .flexWrap li span {
  color: #D50000;
  font-size: 30px;
  font-family: "Arial";
}
.contactsArea .item.phone .inner3d {
  padding-bottom: 45px;
  border-bottom: 1px solid #BFC4C7;
}
.contactsArea .item.phone .inner3d li {
  width: calc(50% - 12px);
}
.contactsArea .item.phone .inner3d li:first-child {
  margin-right: 24px;
}
.contactsArea .item.phone .innerOthers {
  padding-top: 39px;
}
.contactsArea .item.phone .innerOthers li {
  width: 100%;
}
.contactsArea .item.mailMagazine {
  width: 100%;
  padding-top: 37px;
  /*20181226 ローンチ時点では非表示*/
  display: none;
  /*20181226 ローンチ時点では非表示*/
}
.contactsArea .item.mailMagazine .tit {
  margin-bottom: 28px;
}
.contactsArea .item.mailMagazine .tit span {
  padding: 8px 0 5px 60px;
  background: url(../img/contacts/index/ico_mailmagazine.png) no-repeat left 6px / 41px auto;
  display: inline-block;
}
.contactsArea .item.mailMagazine .txt {
  margin-bottom: 36px;
}

@media screen and (max-width: 960px) {
  .contactsArea {
    margin: 35px 0 0;
  }
  .contactsArea .flexWrap {
    display: block;
  }
  .contactsArea .item {
    width: 100%;
    padding: 133px 18px 39px;
    margin-top: 30px;
    display: block;
  }
  .contactsArea .item:first-of-type {
    margin-top: 0;
  }
  .contactsArea .item:before {
    top: 35px;
  }
  .contactsArea .item .tit {
    margin-bottom: 13px;
    font-size: 26px;
  }
  .contactsArea .item .list {
    margin-bottom: 29px;
  }
  .contactsArea .item .list li {
    line-height: 1.5;
  }
  .contactsArea .item .btn {
    width: 100%;
  }
  .contactsArea .item.phone {
    padding-top: 32px;
  }
  .contactsArea .item.phone .tit {
    margin-bottom: 4px;
  }
  .contactsArea .item.phone .tit span {
    padding: 85px 0 0 0;
    background-position: center top;
  }
  .contactsArea .item.phone .txt {
    margin-bottom: 20px;
  }
  .contactsArea .item.phone .flexWrap {
    width: 100%;
  }
  .contactsArea .item .list a {
    padding: 12px 10px 3px;
    pointer-events: all;
  }
  .contactsArea .item.phone .inner3d li {
    width: 100%;
    margin-top: 20px;
  }
  .contactsArea .item.phone .inner3d li:first-child {
    margin-top: 0;
    margin-right: 0;
  }
  .contactsArea .item.mailMagazine {
    width: 100%;
    padding-top: 44px;
  }
  .contactsArea .item.mailMagazine .tit {
    margin-bottom: 32px;
  }
  .contactsArea .item.mailMagazine .tit span {
    padding: 72px 0 0 0;
    background: url(../img/contacts/index/ico_mailmagazine.png) no-repeat center top / 41px auto;
  }
  .contactsArea .item.mailMagazine .txt {
    margin-bottom: 28px;
  }
}

/*サービス・製品に関するお問い合わせ*/
.contacts .mtM {
  margin-top: 28px;
}
/* .formArea {
  margin-top: 65px;
} */
.formArea .formTit {
  margin-bottom: 29px;
  font-size: 28px;
  line-height: 1.75;
  display: flex;
  -webkit-align-items: center;
          align-items: center;
}
.icoRequire {
  padding: 1px 13px 1px;
  color: #FFF;
  font-size: 14px;
  border-radius: 4px;
  background-color: #D50000;
  display: inline-block;
}
.formArea input[type="radio"] {
  display: none;
}
.formArea label {
  display: block;
  position: relative;
  cursor: pointer;
}
.formArea label:before,
.formArea label:after {
  content: "";
  border-radius: 50%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.formArea label:before {
  width: 13px;
  height: 13px;
  border: 1px solid #BFC4C7;
  background-color: #FFF;
  right: 13px;
  z-index: 1;
}
.formArea label:after {
  width: 9px;
  height: 9px;
  background-color: #D50000;
  right: 16px;
  z-index: 2;
  opacity: 0;
}
.formArea input:checked + label:after {
  opacity: 1;
}
.formArea .typeSelect {
  margin: -18px 0 80px -18px;
}
.formArea .typeSelect li {
  width: calc((100% - 72px) / 4);
  margin: 18px 0 0 18px;
  border: 1px solid #E3E3E3;
  background-color: #fff;
}
.formArea .typeSelect label {
  height: 100%;
  padding: 11px 46px 11px 18px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.7142;
  position: relative;
  background-color: #F5F5F5;
  display: flex;
  -webkit-align-items: center;
          align-items: center;
}
.formArea .typeSelect input:checked + label {
  color: #D50000;
  background-color: #fff;
}
.formTable {
  width: 100%;
  table-layout: fixed;
}
.formTable tr {
  border-top: 1px solid #E3E3E3;
}
.formTable th {
  width: 31.568627451%;
  padding: 25px 30px 0;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.7;
  vertical-align: top;
}
.formTable th .icoRequire {
  margin-left: 16px;
  vertical-align: 3px;
}
.formTable td {
  padding: 27px 41px 25px 0;
}
.formArea input[type="text"] {
  width: 100%;
  height: 41px;
  padding: 10px;
  font-size: 14px;
  border: 1px solid #707070;
  border-radius: 0;
  -webkit-appearance:none;
}
.formArea input[type="text"]::-webkit-input-placeholder,
.formArea textarea::-webkit-input-placeholder {
  color: #707070;
}
.formArea input[type="text"]:-ms-input-placeholder,
.formArea textarea:-ms-input-placeholder {
  color: #707070;
}
.formArea input[type="text"]::-moz-placeholder,
.formArea textarea::-moz-placeholder {
  color: #707070;
  opacity: 1;
}
.formTable textarea {
  width: 100%;
  height: 129px;
  padding: 10px;
  font-size: 14px;
  border: 1px solid #707070;;
  border-radius: 0;
  box-shadow: 0;
  -webkit-appearance:none;
}
.formTable input:focus,
.formTable textarea:focus {
  outline-style: none;
  background-color: #F5F5F5;
}
.formTable td .list {
  margin: -7px 0 10px -31px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.formTable td .list:after {
  content: "";
  display: table;
  clear: both;
}
.formTable td .list li {
  margin: 7px 0 0 31px;
  float: left;
}
.formTable td .list label {
  padding: 0 0 0 20px;
  font-size: 16px;
  line-height: 1.75;
}
.formTable td .list label:before {
  left: 0;
}
.formTable td .list label:after {
  left: 3px;
}
.formTable td .note {
  margin-top: 6px;
  color: #666;
  font-size: 14px;
  line-height: 1.6875;
}
.formTable td .files {
  margin-top: 22px;
  margin-bottom: 21px;
}
.formTable td .files li {
  margin-top: 17px;
}
.formTable td .files li:first-of-type {
  margin-top: 0;
}
.formTable td .files input {
  font-size: 12px;
  display: inline-block;
}
.formTable .halfCol {
  width: calc(50% - 10px);
  display: inline-block;
  font-size: 14px;
}
.formTable .halfCol + .halfCol {
  margin-left: 14px;
}
.formArea.customerInfo {
  margin-top: 40px;
}
.customerInfo .formTable {
  border-bottom: 1px solid #E3E3E3;
}
.customerInfo .formTable th {
  width: 41.176470588%;
  padding: 3px 40px 0 45px;
  vertical-align: middle;
}
.customerInfo .formTable td {
  padding-top: 30px;
  padding-bottom: 30px;
}
.customerInfo .formTable .textTop td {
  padding-top: 26px;
}
.customerInfo .formTable .textBottom td {
  padding-bottom: 23px;
}
.formTable .vatTr th {
  padding-top: 30px;
  vertical-align: top;
}
.formTable .vatTr td {
  padding-bottom: 24px;
}
.formTable .vatTr .tit {
  margin-bottom: 15px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.3888;
}
.formTable .vatTr .list {
  padding-right: 100px;
  margin-top: -2px;
  margin-bottom: 20px;
}
.formTable .vatTr .list li {
  margin-top: 2px;
}
.formTable .list .wide {
  width: 127px;
}
.formTable .list .wide2 {
  width: 150px;
}
.formTable .list .wide3 {
  width: 100%;
}
.formTable .list li label {
  font-size: 14px;
}
.formTable textarea {
  height: 110px;
}

.formTable .appointment .formRow {
  margin-top: 22px;
}
.formTable .appointment .f:first-of-type {
  margin-top: 0;
}
.formTable .appointment .formRow p {
  margin-right: 26px;
}
.formTable .formRow {
  font-size: 14px;
  display: flex;
  -webkit-align-items: center;
          align-items: center;
}
.formTable .formGroup {
  display: flex;
  -webkit-align-items: center;
          align-items: center;
}
.formTable .formRowColumn {
  flex-direction: column;
  align-items: flex-start;
}
.formTable .selectWrap {
  position: relative;
}
.formTable .selectWrap + .selectWrap {
  margin-left: 23px;
}
.formTable .selectWrap:after {
  content: "";
  width: 10px;
  height: 10px;
  border-right: 1px solid #242424;
  border-bottom: 1px solid #242424;
  position: absolute;
  top: 50%;
  right: 18px;
  margin-top: -3px;
  transform: translateY(-50%) rotate(45deg);
  pointer-events: none;
}
.formTable .select {
  width: 103px;
  height: 41px;
  padding: 5px 20px;
  -webkit-appearance: none;
     -moz-appearance: none;
        appearance: none;
  background-color: #FFF;
  border: 1px solid #707070;
  border-radius: 0;
  position: relative;
}
select::-ms-expand {
  display: none;
}
.formTable .address .zipWrap {
  display: flex;
  -webkit-align-items: center;
          align-items: center;
}
.formTable .address .zipWrap .zip {
  width: 103px;
  height: 41px;
  padding: 5px 20px;
}
.formTable .address .zipWrap span {
  margin: 0 10px;
  width: 15px;
  height: 1px;
  background-color: #707070;
  display: inline-block;
}
.formTable .address .zipWrap .zipBtn {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  width: 82px;
  height: 34px;
  margin-left: 23px;
  border-radius: 5px;
  outline-style: none;
  border: 1px solid #707070;
  background-color: #F5F5F5;
  transition: .3s;
}
.formTable .address .zipWrap .zipBtn:hover {
  opacity: 0.7;
}
.formTable .address .formRow {
  margin-top: 22px;
}
.formTable .address .formRow:first-of-type {
  margin-top: 0;
}
.formTable .address .prefectures {
  width: 164px;
}
.formTable .checkbox {
  display: none;
}
.formTable .checkbox + label {
  position: relative;
  padding-left: 34px;
  font-size: 16px;
  line-height: 1.5;
}
.formTable .checkbox + label:before {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  border: 1px solid #BFC4C7;
  border-radius: 0;
  background-color: #FFF;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 1;
}
.formTable .checkbox + label:after {
  content: "";
  width: 12px;
  height: 7px;
  z-index: 2;
  opacity: 0;
  border-radius: 0;
  position: absolute;
  top: 4px;
  left: 0px;
  background-color: transparent;
  border-left: 3px solid #D50000;
  border-bottom: 3px solid #D50000;
  transform: rotate(-45deg);
}
.formTable .checkbox:checked + label:after {
  opacity: 1;
}
.formTable .list .checkbox + label:after {
  left: 1px;
}
.formTable .list.aimList {
  margin-top: -7px;
}
.formTable .list.aimList li {
  margin-top: 9px;
}
.privacyBox {
  width: 91.8627%;
  margin: 80px auto 50px;
  padding: 25px 25px 26px;
  background-color: #F5F5F5;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.privacyBox .tit {
  margin-right: -74px;
  margin-bottom: 8px;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.9;
}
.privacyBox .tit .icoRequire {
  margin-left: 20px;
  vertical-align: 2px;
}
.privacyBox .txt {
  margin-bottom: 12px;
  font-size: 14px;
  text-align: left;
}
.privacyBox .agree input {
  display: none;
}
.privacyBox .agree label {
  position: relative;
  padding-left: 27px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
}
.privacyBox .agree label:before {
  width: 16px;
  height: 16px;
  border-radius: 0;
  left: 0;
}
.privacyBox .agree label:after {
  border-radius: 0;
  top: 3px;
  left: 1px;
  width: 13px;
  height: 8px;
  background-color: transparent;
  border-left: 3px solid #D50000;
  border-bottom: 3px solid #D50000;
  transform: rotate(-45deg);
}
.formArea .btn {
  width: 280px;
  height: 48px;
  margin: 0 auto;
}
.formArea .btn button {
  position: relative;
}
.formArea .btn button:before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
  top: 50%;
  left: auto;
  right: 16px;
  z-index: 10;
  margin-top: -1px;
  transform: translateY(-50%) rotate(45deg);
}
.confirm .formTable .formRow {
  font-size: 16px;
}

@media screen and (max-width: 960px) {
  .contacts .mtM {
    margin-top: 28px;
  }
  .formArea {
    margin-top: 70px;
  }
  .formArea .formTit {
    margin-bottom: 31px;
    font-size: 26px;
    line-height: 1.6923;
    display: block;
  }
  .icoRequire {
    vertical-align: 5px;
  }
  .formArea input[type="radio"] {
    display: none;
  }
  .formArea label {
    display: block;
    position: relative;
    cursor: pointer;
  }
  .formArea label:before,
  .formArea label:after {
    content: "";
    border-radius: 50%;
    position: absolute;
  }
  .formArea label:before {
    width: 22px;
    height: 22px;
    right: 21px;
    top: 13px;
  }
  .formArea label:after {
    width: 16px;
    height: 16px;
    top: 13px;
    right: 25px;
  }
  .formArea .typeSelect {
    margin: 0 0 80px 0;
  }
  .formArea .typeSelect li {
    width: 100%;
    margin: 0;
  }
  .formArea .typeSelect li + li {
    border-top: none;
  }
  .formArea .typeSelect label {
    min-height: 61px;
    padding: 2px 56px 3px 8px;
    font-size: 16px;
    line-height: 1.5625;
    display: flex;
    align-items: center;
  }
  .formArea .typeSelect label:before,
  .formArea .typeSelect label:after {
    top: 50%;
  }
  .formTable th {
    width: 100%;
    display: block;
    padding: 29px 10px 0 0;
  }
  .formTable th .icoRequire {
    margin-left: 16px;
    vertical-align: 2px;
  }
  .formTable td {
    width: 100%;
    display: block;
    padding: 11px 0 34px;
  }
  .formTable textarea {
    height: 188px;
  }
  .formTable td .list {
    margin: -10px 0 20px 0;
  }
  .formTable td .list li {
    margin: 10px 0 0 0;
    float: none;
  }
  .formTable td .list label {
    padding: 0 0 0 29px;
    line-height: 1.5;
  }
  .formTable td .list label:before {
    width: 14px;
    height: 14px;
    left: 0;
  }
  .formTable td .list label:after {
    width: 10px;
    height: 10px;
    left: 3px;
  }
  .formTable td .note {
    margin-top: 12px;
    font-size: 16px;
  }
  .formTable td .files {
    margin-top: 18px;
    margin-bottom: 21px;
  }
  .formTable td .files li {
    margin-top: 16px;
  }
  .formTable td .files input {
    font-size: 12px;
    display: inline-block;
    /*border: 1px solid #000;*/
  }
  .formTable .halfCol {
    width: 100%;
    display: block;
    font-size: 16px;
  }
  .formTable .halfCol + .halfCol {
    margin-left: 0;
    margin-top: 12px;
  }
  .formTable .halfCol input {
    margin-top: 1px;
  }
  .formArea.customerInfo {
    margin-top: 35px;
  }
  .customerInfo .formTable {
    border-bottom: none;
  }
  .customerInfo .formTit {
    margin-bottom: 8px;
  }
  .customerInfo .formTable tr {
    border-top: none;
    border-bottom: 1px solid #E3E3E3;
  }
  .customerInfo .formTable th {
    width: 100%;
    padding: 30px 0 0 0;
  }
  .customerInfo .formTable tr:first-child th {
    padding-top: 3px;
  }
  .customerInfo .formTable td,
  .customerInfo .formTable .textTop td,
  .customerInfo .formTable .textBottom td {
    padding-top: 10px;
    padding-bottom: 35px;
  }
  .customerInfo .formTable .textBottom .note {
    margin-top: 6px;
    line-height: 1.5625;
  }
  .formTable .vatTr td {
    padding-bottom: 24px;
  }
  .formTable .tit {
    margin-bottom: 11px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5625;
  }
  .formTable .list {
    padding-right: 0;
    margin: -4px 0 21px -24px;
  }
  .formTable .list li {
    margin: 4px 0 0 24px;
    float: left;
  }
  .formTable .list .wide {
    width: auto;
  }
  .formTable .list .wide2 {
    width: auto;
  }
  .formTable .list .wide3 {
    width: auto;
  }
  .formTable .list li label {
    padding-left: 18px;
    font-size: 16px;
  }
  .formTable textarea {
    height: 188px;
  }
  .formTable .formRow {
    font-size: 14px;
    flex-direction: column;
    align-items: flex-start;
  }
  .formTable .formRow p {
    font-size: 16px;
  }
  .formGroup {
    width: 100%;
  }
  .formTable .formRowColumn {
    flex-direction: column;
    align-items: flex-start;
  }
  .formTable .selectWrap {
    width: calc(100% - 11px);
    display: inline-block;
  }
  .formTable .selectWrap + .selectWrap {
    margin-left: 22px;
  }
  .formTable .select {
    width: 100%;
  }
  .formTable .address .zipWrap {
    flex-direction: column;
    align-items: flex-start;
  }
  .formTable .address .zipWrap .zip {
    width: 123px;
    height: 41px;
    padding: 5px 20px;
  }
  .formTable .address .zipWrap .zipBtn {
    margin-top: 17px;
    margin-left: 0;
  }
  .formTable .address .formRow {
    margin-top: 22px;
  }
  .formTable .address .selectWrap {
    width: auto;
    display: inline-block;
  }
  .formTable .address .prefectures {
    width: 164px;
  }
  .formTable .list.aimList {
    margin-top: -7px;
    padding-right: 0;
  }
  .formTable .list.aimList li {
    margin-top: 9px;
    margin-right: 25px;
    float: left;
  }
  .formTable td .list .checkbox + label {
    padding-left: 20px;
  }
  .formTable td .list .checkbox + label:after {
    content: "";
    width: 12px;
    height: 7px;
    z-index: 2;
    border-radius: 0;
    position: absolute;
    top: 4px;
    left: 2px;
    background-color: transparent;
    border-left: 3px solid #D50000;
    border-bottom: 3px solid #D50000;
    transform: rotate(-45deg);
  }
  .privacyBox {
    width: 100%;
    margin: 80px auto 54px;
    padding: 25px 30px 26px;
  }
  .privacyBox .tit {
    margin-right: 0;
    margin-bottom: 12px;
    line-height: 1.5;
  }
  .privacyBox .tit .icoRequire {
    margin-left: 20px;
    vertical-align: 3px;
  }
  .privacyBox .txt {
    margin-bottom: 14px;
    line-height: 1.714285714;
  }
  .privacyBox .agree {
    margin-right: 14px;
  }
  .privacyBox .agree label {
    padding-left: 15px;
  }
  .privacyBox .agree label:before {
    width: 14px;
    height: 14px;
    border-radius: 0;
    left: 0;
    top: 50%;
    transform: translate(-50%, -50%);
  }
  .privacyBox .agree label:after {
    border-radius: 0;
    top: 3px;
    left: -7px;
    width: 13px;
    height: 8px;
    background-color: transparent;
    border-left: 3px solid #D50000;
    border-bottom: 3px solid #D50000;
    transform: rotate(-45deg);
  }
  .formArea .btn {
    width: 280px;
    height: 48px;
    margin: 0 auto;
  }
  .formArea .btn button {
    position: relative;
  }
  .formArea .btn button:before {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    position: absolute;
    top: 50%;
    left: auto;
    right: 16px;
    z-index: 10;
    margin-top: -1px;
    transform: translateY(-50%) rotate(45deg);
  }
}
.confirm .formTable tr {
  height: 85px;
}
.confirm .formTable th {
  width: 41.176470588%;
}
.confirm .formTable td {
  font-size: 16px;
}
.confirm .formTable td p + p {
  margin-top: 14px;
}
.confirm .privacyBox {
  padding-bottom: 11px;
  margin-bottom: 60px;
}
.confirm .privacyBox .txt {
  margin-top: 5px;
  font-size: 16px;
  font-weight: bold;
}
.confirm .btnWrap {
  justify-content: center !important;
}
.confirm .btnWrap p {
  margin: 0;
  background-color: #f0f0f0;
}
.confirm .btnWrap p:first-of-type {
  width: 280px;
  margin-right: 20px;
}
.confirm .btnWrap .btnFormBack a {
  width: 100%;
  height: 48px;
  color: #D50000;
  font-size: 16px;
  border: 1px solid #D50000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFF;
  position: relative;
  transition: .3s;
}
.confirm .btnWrap .btnFormBack a:before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #D50000;
  border-right: 1px solid #D50000;
  position: absolute;
  top: 50%;
  left: 16px;
  z-index: 10;
  margin-top: -1px;
  transform: translateY(-50%) rotate(-135deg);
}
.confirm .btnWrap .btnFormBack a:hover {
  opacity: 0.7;
}
.confirm .btnWrap .btnFormBack button:after {
  content: normal;
}

@media screen and (max-width: 960px) {
  .confirm .formTable th {
    width: 100%;
  }
  .confirm .customerInfo .formTit {
    margin-bottom: 31px;
  }
  .confirm .customerInfo .formTable tr:first-child {
    border-top: 1px solid #E3E3E3;
  }
  .confirm .customerInfo .formTable tr:first-child th {
    padding-top: 30px;
  }
  .confirm .btnWrap {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
      -webkit-justify-content: center;
              justify-content: center;
  }
  .confirm .btnWrap p {
    margin: auto;
  }
  .confirm .btnWrap p:first-of-type {
    width: 280px;
    margin: 0 auto 40px;
  }
}

/*完了画面*/
.btnHome {
  width: 280px;
  height: 48px;
  margin: 54px auto 0;
}
.btnHome a {
  width: 100%;
  height: 48px;
  color: #D50000;
  font-size: 16px;
  border: 1px solid #D50000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFF;
  position: relative;
  transition: .3s;
}
.btnHome a:before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #D50000;
  border-right: 1px solid #D50000;
  position: absolute;
  top: 50%;
  right: 16px;
  z-index: 10;
  margin-top: -1px;
  transform: translateY(-50%) rotate(45deg);
}
.btnHome a:hover {
  opacity: 0.7;
}

/*サイトについて*/
.siteInfoArea {
  min-width: 1020px;
}
.sectionAboutSite {
  margin-top: 80px;
}
.sectionAboutSite:first-of-type {
  margin-top: 0;
}
.sectionAboutSite .titM {
  margin-bottom: 20px;
}
.sectionAboutSite .txt {
  margin-bottom: 20px;
}
.sectionAboutSite .list {
  font-size: 16px;
  line-height: 1.75;
  margin: 20px 0 20px;
}
.migrate {
  list-style-position: outside;
  list-style-type: decimal;
  padding-left: 1em;
  margin-left: 50px !important;
  font-size: 16px;
  line-height: 1.75;
  margin: 20px 0 20px;
}
.migrate.ml0 {
  margin-left: 8px !important;
}
.imgPmark {
  width: 200px;
  margin: 30px auto 0;
  text-align: center;
}
.imgPmark span {
  margin-top: 5px;
  font-size: 12px;
  display: inline-block;
}

@media screen and (max-width: 960px) {
  .siteInfoArea {
    min-width: 0;
  }
  .migrate {
    margin-left: 20px !important;
  }
}

/*404画面*/
.header.p404 {
  border-bottom: 1px solid #F5F5F5;
}
.article404 {
  padding-top: 98px;
}

@media screen and (max-width: 960px) {
  .article404 {
    padding-top: 30px;
  }
}
/* Bnr(右下固定バナー) */
.Bnr{
  position: relative;
  display: none;
  z-index: 100;
}
.Bnr img{
  display: inherit;
}

.Bnr .Bnr__img{
  position: fixed;
  bottom: 0;
  right: 0px;
  z-index: 110;
}
.Bnr__img__inner{
  width: 346px;
  height: 150px;
  box-sizing:border-box;
}
.Bnr .Bnr__img__inner a{ display: block;}
.Bnr .Bnr__img .close{
  position: absolute;
  right: 0px;
  top:0px;
}
.Bnr .Bnr__img .close a{
  display: block;
  width: 50px;
  height: 30px;
  text-align: center;
}
.Bnr .Bnr__img .close a span{
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Banner(追従バナー) */
.solutionBannerWrap {
	display: flex;
	flex-direction: column;
	position: fixed;
	top: 385px;
	right: 0;
	z-index: 200;
}
.solutionBannerItem {
	display: inline-block;

	display: flex;
	justify-content: center;

	position: relative;
	width: 55px;
	padding: 61px 8px 16px 8px;
	transition: .3s;
}
.solutionBannerItem:first-of-type {
	position: relative;
	background: linear-gradient(to right, #EF4709, #D51800);
	border-radius: 20px 0 0 0;
	z-index: -1;
}
.solutionBannerItem:first-of-type.solutionBannerItem01 {
	border-radius: 20px 0 0 0;
}
.solutionBannerItem:first-of-type.solutionBannerItem03 {
	border-radius: 20px 0 0 20px;
}
.solutionBannerItem:first-of-type.solutionBannerItem01 .solutionBannerText::before {
	background: url(/common/img/service-solution/common/banner-mail_01.svg) no-repeat left top / contain;
}
.solutionBannerItem:first-of-type.solutionBannerItem01:hover .solutionBannerText::before {
	background: url(/common/img/service-solution/common/banner-mail_02.svg) no-repeat left top / contain;
}
.solutionBannerItem:first-of-type.solutionBannerItem03 .solutionBannerText::before {
	background: url(/common/img/service-solution/common/banner-document-mail_01.svg) no-repeat left top / contain;
}
.solutionBannerItem:first-of-type.solutionBannerItem03:hover .solutionBannerText::before {
	background: url(/common/img/service-solution/common/banner-document-mail_02.svg) no-repeat left top / contain;
}
.solutionBannerItem:first-of-type::after {
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
  content: "";
	background: #AE0000;
	border-radius: 20px 0 0 0;
	opacity: 0;
	transition: .3s;
	z-index: -1;
}
.solutionBannerItem:first-of-type.solutionBannerItem01::after {
	border-radius: 20px 0 0 0;
}
.solutionBannerItem:first-of-type.solutionBannerItem03::after {
	border-radius: 20px 0 0 20px;
}
.solutionBannerItem:first-of-type:hover::after {
  opacity: 1;
	transition: .3s;
}
.solutionBannerItem:nth-of-type(2) {
	background: #7F7F7F;
	border-radius: 0 0 0 20px;
	border-top: 1px solid #FFF;
}
.solutionBannerItem:nth-of-type(2).solutionBannerItem02 .solutionBannerText::before {
	background: url(/common/img/service-solution/common/banner-document_01.svg) no-repeat left top / contain;
}
.solutionBannerItem:nth-of-type(2):hover {
	background: #5C5C5C;
}
.solutionBannerItem:nth-of-type(2).solutionBannerItem02:hover .solutionBannerText::before {
	background: url(/common/img/service-solution/common/banner-document_02.svg) no-repeat left top / contain;
}
.solutionBannerText {
	display: flex;
	align-items: center;
	width: 100%;
	position: relative;
	left: calc(50% - (0.15em / 2));
	transform: translateX(-50%);
	font-size: 13px;
	font-weight: bold;
	color: #FFF;
	line-height: 1.23;
	letter-spacing: 0.15em;
	writing-mode: vertical-rl;
}

.solutionBannerText::before {
	position: absolute;
	content: '';
	top: -45px;
	left: 0.15em;
	width: 38px;
	height: 38px;
}
@media screen and (max-width: 960px) {
  .solutionBannerWrap {
		width: 100%;
		flex-direction: row;
		top: auto;
		right: auto;
		bottom: 0;
		left: 0;
	}
	.solutionBannerItem {
		display: flex;
		align-items: center;
		width: calc((100% - 1px) / 2);
		min-height: 54px;
		padding: 8px 18px;
	}
	.solutionBannerItem:first-of-type,
	.solutionBannerItem:first-of-type.solutionBannerItem01,
	.solutionBannerItem:first-of-type.solutionBannerItem03,
	.solutionBannerItem:first-of-type::after,
	.solutionBannerItem:first-of-type.solutionBannerItem01::after,
	.solutionBannerItem:first-of-type.solutionBannerItem03::after,
	.solutionBannerItem:nth-of-type(2) {
		border-radius: 0;
	}
	.solutionBannerItem:first-of-type.solutionBannerItem01:hover .solutionBannerText::before {
		background: url(/common/img/service-solution/common/banner-mail_01.svg) no-repeat left top / contain;
	}
	.solutionBannerItem:first-of-type.solutionBannerItem03:hover .solutionBannerText::before {
		background: url(/common/img/service-solution/common/banner-document-mail_01.svg) no-repeat left top / contain;
	}
	.solutionBannerItem:first-of-type:hover::after {
		opacity: 0;
	}
	.solutionBannerItem:nth-of-type(2) {
		width: calc((100% + 1px) / 2);
	}
	.solutionBannerItem:nth-of-type(2):hover {
		background: #7F7F7F;
	}
	.solutionBannerItem:nth-of-type(2).solutionBannerItem02:hover .solutionBannerText::before {
		background: url(/common/img/service-solution/common/banner-document_01.svg) no-repeat left top / contain;
	}
	.solutionBannerItem.solutionBannerItem03 {
		width: 100%;
	}
	.solutionBannerItem:nth-of-type(2) {
		border-top: none;
		border-left: 1px solid #FFF;
	}
	.solutionBannerText {
		max-width: 80%;
		width: auto;
		height: 100%;
		left: 22.5px;
		transform: none;
		letter-spacing: 0;
		writing-mode: horizontal-tb;
	}
	.solutionBannerText::before {
		top: 0;
		left: -45px;
	}
}