#ad {
  display: block;
  margin: 8rem auto 0;
  background-color: #eee;
  padding: 3.6rem 0 1.2rem;
}

#ad .container {
  flex-direction: co;
  flex-flow: row wrap;
  justify-content: center;
  align-content: space-between;
  align-items: flex-end;
  margin: 0 auto;
  max-width: 1056px;
  font-size: 0;
}

#ad .ad_container {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-content: space-between;
  align-items: flex-end;
  margin: 0 auto;
  max-width: 1056px;
  font-size: 0;
}

#ad .ad_container .ad_banner {
  display: block;
  margin: 0 12px 2.4rem;
  width: 240px;
}

#ad .ad_container .ad_banner > a {
  display: block;
}

#ad .ad_container .ad_banner > a:hover, #ad .ad_container .ad_banner > a:active {
  opacity: 0.5;
}

#ad .ad_container .ad_banner img {
  width: 100%;
}

#ad .ad_container .ad_banner:empty {
  margin-bottom: 0;
}

#ad .ad_container .ad_banner.except {
  position: relative;
  margin: 0 auto 4.8rem;
  width: 90%;
  max-width: 750px;
}

#ad .ad_container .ad_banner.except::before {
  display: block;
  content: '';
  padding-top: calc(326 / 750 * 100%);
}

#ad .ad_container .ad_banner.except > a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(/img/top/_bnr_antivirus_sp.jpg);
  background-size: 100%;
  background-repeat: no-repeat;
}

@media screen and (min-width: 979px) {
  #ad .ad_container .ad_banner.except {
    margin: 0 9px 2.4rem;
    width: 498px;
    max-width: none;
  }
  #ad .ad_container .ad_banner.except::before {
    padding-top: calc(104 / 498 * 100%);
  }
  #ad .ad_container .ad_banner.except > a {
    background-image: url(/img/top/_bnr_antivirus_pc.jpg);
  }
}

@charaset "UTF-8";
header[role=menubar] div#burger {
  position: absolute;
  top: 2rem;
  right: 3.2rem;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  width: 4rem;
  height: 4rem;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: .5rem .25rem;
  z-index: 101;
  transition: transform 0.4s ease-in-out, padding 0.4s ease-in-out;
}

header[role=menubar] div#burger span {
  width: 100%;
  height: 0.2rem;
  background: #000;
  border-radius: 10px;
  transition: transform 0.3s linear, opacity 0.15s linear;
  position: relative;
  transform-origin: 1px;
}

header[role=menubar] div#burger span:first-child {
  transform: rotate(0);
}

header[role=menubar] div#burger span:nth-child(2) {
  opacity: 1;
  transform: translateX(0);
}

header[role=menubar] div#burger span:nth-child(3) {
  transform: rotate(0);
}

header[role=menubar] div#burger.active {
  position: fixed;
  padding: .6rem;
  transform: translateX(0.75rem);
}

header[role=menubar] div#burger.active span {
  background-color: #999;
}

header[role=menubar] div#burger.active span:first-child {
  transform: rotate(45deg);
}

header[role=menubar] div#burger.active span:nth-child(2) {
  opacity: 0;
  transform: translateX(20px);
}

header[role=menubar] div#burger.active span:nth-child(3) {
  opacity: 1;
  transform: rotate(-45deg);
}

@media screen and (min-width: 979px) {
  header[role=menubar] div#burger {
    transform: translateY(-100%) translateY(-2.6rem);
  }
}

header[role=menubar] div#drawer {
  visibility: hidden;
  /* to "visible" with js in footer */
  position: fixed;
  top: 0;
  width: 100%;
  height: 100vh;
  transform: translateY(-100%) translateY(-15rem);
  transition: transform 0.2s ease-in-out;
  background-color: #fff;
  opacity: .95;
  z-index: 100;
}

header[role=menubar] div#drawer .global_nav {
  position: relative;
  padding: 7rem 7rem 5rem 5rem;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  font-size: 1.8rem;
}

header[role=menubar] div#drawer .global_nav dl {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 40rem;
}

header[role=menubar] div#drawer .global_nav dl dt, header[role=menubar] div#drawer .global_nav dl dd {
  padding: 1.5rem 0;
}

header[role=menubar] div#drawer .global_nav dl dt:not(:first-child):not(:last-of-type):not(.half), header[role=menubar] div#drawer .global_nav dl dd:not(:first-child):not(:last-of-type):not(.half) {
  border-bottom: 1px solid #000;
}

header[role=menubar] div#drawer .global_nav dl dt {
  flex: 0 0 100%;
}

header[role=menubar] div#drawer .global_nav dl dt.home {
  padding-bottom: .4rem;
}

header[role=menubar] div#drawer .global_nav dl dt.home img {
  height: 1.5rem;
}

header[role=menubar] div#drawer .global_nav dl dt.sub {
  flex: 9999 1 auto;
  max-width: 5em;
}

@media screen and (max-width: 304.98px) {
  header[role=menubar] div#drawer .global_nav dl dt.sub {
    max-width: 100%;
  }
}

header[role=menubar] div#drawer .global_nav dl dt.half {
  padding-bottom: 0;
  border-bottom: 0;
}

header[role=menubar] div#drawer .global_nav dl dt.half > ul {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  height: 100%;
}

header[role=menubar] div#drawer .global_nav dl dt.half > ul > li {
  padding-bottom: 1.5rem;
  flex: 0 0 auto;
  width: calc(50% - .8rem);
  border-bottom: 1px solid #000;
}

header[role=menubar] div#drawer .global_nav dl dt.half > ul > li:first-child {
  margin-right: .8rem;
}

header[role=menubar] div#drawer .global_nav dl dt.half > ul > li:nth-child(2) {
  margin-left: .8rem;
}

header[role=menubar] div#drawer .global_nav dl dd:empty {
  flex: 0 0 0%;
}

header[role=menubar] div#drawer .global_nav dl dd.sub {
  flex: 1 0 auto;
  min-width: 10.4em;
  max-width: calc(100% - 5em);
}

@media screen and (max-width: 304.98px) {
  header[role=menubar] div#drawer .global_nav dl dd.sub {
    max-width: 100%;
  }
}

header[role=menubar] div#drawer .global_nav dl dd.sub ul li {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.8;
}

header[role=menubar] div#drawer .global_nav dl dd.sub ul li::before {
  content: '・';
}

header[role=menubar] div#drawer .global_nav dl dd.sub ul.fold {
  display: flex;
  flex-flow: row wrap;
}

header[role=menubar] div#drawer .global_nav dl dd.sub ul.fold > li.half {
  flex: 1 0 auto;
  min-width: 50%;
}

header[role=menubar] div#drawer .global_nav dl dd.sub ul.fold > li.search {
  padding-left: 0;
  width: 100%;
  text-indent: 0;
}

header[role=menubar] div#drawer .global_nav dl dd.sub ul.fold > li.search::before {
  content: '';
}

header[role=menubar] div#drawer .global_nav dl dd.sub ul.fold > li.search > a {
  display: flex;
  justify-content: center;
  align-content: center;
  margin: 1.2rem 0;
  width: 100%;
  line-height: 2;
  color: #fff;
  background-color: #ccc;
}

header[role=menubar] div#drawer .global_nav dl a.dead {
  color: #ccc;
  pointer-events: none;
}

header[role=menubar] div#drawer.active {
  display: block;
  transform: translateX(0);
}

@media print {
  header[role=menubar] div#drawer {
    display: none;
  }
}

header[role=menubar] .nav_container {
  margin: 0 auto 3.2rem;
  height: 8rem;
}

header[role=menubar] .nav_container .headnav {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 2rem;
  max-width: 1032px;
  height: 100%;
}

header[role=menubar] .nav_container .headnav .logo_container .logomark {
  display: flex;
}

header[role=menubar] .nav_container .headnav .logo_container .logomark a {
  display: block;
  font-size: 0;
  background: url(/svg/new-sincol_logo.svg) top 0 left 0 no-repeat;
  background-size: contain;
  width: calc(21 / 5.2 * 4rem);
  height: 4rem;
  align-self: center;
  text-indent: 100%;
  overflow: hidden;
}

header[role=menubar] .nav_container .headnav .subnav_container {
  display: none;
}

@media screen and (min-width: 979px) {
  header[role=menubar] .nav_container {
    height: auto;
  }
  header[role=menubar] .nav_container .headnav {
    flex-direction: row;
    justify-content: space-between;
    margin: 0 auto;
  }
  header[role=menubar] .nav_container .headnav .logo_container .logomark {
    margin: 0 auto;
    height: 100%;
  }
  header[role=menubar] .nav_container .headnav .logo_container .logomark a {
    align-items: center;
    width: 19.4rem;
    height: 4.8rem;
  }
  header[role=menubar] .nav_container .headnav .subnav_container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
  }
  header[role=menubar] .nav_container .headnav .subnav_container .top-shortcut {
    display: flex;
    margin-bottom: 24px;
    font-size: 1.4rem;
    border: 1px solid #000;
    border-top: none;
    border-bottom: none;
  }
  header[role=menubar] .nav_container .headnav .subnav_container .top-shortcut .top-shortcut_item > a {
    display: block;
    padding: 0.5rem 0.8rem;
  }
  header[role=menubar] .nav_container .headnav .subnav_container .top-shortcut .top-shortcut_item > a:active, header[role=menubar] .nav_container .headnav .subnav_container .top-shortcut .top-shortcut_item > a:hover {
    opacity: 0.5;
  }
  header[role=menubar] .nav_container .headnav .subnav_container .top-shortcut .top-shortcut_item.login > a::after {
    display: inline-block;
    margin-left: 0.2rem;
    content: url(/svg/avator.svg);
    vertical-align: -1px;
  }
  header[role=menubar] .nav_container .headnav .subnav_container .top-shortcut .top-shortcut_item:not(:last-child) {
    border-right: 1px solid #000;
  }
  header[role=menubar] .nav_container .headnav .subnav_container .shortcut_item {
    display: inline-block;
    flex: 0 0 auto;
    padding: 0.2rem 0.4rem;
    margin-bottom: 8px;
    width: 10em;
    width: max-content;
    font-size: 1.2rem;
    vertical-align: bottom;
  }
  header[role=menubar] .nav_container .headnav .subnav_container .shortcut_item:hover {
    border: 1px dotted #000;
    opacity: 0.5;
  }
  header[role=menubar] .nav_container .headnav .subnav_container .shortcut_item.sincol {
    border: 1px solid #000;
  }
}

header[role=menubar] .nav_container .navbar {
  display: none;
}

@media screen and (min-width: 979px) {
  header[role=menubar] .nav_container .navbar {
    display: block;
    width: 100%;
    font-size: 0;
    background-color: #000;
  }
  header[role=menubar] .nav_container .navbar .navbar_list {
    display: flex;
    margin: 0 auto;
    width: 100%;
    max-width: 1032px;
    font-size: 1.45rem;
    /* font-weight: bold; */
    line-height: 3.4;
  }
  header[role=menubar] .nav_container .navbar .navbar_list .navbar_item {
    flex: 1 0 auto;
    text-align: center;
  }
  header[role=menubar] .nav_container .navbar .navbar_list .navbar_item a {
    display: block;
    color: #fff;
  }
  header[role=menubar] .nav_container .navbar .navbar_list .navbar_item a:hover, header[role=menubar] .nav_container .navbar .navbar_list .navbar_item a:focus {
    background-color: #bbb;
  }
  header[role=menubar] .nav_container .navbar .navbar_list .navbar_item a.dead {
    color: #ccc;
    pointer-events: none;
  }
}

main#contents {
  min-height: calc(100vh - 17rem * 2);
}

footer#footnav {
  padding: 0 2.5rem;
}

footer#footnav li a {
  display: flex;
}

footer#footnav li a img {
  margin: 0 0 0 10px;
}

footer#footnav a img{
  margin: auto;
}

footer#footnav .copyright img {
  margin: auto;
}

@media screen and (min-width: 979px) {
  footer#footnav {
    padding: 3rem 2.5rem 0;
  }
}

footer#footnav #container {
  position: relative;
  bottom: 0;
  margin: 0 auto;
  max-width: 1032px;
  font-size: 1.4rem;
  color: #fff;
}

footer#footnav #container a:link,
footer#footnav #container a:visited {
  color: #fff;
}

footer#footnav #container a:active,
footer#footnav #container a:hover {
  color: #555;
  text-decoration: underline;
}

footer#footnav #container ul li > p {
  font-weight: bold;
}

footer#footnav #container ul.main {
  display: flex;
  /* box-sizing: content-box; */
  margin-bottom: 1.6rem;
  height: 22rem;
  flex-flow: column wrap;
  justify-content: flex-end;
  align-content: space-around;
}

footer#footnav #container ul.main > li.sp-last {
  order: 99;
}

footer#footnav #container ul.main > li > p {
  margin-bottom: 1.2rem;
}

footer#footnav #container ul.sub {
  display: flex;
  flex-direction: column;
  font-weight: 200;
}

footer#footnav #container ul.sub > li {
  /* visibility: collapse; */
  display: none;
}

footer#footnav #container address {
  display: flex;
  padding-bottom: 1rem;
  justify-content: center;
  font-family: "Calibri", "Helvetica", sans-serif;
  font-size: 1.3rem;
}

@media screen and (min-width: 979px) {
  footer#footnav #container ul.main {
    margin: 0;
    height: 17rem;
    justify-content: flex-start;
    align-content: flex-start;
  }
  footer#footnav #container ul.main > li {
    margin-right: 9%;
  }
  footer#footnav #container ul.main > li.sp-last {
    order: unset;
  }
  footer#footnav #container ul.main > li > p {
    margin-bottom: 2rem;
  }
  footer#footnav #container ul.sub {
    margin-top: -1rem;
  }
  footer#footnav #container ul.sub.short {
    margin-bottom: 2rem;
  }
  footer#footnav #container ul.sub > li {
    display: block;
    margin-bottom: 0.3rem;
  }
  footer#footnav #container ul.sub a:link, footer#footnav #container ul.sub a:visited {
    color: #fff;
  }
  footer#footnav #container ul.sub a:active, footer#footnav #container ul.sub a:hover {
    color: #555;
    text-decoration: underline;
  }
  footer#footnav #container address {
    justify-content: flex-end;
  }
}

footer#footnav button#go_top {
  visibility: hidden;
  position: fixed;
  padding: 0;
  border: none;
  background: transparent;
  right: 16px;
  bottom: 16px;
  z-index: 99;
}

footer#footnav button#go_top img {
  height: 3.2rem;
}

@media screen and (min-width: 979px) {
  footer#footnav button#go_top {
    bottom: calc(22.9rem + 12px);
  }
}

