@media screen and (max-width: 768px) {
 /* スマホ -------------------------------------------------------------- */
 .pc, .h-tel {
  display: none;
  text-indent: -9999px;
 }
 img, object, embed {
  max-width: 100%;
  height: auto;
 }
 img {
  -ms-interpolation-mode: bicubic;
 }
 .btn02 {
  display: block !important;
  border-radius: 50px;
 }
 .anchor {
  /*margin: 50px 0px 10px 0px;*/
  padding-top: 80px;
  margin-top: -80px;
 }
 .mt {
  margin-top: 80px;
 }
 /* #top-news .aligncenter {
  padding: 0 6%;
 } */
 /* ヘッダー -------------------------------------------------------------- */
 header {
  height: 60px;
  background: #FFFFFF;
  width: 100%;
  z-index: 10000;
  position: relative;
  margin-bottom: -6px;
  box-shadow: 0 2px 10px -2px rgba(0, 0, 0, 0.2);
 }
 #header-wrap {
  width: 100%;
  margin: 0 auto;
 }
 #header-wrap #header-l {}
 #header-l h1 img, #header-l .logo img {
  max-width: 199px;
  width: 100%;
  height: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  float: left;
  margin: 0% 4% 0 2%;
  padding-left: 3%;
  display: block;
 }
 #header-l h1 {
  padding: 4% 0% 0 0;
  float: left;
  width: 64%;
  font-weight: bold;
 }
 #header-l h1 a, #header-l .logo a {
  text-decoration: none;
 }
 #header-l .logo img.logo-w {
  display: none;
 }
 #header-r {}
 #management {
  padding-top: 30px;
  margin-top: -30px;
 }
 /* スマホナビ -------------------------------------------------------------- */
 #menu-sp {
  padding: 8px;
  display: block;
  text-align: center;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: bold;
  position: relative;
  z-index: 10000;
  width: 26px;
  height: 28px;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  float: right;
  margin: 10px 10px 0 0;
 }
 #menu-sp #open {
  background: url(../images/common/menu_open.png) center center no-repeat;
  background-size: 100%;
  width: 26px;
  height: 28px;
  position: absolute;
 }
 #menu-sp.active #open {
  background: url(../images/common/menu_close.png) right center no-repeat;
  background-size: 100%;
  width: 26px;
  height: 28px;
 }
 #menu-sp img {
  height: auto;
 }
 #menu-sp:hover, #menu-sp:active {
  cursor: pointer;
 }
 #nav-wrap {
  display: block;
  clear: both;
  position: absolute;
  display: none;
  z-index: 100000;
  width: 100%;
  background-color: #FFFFFF;
  top: 58px;
  border-bottom: 1px solid #DDDDDD;
 }
 #nav-wrap li {
  list-style: none;
 }
 #nav-wrap a {
  text-decoration: none;
  display: block;
  font-size: 100%;
  position: relative;
  padding: 1.0em 4% 0.9em 1.0em;
  border-top: 1px solid #DDDDDD;
  border-right: 1px solid #DDDDDD;
  background-color: #FFFFFF;
  color: #333333;
  text-decoration: none;
  width: 94%;
  float: left;
  line-height: 1.2;
 }
 #nav-wrap a:after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 4%;
  width: 6px;
  height: 6px;
  margin: -4px 0 0 0;
  border-top: solid 2px #222222;
  border-right: solid 2px #222222;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
 }
 nav li a span {
  color: #0080BD;
  font-size: 1.8vw;
 }
 /*子階層以降共通*/
 nav li {
  position: relative;
  -moz-transition: .3s;
  -webkit-transition: .3s;
  -o-transition: .3s;
  -ms-transition: .3s;
  transition: .3s;
 }
 nav li ul {
  overflow: hidden;
  height: 0;
 }
 /* main -------------------------------------------------------------- */
 #main-bk {
  background: #FDDB55;
 }
 #main {
  position: relative;
 }
 .scroll {
  position: absolute;
  bottom: 0px;
  left: 43%;
  z-index: 2;
  display: inline-block;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  text-decoration: none;
 }
 @media screen and (min-width:481px) and (max-width:767px) {
  .scroll {
   bottom: -8%;
   left: 45%;
  }
 }
 @media screen and (max-width: 320px) {
  .mt {
   margin-top: 60px;
  }
 }
 .scroll {
  padding-top: 70px;
  color: #FFFFFF !important;
 }
 .scroll span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: sdb 1.5s infinite;
  animation: sdb 1.5s infinite;
  box-sizing: border-box;
 }
 @-webkit-keyframes sdb {
  0% {
   -webkit-transform: rotate(-45deg) translate(0, 0);
   opacity: 0;
  }
  50% {
   opacity: 1;
  }
  100% {
   -webkit-transform: rotate(-45deg) translate(-20px, 20px);
   opacity: 0;
  }
 }
 @keyframes sdb {
  0% {
   transform: rotate(-45deg) translate(0, 0);
   opacity: 0;
  }
  50% {
   opacity: 1;
  }
  100% {
   transform: rotate(-45deg) translate(-20px, 20px);
   opacity: 0;
  }
 }
 /* トップページ -------------------------------------------------------------- */
 #contents {
  clear: both;
  margin: 2% auto;
  width: 100%;
 }
 .top-contents-wrap {
  width: 100%;
  margin: 0 auto;
 	margin-top: 60px;
}
 .top-contents-wrap-l, .top-contents-wrap-r, .top-contents-wrap-100 {
  position: relative;
 }
 .top-contents-wrap-l {
  width: 100%;
 }
 .top-contents-wrap-r {
  width: 100%;
 }
 .zoom-with-text, .zoom-with-text-100 {
  max-width: 100%;
  background: #000000;
  margin-bottom: 0;
 }
 .zoom-with-text-image, .zoom-with-text-image-100 {
  overflow: hidden;
  padding: 38% 0 18%;
  position: relative;
 }
 .zoom-with-text-image-100 img {
  width: 100%;
  height: 305px;
  object-fit: cover;
 }
 /*　スマホ横　*/
 @media screen and (min-width:600px) and (max-width:1019px) {
  .zoom-with-text-image-100 img {
   width: 100%;
   height: 400px;
   object-fit: cover;
  }
 }
 .zoom-with-text-link {
  align-items: center;
  color: #fff;
  display: flex;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  width: 100%;
  height: 100%;
  justify-content: center;
  left: 0;
  position: absolute;
  text-decoration: none;
  top: 0;
  z-index: 2;
 }
 a.zoom-with-text-link {
  color: #fff;
 }
 .zoom-with-text-link .zoom-border, .zoom-with-text-link .zoom-border-100 {
  align-items: center;
  width: 80%;
  height: 80%;
  border: solid 2px #FFFFFF;
  /* padding-top: 4%; */
  font-weight: normal;
  line-height: 1.6;
  display: table;
}

.zoom-with-text-link .zoom-border .gaiyou_wrap,.zoom-with-text-link .zoom-border-100 .gaiyou_wrap {
 display: table-cell;
 vertical-align: middle;
} 

 .zoom-border span, .zoom-border-100 span {
  display: block;
  font-size: 1.8rem;
 }
 .zoom-with-text-photo {
  display: block;
  left: 0;
  position: absolute;
  top: 0;
  transition: all .2s ease-in-out;
  z-index: 1;
  opacity: 0.5;
 }
 .zoom-with-text-link:hover {
  text-shadow: 0 0 35px rgba(0, 0, 0, .4);
 }
 .zoom-with-text-link:hover + .zoom-with-text-photo {
  transform: scale3d(1.1, 1.1, 1);
  opacity: 0.2;
 }
 /* トップページニュース -------------------------------------------------------------- */
 #top-news-bk {
  background: url("../images/common/bg-news.png") 0 -10px no-repeat;
  padding: 40px 0;
 }
 #top-news {
  width: 90%;
  margin: 0 auto;
 }
 #top-news h2 {
  font-size: 180%;
  font-weight: normal;
  text-align: left;
  line-height: 1.6;
  margin-bottom: 40px;
  line-height: 1.2;
  display: inline-block;
  color: #2E3D8D;
 }
 #top-news h2 span {
  font-size: 1.4rem;
 }
 .news_wrap {
  margin-bottom: 30px;
 }
 .news_wrap_inner {
  clear: left;
  background: #FFFFFF;
  padding: 20px;
  color: #222;
  -webkit-border-bottom-left-radius: 5px;
  -webkit-border-bottom-right-radius: 5px;
  -moz-border-radius-bottomleft: 5px;
  -moz-border-radius-bottomright: 5px;
  border-left: solid 1px #DDDDDD;
  border-right: solid 1px #DDDDDD;
  border-bottom: solid 1px #DDDDDD;
  margin-bottom: 30px;
 }
 .news_wrap dl dt {
  font-size: 12px;
 }
 .news_wrap dl dd {
  border-bottom: 1px dashed #ccc;
  padding: 0px 0px 10px 0px;
  margin-bottom: 10px;
 }
 .news_wrap dl dd a {
  text-decoration: none;
 }
 .news_wrap2 {
  margin: 10px 0 60px;
 }
 .news_wrap2 dl dt {
  font-size: 12px;
 }
 .news_wrap2 dl dd {
  border-bottom: 1px dashed #ccc;
  padding: 0px 0px 10px 0px;
  margin-bottom: 10px;
 }
 /* アイコン -------------------------------------------------------------- */
 .icon1, .icon2, .icon3, .icon4,.icon_voice {
  background: #37BC9B;
  display: inline-block;
  width: 100px;
  line-height: 160%;
  color: #FFF;
  font-size: 11px;
  text-align: center;
  margin-left: 10px;
 }
 .icon2 {
  background: #4A8DD7;
 }
 .icon3 {
  background: #39AE42;
 }
 .icon4 {
  background: #DF0B0B;
  display: inline;
  padding: 0px 7px;
 }
 .icon_voice{
  background: #FF6600;
 }
 /* トップページグループサイト -------------------------------------------------------------- */
 #top-groupsite-bk {
  padding: 30px 0 40px;
  background: url("../images/common/bg-group.jpg") left top no-repeat;
  background-size: 140%;
  background-color: #F2F3FB;
  position: relative;
 }
 #top-groupsite {
  width: 90%;
  margin: 0 auto;
 }
 #top-groupsite h2 {
  display: block;
  font-size: 180%;
  font-weight: 400;
  text-align: left;
  margin-bottom: 20px;
  line-height: 1.2;
  color: #FFFFFF;
  text-align: center;
 }
 #top-groupsite h2 span {
  font-size: 1.4rem;
 }
 .groupsite_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 1.4rem;
  list-style: none;
  line-height: 1.6;
 }
 .groupsite_wrap li {
  background-color: #FFFFFF;
  width: 48%;
  margin-bottom: 20px;
 }
 .groupsite_wrap li:nth-child(2n) {
  margin-left: 2%;
 }
 .groupsite_wrap li:nth-child(5), .groupsite_wrap li:nth-child(6) {
  margin-bottom: 0;
 }
 .groupsite_wrap li a {
  text-decoration: none;
 }
 .groupsite_wrap .groupsite-img img {
  width: 100%;
 }
 .groupsite-inner {
  background-color: #FFFFFF;
  padding: 20px 15px 20px 15px;
 }
 .groupsite_wrap li:last-child .groupsite-inner {
  border-right: none;
 }
 .groupsite-inner img {
  display: block;
  margin: 0 auto 20px;
  text-align: center;
 }
 #top-groupsite2 {
  width: 100%;
  margin: 0 auto;
  background: #F2F3FB;
  padding: 60px 0 0;
 }
 #top-groupsite2 .top-groupsite2-midashi {
  width: 80%;
  margin: 0 auto;
 }
 #top-groupsite2 .top-groupsite2-midashi h2 {
  display: block;
  font-size: 2.6rem;
  font-weight: 600;
  text-align: left;
  margin-bottom: 1em;
  line-height: 1.2;
  color: #2E3D8D;
 }
 #top-groupsite2 .top-groupsite2-midashi h2 span {
  font-size: 1.4rem;
 }
 .groupsite2 {
  width: 100%;
  margin-bottom: 6%;
 }
 .groupsite2 .groupsite2-photo {
  position: relative;
  width: 100%;
  float: inherit;
 }
 .groupsite2 .groupsite2-bk {
  width: 90%;
  float: inherit;
  margin: 2em auto;
 }
 .groupsite2-photo img, .groupsite2-photo2 img {
  width: 100%;
  height: auto;
  box-shadow: 20px 20px 0px 0 rgb(215, 219, 242);
 }
 .groupsite2 .groupsite2-txt h2 {
  background: none;
  padding: 0.4em 0 1.4em;
  text-align: center;
 }
 .groupsite2 .groupsite2-txt h2:before {
  background: none;
 }
 .groupsite2 ul {
  margin-left: 0;
  padding-bottom: 20px;
  font-size: 0.8em;
  width: 103%;
 }
 .groupsite2 ul li {
  width: 40%;
  float: left;
  margin: 0 4% 1em 0;
  padding-left: 1.6em;
  line-height: 140%;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  text-decoration: none;
 }
 .groupsite2 ul li::before {
  position: absolute;
  top: 2px;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  left: 3px;
  width: 6px;
  height: 1px;
  border-top: 1px solid #2E3D8D;
 }
 /* side pictures -------------------------------------------------------------- */
 .side-pic {
  width: 10%;
  position: absolute;
 }
 .kikai1 {
  top: 3%;
  left: -2%;
  transform: rotate(10deg);
 }
 .kikai2 {
  top: 21%;
  left: -2%;
  transform: rotate(-35deg);
 }
 .kikai3 {
  top: 10%;
  right: -3%;
  transform: rotate(-6deg);
 }
 .hatsudenki1 {
  top: 33%;
  left: -5%;
  transform: rotate(13deg);
 }
 .hatsudenki2 {
  top: 26%;
  right: 0;
  transform: rotate(-1deg);
 }
 .hatsudenki3 {
  top: 40%;
  right: -3%;
  transform: rotate(-10deg);
 }
 .compressor1 {
  top: 42%;
  left: -1%;
  transform: rotate(1deg);
 }
 .compressor2 {
  top: 54%;
  left: -2%;
  transform: rotate(12deg);
 }
 .compressor3 {
  top: 46%;
  right: -2%;
  transform: rotate(-7deg);
 }
 .mist1 {
  top: 61%;
  left: -1%;
  transform: rotate(-10deg);
 }
 .mist2 {
  top: 56%;
  right: 0;
  transform: rotate(-6deg);
 }
 .mist3 {
  top: 70%;
  right: 0;
  transform: rotate(4deg);
 }
 .kousha1 {
  top: 78%;
  left: -1%;
 }
 .kousha2 {
  top: 73%;
  right: 0;
  transform: rotate(-17deg);
 }
 .kousha3 {
  top: 86%;
  right: 0%;
  transform: rotate(17deg);
 }
 .yamatube1 {
  bottom: 11.5%;
  left: -3%;
  transform: rotate(-17deg);
 }
 .yamatube2 {
  bottom: 0.5%;
  left: 2%;
  transform: rotate(-6deg);
 }
 .yamatube3 {
  bottom: 8%;
  right: -1%;
  transform: rotate(20deg);
 }
 /* 囲み -------------------------------------------------------------- */
 .wrap {
  width: 94%;
  margin: 0 auto;
  padding-bottom: 40px;
  overflow: hidden;
 }
 #contents-bk {
  padding: 10px 0 2%;
  background-color: #F8F8F8;
		overflow:hidden;
 }
 .contents {
  width: 94%;
  margin: 0 auto;
 }
 #contents-white-bk {
  padding: 20px 0 2%;
  background-color: #F8F8F8;
 }
 .contents-white {
  width: 86%;
  margin: 0 auto 30px;
  padding: 30px 4%;
  background-color: #FFFFFF;
  box-shadow: 2px 2px 10px 2px #F0F0F0;
 }
 .contents ul, .contents ol {
  margin-left: 30px;
 }
 .contents ol li {
  margin-bottom: 1em;
 }
	.contents-full{
  width: 94%;
  margin: 0 auto;
		}
	.contents-full {
  width: 100%;
  margin: 0 auto;
 }
.contents-full	.contents-full-inner{
  width: 94%;
  margin: 0 auto;
		}
.contents-full	.contents-full-inner-img-r{
		width: 100%;
		float: inherit;
		margin-bottom: 2%;
		}
	.contents-full	.contents-full-inner-img-r2{
  width: 94%;
  margin: 0 auto 2%;
}
.contents-full	.contents-full-inner-txt-r{
  width: 94%;
  margin: 0 auto 2%;
}
.contents-full	.contents-full-inner-img-r img{
width: 100%;
height: auto;	
	}
.contents-full	.contents-full-inner-txt-l{
		width: 94%;
		float: inherit;
  margin: 0 auto 2%;
}
.contents-full	.contents-full-inner-txt-l2{
		width: 94%;
		float: inherit;
  margin: 0 auto 2%;
}
.contents-full	.contents-full-inner-img-l{
		width: 94%;
		float: inherit;
  margin: 0 auto 2%;
}
.contents-full	.contents-full-inner-img-l img{
width: 100%;
height: auto;
}
.contents-full	.contents-full-inner .inner-l{
		width: 94%;
		float: inherit;
  margin: 0 auto 2%;
}
.contents-full	.contents-full-inner .inner-r{
		width: 94%;
		float: inherit;
  margin: 0 auto 10%;
}
.contents-full	.contents-full-inner .inner-l img,
.contents-full	.contents-full-inner .inner-r img{
width: 100%;
height: auto;	
}


 /* フッター -------------------------------------------------------------- */
 #footer {
  padding: 30px;
  background: #F4F4F4;
  clear: both;
  color: #333333;
 }
 #footer .footer-wrap {
  width: 96%;
  margin: 0 auto;
 }
 #footer .footer-wrap .footer-navi ul li {
  width: 100%;
  float: left;
  margin-right: 2%;
  list-style: none;
  line-height: 130%;
  margin-bottom: 0.75em;
 }
 #footer .footer-wrap .footer-navi ul li a {
  text-decoration: none;
  font-size: 0.94em;
 }
 #footer .footer-wrap .footer-navi ul li ul {
  margin-top: 0.4em;
 }
 #footer .footer-wrap .footer-navi ul li ul li {
  width: 100%;
  float: left;
  font-size: 1.00em;
  margin-bottom: 0.25em;
 }
 #footer .footer-wrap .footer-navi ul li ul li a {
  padding-left: 12px;
  text-decoration: none;
 }
 #footer .footer-r .footer-navi li a {
  position: relative;
  padding-left: 15px;
 }
 #footer .footer-r .footer-navi li a::before {
  content: '';
  width: 4px;
  height: 4px;
  border: 0px;
  border-top: solid 1px #2E3D8D;
  border-right: solid 1px #2E3D8D;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -4px;
 }
 #footer .footer-r .footer-banner {
  margin-bottom: 20px;
 }
 #footer .footer-r .footer-banner ul {
  display: flex;
  display: block;
  flex-wrap: wrap;
  justify-content: center;
 }
 #footer .footer-r .footer-banner li {
  list-style: none;
  /*	width: 48%;*/
  width: 100%;
  text-align: center;
  margin-bottom: 3%;
 }
 #footer .footer-r .footer-banner li:nth-child(even) {
  /*	margin-left: 2%;*/
 }
 #footer .footer-l .footer-logo {
  text-align: center;
 }
 #footer .footer-wrap .footer-wrap-adress {
  border-top: #D5D5D5 solid 1px;
  margin-top: 40px;
  padding-top: 40px;
  text-align: center;
  font-size: 0.96em;
 }
 #footer .footer-copy {
  font-size: 80%;
  text-align: center;
  padding-top: 20px;
  line-height: 120%;
 }
 #backtop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  display: none;
  width: 30px;
  height: auto;
  z-index: 5000;
 }
 /* フッターお問い合わせ -------------------------------------------------------------- */
 #footer-contact-bk {
  background: url(../images/common/bg-contact.jpg) center top no-repeat;
  padding: 40px 0 20px;
 }
 #footer-contact {
  max-width: 1000px;
  width: 90%;
  margin: 0 auto;
  color: #FFFFFF;
  text-align: center;
 }
 .footer-contact-title {
  font-size: 3.0rem;
  margin-bottom: 20px;
  line-height: 1.3;
 }
 .footer-contact-title span {
  display: block;
  font-size: 2.0rem;
 }
 .btn-contact {
  width: 360px;
  height: 70px;
  _border: 1px solid #916269;
  text-align: center;
  cursor: pointer;
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
  margin: 0 auto 15px;
  background-color: #FFFFFF;
 }
 .btn-contact a {
  color: #2D3D8C;
  text-decoration: none;
  line-height: 70px;
  transition: all .5s ease;
  z-index: 2;
  position: relative;
  background-image: url(../images/common/icon-mail.png);
  background-position: 40px center;
  background-repeat: no-repeat;
  padding-left: 25px;
  display: block;
 }
 .btn-contact a:hover {
  background-image: url(../images/common/icon-mail2.png);
 }
 .button-eff {
  width: 360px;
  height: 70px;
  left: -360px;
  background: #2E3D8D;
  position: absolute;
  transition: all .5s ease;
  z-index: 1;
 }
 .btn-contact:hover .button-eff {
  left: 0;
 }
 .btn-contact:hover a {
  color: #fff;
 }
 .btn-contact {
  width: 100% !important;
  margin-bottom: 15px !important;
 }
 /* 年度サブメニュー -------------------------------------------------------------- */
 .submenu {
  margin-top: 40px;
  margin-bottom: 10px;
 }
 .submenu ul {
  list-style-type: none;
  padding-left: 0;
  text-align: left;
  margin: 0;
  padding: 0;
  font-size: 0;
  border-top: #DDDDDD 1px solid;
  border-bottom: #DDDDDD 1px solid;
 }
 .submenu li {
  display: inline;
  margin: 0;
  padding: 0;
 }
 .submenu li a {
  font-size: 14px;
  padding: 1em 0;
  display: inline-block;
  margin: 0;
  background: url(../images/common/arrow07.png) left center no-repeat;
  text-decoration: none;
  padding-left: 1.5em;
  margin-left: 20px;
  position: relative;
 }
 .submenu li a::before {
  content: '';
  width: 4px;
  height: 4px;
  border: 0px;
  border-top: solid 1px #2E3D8D;
  border-right: solid 1px #2E3D8D;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 51%;
  left: 5px;
  margin-top: -4px;
 }
 .cat-menu {
  margin-bottom: 30px;
 }
 .cat-item {
  list-style: none;
 }
 .cat-item a {
  display: inline-block;
  width: 47%;
  padding: 5px 0;
  text-align: center;
  text-decoration: none;
  border: solid 1px #2E3D8D;
  color: #2E3D8D;
  float: left;
  margin-bottom: 15px;
  margin-right: 6%;
  font-feature-settings: "palt";
  position: relative;
	 box-sizing: border-box;
 }
 .cat-item:nth-child(2n) a {
  margin-right: 0;
 }
 .current-cat a, .cat-item a:hover {
  background-color: #2E3D8D !important;
  border: solid 1px #2E3D8D !important;
  color: #FFFFFF !important;
  transition: .4s;
 }
 .cat-item a::before {
  content: '';
  width: 4px;
  height: 4px;
  border: 0px;
  border-top: solid 1px #2E3D8D;
  border-right: solid 1px #2E3D8D;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 7%;
  margin-top: -4px;
 }
 .cat-item a:hover::before, .current-cat a::before {
  border-top: solid 1px #FFFFFF;
  border-right: solid 1px #FFFFFF;
 }
.cat-menu-wrap{
	width: 98%;
	margin: 0 auto;	
	}
 /* 会社概要 -------------------------------------------------------------- */
 .greeting {
  padding-bottom: 50px;
 }
 .greeting-text {
  background-color: #FFFFFF;
  padding: 30px 4%;
  box-shadow: 2px 2px 20px 2px #F0F0F0;
  margin-bottom: 20px;
 }
 .greeting-photo {}
		.greeting2 {
  position: relative;
		margin: 0 auto;
		height:auto;
 }
.greeting2.wrap{
overflow: visible;
}
	.greeting2 .greeting2-bk {
  position: absolute;
		width: 100%;
  height: auto;
		top: -12%;
		right: -20%;
		z-index: 0;
		pointer-events: none;
		}
	.greeting2 .greeting2-bk img{
	width: 100%;
	height: auto;
}
	.greeting2 .greeting2-text {
  z-index: 10;
		float: inherit;
		width: 100%;
 }
 .greeting2-photo {
  position: absolute;
  top: 5%;
  right: 0%;
  z-index: 1;
		float: right;
		width: 28%;
 }
	
 /* 業務案内 -------------------------------------------------------------- */
 .hanbai-photo, .product-photo, .repair-photo {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none;
  margin-bottom: 50px;
 }
 .hanbai-photo li, .product-photo li, .repair-photo li {
  width: 48%;
  text-align: center;
  margin-bottom: 20px;
 }
	.contents-full	.contents-full-inner-img-l .product-photo{
   margin-bottom: 2%;
}
	.contents-full-inner-img-r2 .hanbai-photo {
   margin-bottom: 2%;
}
	.contents-full-inner-img-r2 .hanbai-photo li {
  width: 48%;
  text-align: center;
  margin-bottom: 20px;
		line-height: 140%;
		letter-spacing: 0.1em;
		font-size: 80%;
 }
	.contents-full-inner-img-r2 .hanbai-photo:after {
    content: "";
    display: block;
  width: 24%;
    height: 0;
}
	.contents-full-inner-img-r2 .hanbai-photo:before {
    content: "";
    display: block;
  width: 24%;
    height: 0;
    order: 1;
}
.contents-full-inner-img-r2 .hanbai-photo li img{
		margin-bottom: 0.5em;
}
.contents-full-inner-img-r2 .repair-photo{
   margin-bottom: 2%;
}
.contents-full-inner-img-r2 .repair-photo li {
  width: 48%;
  text-align: center;
  margin-bottom: 20px;
 }
 /* スタッフ紹介 -------------------------------------------------------------- */
 .staff-list {
  display: flex;
  flex-wrap: wrap;
 }
 .staff-list li {
  list-style: none;
  margin: 0px 0px 20px 0px;
  text-align: center;
  width: 49%;
 }
 /* プライバシーポリシー -------------------------------------------------------------- */
 ol.privacy-list {
  margin-left: 25px;
 }
 ol.privacy-list li {
  margin-bottom: 15px;
 }
 ol.privacy-list li:last-child {
  margin-bottom: 0;
 }
 /* サイトマップ -------------------------------------------------------------- */
 .sitemap-left ul, .sitemap-right ul {
  list-style-type: none;
  margin-left: 10px;
 }
 .sitemap-left li, .sitemap-right li {
  margin-bottom: 10px;
 }
 .sitemap-left li:last-child, .sitemap-right li:last-child {
  margin-bottom: 0;
 }
 .sitemap-left li a, .sitemap-right li a {
  padding-left: 20px;
  position: relative;
 }
 .sitemap-left li a::before, .sitemap-right li a::before {
  content: '';
  width: 4px;
  height: 4px;
  border: 0px;
  border-top: solid 1px #2E3D8D;
  border-right: solid 1px #2E3D8D;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -4px;
 }
 /* 見出し -------------------------------------------------------------- */
 .contents h2, .contents-white h2, .contents-full h2 {
  margin: 0;
  font-size: 2.6rem;
  padding-bottom: 5px;
  padding-left: 35px;
  margin-bottom: 15px;
  position: relative;
  font-weight: normal;
 }
 .second .contents h2, .second .contents-white h2, .second .contents-full h2 {
  margin-top: 50px;
 }
 .second .contents h2:first-child, .second .contents-white h2:first-child {
  margin-top: 0;
 }
 .contents h2:before, .contents-white h2:before, .contents-full h2:before {
  content: '';
  width: 20px;
  height: 3px;
  background-color: #2E3D8D;
  display: block;
  position: absolute;
  left: 5px;
  bottom: 50%;
 }
 .contents h3,.contents-full h3 {
  font-size: 160%;
  padding: 0 0.5em 0 1em;
  line-height: 130%;
  background: #FDFEFF;
  border-left: solid 3px #0E2F92;
  margin: 30px 0 15px;
  clear: both;
  color: #0E2F92;
  font-weight: normal;
 }
 .contents h4 {
  font-size: 120%;
  padding: 10px 20px 8px 2px;
  margin: 20px 0 15px;
  border-bottom: solid 1px #0E2F92;
  color: #0E2F92;
 }
 .contents h5 {
  font-size: 110%;
  padding: 0 0 6px 10px;
  border-bottom: 2px solid #0E2F92;
  position: relative;
  margin: 40px 0 15px 0;
 }
 .contents h5:before {
  content: "";
  display: block;
  width: 15%;
  border-bottom: 2px solid #0180BD;
  position: absolute;
  bottom: 0;
  margin-left: -10px;
  margin-bottom: -2px;
 }
 /* main -------------------------------------------------------------- */
 #second-main-bk {
  height: 150px;
  width: 100%;
 }
 .second-main-bk-business {
  background: url(../images/business/main.jpg) top center no-repeat;
  background-size: cover;
 }
 .second-main-bk-company {
  background: url(../images/company/main.jpg) top center no-repeat;
  background-size: cover;
 }
 .second-main-bk-contact {
  background: url(../images/contact/main.jpg) top center no-repeat;
  background-size: cover;
 }
 .second-main-bk-etc {
  background: url(../images/etc/main.jpg) top center no-repeat;
  background-size: cover;
 }
 .second-main-bk-pg {
  background: url(../images/pg/main.jpg) top center no-repeat;
  background-size: cover;
 }
 .second-main-bk-privacy {
  background: url(../images/privacy/main.jpg) top center no-repeat;
  background-size: cover;
 }
 .second-main-bk-sitemap, .second-main-bk-404 {
  background: url(../images/sitemap/main.jpg) top center no-repeat;
  background-size: cover;
 }
 .second-main-bk-special {
  background: url(../images/special/main.jpg) top center no-repeat;
  background-size: cover;
 }
 .second-main-bk-staff {
  background: url(../images/staff/main.jpg) top center no-repeat;
  background-size: cover;
 }
 .second-main-bk-shipping {
  background: url(../images/shipping/main.jpg) top center no-repeat;
  background-size: cover;
 }
 .second-main-bk-topics {
  background: url(../images/topics/main.jpg) top center no-repeat;
  background-size: cover;
 }
 .second-main-bk-new {
  background: url(../images/new/main.jpg) top center no-repeat;
  background-size: cover;
 }
 .second-main-bk-news {
  background: url(../images/news/main.jpg) top center no-repeat;
  background-size: cover;
 }
 .second-main-bk-cross-beam {
  background: url(../images/cross-beam/main.jpg) top center no-repeat;
  background-size: cover;
 }
 .second-main-bk-management {
  background: url(../images/management/main.jpg) top center no-repeat;
  background-size: cover;
 }
.second-main-bk-voice {
  background: url(../images/voice/main.jpg) top center no-repeat;
  background-size: cover;
}
 #second-main {
  _max-width: 1200px;
  _width: 96%;
  height: 150px;
  margin: 0 auto;
  position: relative;
 }
 _#second-main h1 {
  position: absolute;
  color: #2D3D8C;
  font-size: 2.6rem;
  line-height: 100%;
  padding: 0.55em 0.55em 0.55em 0.55em;
  text-align: left;
  bottom: -27%;
  left: 21%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  background-color: #F8F8F8;
  text-transform: uppercase;
 }
 #second-main h1 {
  position: absolute;
  color: #2D3D8C;
  font-size: 2.6rem;
  line-height: 100%;
  padding: 0.75em 0.75em 0.55em 0.75em;
  text-align: left;
  bottom: 0%;
  left: 2%;
  /* transform: translateY(-50%) translateX(-50%); */
  -webkit- transform: translateY(-50%) translateX(-50%);
  background-color: #F8F8F8;
  text-transform: uppercase;
 }
 #second-main h1 span {
  display: block;
  font-size: 1.6rem;
  font-weight: normal;
 }
 /* 第2階層 -------------------------------------------------------------- */
 .breadcrumbs {
  width: 96%;
  margin: 0 auto 10px;
  font-size: 12px;
  text-align: left;
  color: #999999;
 }
 .breadcrumbs a {
  text-decoration: none;
  color: #999999;
 }
 .breadcrumbs a:hover {
  text-decoration: underline;
 }
 /* テーブル ---------------------------------------------------------------------------------------------------------------------------- */
 table.table01, table.sp-table {
  margin-bottom: 8px;
  line-height: 160%;
  width: 100%;
 }
 table.table01 th, table.sp-table th {
  border-bottom: 1px solid #BBBBBB;
  display: block;
  padding: 20px 0;
  width: 100%;
  text-align: left;
 }
 table.table01 td, table.sp-table td {
  display: block;
  padding: 20px 0;
  width: 100%;
  border-bottom: 1px solid #D8D8D8;
 }
 table.table02 {
  border-collapse: separate;
  border-spacing: 0;
  border-top: 1px solid #D8D8D8;
 }
 table.table02.keta {
  border-collapse: separate;
  border-spacing: 0;
  border-top: 1px solid #D8D8D8;
  text-align: center;
 }
 table.table02 th, table.table02 td {
  border-bottom: solid 1px #cccccc;
  padding: 5px 5px 10px 5px;
  margin-bottom: 10px;
 }
 table.table02 th {
  border-bottom: none;
  margin-bottom: 0px;
 }
 table.table02 td {
  border-left: 1px solid #D8D8D8;
 }
 table.even tr:nth-child(even) th, table.even tr:nth-child(even) td {
  background: #eee;
 }
 table.even tr:nth-child(odd) th, table.even tr:nth-child(odd) td {
  background: #fff;
 }
 .nowrap {
  white-space: nowrap;
 }
 table.table03 {
  border-collapse: separate;
  border-spacing: 0;
 }
 table.table03 {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
 }
 table.table03 th {
  border-bottom: none !important;
  text-align: left;
  display: block;
  width: 100%;
  padding-bottom: 0 !important;
 }
 table.table03 th, table.table03 td {
  border-bottom: dashed 1px #cccccc;
  padding: 14px 4px;
  display: block;
 }
 table.table03 p {
  padding-bottom: 0;
 }
 .table-scroll {
  display: block;
  overflow-x: scroll;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
 }
 /* Images -------------------------------------------------------------- */
 .alignleft, img.alignleft, .alignright, img.alignright, .aligncenter, img.aligncenter {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  display: block;
  margin-bottom: 20px;
 }
 /* ボタン -------------------------------------------------------------- */
 .top-btn {
  margin-top: 10px !important;
  font-size: 1.2rem;
 }
 .btn01, a.btn01 {
  display: block;
  text-decoration: none;
  padding: 8px 30px;
  color: #222222;
  font-weight: bold;
  text-align: center;
  margin: 0 auto;
  background: #FFFFFF;
  border-radius: 22px;
  -webkit-border-radius: 22px;
  -moz-border-radius: 22px;
 }
 .btn01:hover, a.btn01:hover, a.zoom-with-text-link.btn01:hover {
  color: #FFFFFF;
  cursor: pointer;
  border: 1px solid #FFF;
  background: none;
 }
 .btn01, a.btn01 {
  position: relative;
  display: inline-block;
  padding-left: 20px;
 }
 .btn01::before, a.btn01::before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #222222;
  border-right: solid 2px #222222;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 8%;
  margin-top: -4px;
 }
 .btn01:hover::before, a.btn01:hover::before {
  border-top: solid 2px #FFFFFF;
  border-right: solid 2px #FFFFFF;
 }
 .btn02, a.btn02 {
  display: block;
  text-decoration: none;
  padding: 15px 30px;
  color: #FFFFFF;
  text-align: center;
  margin: 0 auto;
  background: #2E3D8D;
  border-radius: 36px;
  -webkit-border-radius: 46px;
  -moz-border-radius: 46px;
 }
 .btn02:hover, a.btn02:hover {
  color: #FFFFFF;
  cursor: pointer;
  background: #3A4DB1;
 }
 .btn02, a.btn02 {
  position: relative;
  display: inline-block;
  padding-left: 60px;
  padding-right: 50px;
 }
 .btn02::before, a.btn02::before {
  content: '';
  width: 4px;
  height: 4px;
  border: 0px;
  border-top: solid 2px #FFFFFF;
  border-right: solid 2px #FFFFFF;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 14%;
  margin-top: -4px;
 }
.keta .btn02::before,.keta  a.btn02::before {
  content: '';
  width: 4px;
  height: 4px;
  border: 0px;
  border-top: solid 2px #FFFFFF;
  border-right: solid 2px #FFFFFF;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 9%;
  margin-top: -4px;
 }
 .btn02:hover::before, a.btn02:hover::before {
  border-top: solid 2px #FFFFFF;
  border-right: solid 2px #FFFFFF;
 }
 a.btn02.top-news {
  margin: 0 auto 0;
 }
 .contents-white a.btn02.top-news {
  margin: 30px auto 0;
 }
 .btn03, a.btn03 {
  background-image: url(../images/common/arrow05.png);
  background-repeat: no-repeat;
  background-position: 14px center;
  background-color: #0E2F92;
  display: block;
  text-decoration: none;
  padding: 4% 8%;
  border-radius: 6px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  color: #FFF;
  font-weight: bold;
  text-align: center;
  margin: 0 auto;
  width: 76%;
  margin: 20px auto 10px;
 }
 .btn03:hover, a.btn03:hover {
  background-color: #27449D;
  color: #FFF;
  cursor: pointer;
 }
 /* フォーム -------------------------------------------------------------- */
 input[type="submit"], input[type="button"] {
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
 }
 input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration {
  display: none;
 }
 input[type="submit"]::focus, input[type="button"]::focus {
  outline-offset: -2px;
 }
 input[type="submit"], input[type="reset"] {
  display: block;
  width: 50%;
  margin: 0;
  padding: 15px 0px;
 }
 /* iframeレスポンシブ -------------------------------------------------------------- */
 .youtube {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
 }
 .youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
 }
 /* グループ紹介 -------------------------------------------------------------- */
 .groupsite {
  position: relative;
  background-color: #FFFFFF;
  width: 88%;
  padding: 6%;
  /*	box-shadow: 1px 1px 10px 2px #F0F0F0;*/
  box-shadow: 1px 1px 10px 2px rgb(0 0 0 / 20%);
  margin: 0 auto 0px auto;
 }
 .groupsite-photo {
  margin: auto auto 20px;
  z-index: 20;
  width: 100%;
 }
 .groupsite-txt {
  margin: 0;
 }
 .groupsite-photo2 {
  margin: auto auto 20px;
  z-index: 20;
  width: 100%;
 }
 .groupsite-txt2 {
  margin: 0;
 }
 .groupsite-photo img, .groupsite-photo2 img {
  width: 100%;
  height: auto;
 }
 .groupsite .groupsite-txt h2, .groupsite .groupsite-txt2 h2 {
  background: none;
  padding-left: 0;
 }
 .groupsite .groupsite-txt h2:before, .groupsite .groupsite-txt2 h2:before {
  background: none;
 }
 .groupsite ul {
  margin-left: 20px;
  padding-bottom: 20px;
  font-size: 0.8em;
  width: 103%;
 }
 .groupsite ul li {
  width: 44%;
  float: left;
  margin: 0 6% 1em 0;
  line-height: 140%;
 }
 /* フッター集合写真 -------------------------------------------------------------- */
 .wrap-yamachu-support {
  padding: 2% 6%;
 }
 .yamachu-support {
  display: flex;
  flex-wrap: wrap;
  padding-top: 30px;
  padding-bottom: 30px;
 }
 .yamachu-support-l {
  width: 100%;
  box-sizing: border-box;
  text-align: center;
 }
 .yamachu-support-r {
  width: 100%;
  text-align: center;
  padding-top: 20px;
 }
 .yamachu-support-text {
  color: #2D3D8C;
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 20px;
 }
 .yamachu-support-img {
  margin-bottom: 20px;
 }
 .yamachu-support-btn a {
  display: inline-block;
  padding: 15px 40px;
  border-radius: 50px;
  text-decoration: none;
  color: #FFF;
  background-image: linear-gradient(45deg, #FBB312 0%, #FE7704 100%);
  transition: .4s;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
 }
 .yamachu-support-btn a:hover {
  background-image: linear-gradient(45deg, #FE7704 0%, #FBB312 100%);
 }
	
/*CROSS-BEAMページ*/
.crossbeam-photo {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none;
  margin-bottom: 50px;
 }
 .crossbeam-photo li {
  width: 48%;
  text-align: center;
  margin-bottom: 20px;
 }
	.crossbeam-wrap1{
	width: 100%;
	margin: 2em auto 4em;
	}
.crossbeam-wrap1 ul{
		font-size:120%;
		color: #BE0203;
}
.crossbeam-wrap1 ul li{
margin-bottom: 1em;
background: url("../images/business/cross-beam/arrow-crossbeam.png") left center no-repeat;
list-style: none;
padding-left: 2.0em;
background-size: 28px;
overflow-wrap: break-word;
}
.three-clm{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.three-clm .three-clm-inner{
width: 100%;
  margin-bottom: 20px;
}
.youtube,.yt {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe,.yt iframe{
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
	
/* table -------------------------------------------------------------- */
table.table_sd {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	text-align: left;
	line-height: 1.5;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	margin: 0 auto;
}
table.table_sd th {
	padding: 0;
	font-weight: bold;
	vertical-align: middle;
	background: #EAF0F7;
	text-align:center;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	word-spacing: 3px!important;
}
table.table_sd td {
	padding: 0;
	background: #fff;
	vertical-align: middle;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	text-align:center;
	word-spacing: 3px!important;
}
table.table_sd.strongdeck_size td:nth-child(7) {
	word-break: break-all;
}
}
@media screen and (max-width: 768px) {
table.table_sd {
	font-size: 1.4rem;
}
}
@media screen and (min-width: 425px) and (max-width: 768px) {
 #header-wrap #header-l {
  width: 99%;
  margin-top: 0;
 }
	 #header-r li:nth-of-type(3) a {
  width: 94%;
 }
	 .scroll {
  left: 46%;
 }
/* .zoom-with-text-image, .zoom-with-text-image-100 {
  overflow: hidden;
  padding: 28% 0 8%;
  position: relative;
 }*/
    
.zoom-with-text-image, .zoom-with-text-image-100 {
  overflow: hidden;
  padding: inherit;
  height: 230px;
  position: relative;
 }
/* .zoom-with-text-link .zoom-border, .zoom-with-text-link .zoom-border-100 {
  align-items: center;
  width: 80%;
  height: 54%;
  border: solid 2px #FFFFFF;
  padding-top: 4%;
  font-weight: normal;
  line-height: 1.6;
 }*/
    
 .zoom-with-text-link .zoom-border, .zoom-with-text-link .zoom-border-100 {
  align-items: center;
  width: 80%;
  height: 80%;
  border: solid 2px #FFFFFF;
  padding: inherit;
  position: absolute;
  font-weight: normal;
  line-height: 1.6;
  display: table;
 }

 .zoom-with-text-link .zoom-border .gaiyou_wrap,.zoom-with-text-link .zoom-border-100 .gaiyou_wrap {
  display: table-cell;
  vertical-align: middle;
 } 
  #footer .footer-r .footer-banner {
  margin-bottom: 20px;
 }
 #footer .footer-r .footer-banner ul {
  display: flex;
  display: block;
  flex-wrap: wrap;
  justify-content: center;
 }
 #footer .footer-r .footer-banner li {
  list-style: none;
  width: 48%;
  text-align: center;
  margin: 0 2% 3% 0;
		float: left;
 }
 #footer .footer-r .footer-banner li:nth-child(3) {
  width: 100%;
 }
 #footer .footer-r .footer-banner li:nth-child(3) img{
  width: 50%;
		height: auto;
 }	
}