body {
  position: relative;
}
.p-b-50 {
  padding-bottom: 50px;
}
.cybozu_contact a {
  background-image: -webkit-gradient(linear, left top, left bottom, from(#FFF600), color-stop(62%, #FCD100), color-stop(90%, #D79800), to(#A66500));
  background-image: linear-gradient(180deg, #FFF600 0%, #FCD100 62%, #D79800 90%, #A66500 100%);
  font-size: 28px;
  -webkit-box-shadow: 20px 20px 30px rgba(0,0,0,0.25);
          box-shadow: 20px 20px 30px rgba(0,0,0,0.25);
}
.cybozu_banner {
  margin-top: calc(82px + 55px);
  height: 500px;
}
.menu__outer {
  background-color: #FCCF00;
}
.menu {
  margin: 0 auto;
  max-width: 1170px;
  padding: 0 15px;
}
.menu ul {
  text-align: right;
}
.menu ul li {
  display: inline-block;
  font-size: 18px;
  font-weight: bold;
}
.menu ul li a {
  padding: 15px 10px;
  -webkit-transition: background-color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out;
}
.menu ul li a.active, .menu ul li a:active, .menu ul li a:hover, .menu ul li a.focus {
  /* background-image: -webkit-gradient(linear, left top, left bottom, from(#FCB600), color-stop(85%, #FCA100), to(#FC8500));
  background-image: linear-gradient(180deg, #FCB600 0%, #FCA100 85%, #FC8500 100%); */
  background-color: #FCB600;
}
.header #logo {
  padding: 0 15px;
}
.header #logo .hd-info {
  text-align: right;
}
.main {
  padding-top: 0;
}
.cybozu_companies_tu {
  top: 20px;
}
/* main title */
a#a1 {
  display: inherit;
}
body#pagetop-position .section3 {
  padding-bottom: 55px;
}
.cybozu_effect_title {
  text-align: center;
  padding: 7px 0;
}
img.footer-logo {
  max-width: 350px;
}
.for-smt {
  display: none;
}
.for-pc {
  display: inline-block;
}
/* desktop */
@media screen and (min-width: 768px) {
  .cybozu_effect li {
    font-size: 19px;
  }
  .cybozu_changes {
    font-size: 56px;
  }
  .cybozu_view dt h3, .cybozu_view02 dt h3, .cybozu_view03 dt h3 {
    font-size: 38px
  }
  .cybozu_addition .pt15 span {
    font-size: 20px;
  }
  .cybozu_after {
    font-size: 24px;
  }
  .cybozu_kinton {
    font-size: 30px;
  }
  .cybozu_companies {
    top: -285px;
  }
  .header #logo > span {
    width: auto;
    max-width: 28%;
  }
}
@media screen and (max-width: 1199px) and (min-width: 768px) {
  .header #logo .hd-info p.hd-tel {
    margin-top: 10px;
  }
  .header #logo .hd-info p.hd-tel + p {
    font-size: 18px;
  }
  .header #logo .hd-info p.hd-tel span {
    font-size: 24px;
  }
  .header #logo .hd-info {
    width: auto;
  }
}
/* pad */
@media screen and (max-width: 970px) and (min-width: 768px) {
  .menu {
    width: 100%;
    height: auto;
  }
  .cybozu_banner {
    height: auto;
  }
  .for-pc {
    display: inline-block;
  }
  .for-smt {
    display: none;
  }
}
/* mobile */
@media screen and (max-width: 767px) {
  .for-smt {
    display: inline-block;
  }
  .for-pc {
    display: none;
  }
  .header #logo span {
    padding: 3% 0 0;
    margin: 0;
  }
  .header #logo div.for-smt.f-left {
    padding-top: 10px;
  }
  .header #logo .for-smt.f-left {
    padding-left: 15px;
  }
  .header #logo > span {
    display: none;
  }
  .header {
    background-color: transparent;
  }
  .header #logo {
    padding: 0;
    background-color: #fff;
  }
  .header #logo .for-smt.f-left {
    padding-left: 15px;
  }
  .header #logo .for-smt.f-left a span {
    color: #3b3b3b;
  }
  .header #logo .for-smt.f-right {
    padding-right: 15px;
    min-width: auto;
    font-size: 24px;
    text-align: right;
    margin-top: 7%;
  }
  .menu {
    width: 100%;
    height: auto;
    padding: 0;
  }
  .menu ul {
    text-align: center;
  }
  .menu ul li {
    width: 100%;
  }
  .menu ul li.active {
    border-bottom: none;
  }
  .menu ul li a {
    padding: 15px 0;
  }
  .menu ul li a.active, .menu ul li a:active, .menu ul li a:hover, .menu ul li a.focus {
    width: 100%
  }
  .menu ul li:last-child {
    padding-right: 7px;
  }
  .cybozu_contact a {
    font-size: 20px;
  }
  .menu__outer {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    overflow: hidden;
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    height: 0;
    z-index: -1;
  }
  .menu__outer.active{
    -webkit-transform: translateY(0);
            transform: translateY(0);
    height: auto;
  }
  .cybozu_banner {
    margin-top: 110px;
    height: auto;
  }
  .cybozu_effect_title {
    padding: 5px 0;
  }
  .mobile_menu_icon {
    width: 20px;
  }
  .lineLogo {
    position: absolute;
    right: 39px;
    width: 30%;
    top: 8px;
    z-index: 100;
}
}
