@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/css?family=Raleway:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i);
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@200;300;400;500;600;700;800;900&display=swap');
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
a {
  color: #005ab4;
  text-decoration: none;
}
a:focus-visible {
  outline: 2px solid #000;
  outline-offset: inherit;
}
ul {
  list-style-type: none;
}

main {
  /*font-family: 'Noto Sans JP', sans-serif;
  font-family: 'Noto Serif JP', serif;*/
  font-size: 14px;
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
}
main .sp {
  display: none;
}
main .pc {
  display: block;
}
main .guide {
  display: none;
}

/* pro_footer */
#pro_footer {
  padding: 3.5em 0 4em 0;
  background: #f4f4f4;
}
#pro_footer a {
  color: #000;
}
#pro_footer a:hover {
  text-decoration: underline;
}

#pro_footer .box {
  width: 96%;
  max-width: 960px;
  margin: 0 auto;
  padding: 0;
  background: none;
}
#pro_footer .box .article {
  font-size: 120%;
  font-weight: 700;
}
#pro_footer .box dl.nav_box {
  display: flex;
  justify-content: space-between;
}
#pro_footer .box dl.nav_box dd {
  width: 20%;
}
#pro_footer .box dl.nav_box dd:nth-child(2) {
  width: 55%;
}
#pro_footer .box ul.nav {
  font-weight: 700;
}
#pro_footer .box ul.nav li {
  margin: 1.5em 0 0 0;
}
#pro_footer .box ul.nav li dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#pro_footer .box ul.nav li dl dt {
  width: 100%;
}
#pro_footer .box ul.nav li dl dt ul.lnav {
  display: flex;
  padding: 0 0 0 1em;
  font-size: 88%;
  font-weight: 700;
}
#pro_footer .box ul.nav li dl dt ul.lnav li {
  margin: 1.5em 2em 0 0;
}
#pro_footer .box ul.nav li dl dd {
  width: 49% !important;
}
#pro_footer .box dl.nav_box dd:last-child ul.nav li dl dd {
  width: 100% !important;
}
#pro_footer .box ul.nav li dl dd ul.lnav {
  padding: 0 0 0 1em;
  font-size: 88%;
  font-weight: 400;
}
#pro_footer .box ul.nav li dl dd ul.lnav a {
  color: #696969;
}
#pro_footer .box ul.nav li dl dd ul.lnav li {
  margin: 0.5em 0 0 0;
}
#pro_footer .box ul.nav li dl dd ul.lnav li.ttl {
  margin: 1.5em 0 0.5em 0;
  font-weight: 700;
}
#pro_footer .box ul.nav li dl dd ul.lnav li.ttl a {
  color: #000;
}

/* pagetop */
#footer {margin-top:0;}
#pageTop {position:fixed; min-width:100% !important; width:100% !important; max-width:100% !important; height:1px; margin:0; top:inherit; bottom:0; right:0; z-index:999; transition:none; transform:none;}
#pageTop p {position:relative; margin:0 auto; top:inherit; bottom:0; width:100%; max-width:1280px; height:1px;}
#pageTop p img {position:absolute; right:0; bottom:0;}

@media only screen and (min-width: 769px) {
  #pagetopBlockSP {display:none;}
  #footer .inner {max-width: 1280px;}
  #footer .footerContent,
  #footer .footerNav {max-width: 1000px; margin-right:auto; margin-left:auto;}
  #footer #deepFoot .layCol01,
  #footer #deepFoot .layCol02 {width:240px !important;}
  #fNav {width:960px !important;}
}


@media only screen and (max-width: 768px) {
  /*#pageTop p img {right:4%; bottom:4vw;}*/
  #pageTop {position:fixed !important; bottom:16px !important; right:20px !important;}
  #pageTop p img {width:40px; height:40px;}
}

/* robotsAnchor
------------------------- */
#robotsAnchor .linkPageSet .linkPage a {
  font-size: 16px;
  padding: 28.5px 48px 28.5px 24px;
  display: flex;
}
@media only screen and (max-width: 768px) {
  #robotsAnchor .linkPageSet .linkPage a {
    font-size: 14px;
    padding: 15px 40px 15px 20px;
  }
}

/* h1
------------------------- */
/*h1 {
  width: 92%;
  max-width: 960px;
  margin: 0 auto;
  font-size: 140%;
}*/



/* robotsNav-pc
------------------------- */
.proNav-pc {
  position: relative;
  margin: -1em 0 0 0;
  padding: 1em 0 0 0;
  background: #fff;
  z-index: 1000;
}
.proNav-pc.fixed {
  position: fixed;
  top: 0;
  left: 0;
  margin: 0;
  width: 100%;
  z-index: 1000;
}
.titleBox {
  display:flex;
  width: 92%;
  max-width: 960px;
  margin: 0 auto;
  font-size: 140%;
  font-weight:700;
}
.titleBox p {
  display:inline-block;
  position:relative;
  margin-right:0.9em;
  padding-right:1em;
  font-size:105%;
  line-height:1.6;
}
.titleBox p::after {
  position:absolute;
  content:'';
  width:1px;
  height:75%;
  top:0.3em;
  right:0;
  background:#ddd;
}
.titleBox p a {
  display:inline;
  color:#000;
}
.titleBox p a:hover {
  text-decoration:underline;
}
.titleBox h1 {
  display:inline-block;
}



#robotsNav-pc {
  position: relative;
  margin: 1em 0 0 0; 
  background: #005ab4;
}
#robotsNav-pc ul.nav {
  display: flex;
  width: 92%;
  max-width: 960px;
  margin: 0 auto;
  justify-content: center;
}
#robotsNav-pc ul.nav li {
  text-align: center;
}
#robotsNav-pc ul.nav li a {
  display: block;
  padding: 0.3em;
  background: #005ab4;
  color: #fff;
  transition: 0.3s;
}
#robotsNav-pc ul.nav li a:hover {
  background: #387ec4;
}
#robotsNav-pc ul.nav li > a:first-child:hover span {
  text-decoration: underline;
}
#robotsNav-pc ul.nav li a span {
  display: inline-block;
  padding:0.7em 1.2em;
  border-bottom: 1px solid transparent;
}
#robotsNav-pc ul.nav li.visit a {
  background: #387ec4;
}
#robotsNav-pc ul.nav li.pTab.active a {
  background: #387ec4;
}
#robotsNav-pc ul.nav li.visit a span {
  border-bottom: 1px solid #fff;
}

#robotsNav-pc .box {
  display: none;
  position: absolute;
  width: 100%;
  height: 45em;
  padding: 2em 0 3em 0;
  top: 4.5em;
  left: 0;
  background: #f2f6f6;
  font-size: 80%;
  z-index: -1;
}
#robotsNav-pc .box .box_in {
  position: relative;
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
}
#robotsNav-pc .lnavBox {
  display: none;
}
#robotsNav-pc ul.nav li .box.fadein {
  display: block;
  animation: fadeIn 0.7s ease 0s 1 normal;
}
#robotsNav-pc ul.nav li .lnavBox.fadein {
  display: block;
}
#robotsNav-pc ul.nav li .box.fadeout {
  animation: fadeOut 0.7s ease 0s 1 normal;
}
#robotsNav-pc ul.nav li .lnavBox.fadeout {
  display: none;
}
 @keyframes fadeIn { 
   from {
     opacity: 0;
     transform: translateY(-30px);
   }
   to {
     opacity: 1;
     transform: translateY(0);
   }
 }
 @keyframes fadeOut { 
   from {
     opacity: 1;
     transform: translateY(0);
   }
   to {
     opacity: 0;
     transform: translateY(-30px);
   }
 }
#robotsNav-pc .box a {
  background: none !important;
  border: 0 !important;
  color: #000 !important;
}
#robotsNav-pc .box .close {
  position: relative;
  width: 100%;
  margin: 2em auto 0 auto;
}
#robotsNav-pc .box .close p {
  position: absolute;
  width: 4em;
  height: 4em;
  top: -2em;
  right: 2%;
}
#robotsNav-pc .box .close p a {
  display: block;
  position: relative;
  width: 4em;
  height: 4em;
  padding: 0;
  background: none;
}
#robotsNav-pc .box .close span {
  display: block;
  position: absolute;
  content: '';
  width: 3.2em;
  height: 1px;
  top: 1.9em;
  left: 0.5em;
  padding: 0;
  background: #838586;
}
#robotsNav-pc li.visit .box .close span {
  border: 0;
}
#robotsNav-pc .box .close span:nth-child(1) {
  transform: rotate(-45deg);
}
#robotsNav-pc .box .close span:nth-child(2) {
  transform: rotate(45deg);
}
#robotsNav-pc .box .cate {
  color: #005ab4;
  font-size: 180%;
  text-align: left;
}
#robotsNav-pc .box .cate a {
  display: inline-block;
  color: #005ab4 !important;
  text-decoration: underline;
}
#robotsNav-pc .box .cate a:hover {
  font-weight: 700;
}
#robotsNav-pc .box ul {
  display: flex;
  width: 97%;
  margin: 0 auto;
  flex-wrap: wrap;
  justify-content: space-between;
}
#robotsNav-pc .box ul.lnavTab {
  margin: 1em 0 0 0.5%;
  border-bottom: 1px solid #cfd5d7;
  justify-content: flex-start;
}
#robotsNav-pc .box ul.lnavTab li {
  width: auto;
  font-size: 140%;
  margin: 0 3em 0 0;
  font-weight: 400;
}
#robotsNav-pc .box ul.lnavTab li a {
  padding: 0.5em 0;
  border-bottom: 3px solid transparent !important;
}
#robotsNav-pc .box ul.lnavTab li.active a {
  border-bottom: 3px solid #000 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  opacity: 1 !important;
}
#robotsNav-pc .box ul.lnavTab li a:hover {
  border-bottom: 3px solid #000 !important;
}
#robotsNav-pc .box ul.lnav {
  display: flex;
  position: absolute;
  width: 99%;
  top: 6em;
  left: 0.5%;
  margin-top: 1em;
  font-weight: 400;
  line-height: 1.6;
  justify-content: flex-start;
}
#robotsNav-pc .box ul.lnav li {
  display: flex;
  width: 18% !important;
  margin: 1em 0 0 0 !important;
  padding: 0;
  font-size: 75% !important;
  font-weight: 400 !important;
  background: none !important;
  text-align: left;
  align-content: center;
}
#robotsNav-pc .box ul.lnav li:nth-child(5n) {
  margin: 1em 0 0 0 !important;
}
#robotsNav-pc .box ul.lnav a,
#robotsNav-pc .box ul.lnavTab li.active ul.lnav a {
  padding: 0;
  border: 0 !important;
  font-weight: 400 !important;
  transition: 0.3s;
}
#robotsNav-pc .box ul.lnav li:hover {
  background: none;
}
#robotsNav-pc .box ul.lnav li a:hover {
  background: none;
  text-decoration: underline !important;
  opacity: 0.6 !important;
}
#robotsNav-pc .box ul.lnav li img {
  width: 12vw;
  max-width: 133px;
  border: 1px solid #e9e9e9;
}
#robotsNav-pc .box ul.lnav li p {
  margin:0.5em 0 0 0;
  font-weight: 400 !important;
}

#robotsNav-pc .box.example ul.lnav {
  top: 3.3em;
}
#robotsNav-pc .box.example ul.lnav li {
  width: 48% !important;
  margin: 1em 2% 0 0 !important;
  font-size: 110% !important;
  white-space: nowrap;
}
#robotsNav-pc .box.example ul.lnav li a {
  display: block;
  width: 100%;
  height: 100%;
}
#robotsNav-pc .box.example ul.lnav li img {
  margin-right: 1.2em;
  vertical-align: middle;
}

#robotsNav-pc .box.event ul.lnav {
  top: 3.3em;
}
#robotsNav-pc .box.event ul.lnav li {
  width: 48% !important;
  margin: 1em 2% 0 0 !important;
  font-size: 110% !important;
  white-space: nowrap;
}
#robotsNav-pc .box.event ul.lnav li img {
  margin-right: 1.2em;
  vertical-align: middle;
}
#robotsNav-pc .box.event ul.lnav li a {
  display: block;
  width: 100%;
  height: 100%;
}


/* cmnLinks
------------------------- */
.cmnLinks {
  padding: 5em 0 6em 0;
  background: url(../images/top/supp_bg.jpg) right top no-repeat;
  background-size: cover;
}
.cmnLinks h2 {
  font-size: 260%;
  font-weight: 400;
  text-align: center;
}
.cmnLinks ul {
  display: flex;
  width: 92%;
  max-width: 960px;
  margin: 0 auto;
  justify-content: space-between;
  flex-wrap: wrap;
  font-size: 90%;
}
.cmnLinks ul li {
  width: 23.6%;
  margin: 2.5em 0 0 0;
  background: #fff;
  border: 1px solid #e1e1e1;
  transition: 0.2s;
}
.cmnLinks ul li img {
  width: 100%;
}
.cmnLinks ul li a {
  display: block;
  height: 100%;
  color: #000;
}
.cmnLinks ul li:hover {
  opacity: 0.6;
  border: 1px solid #2160ae;
}
.cmnLinks ul li:hover  {
  opacity: 0.6;
  border: 1px solid #2160ae;
}
.cmnLinks ul li p.ttl {
  padding: 10px 15px 0 15px;
  font-size: 120%;
  font-weight: 700;
}
.cmnLinks ul li a:hover p.ttl {
  text-decoration: underline;
}
.cmnLinks ul li p.note {
  padding: 10px 15px 15px 15px;
  text-align: justify;
  text-justify: inter-ideograph;
}




/* cmnContact
------------------------- */
.cmnContact {
  padding: 5em 0 6em 0;
  background: url(../images/top/contact_bg.jpg) left top no-repeat;
  background-size: cover;
}
.cmnContact h2 {
  font-size: 260%;
  font-weight: 400;
  text-align: center;
}
.cmnContact div {
  max-width: 960px;
  margin: auto;
  padding: 2.5em;
}
.cmnContact ul {
  display: flex;
  width: 92%;
  margin: 0.5em auto 0 auto;
  justify-content: center;
}
.cmnContact ul li {
  width: 49%;
}
.cmnContact ul li a {
  color: #2160ae;
  border-bottom: 1px solid transparent;
  text-decoration: none;
  transition: 0.3s;
}
.cmnContact ul li dl {}
.cmnContact ul li dl dt {
  padding: 0.5em 0;
  background: #2160ae;
  color: #fff;
  font-size: 105%;
  text-align: center;
}
.cmnContact ul li dl dd .name {
  font-size: 140%;
}
.cmnContact ul li dl dd .tel {
  display: flex;
  margin: 0.6em 0 0 0;
  padding: 0 0 0 2.5em;
  background: url(../images/top/icon_tel.png) left center no-repeat;
  background-size: auto 2em;
  align-items: center;
}
.cmnContact ul li dl dd .tel a:hover {
  border-bottom: 1px solid #2160ae;
}
.cmnContact ul li dl dd .fax {
  display: flex;
  padding: 0 0 0 2.5em;
  background: url(../images/top/icon_fax.png) left center no-repeat;
  background-size: auto 2em;
  align-items: center;
}
.cmnContact ul li dl dd .tel span,
.cmnContact ul li dl dd .fax span {
  padding: 0 0 0 0.2em;
  color: #2160ae;
  font-size: 180%;
  font-weight: 700;
}
.cmnContact ul li dl dd .note {
  margin: 0.6em 0 0 0;
}
.cmnContact .btn {
  font-size: 120%;
}
.cmnContact .btn a {
  margin: 0 auto;
}
.cmnContact .btn a img {
  width: auto;
}
.cmnContact .arrow a {
  padding-right: 2em;
  text-decoration: none;
  background-image: url(../images/common/icon_arrow.png);
  background-size: auto 0.4em;
  background-position: 90% center;
  background-repeat: no-repeat;
}


/* NavCmn_3
  ------------------------- */
.NavCmn_3 {
  padding: 4em 0;
  background: #f5f5f5;
}
.NavCmn_3 ul {
  display: flex;
  justify-content: center;
  background: #fff;
  border: 1px solid #e1e1e1;
  border-right: none;
}
.NavCmn_3 ul li {
  width: 33.4%;
}
.NavCmn_3 ul li a {
  display: block;
  position: relative;
  padding:2.5em 2em;
  background: #fff url();
  border-right: 1px solid #e1e1e1;
  color: #000;
  font-weight: 700;
  transition: 0.2s;
}
.NavCmn_3 ul li a:hover {
  opacity: 0.7;
}
.NavCmn_3 ul li a span {
  position: absolute;
  top: 38%;
  right: 2em;
}



@media only screen and (min-width: 768px) {
  
  
  /* cmnContact
  ------------------------- */
  .cmnContact ul li dl dd .tel a[href^="tel:"] {
    /*pointer-events: none;*/
    color: #2160ae;
    text-decoration: none;
  }
  
  .rwd_trademark  {width:96%; max-width:960px; margin:30px auto 40px auto;}
  
}



@media only screen and (min-width: 768px) and (max-width: 1000px) {

  main {
    font-size: 1.3vw;
  }
  
  
  
  /* robotsNav-pc
  ------------------------- */
  #robotsNav-pc ul.nav {
    width: 98%;
    font-size: 1vw;
  }
  #robotsNav-pc ul.nav li {
    white-space: nowrap;
  }

}



@media only screen and (max-width: 767px) {
  main {
    font-size: 3vw;
  }
  main .sp {
    display: block;
  }
  main .pc {
    display: none;
  }
  
  .rwd_trademark  {width:94%; margin:10px auto 40px auto;}
  .rwd_trademark h2.headMod03  {font-size:100% !important;}
  
  
  
  /* Nav
  ------------------------- */
  .proNav-sp {
    position: relative;
    background: #fff;
  }
  .proNav-sp.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
  }
  .proNav-sp .titleBox {
    position:relative;
    width:100%;
    padding:0 15% 0 0;
    z-index:+1;
  }
  .proNav-sp .titleBox p {
    font-size: 95%;
    padding-right: 0.5em;
  }
  .proNav-sp .titleBox h1 {
    font-size: 95%;
  }
  .proNav-sp .titleBox p a {
    cursor: pointer;
  }
  .proNav-sp .navBox {
    display: flex;
    min-height: 67px !important;
    padding: 3vw 2% 8px 4%;
    border-bottom: 1px solid #e1e1e1;
    align-items: center;
  }
  #navBtn {
    display: flex;
    top: 12px;
    right: 15px;
    transition: .3s;
    cursor: pointer;
    z-index: 9999;
    width: 50px;
    height: 50px;
    align-items: center;
    justify-content: center;
  }
  .menu-trigger {
    width: 30px;
    height: 24px;
    position: relative;
  }
  .menu-trigger span {
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background: #ccc;
    transition: all .5s;
  }
  .menu-trigger span:nth-of-type(1) {
    top: 0;
  }
  .menu-trigger span:nth-of-type(2) {
    top: 10px;
  }
  .menu-trigger span:nth-of-type(3) {
    bottom: 0;
  }
  #navBtn.active .menu-trigger span:nth-of-type(1) {
    transform: translateY(10px) rotate(-45deg);
  }
  #navBtn.active .menu-trigger span:nth-of-type(2) {
    opacity: 0;
  }
  #navBtn.active .menu-trigger span:nth-of-type(3) {
    transform: translateY(-10px) rotate(45deg);
  }
  
  #robotsNav-sp {
    display: none;
    overflow-y: auto;
    position: absolute;
    width: 100%;
    height: calc(100vh - 67px);
    top: 67px;
    left:0;
    background: #fff;
    z-index: 100;
  }
  #robotsNav-sp .nav {
    width: 100%;
  }
  #robotsNav-sp .nav li {
    width: 100%;
  }
  #robotsNav-sp .nav li a {
    display: block;
    position: relative;
    padding: 1.3em;
    border-bottom: 1px solid #e1e1e1;
    color: #000;
  }
  #robotsNav-sp .nav li a::after {
    content: "";
    display: inline-block;
    position: absolute;
    right: 6%;
    top: 40%;
    border-top: solid 2px #000;
    border-right: solid 2px #000;
    width: 0.6em;
    height: 0.6em;
    transform: rotate(45deg);
  }
  #robotsNav-sp ul.nav li.tab {
  }
  #robotsNav-sp ul.nav li.tab.active {
  }
  #robotsNav-sp .nav .tab ul.lnav {
    display: none;
    background: #fff
  }
  #robotsNav-sp .nav .tab > a:first-of-type {
    background: url(../images/common/icon_plus.png) 95.6% center no-repeat;
    background-size: 1.7em auto;
    color: #000;
  }
  #robotsNav-sp .nav .tab.active > a:first-of-type {
    background: url(../images/common/icon_minus.png) 95.6% center no-repeat;
    background-size: 1.7em auto;
    color: #000;
  }
  #robotsNav-sp .nav .tab > a:first-of-type::after {
    border: 0;
  }
  #robotsNav-sp .nav .tab > a.open:first-of-type {
    color: #000;
  }
  #robotsNav-sp .nav .tab ul li {
    padding: 0;
  }
  #robotsNav-sp .nav .tab ul li.navTtl {
    /*padding: 1.3em 1.3em 1.3em 2.6em;*/
    background: #f2f6f6;
    /*border-bottom: 1px solid #e1e1e1;*/
  }
  #robotsNav-sp .nav .tab ul li:last-child {
    margin-bottom: 0;
  }
  #robotsNav-sp ul.lnav li a {
    padding: 1.3em 1.3em 1.3em 2.6em;
  }

  
  /* cmnLinks
  ------------------------- */
  .cmnLinks ul li {
    width: 48%;
    margin: 2em 0 0 0;
    border: 2px solid #e1e1e1;
  }
  .cmnLinks ul li:hover {
    border: 2px solid #233350;
  }
  .cmnLinks ul li p.ttl {
    padding: 2vw 4vw 0 4vw;
    font-size: 125%;
  }
  .cmnLinks ul li p.note {
    padding: 1.5vw 4vw 4vw 4vw;
    font-size: 105%;
  }
  
  
  /* cmnContact
  ------------------------- */
  .cmnContact {
    background: url(../images/top/contact_bg-sp.jpg) left top no-repeat;
    background-size: cover;
  }
  .cmnContact ul {
    display: block;
  }
  .cmnContact ul li {
    width: 100%;
  }
  .cmnContact ul li dl dt {
    padding: 0.3em 0;
    font-size: 120%;
    font-weight: 700;
  }
  .cmnContact ul li + li {
    margin: 2em 0 0 0;
  }
  .cmnContact ul li dl dd .tel {
    background-size: auto 2em;
  }
  .cmnContact ul li dl dd .fax {
    background-size: auto 2em;
  }
  .cmnContact .btn {
    font-size: 115%;
  }
  .cmnContact .btn a {
    width: 65%;
    padding: 1.3em 2.5em 1.3em 0.5em;
  }
  .cmnContact .arrow a {
    background-position: 93% center;
  }
  .cmnContact .noArrow a {
    padding-left: 30px;
  }


  /* NavCmn_3 
    ------------------------- */
  .NavCmn_3 {
    padding: 2em 0;
  }
  .NavCmn_3 ul {
    font-size: 90%;
    align-content: center;
  }
  .NavCmn_3 ul li a {
    padding:2.5em 1em;
  }
  .NavCmn_3 ul li.line2 a {
    padding:3.2em 1em;
  }
  .NavCmn_3 ul li a span {
    right: 1em;
  }
  
  
  
  /* pro_footer 
    ------------------------- */
  #pro_footer {}
  #pro_footer .box {
    width: 94%;
  }
  #pro_footer .box dl.nav_box {
    display: inherit;
  }
  #pro_footer .box dl.nav_box dd {
    width: 100% !important;
  }
  #pro_footer .box ul.nav li {
    margin: 1.5em 0 0 0;
  }
  #pro_footer .box ul.nav li dl {}
  #pro_footer .box ul.nav li dl dt {
    width: 100%;
  }
  #pro_footer .box ul.nav li dl dt ul.lnav {
    display: inherit;
  }
  #pro_footer .box ul.nav li dl dt ul.lnav li {
    margin: 1.5em 0 0 0;
  }
  #pro_footer .box ul.nav li dl dd {
    width: 100% !important;
  }
  #pro_footer .box dl.nav_box dd:last-child ul.nav li dl dd {
    width: 100% !important;
  }
  #pro_footer .box ul.nav li dl dd ul.lnav {
    padding: 0 0 0 1em;
    font-size: 88%;
    font-weight: 400;
  }
  #pro_footer .box ul.nav li dl dd ul.lnav a {
    color: #696969;
  }
  #pro_footer .box ul.nav li dl dd ul.lnav li {
    margin: 0.5em 0 0 0;
  }
  #pro_footer .box ul.nav li dl dd ul.lnav li.ttl {
    margin: 1.5em 0 0.5em 0;
    font-weight: 700;
  }
  #pro_footer .box ul.nav li dl dd ul.lnav li.ttl a {
    color: #000;
  }
}




/* margin
------------------------- */
.maru_icon {
  max-width: 100%;
  width: auto;
  vertical-align: baseline;
}
.mt20_pcsp { margin-top: 20px !important; }
.mt40_pcsp { margin-top: 40px !important; }
@media only screen and (max-width: 767px) {
  .mt20_sp { margin-top: 20px !important; }
  .mt30_sp { margin-top: 30px !important; }
  .mt40_sp { margin-top: 40px !important; }
  .pb40_sp { padding-bottom: 40px !important; }
}

/* headingL2
------------------------- */
.headingL1 .headingSub,
.headingL2 .headingSub,
.headingL3 .headingSub {
  font-size: 80%;
  font-weight: normal;
  display: inline;
}
.headingL1.noborder {
  border-left: 0;
  padding-left: 0;
}

/* colSet.marginSet
------------------------- */
.colSet.marginSet.reverse {
  flex-flow: row-reverse;
}
.pageContent .colSet.marginSet .col3-1 {
  width: calc(33.3333% - 30px);
  margin-right: 30px;
}
.pageContent .colSet.marginSet .col4-4 {
  width: calc(40% - 30px);
  margin-right: 30px;
}
.pageContent .colSet.marginSet .col4-5 {
  width: calc(60% - 30px);
  margin-right: 30px;
}
.colSet.marginSet.gyro_box {
  padding: 0 0 90px 0;
}
.colSet.marginSet.gyro_box .img img {
  border: 1px solid #e1e1e1;
}
.colSet.marginSet.gyro_box ul {
  font-size: 100%;
}
.colSet_link {
  font-size: 130%;
}
.colSet_link:hover {
  color: #FF3300;
  text-decoration: underline;
}
.colSet.marginSet.gyro_box .colSet_link {
  font-size: 100%;
}
@media only screen and (max-width: 767px) {
  .colSet.marginSet.gyro_box {
    display: block;
    padding: 0 0 5em;
}
  .pageContent .colSet.marginSet .col3-1,
  .pageContent .colSet.marginSet .col4-4,
  .pageContent .colSet.marginSet .col4-5,
  .colSet.marginSet.gyro_box .col4-1,
  .colSet.marginSet.gyro_box .col4-3 {
    width: 100%;
    margin-top: 10px;
    margin-right: 0;
  }
  .colSet.marginSet.gyro_box .col4-1 {
    margin-top: 0;
  }
  .colSet.marginSet.gyro_box .col4-1 .img {
    margin-bottom: 10px;
  }
}


/* pdOverview
------------------------- */
.pdOverview .colSet.marginSet {
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  .pdOverview .colSet.marginSet {
    flex-wrap: wrap;
  }
  .pdOverview .colSet.marginSet .col4-2 {
    width: 100%;
    margin-top: 10px;
    margin-right: 0;
  }
}



/* pdMv
------------------------- */
.pdMv {
  background-image: url(/products/robots/assets/images/lineup/img_mv.png);
  background-position: center top;
  background-size: auto 100%;
  color: #ffffff;
}
.pdMv h1.pdMvH {
  margin: 0;
  padding: 0 0 0.5em 0;
}
.pdMv .pdMvLead {
  font-size: 120%;
}
.pdMv .pdMvLeadNote {
  font-size: 90%;
  display: block;
  padding-top: 2em;
  margin-bottom: 30px;
}
.pageTitle.nonImg {
  background-image: url(/products/robots/assets/images/download/img_mv01.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.pdMv h1.pdMvH,
.pageTitleH,
.pageTitleH span,
.pageTitle.nonImg .pageTitleH,
.pageTitle.nonImg .pageTitleH span,
.MvScara .inner h1 {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, sans-serif;
}
@media only screen and (max-width: 767px) {
  .pdMv h1.pdMvH {
    font-size: 215%;
  }
  .pdMv .pdMvLead {
    font-size: 120%;
  }
  .pdMv .pdMvLeadNote {
    padding-top: 1em;
    font-size: 90%;
    text-indent: -0.5em;
  }
}


/* topProducts
------------------------- */
.topProducts {
  width: 92%;
  max-width: 960px;
  margin: 0 auto;
  padding: calc(6em - 2.5em) 0;
}
.topProducts h2 {
  padding: 0 0 0 0.6em;
  border-left: 2px solid #1e2021;
  font-size: 260%;
  font-weight: 400;
}
.topProducts ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.topProducts ul li {
  width: 23.4%;
  margin: 2.5em 0 0 0;
  background: #fff;
  line-height: 1;
  transition: 0.2s;
}
.topProducts ul li:hover {
  opacity: 0.6;
}
.topProducts ul li img {
  width: 100%;
  border: 1px solid #e1e1e1;
}
.topProducts ul li p {
  margin-top: 10px;
  line-height: 1.4;
}
.topProducts ul li a:hover p {
  text-decoration: underline;
}
.topProducts ul li a {
  display: block;
  height: 100%;
  color: #000;
}
.topProducts .btn {
  margin: 3em 0 0 0;
  font-size: 120%;
}
.topProducts .btn a {
  margin: 0 auto;
  padding: 1em 6em 1em 3.5em;
  text-decoration: none;
  background-image: url(../images/common/icon_arrow.png);
  background-size: auto 0.4em;
  background-position: 85% center;
  background-repeat: no-repeat;
}
.topProducts.col3 ul li {
  width: 31%;
}
.topProducts.col3 ul li img {
  border: 0;
}
.topProducts.col3 ul li .ttl {
  font-size: 120%;
  font-weight: bold;
  color: #4c4c4c;
}
.topProducts.col3 ul li .read {
  color: #4c4c4c;
}
.topProducts .btn {
  font-size: 180%;
}
.topProducts .btn a {
  background-color: #005ab4;
  padding: 1em 6em 1em 3.5em;
  background-position: 85% center;
}
.topProducts.col3.products_parts {
  padding: 0 0 3em;
  width: 100%;
}
.topProducts.col3.products_parts p {
  font-size: 14px;
}

.topProducts.col3.products_parts .products_parts_ttl {
  font-size: 210%;
  font-weight: bold;
  color: #2160ae;
  text-align: center;
  padding: 0 0 0.4em;
  border: 0;
}
.topProducts.col3.products_parts ul {
  position: relative;
  background-color: #e7eef6;
  padding:  2em 2em 2em;
  margin-top: 2.5em;
}
.topProducts.col3.products_parts ul::before {
  content: "";
  position: absolute;
  top: -2.5em;
  left: 50%;
  transform: translateX(-50%);
  background: url(/products/robots/assets/images/top/topProducts_img01.png) no-repeat;
  background-size: contain;
  width: 15.6em;
  height: 5.4em;
}
.topProducts.col3 ul::after{
  content:"";
  display: block;
  width:31%;
}
.topProducts.col3.products_parts ul li {
  margin: 2em 0 0 0;
  background: #e7eef6;
}
.products_parts_add {
  background-color: #e7eef6;
  padding: 0 2em 2em;
  margin-top: 20px;
}
.products_parts_add .colSet.marginSet {
  justify-content: space-between;
  width: 100%;
  margin-right: 0;
  padding-top: 2em;
}
.products_parts_add .colSet.marginSet .col4-4 {
  width: calc(40% - 10px);
  margin-right: 0;
}
.products_parts_add .colSet.marginSet .col4-5 {
  width: calc(60% - 10px);
  margin-right: 0;
}
@media only screen and (max-width: 767px) {
  
  /* topProducts
  ------------------------- */
  .topProducts {
    padding: calc(4em - 1.5em) 0 4.5em 0;
  }
  .topProducts ul li {
    width: 48%;
    margin-top: 1.5em;
    font-size: 110%;
  }
  .topProducts ul li img {
    border: 2px solid #e1e1e1;
  }
  .topProducts ul li a {
    color: #000;
  }
  .topProducts .btn {
    margin: 2.2em 0 0 0;
  }
  .topProducts .btn a {
    width: 70%;
    padding: 1.2em 0;
  }
  .topProducts.col3 ul li {
    width: 48%;
  }
  .topProducts.col3 ul li .ttl {
    font-size: 110%;
  }
  .topProducts.col3 ul li .read {
    font-size: 100%;
  }
  .topProducts .btn {
    font-size: 140%;
  }
  .topProducts.col3 ul::after{
    content:"";
    display: block;
    width: 48%;
  }
  .topProducts.col3.products_parts {
    padding: 0 0 1em;
  }
  .topProducts.col3.products_parts ul::before {
    width: 14em;
    height: 5.1em;
  }
  .topProducts.col3.products_parts .products_parts_ttl {
    font-size: 180% !important;
  }
  .products_parts_add .colSet.marginSet .col4-4,
  .products_parts_add .colSet.marginSet .col4-5 {
    width: 100%;
  }
  .products_parts_add .colSet.marginSet > div:nth-child(2) {
    margin-top: 2em;
  }
}



/* searchHead
------------------------- */
.searchHead {
  margin-top: 80px !important;
}
.searchHead.tabHead.bottom {
  margin-bottom: 4em;
}
.headingL1 + .searchHead {
  margin-top: 0 !important;
}
.searchHead.tabHead {
  border-bottom: none;
}
.searchHead .tabNav {
  width: 100%;
  justify-content: space-between;
}
.searchHead .tabNav li {
  width: 33%;
  padding: 0;
  font-size: 100%;
  font-weight: 400;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 115%;
  transition: none;
}
.searchHead .tabNav.col5 li {
  width: calc(100% / 5 - 5px);
}

.searchHead .tabNav.col6 li {
  width: calc(100% / 6 - 5px);
}

.searchHead .tabNav li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 15px 5px;
  background: #f5f5f5;
  color: #000;
  transition: none;
}
.searchHead .tabNav li.tabRcEe a {
  font-size: 71%;
}
.searchHead .tabNav li.active {
  padding: 16px 5px 15px;
}
.searchHead .tabNav li a::after {
  display: none;
}
.searchHead .tabNav li.active,
.searchHead .tabNav li.active a {
  background: #2160ae;
  color: #fff;
  transition: none;
}
.searchHead .tabNav li.active a span {
  padding: 0;
  background: none;
}
.searchHead .tabNav li.active a::after {
  display: none;
}
html:not(.sp) .searchHead .tabNav li a .line {
  border-bottom: 1px solid transparent;
  transition: 0.2s;
}
html:not(.sp) .searchHead .tabNav li a:hover .line {
  color: #2160ae;
  border-bottom: 1px solid #2160ae;
}
html:not(.sp) .searchHead .tabNav li.active a .line {
  transition: none;
}
html:not(.sp) .searchHead .tabNav li.active a:hover .line {
  color: #fff;
  border-bottom: 1px solid transparent;
}
html:not(.sp) .searchHead .tabNav li a .arw {
  padding: 0 2em 0 0;
  background: url(../images/common/icon_arrow_black.png) right center no-repeat;
  background-size: auto 0.4em;
  transition: opacity 0.2s;
}
html:not(.sp) .searchHead .tabNav li a:hover .arw {
  background: url(../images/common/icon_arrow_blue.png) right center no-repeat;
  background-size: auto 0.4em;
}
html:not(.sp) .searchHead .tabNav li.active a .arw {
  padding: 0;
  background: none;
}
/**/
.searchHead .tabNav li.active {
  padding: 0;
}
.searchHead .tabNav li.active {
  background: #f5f5f5;
  color: #000;
}
.searchHead .tabNav li.active a{
  pointer-events: none;
  padding: 15px 5px;
  background: #2160ae;
  color: #fff;
}
html:not(.sp) .searchHead .tabNav li a .line {
  transition: none;
}
@media only screen and (max-width: 767px) {
  .searchHead {
    margin-top: 40px !important;
  }
  .searchHead .tabNav {
    flex-wrap: wrap;
  }
  .searchHead .tabNav li {
    font-size: 100%;
    width: calc(100% / 3 - 5px);
  }
  .searchHead .tabNav li:nth-child(-n + 3) {
    width: calc(100% / 3 - 5px);
  }
  .searchHead .tabNav li:nth-child(n + 4) {
    margin-top: 5px;
    width: calc(100% / 2 - 5px);
  }
  .searchHead .tabNav li a {
    padding: 16.5px 5px;
  }
  /**/


  .searchHead#tabNav .tabNav li,
  .searchHead#tabNav-bottom .tabNav li {
    font-size: 100%;
    width: calc(100% / 2 - 5px);
    margin-bottom: 10px;
    margin-top:0;
  }


}



/* btn
------------------------- */
.btn.lineupBtn a {
  margin: 0 auto;
  padding: 0.5em 1em;
  font-size: 100%;
  line-height: 1.5;
  margin-top: 2em;
}

/* pdCustomerTab
------------------------- */
.pdCustomerTab.pdCustomerTab_partsAdd {
  margin-bottom: 50px; 
}
@media only screen and (max-width: 767px) {
  .pdCustomerTab.pdCustomerTab_partsAdd {
    margin-bottom: 20px;
  }
}

/* forceList
------------------------- */
.forceList ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 25px 0 0 0;
}
.forceList ul li {
  width: 31%;
  margin: 3em 3.5% 0 0;
  background: #fff;
  line-height: 1;
  transition: 0.2s;
}
.forceList ul li:nth-child(3n) {
  margin: 3em 0 0 0;
}
.forceList ul li:nth-child(-n+3) {
  margin-top: 0;
}
.forceList ul li img {
  width: 100%;
}
.forceList ul li p.ttl {
  margin-top: 10px;
  font-size: 130%;
  font-weight: bold;
}
.forceList ul li p.name {
  font-size: 115%;
  margin-top: 10px;
}
@media only screen and (max-width: 767px) {
  .forceList ul {
    padding-bottom: 0 !important;
    justify-content: space-between;
    font-size: 100%;
  }
  .forceList ul li {
    width: 48%;
    margin: 0 0 2em 0;
  }
  .forceList ul li:nth-child(3n) {
    margin: 0 0 2em 0;
  }
  .forceList ul li p.ttl {
    font-size: 100%;
  }
  .forceList ul li p.name {
    font-size: 100%;
  }
}


/* btn
------------------------- */
.btn.module_btn01 {
  margin: 0;
  font-size: 120%;
}
.btn.module_btn01 a {
  margin: 0 auto;
  padding: 1em 6em 1em 3.5em;
  text-decoration: none;
  background-image: url(../images/common/icon_arrow.png);
  background-size: auto 0.4em;
  background-position: 85% center;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 767px) {
  .btn.module_btn01 a {
    width: 100%;
    padding: 1em 4em;
    line-height: 1.4;
  }
  .btn.module_btn01 a {
    background-position: 90% center;
}
}


/* etc
------------------------- */
.of_hidden { overflow: hidden;}
.products_parts_padding {
  padding-bottom: 80px !important;
}
.pageTitleTxt {
  font-size: 120%;
}
.headingL3 {
  font-weight: bold;
}
.main dl.list.annotationList  {
font-size: 14px;
}
.main dl.list.annotationList dt,
.main dl.list.annotationList dd {
  font-size: 100%;
}
.guide.guideWhite span::before,
.guide.guideWhite span::after,
.guide.guideWhite::before {
  background: rgba(255, 255, 255, 0) !important;
  background: rgb(255 255 255 / 0%) !important;
}
.guide span::before,
.guide span::after,
.guide::before {
  background-color: rgba(0, 0, 0, 0);
}
.pageContent.etcSection p {
  line-height: 1.5;
  margin-bottom: 0;
}
.pageContent.etcSection ul.list li {
  position: relative;
  font-size: 100%;
  line-height: 1.5;
  margin-bottom: 0;
}
.tablesSpecification {
  border-collapse: separate;
}
.productsPartsSection{
  padding-bottom: 5.5vw;
}
.ank_heading {
  padding-top: 210px;
  margin-top: -130px;
}
.ank_heading.first {
  padding-top: 210px;
  margin-top: -210px;
}
.cmnContact ul li .note a:hover {
  color: #FF3300;
  border-bottom: 1px solid #FF3300;
}
.pdMovie.pdMovieCtm {
  padding-top: 210px !important;
  margin-top: -130px !important;
}
.fs130 { font-size: 130%;}

#header #headNav .serch p .txt label {
  box-sizing: content-box;
}
#pagetopBlock {
  right: -60px;
}
@media only screen and (max-width: 767px) {
  .products_parts_padding {
    padding-bottom: 40px !important;
  }
  .pageContent ul.list li::before {
    top: 0.55em;
  }
  .pdlinkPage {
    padding: 30px 0;
  }
  .main dl.list.annotationList dt,
  .main dl.list.annotationList dd {
    font-size: 86%;
  }
  .tableScroll::-webkit-scrollbar {
    height: 5px;
  }
  .fs130 { font-size: 100%;}
}

.txt_link:hover {
  color: #FF3300;
  text-decoration: underline;
}
.pageContent .colSet.marginSet.colSet_ctm .col4-2:nth-child(1) {
  margin-right: 60px;
}
@media only screen and (max-width: 767px) {
  .pageContent .colSet.marginSet.colSet_ctm .col4-2:nth-child(1) {
    margin-right: 0;
  }
}