/* adjusting
================================================== */
#contents .headSection .innerBlock {
  width: 1240px;
}
#contents .headSection .ttl {
  float: none;
  width: auto;
}
#contents .headSection .ttl h1 {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
}
#contents .mainSection {
  margin: 0 !important;
  width: auto;
}
@media only screen and (max-width: 767px) {
  #contents .headSection {
    padding-bottom: 10px;
  }
  #contents .headSection .innerBlock {
    width: auto;
    padding: 0 15px;
  }
  #contents .headSection .ttl p.productsLogo {
    padding-right: 10px;
  }
  #contents .headSection .ttl h1 {
    padding-left: 10px;
  }
  #contents .headSection .ttl h1 span {
    font-size: 1.6rem;
  }
  #contents .mainSection {
    padding: 0;
  }
}

/* layout
================================================== */
.container__inner {
  box-sizing: content-box;
  width: 1240px;
  margin: 0 auto;
  padding: 0 15px;
}
@media only screen and (max-width: 767px) {
  .container__inner {
    width: auto;
    padding: 0 15px;
  }
}

/* visual
================================================== */
#contents .visual {
  margin-bottom: 45px;
  text-align: center;
}
#contents .visual--setmodel {
  margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
  #contents .visual {
    margin-bottom: 25px;
    margin-left: -15px;
    margin-right: -15px;
  }
  #contents .visual--setmodel {
    margin-bottom: 30px;
  }
}

/* lnav
================================================== */
#contents .lnav__link {
  position: relative;
  box-sizing: border-box;
  display: block;
  height: 56px;
  line-height: 56px;
  border: solid 2px #005bb5;
  font-size: 18px;
  font-weight: bold;
  color: #005bb5;
  text-align: center;
  text-decoration: none;
}
#contents .lnav__link.is-active {
  pointer-events: none;
}
#contents .lnav--top {
  margin-bottom: 30px;
}
#contents .lnav--bottom {
  margin-top: 50px;
}
@media (min-width: 768px) {
  #contents .lnav__items {
    display: flex;
    justify-content: space-between;
  }
  #contents .lnav__item {
    flex: 0 0 400px;
  }
  #contents .lnav__link {
    transition: all .3s ease;
  }
  #contents .lnav__link.is-active, #contents .lnav__link:hover {
    background: #005bb5;
    color: #fff;
  }
  #contents .lnav__link.is-active::after, #contents .lnav__link:hover::after {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    content: "";
    width: 26px;
    height: 16px;
  }
  #contents .lnav--top .lnav__link.is-active::after,
  #contents .lnav--top .lnav__link:hover::after {
    bottom: -18px;
    background: url(/products/largeprinter/campaign/pop-poster2023/common/images/lnav_arw_top-pc.png) no-repeat;
  }
  #contents .lnav--bottom .lnav__link.is-active::after,
  #contents .lnav--bottom .lnav__link:hover::after {
    top: -18px;
    background: url(/products/largeprinter/campaign/pop-poster2023/common/images/lnav_arw_btm-pc.png) no-repeat;
  }
}
@media only screen and (max-width: 767px) {
  #contents .lnav__items > li + li {
    margin-top: 2px;
  }
  #contents .lnav__link {
    height: 45px;
    line-height: 45px;
    font-size: 15px;
    text-indent: -1em;
  }
  #contents .lnav__link.is-active {
    background: #005bb5;
    color: #fff;
  }
  #contents .lnav__link::after {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    content: "";
    width: 20px;
    height: 20px;
    background: url(/products/largeprinter/campaign/pop-poster2023/common/images/lnav_arw-sp.png) no-repeat;
    background-size: 20px 20px;
  }
  #contents .lnav--top {
    margin-bottom: 25px;
  }
  #contents .lnav--top .lnav__link.is-active::after {
    background: url(/products/largeprinter/campaign/pop-poster2023/common/images/lnav_arw_top-sp.png) no-repeat;
    background-size: 20px 20px;
  }
  #contents .lnav--bottom {
    margin-top: 35px;
  }
  #contents .lnav--bottom .lnav__link.is-active::after {
    background: url(/products/largeprinter/campaign/pop-poster2023/common/images/lnav_arw_btm-sp.png) no-repeat;
    background-size: 20px 20px;
  }
}

/* button
================================================== */
#contents .c-btn {
  display: inline-block;
  width: 100%;
  max-width: 230px;
  height: 50px;
  line-height: 50px;
  background-color: #0c5db2;
  background-image: url(/products/largeprinter/campaign/pop-poster2023/common/images/icn_btn.png);
  background-repeat: no-repeat;
  background-size: 20px;
  background-position: right 14px center;
  border-radius: 25px;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  text-decoration: none;
  box-shadow: 2px 2px 0 0 #c9c9c9;
}
#contents .c-btn--sample {
  max-width: 600px;
  height: 80px;
  line-height: 80px;
  border-radius: 40px;
  font-size: 24px;
  background-size: 30px;
  background-position: right 24px center;
}
#contents .c-btn--gray {
  background-color: #999;
  box-shadow: none;
}
@media only screen and (max-width: 767px) {
  #contents .c-btn {
    height: 50px;
    line-height: 50px;
    border-radius: 25px;
  }
  #contents .c-btn--sample {
    font-size: 20px;
    line-height: 1.25;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 80px;
    border-radius: 40px;
    background-position: right 17px center;
  }
}

/* contactInfo
================================================== */
#contents .contactInfo {
  max-width: 1000px;
  margin: 60px auto 30px;
  padding: 30px;
  border: solid 1px #e7e7e7;
  background: #fafafa;
  text-align: center;
}
#contents .contactInfo__title {
  margin-bottom: 1.5em;
  font-size: 20px;
  font-weight: bold;
}
#contents .contactInfo__title span {
  display: inline-block;
  border-bottom: solid 1px #ccc;
}
#contents .contactInfo__office {
  margin-bottom: 1.25em;
}
#contents .contactInfo__office dt {
  margin-bottom: .5em;
  font-size: 16px;
}
#contents .contactInfo__office dd {
  font-size: 46px;
  font-weight: bold;
  line-height: 1.125;
}
#contents .contactInfo__period {
  margin-bottom: 1em;
  font-size: 16px;
  font-weight: bold;
}
#contents .contactInfo__note {
  font-size: 14px;
}
@media only screen and (max-width: 767px) {
  #contents .contactInfo {
    margin: 45px 0 30px;
    padding: 30px 10px;
  }
  #contents .contactInfo__title {
    font-size: 15px;
  }
  #contents .contactInfo__title span {
    padding-bottom: .25em;
  }
  #contents .contactInfo__office dt {
    font-size: 14px;
  }
  #contents .contactInfo__office dd {
    font-size: 36px;
  }
  #contents .contactInfo__period {
    font-size: 14px;
  }
  #contents .contactInfo__period > li + li {
    margin-top: 1em;
  }
  #contents .contactInfo__period br {
    display: block !important;
  }
  #contents .contactInfo__note {
    padding: 0 2em;
    font-size: 12px;
    text-align: left;
  }
}
#contents .btmNotes > li {
  display: table-row;
  font-size: 14px;
}
#contents .btmNotes > li > span,
#contents .btmNotes > li > div {
  display: table-cell;
  vertical-align: top;
}
#contents .btmNotes > li > span:nth-child(1),
#contents .btmNotes > li > div:nth-child(1) {
  white-space: nowrap;
}

/* Utility
================================================== */
@media (min-width: 768px) {
  #contents .forsp {
    display: none !important;
  }
}
@media print {
  #contents .forsp {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  #contents .forpc {
    display: none !important;
  }
}
#contents img.liquid {
  width: 100%;
  height: auto;
}
#contents img.liquid--mw {
  width: auto;
  max-width: 100%;
}
@media only screen and (max-width: 767px) {
  #contents img.liquid--sp {
    width: 100%;
    height: auto;
  }
}
#contents .oro {
  transition: opacity .3s ease;
}
#contents .oro:hover {
  opacity: .75;
}
#contents .sup {
  display: inline-block;
  font-size: 12px !important;
  font-weight: normal !important;
  color: #333 !important;
}
@media only screen and (max-width: 767px) {
  #contents .sup {
    font-size: 11px !important;
  }
}
#contents .notes {
  font-size: 12px !important;
}
@media only screen and (max-width: 767px) {
  #contents .notes {
    font-size: 11px !important;
  }
}
#contents .outOfDate {
  margin-bottom: 30px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  color: #E60000;
}
@media only screen and (max-width: 767px) {
  #contents .outOfDate {
    margin: 20px 0;
    font-size: 16px;
  }
}
