@charset "UTF-8";
/* ===================================================
   base
==================================================== */
@import "//fonts.googleapis.com/earlyaccess/notosansjapanese.css";
main, section, article, aside, nav {
  display: block;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  body {
    width: 100%;
    min-width: 980px;
    text-size-adjust: none;
    -webkit-text-size-adjust: none;
  }
}
@media print, screen and (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}
#GlobalNaviTop li:first-child {
  position: absolute;
  right: 0;
  height: 26px;
}
@media only screen and (max-width: 767px) {
  .JS #GlobalNaviTop > li:first-child {
    position: relative;
    width: 100%;
    height: auto;
    padding: 13px;
  }
}
/* ===========================================
	wrapper
=========================================== */
.l-wrapper {
  position: relative;
  background-color: #ffffff;
}
.l-wrapper * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: #333333;
  border: 0;
  background: none;
  font-family: 'Noto Sans Japanese', Meiryo, 'Osaka', sans-serif;
}
.l-wrapper a {
  text-decoration: none;
  color: inherit;
}
.l-wrapper a:hover {
  text-decoration: underline;
}
.l-wrapper a:link, .l-wrapper a:hover, .l-wrapper a:visited, .l-wrapper a:active {
  background: none;
}
@media only screen and (max-width: 767px) {
  .l-wrapper img {
    max-width: 100%;
  }
}
/* ===========================================
	main
=========================================== */
@media print, screen and (min-width: 768px) {
  .l-main {
    padding-bottom: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .l-main {
    padding-bottom: 40px;
  }
}
/* ===========================================
	バナー型トップデザイン
=========================================== */
.clear {
  clear: both;
}
.t_block {
  display: block;
  width: 100%;
  max-width: 965px;
  margin: 0 auto;
  padding: 20px 0;
}
.t_block a:hover {
  opacity: 0.8;
}
.t_block-left, .t_block-right {
  display: block;
  margin: 0 auto;
  float: left;
}
.t_block-left {
  width: 66.5%;
  margin-right: 1%;
}
.t_block-right {
  width: 32.5%;
}
.t_block-right img:first-child {
  margin-bottom: 2.7%;
}
.t_block-left img, .t_block-right img {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .t_block-left, .t_block-right {
    width: 100%;
  }
  .t_block-right img {
    width: 50%;
    float: left;
  }
  .t_block-right img:first-child {
    margin-bottom: 0;
  }
}
/* ===========================================
	article
=========================================== */
@media print, screen and (min-width: 768px) {
  .l-article {
    max-width: 965px;
    margin: 0 auto;
    padding: 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-article {
    width: 100%;
    padding: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .l-article__inner {
    padding: 0 16px 30px;
  }
  .l-article__inner #sec01 {
    margin-bottom: 60px;
  }
}
@media only screen and (max-width: 767px) {
  .l-article__inner {
    padding: 0 10px;
  }
}
/* ===========================================
	section
=========================================== */
@media print, screen and (min-width: 768px) {
  .l-section {
    max-width: 965px;
    margin: 0 auto;
    padding: 0;
  }
}
@media only screen and (max-width: 767px) {
  .l-section {
    width: 100%;
    padding: 0;
  }
}
.l-section:not(:last-child) {
  margin-bottom: 24px;
}
@media print, screen and (min-width: 768px) {
  .l-section__header {
    padding: 16px 16px 0;
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 767px) {
  .l-section__header {
    padding: 0 10px 16px;
  }
}
/* ===========================================
	footer
=========================================== */
.l-footer {
  background-color: #343434;
}
@media print, screen and (min-width: 768px) {
  .l-footer__inner {
    max-width: 965px;
    margin: 0 auto;
    padding: 20px 0 40px;
  }
}
@media only screen and (max-width: 767px) {
  .l-footer__inner {
    width: 100%;
    padding: 24px 10px;
  }
}
#PageTopBottom.ShowRWD {
  padding-bottom: 80px;
}
@media print, screen and (min-width: 768px) {
  #Footer {
    padding-bottom: 80px;
  }
}
#Footer.footer--top {
  padding-bottom: 30px;
}
/* ===========================================
	breadcrumb
=========================================== */
@media print, screen and (min-width: 768px) {
  .p-breadcrumb {
    max-width: 965px;
    margin: 0 auto;
    padding: 0;
  }
}
@media only screen and (max-width: 767px) {
  .p-breadcrumb {
    width: 100%;
    padding: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .p-breadcrumb {
    padding: 8px 15px 10px;
  }
}
@media only screen and (max-width: 767px) {
  .p-breadcrumb {
    padding: 10px;
  }
}
.p-breadcrumb__list {
  display: flex;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.p-breadcrumb__item {
  color: #707070;
}
@media print, screen and (min-width: 768px) {
  .p-breadcrumb__item {
    font-size: 0.75em;
    line-height: 1.2;
  }
}
@media only screen and (max-width: 767px) {
  .p-breadcrumb__item {
    font-size: 0.875em;
    line-height: 1.4;
  }
}
.p-breadcrumb__item:not(:first-child) {
  padding-left: 15px;
  position: relative;
}
.p-breadcrumb__item:not(:first-child)::before {
  position: absolute;
  left: 5px;
  content: '\003e';
}
.p-breadcrumb__link {
  text-decoration: underline !important;
  color: #e60f33 !important;
}
.p-breadcrumb__link:hover {
  text-decoration: none !important;
}
/* ===========================================
	tabs
=========================================== */
.p-tabs {
  margin-bottom: 30px;
}
@media print, screen and (min-width: 768px) {
  .p-tabs {
    width: calc(100% + 32px);
    margin-left: -16px;
  }
}
@media only screen and (max-width: 767px) {
  .p-tabs {
    width: 100vw;
    margin-left: -10px;
  }
}
.p-tabs__list {
  display: flex;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
.p-tabs__item {
  width: 50%;
  height: 50px;
  color: #c0c0c0;
  background-color: #eaeaea;
}
.p-tabs__item:hover, .p-tabs__item--active {
  color: #333333;
  background-color: #f8f0f0;
}
.p-tabs__txt, .p-tabs__link {
  width: 100%;
  height: 100%;
  text-decoration: none !important;
  color: inherit;
  font-size: 1.125em;
  line-height: 1;
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  padding: 10px 0 15px;
}
.p-tabs__inner {
  background-color: #f8f0f0;
}
@media print, screen and (min-width: 768px) {
  .p-tabs__inner {
    padding: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .p-tabs__inner {
    padding: 16px 10px 26px;
  }
}
/* ===========================================
	refine
=========================================== */
@media print, screen and (min-width: 768px) {
  .p-refine__head {
    position: relative;
    overflow: hidden;
    height: 48px;
    margin-bottom: 20px;
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media only screen and (max-width: 767px) {
  .p-refine__head {
    margin-bottom: 16px;
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}
.p-refine__result {
  padding: 11px 10px 13px;
  text-align: center;
  color: #ffffff;
  background-color: #b1070d;
  font-size: 1.0em;
  line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
  .p-refine__result {
    width: 466px;
  }
}
@media only screen and (max-width: 767px) {
  .p-refine__result {
    width: 100%;
    margin-bottom: 16px;
  }
}
.p-refine__number {
  color: inherit;
}
.p-refine__release {
  display: block;
  width: 138px;
  height: 46px;
  padding: 10px 0 0 38px;
  text-decoration: none !important;
  color: #ffffff !important;
  border-radius: 2px;
  background: #b7b7b7 url(../../image/hsc/common/icon_cancel.svg) no-repeat 16px 16px !important;
  background-size: 14px 14px;
  font-size: 0.875em;
}
@media print, screen and (min-width: 768px) {
  .p-refine__release {
    position: absolute;
    top: 1px;
    right: 0;
  }
}
.p-refine__release:hover {
  opacity: 0.7;
}
.p-refine__txt {
  font-size: 1.125em;
}
@media print, screen and (min-width: 768px) {
  .p-refine__txt {
    margin-bottom: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .p-refine__txt {
    margin-bottom: 18px;
  }
}
@media print, screen and (min-width: 768px) {
  .p-refine__inner {
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .p-refine__inner:not(:last-child) {
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .p-refine__inner:not(:last-child) {
    margin-bottom: 24px;
  }
}
@media print, screen and (min-width: 768px) {
  .p-refine__list {
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
  }
}
@media only screen and (max-width: 767px) {
  .p-refine__list {
    display: flex;
    align-items: normal;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
  }
}
.p-refine__item {
  margin-bottom: 8px;
  border-radius: 2px;
}
@media print, screen and (min-width: 768px) {
  .p-refine__item {
    width: 221px;
    /*height: 46px;*/
  }
  .p-refine__item:not(:nth-child(4n+4)) {
    margin-right: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .p-refine__item {
    width: 49%;
  }
}
.p-refine__term {
  width: 100%;
  height: 100%;
  text-decoration: none !important;
  border: 1px solid #dbdbdb;
  border-radius: 2px;
  background: #fff !important;
  box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.04);
  line-height: 1;
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .p-refine__term {
    padding: 14px 4px;
    text-align: center;
    line-height: 1.125;
    font-feature-settings: "palt";
  }
}
.p-refine__term:hover {
  border-color: #dcbbc0;
  background: #f9d8dd !important;
}
.p-refine__term.is_active {
  color: #ffffff !important;
  border-color: #e60f33 !important;
  background-color: #e60f33 !important;
}
.p-refine--keyword {
  overflow: hidden;
  max-width: 473px;
  margin: 0 auto;
}
.p-refine--keyword__txt {
  margin-bottom: 6px;
  font-size: 0.875em;
}
.p-refine--keyword__input {
  border-radius: 8px 0 0 8px;
  background-color: #ffffff;
}
@media print, screen and (min-width: 768px) {
  .p-refine--keyword__input {
    width: 398px;
    height: 48px;
    padding-left: 18px;
    font-size: 1.0em;
  }
}
@media only screen and (max-width: 767px) {
  .p-refine--keyword__input {
    width: calc(100% - 38px);
    height: 30px;
    padding-left: 10px;
    font-size: 63%;
  }
}
.p-refine--keyword__input::placeholder {
  color: #888888;
}
@media print, screen and (min-width: 768px) {
  .p-refine--keyword__input::placeholder {
    padding-right: 18px;
    text-align: center;
    font-size: 1.0em;
  }
}
@media only screen and (max-width: 767px) {
  .p-refine--keyword__input::placeholder {
    padding-right: 10px;
    font-size: 63%;
  }
}
.p-refine--keyword__input:-ms-input-placeholder, .p-refine--keyword__input::-ms-input-placeholder {
  padding-right: 18px;
  text-align: center;
  color: #888888;
  font-size: 1.0em;
}
.p-refine--keyword__btn {
  float: right;
  border-radius: 0 8px 8px 0;
  background: #e60b27 url(../../image/hsc/common/icon_loupe.svg) no-repeat center center;
}
@media print, screen and (min-width: 768px) {
  .p-refine--keyword__btn {
    width: 75px;
    height: 48px;
    cursor: pointer;
    background-size: 24px 24px;
  }
  .p-refine--keyword__btn:hover {
    transition: opacity .3s;
    opacity: 0.7;
  }
}
@media only screen and (max-width: 767px) {
  .p-refine--keyword__btn {
    width: 38px;
    height: 30px;
    background-size: 16px 16px;
  }
}
/* ===========================================
	post
=========================================== */
.p-post {
  border-top: 1px solid #b1b1b1;
}
@media print, screen and (min-width: 768px) {
  .p-post__search {
    margin: 0 -16px 16px 0;
    text-align: right;
  }
}
@media only screen and (max-width: 767px) {
  .p-post__search {
    display: none;
  }
}
.p-post__search__item {
  position: relative;
  display: inline-block;
  padding-bottom: 8px;
  cursor: pointer;
  font-size: 1.0em;
  line-height: 1;
}
.p-post__search__item:not(:last-child) {
  margin-right: 16px;
}
.p-post__search__item:hover::before, .p-post__search__item.is_active::before, .p-post__search__item:hover::after, .p-post__search__item.is_active::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  content: '';
}
.p-post__search__item:hover::after, .p-post__search__item.is_active::after {
  bottom: -4px;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border-width: 6px 6px 0 6px;
  border-style: solid;
}
.p-post__search__item:nth-child(1):hover, .p-post__search__item:nth-child(1).is_active {
  color: #C44F4F;
}
.p-post__search__item:nth-child(1):hover::before, .p-post__search__item:nth-child(1).is_active::before {
  background-color: #C44F4F;
}
.p-post__search__item:nth-child(1):hover::after, .p-post__search__item:nth-child(1).is_active::after {
  border-color: #C44F4F transparent transparent transparent;
}
.p-post__search__item:nth-child(2):hover, .p-post__search__item:nth-child(2).is_active {
  color: #608025;
}
.p-post__search__item:nth-child(2):hover::before, .p-post__search__item:nth-child(2).is_active::before {
  background-color: #608025;
}
.p-post__search__item:nth-child(2):hover::after, .p-post__search__item:nth-child(2).is_active::after {
  border-color: #608025 transparent transparent transparent;
}
.p-post__search__item:nth-child(3):hover, .p-post__search__item:nth-child(3).is_active {
  color: #407CA1;
}
.p-post__search__item:nth-child(3):hover::before, .p-post__search__item:nth-child(3).is_active::before {
  background-color: #407CA1;
}
.p-post__search__item:nth-child(3):hover::after, .p-post__search__item:nth-child(3).is_active::after {
  border-color: #407CA1 transparent transparent transparent;
}
.p-post__search__item:nth-child(4):hover, .p-post__search__item:nth-child(4).is_active {
  color: #9E6C1C;
}
.p-post__search__item:nth-child(4):hover::before, .p-post__search__item:nth-child(4).is_active::before {
  background-color: #9E6C1C;
}
.p-post__search__item:nth-child(4):hover::after, .p-post__search__item:nth-child(4).is_active::after {
  border-color: #9E6C1C transparent transparent transparent;
}
@media print, screen and (min-width: 768px) {
  .p-post__pulldown {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .p-post__pulldown {
    position: relative;
    margin-top: 16px;
  }
  .p-post__pulldown[data-current='latest'] {
    background-color: #C44F4F;
  }
  .p-post__pulldown[data-current='news'] {
    background-color: #407CA1;
  }
  .p-post__pulldown[data-current='release'] {
    background-color: #608025;
  }
  .p-post__pulldown[data-current='seminar'] {
    background-color: #9E6C1C;
  }
  .p-post__pulldown::after {
    position: absolute;
    top: 50%;
    right: 16px;
    width: 0;
    height: 0;
    margin-top: -3px;
    content: '';
    border-width: 6px 6px 0 6px;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
  }
}
.p-post__select {
  width: 100%;
  height: 32px;
  padding: 0 16px;
  color: #fff;
  border-radius: 0;
  font-size: 1.0em;
  font-weight: 700;
}
.p-post__select::-ms-expand {
  display: none;
}
.p-post__item {
  border-bottom: 1px solid #b1b1b1;
}
.p-post__link {
  width: 100%;
  height: 100%;
  text-decoration: none !important;
}
.p-post__link:not([href*="/"]) {
  cursor: auto;
}
@media print, screen and (min-width: 768px) {
  .p-post__link {
    padding: 12px 18px;
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
}
@media only screen and (max-width: 767px) {
  .p-post__link {
    padding: 16px 16px;
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.p-post__link[href*="/"]:hover .p-post__txt {
  text-decoration: underline !important;
}
.p-post__link[href*='.pdf'] .p-post__txt {
  position: relative;
  padding-right: 36px;
}
.p-post__link[href*='.pdf'] .p-post__txt::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 26px;
  height: 40px;
  margin-top: -20px;
  content: '';
  background: url(../../image/hsc/common/icon_pdf.svg) no-repeat left top;
  background-size: 26px 40px;
}
.p-post__time {
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .p-post__time {
    min-width: 119.5px;
    margin-top: 2px;
    margin-right: 24px;
    white-space: nowrap;
    font-size: 1.0em;
  }
}
@media only screen and (max-width: 767px) {
  .p-post__time {
    font-size: 0.75em;
  }
}
.p-post__cat {
  width: 127px;
  padding: 5px 0;
  text-align: center;
  color: #ffffff;
  font-size: 0.75em;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .p-post__cat {
    margin: 0 24px 0 0;
    white-space: nowrap;
  }
}
.p-post__cat--news {
  background-color: #407CA1;
}
.p-post__cat--release {
  background-color: #608025;
}
.p-post__cat--seminar {
  background-color: #9E6C1C;
}
.p-post__txt {
  color: #202020;
  font-size: 1.0em;
  line-height: 1.63;
}
@media print, screen and (min-width: 768px) {
  .p-post__txt {
    flex: 1 0 1%;
  }
}
@media only screen and (max-width: 767px) {
  .p-post__txt {
    width: 100%;
    margin-top: 6px;
  }
}
/* ===========================================
  summary
=========================================== */
@media print, screen and (min-width: 768px) {
  .p-summary {
    margin-bottom: 40px;
    display: flex;
    align-items: normal;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}
@media only screen and (max-width: 767px) {
  .p-summary:not(.p-summary--related) {
    margin-bottom: 16px;
  }
}
@media print, screen and (min-width: 768px) {
  .p-summary--related {
    margin-right: -16px;
  }
}
@media only screen and (max-width: 767px) {
  .p-summary--related {
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media print, screen and (min-width: 768px) {
  .p-summary--related__item {
    margin-bottom: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .p-summary--related__item {
    width: 43.75vw;
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .p-summary--related__figure {
    margin-bottom: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .p-summary--related__arrow {
    width: 24px;
    height: 24px;
    padding: 8px 7px;
  }
}
@media only screen and (max-width: 767px) {
  .p-summary--related__icon {
    width: 7.84px;
    height: 9.14px;
  }
}
.p-summary--related02 {
  margin-bottom: 0;
}
.p-summary--related02 .p-summary__link.p-summary--related__link {
  padding-bottom: 8px;
}
.p-summary--related02 .p-summary__figure.p-summary--related__figure {
  margin-bottom: 0;
}
@media print, screen and (min-width: 768px) {
  .p-summary__item {
    width: 29.957%;
  }
  .p-summary__item:not(:nth-child(3n + 3)) {
    margin-right: 4.878%;
  }
}
@media only screen and (max-width: 767px) {
  .p-summary__item:not(.p-summary--related__item) {
    padding-bottom: 24px;
  }
  .p-summary__item:not(.p-summary--related__item):not(:last-child) {
    margin-bottom: 24px;
    border-bottom: 1px solid #e60b27;
  }
}
.p-summary__item.p-summary--related__item {
  border: 1px solid #d8d8d8;
}
@media print, screen and (min-width: 768px) {
  .p-summary__item.p-summary--related__item {
    width: 300px;
    margin-right: 16px !important;
  }
}
@media only screen and (max-width: 767px) {
  .p-summary__item.p-summary--related__item {
    width: 100%;
  }
}
.p-summary .is_hidden {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .p-summary__link {
    position: relative;
  }
  .p-summary__link::before {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    transition: opacity 0.2s;
    opacity: 0;
    background-color: #f2f2f2;
  }
  .p-summary__link:hover::before {
    transition: opacity 0.3s;
    opacity: 0.3 !important;
  }
}
@media print, screen and (min-width: 768px) {
  .p-summary__link {
    display: block;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .p-summary__link:not(.p-summary--related__link) {
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}
.p-summary__link:hover {
  text-decoration: none !important;
}
.p-summary__link.p-summary--related__link {
  display: block;
  padding: 8px 8px 16px;
}
.p-summary__figure {
  position: relative;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .p-summary__figure--big {
    margin-bottom: 32px;
  }
  .p-summary__figure:not(.p-summary__figure--big) {
    margin-bottom: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .p-summary__figure:not(.p-summary--related__figure) {
    order: 2;
    width: 35%;
  }
}
.p-summary__figure.p-summary--related__figure {
  margin-bottom: 8px;
}
.p-summary__arrow {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  width: 36px;
  height: 36px;
  padding: 12px 0;
  text-align: center;
  background-color: #ffffff;
}
.p-summary__icon {
  width: 14px;
  height: 12px;
}
.p-summary__img {
  position: relative;
  z-index: 1;
  width: 100%;
}
.p-summary__title {
  color: #1c1c1c;
}
@media print, screen and (min-width: 768px) {
  .p-summary__title {
    width: 100%;
    margin-bottom: 16px;
    font-size: 112%;
    line-height: 1.44;
  }
}
.p-summary__title h3 {
  font-weight: 500;
  line-height: 1.44;
}
@media only screen and (max-width: 767px) {
  .p-summary__title {
    font-size: 1.0em;
    line-height: 1.25;
  }
  .p-summary__title h3 {
    font-weight: 500;
    line-height: 1.25;
  }
  .p-summary__title:not(.p-summary--related__title) {
    order: 3;
    width: 65%;
    padding-left: 8px;
  }
  .p-summary__title.p-summary--related__title {
    font-size: 1.125em;
  }
}
.p-summary__title__sub, .p-summary__title p {
  display: block;
  color: #b1070d;
  font-size: 1.0em;
  font-weight: normal;
  line-height: 1.25;
}
@media only screen and (max-width: 767px) {
  .p-summary__title__sub, .p-summary__title p {
    margin-top: 6px;
  }
}
.p-summary__title.p-summary--related__title {
  font-weight: 500;
}
.p-summary__meta {
  width: 100%;
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}
@media only screen and (max-width: 767px) {
  .p-summary__meta {
    justify-content: space-between;
    order: 1;
    margin-bottom: 8px;
  }
}
.p-summary__time {
  font-size: 0.75em;
}
@media print, screen and (min-width: 768px) {
  .p-summary__time {
    margin-right: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .p-summary__time {
    margin-right: 5px;
  }
}
.p-summary__cat {
  width: 113px;
  padding: 6.5px 0;
  text-align: center;
  border: solid 1px #e8e8e8;
  background-color: #ffffff;
  font-size: 60%;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .p-summary__cat {
    border-radius: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .p-summary__cat {
    border-radius: 4px;
  }
}
.p-summary__txt {
  font-size: 0.875em;
}
@media print, screen and (min-width: 768px) {
  .p-summary__txt {
    line-height: 1.4;
  }
}
@media only screen and (max-width: 767px) {
  .p-summary__txt {
    margin-top: 10px;
    line-height: 1.5;
  }
}
.p-summary__txt _:-ms-lang(x)::-ms-backdrop, .p-summary__txt {
  overflow: hidden;
  max-height: 57px;
}
.p-summary__more {
  width: 100%;
}
.p-summary__more__inner {
  width: 100%;
  max-width: 376px;
  margin: 16px auto;
}
/* ===========================================
	focus
=========================================== */
.p-focus {
  background-color: #f8f0f0;
}
@media print, screen and (min-width: 768px) {
  .p-focus {
    padding: 24px 16px;
  }
}
@media only screen and (max-width: 767px) {
  .p-focus {
    margin: 0 10px;
    padding: 24px 10px;
  }
}
.p-focus__inner {
  display: flex;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
.p-focus__item {
  position: relative;
  border-radius: 4px;
  background-color: #ffffff;
}
@media print, screen and (min-width: 768px) {
  .p-focus__item {
    width: 23.417%;
  }
}
@media only screen and (max-width: 767px) {
  .p-focus__item {
    width: 48.214%;
  }
  .p-focus__item:nth-last-of-type(1), .p-focus__item:nth-last-of-type(2) {
    margin-top: 10px;
  }
}
.p-focus__link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none !important;
}
@media print, screen and (min-width: 768px) {
  .p-focus__link {
    position: relative;
  }
  .p-focus__link::after {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    transition: opacity 0.2s;
    opacity: 0;
    background-color: #f2f2f2;
  }
  .p-focus__link:hover::after {
    transition: opacity 0.3s;
    opacity: 0.3 !important;
  }
}
@media print, screen and (min-width: 768px) {
  .p-focus__link {
    padding: 8px 8px 24px;
  }
}
@media only screen and (max-width: 767px) {
  .p-focus__link {
    padding: 8px;
  }
}
.p-focus__link--big {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none !important;
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
}
@media print, screen and (min-width: 768px) {
  .p-focus__link--big {
    position: relative;
  }
  .p-focus__link--big::after {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    transition: opacity 0.2s;
    opacity: 0;
    background-color: #f2f2f2;
  }
  .p-focus__link--big:hover::after {
    transition: opacity 0.3s;
    opacity: 0.3 !important;
  }
}
@media only screen and (max-width: 767px) {
  .p-focus__link--big {
    justify-content: flex-start;
    padding: 0 0 0 8px;
  }
}
@media print, screen and (min-width: 768px) {
  .p-focus__icon--tag {
    width: 33px;
    height: 33px;
    margin-right: 25px;
  }
}
@media only screen and (max-width: 767px) {
  .p-focus__icon--tag {
    width: 24px;
    height: 24px;
    margin-right: 8px;
  }
}
@media print, screen and (min-width: 768px) {
  .p-focus__icon--target {
    width: 47px;
    height: 47px;
    margin-right: 15px;
  }
}
@media only screen and (max-width: 767px) {
  .p-focus__icon--target {
    width: 24px;
    height: 24px;
    margin-right: 8px;
  }
}
.p-focus__img {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .p-focus__img {
    margin-bottom: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .p-focus__img {
    margin-bottom: 8px;
  }
}
.p-focus__txt {
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .p-focus__txt {
    font-size: 1.125em;
  }
}
@media only screen and (max-width: 767px) {
  .p-focus__txt {
    font-size: 1.0em;
  }
}
.p-focus__txt--item {
  text-align: center;
  font-size: 1.125em;
  font-weight: 600;
}
@media only screen and (max-width: 767px) {
  .p-focus__txt--item {
    width: calc(100% + 32px);
    margin-left: -16px;
    font-size: 1.0em;
  }
}
/* ===========================================
  pagetop
=========================================== */
@media print, screen and (min-width: 768px) {
  .p-pagetop {
    position: fixed;
    z-index: 40;
    right: 0;
    bottom: 100px;
    overflow: hidden;
    width: 150px;
    height: 0;
    margin-top: -4px;
    transition: height .2s;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-end;
  }
  .p-pagetop.is_show {
    height: 88px;
    transition: height .3s;
  }
}
@media only screen and (max-width: 767px) {
  .p-pagetop {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  .p-pagetop__button {
    width: 100%;
    height: 88px;
    text-decoration: none !important;
    color: #333 !important;
    background-color: #f2f2f2 !important;
    display: flex;
    align-items: center;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
  }
}
@media print, screen and (min-width: 768px) {
  .p-pagetop__button {
    position: relative;
  }
  .p-pagetop__button::before {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    transition: opacity 0.2s;
    opacity: 0;
    background-color: #f2f2f2;
  }
  .p-pagetop__button:hover::before {
    transition: opacity 0.3s;
    opacity: 0.3 !important;
  }
}
.p-pagetop__img {
  width: 44px;
}
@media print, screen and (min-width: 768px) {
  .p-pagetop__txt {
    font-size: 0.875em;
    font-weight: 500;
  }
}
/* ===========================================
  sns
=========================================== */
.p-sns {
  padding-bottom: 24px;
  border-bottom: 1px solid #525252;
}
@media print, screen and (min-width: 768px) {
  .p-sns {
    margin-bottom: 40px;
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 767px) {
  .p-sns {
    margin-bottom: 24px;
    text-align: center;
  }
}
.p-sns__hd {
  color: #fff;
  font-size: 0.875em;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .p-sns__hd {
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .p-sns__hd {
    margin: 0 0 16px;
  }
}
.p-sns__list {
  height: 48px;
  text-align: center;
}
.p-sns__item {
  display: inline-block;
  width: 48px;
  margin: 0 8px;
}
.p-sns__link {
  display: block;
  overflow: hidden;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
@media print, screen and (min-width: 768px) {
  .p-sns__link {
    position: relative;
  }
  .p-sns__link::before {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    transition: opacity 0.2s;
    opacity: 0;
    background-color: #f2f2f2;
  }
  .p-sns__link:hover::before {
    transition: opacity 0.3s;
    opacity: 0.3 !important;
  }
}
.p-sns__img {
  width: 48px;
  height: 48px;
}
/* ===========================================
	banner
=========================================== */
@media print, screen and (min-width: 768px) {
  .p-banner {
    max-width: 826px;
    margin: 0 auto 40px;
    padding: 0 44px;
  }
}
@media only screen and (max-width: 767px) {
  .p-banner {
    width: 100%;
    padding: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .p-banner {
    width: 100%;
    height: 69px;
    position: relative;
  }
  .p-banner .slick-slider {
    position: static;
  }
  .p-banner .slick-slide {
    width: 17.968vw;
    max-width: 230px;
    margin: 0 12px;
  }
  .p-banner .slick-arrow.slick-prev {
    left: 0;
  }
  .p-banner .slick-arrow.slick-next {
    right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .p-banner {
    overflow: hidden;
    width: 100%;
    margin-bottom: 36px;
  }
  .p-banner .slick-list {
    margin: 0 35px;
  }
}
@media only screen and (max-width: 767px) {
  .p-banner__item {
    height: 100%;
  }
}
.p-banner__link {
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media print, screen and (min-width: 768px) {
  .p-banner__link {
    position: relative;
  }
  .p-banner__link::before {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    transition: opacity 0.2s;
    opacity: 0;
    background-color: #f2f2f2;
  }
  .p-banner__link:hover::before {
    transition: opacity 0.3s;
    opacity: 0.3 !important;
  }
}
@media print, screen and (min-width: 768px) {
  .p-banner__link {
    height: 69px;
  }
}
.p-banner__img {
  width: 100%;
}
/* ===========================================
	sitemap
=========================================== */
@media print, screen and (min-width: 768px) {
  .p-sitemap {
    display: flex;
    align-items: normal;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media print, screen and (min-width: 768px) {
  .p-sitemap__nav {
    width: 25%;
    padding-left: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .p-sitemap__nav {
    padding: 0 10px 16px;
  }
  .p-sitemap__nav:not(:last-child) {
    margin-bottom: 16px;
  }
}
.p-sitemap__link {
  color: inherit !important;
}
.p-sitemap__cat {
  font-size: 0.875em;
  font-weight: 500;
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  .p-sitemap__cat {
    margin-bottom: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .p-sitemap__cat {
    margin-bottom: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .p-sitemap__list {
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.p-sitemap__item {
  font-size: 0.75em;
  font-weight: 300;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .p-sitemap__item {
    width: calc(50% - 5px);
  }
}
.p-sitemap__item:not(:last-child) {
  margin-bottom: 4px;
}
/* ===========================================
  strength
=========================================== */
.p-strength {
  margin-top: 30px;
  margin-bottom: 35px;
  background: linear-gradient(#faf7f7 0%, #ffe8e8 100%);
}
@media print, screen and (min-width: 768px) {
  .p-strength {
    width: calc(100% + 32px);
    margin-left: -16px;
    padding: 16px 15px 36px;
  }
}
@media only screen and (max-width: 767px) {
  .p-strength {
    width: 100vw;
    margin-left: -10px;
    padding: 30px 10px 10px;
  }
}
.p-strength__hd {
  position: relative;
  text-align: center;
  font-weight: 500;
}
@media print, screen and (min-width: 768px) {
  .p-strength__hd {
    margin-bottom: 25px;
    font-size: 1.88em;
  }
}
@media only screen and (max-width: 767px) {
  .p-strength__hd {
    margin-bottom: 30px;
    font-size: 26px;
  }
}
.p-strength__hd::before {
  position: absolute;
  bottom: -5px;
  left: 50%;
  width: 156px;
  height: 2px;
  margin-left: -78px;
  content: '';
  background-color: #8b1010;
}
.p-strength__inner {
  display: flex;
  align-items: normal;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .p-strength__item {
    margin-bottom: 20px;
    width: 100%;
  }
}
@media print, screen and (min-width: 768px) {
  .p-strength__item--02 {
    width: 47.894%;
    margin: 0 0.3157%;
  }
  .p-strength__item--02:first-child {
    position: relative;
  }
  .p-strength__item--02:first-child::after {
    position: absolute;
    top: 0;
    right: -4.175%;
    width: 0;
    height: 100%;
    content: '';
    border-right: 1px dashed #707070;
  }
}
@media print, screen and (min-width: 768px) {
  .p-strength__item--03 {
    width: 29.894%;
  }
  .p-strength__item--03:not(:last-child) {
    position: relative;
  }
  .p-strength__item--03:not(:last-child)::after {
    position: absolute;
    top: 0;
    right: -8.450%;
    width: 0;
    height: 100%;
    content: '';
    border-right: 1px dashed #707070;
  }
}
.p-strength__figure {
  display: block;
  height: 120px;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .p-strength__figure {
    margin-bottom: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .p-strength__figure {
    margin-bottom: 14px;
  }
}
.p-strength__img {
  height: 100%;
}
.p-strength__kind {
  text-align: center;
  color: #E60F33;
  font-weight: 500 !important;
  line-height: 1.44;
}
@media print, screen and (min-width: 768px) {
  .p-strength__kind {
    margin-bottom: 15px;
    font-size: 1.125em;
  }
}
@media only screen and (max-width: 767px) {
  .p-strength__kind {
    margin-bottom: 20px;
    font-size: 1.0em;
  }
}
.p-strength__sup {
  color: #e60f33;
}
.p-strength__txt {
  font-size: 1.0em;
  line-height: 1.8;
}
.p-strength__txt:not(:first-child) {
  margin-top: 16px;
}
.p-strength__note {
  font-size: 0.875em;
  line-height: 1.666;
}
.p-strength__note:not(:first-child) {
  margin-top: 16px;
}
.p-strength__group .p-strength__txt {
  margin-bottom: 6px;
}
.p-strength__group:not(:first-child) {
  margin-top: 24px;
}
.p-strength__bold {
  display: block;
  margin-bottom: 4px;
  font-weight: 700;
}
/* ===========================================
	lnav
=========================================== */
.p-lnav {
  display: block;
  width: 100%;
  margin: 0 auto 20px;
  padding: 0;
}
.p-lnav__list {
  flex-wrap: wrap;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
.p-lnav__list li {
  position: relative;
  width: 25%;
  background-color: #4a4a4a;
  margin: 0;
  padding: 20px 0;
  line-height: 20px;
  border-right: thin solid #888;
  border-bottom: thin solid #888;
  box-sizing: border-box;
}
.p-lnav__list li:hover {
  opacity: 0.8;
}
@media only screen and (max-width: 767px) {
  .p-lnav__list li {
    width: 50%;
  }
}
.p-lnav__list li:nth-child(4n), .p-lnav__list li:last-child {
  border-right: none;
}
@media only screen and (max-width: 767px) {
  .p-lnav__list li:nth-child(2n) {
    border-right: none;
  }
}
.p-lnav__list li a {
  position: absolute;
  top: 0px;
  right: 0;
  bottom: 0;
  left: 0;
  padding-top: 10px;
  text-align: center;
  color: #FFF;
  font-size: 0.875em;
}
.p-lnav__link-trial {
  background-color: #e60b27 !important;
}
.menu--three .p-lnav__list li {
  width: 33%;
}
.menu--two .p-lnav__list li {
  width: 50%;
}
.menu--one .p-lnav__list li {
  width: 100%;
}
.menu--one .p-lnav__list li:hover {
  opacity: 1;
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  .menu--three .p-lnav__list li {
    width: 50%;
  }
}
/* ===================================================
   ナビメニューアイコン部分
==================================================== */
.p-lnav__link::after {
  position: absolute;
  display: inline-block;
  content: "";
  background: url(/solution/image/icon_angle-down.svg) no-repeat left center;
  width: 20px;
  height: 20px;
}
.p-lnav__link-trial::after {
  position: absolute;
  display: inline-block;
  content: "";
  background-image: url(/image/hsc/common/icon_new-window_white.svg);
  width: 15px;
  height: 15px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 0 0;
  margin: 2px 0 0 5px;
}
/* ===========================================
	solve
=========================================== */
@media print, screen and (min-width: 768px) {
  .p-solve {
    margin-bottom: 60px;
  }
}
@media only screen and (max-width: 767px) {
  .p-solve {
    margin-bottom: 30px;
  }
}
.p-solve__hd {
  margin-bottom: 30px;
  text-align: center;
  font-weight: 500;
  line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
  .p-solve__hd {
    font-size: 1.88em;
  }
}
@media only screen and (max-width: 767px) {
  .p-solve__hd {
    font-size: 1.125em;
  }
}
.p-solve__hd::before {
  content: '\00ff3c';
}
@media print, screen and (min-width: 768px) {
  .p-solve__hd::before {
    margin-right: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .p-solve__hd::before {
    margin-right: 5px;
  }
}
.p-solve__hd::after {
  content: '\00ff0f';
}
@media print, screen and (min-width: 768px) {
  .p-solve__hd::after {
    margin-left: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .p-solve__hd::after {
    margin-left: 5px;
  }
}
.p-solve__hd__color {
  display: inline;
  color: #e60f33;
}
@media print, screen and (min-width: 768px) {
  .p-solve__inner {
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.p-solve__item {
  display: flex;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
}
@media print, screen and (min-width: 768px) {
  .p-solve__item {
    width: 466px;
  }
}
@media only screen and (max-width: 767px) {
  .p-solve__item:first-child {
    position: relative;
    padding-bottom: 100px;
  }
  .p-solve__item:first-child::after {
    position: absolute;
    bottom: 30px;
    left: 50%;
    width: 60px;
    height: 43px;
    margin-left: -30px;
    content: '';
    transform: rotate(90deg);
    background: url(../../image/hsc/common/icon_arrow_double.svg) no-repeat left top;
    background-size: 100%;
  }
}
.p-solve__label {
  width: 154px;
  margin-bottom: 40px;
  padding: 6px 0;
  text-align: center;
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
}
.p-solve__label--problem {
  background-color: #E8E8E8;
}
.p-solve__label--solution {
  color: #fff;
  background-color: #0097E6;
}
.p-solve__icon {
  width: 66px;
}
.p-solve__icon--problem {
  margin-bottom: 40px;
}
.p-solve__icon--solution {
  margin-bottom: 31px;
}
@media print, screen and (min-width: 768px) {
  .p-solve__box {
    width: 100%;
    padding: 20px 80px;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media only screen and (max-width: 767px) {
  .p-solve__box {
    width: 100%;
    height: auto !important;
    padding: 20px 10px;
  }
}
.p-solve__box:not(:last-child) {
  margin-bottom: 8px;
}
.p-solve__box--problem {
  background-color: #E8E8E8;
}
@media print, screen and (min-width: 768px) {
  .p-solve__box--problem {
    position: relative;
  }
  .p-solve__box--problem::after {
    position: absolute;
    top: 50%;
    right: -33px;
    width: 48px;
    height: 35px;
    content: '';
    transform: translateY(-50%);
    background: url(../../image/hsc/common/icon_arrow_double.svg) no-repeat left top;
    background-size: 48px 35px;
  }
}
.p-solve__box--solution {
  background-color: #0097E6;
}
.p-solve__list {
  width: 100%;
}
.p-solve__list__item {
  position: relative;
  padding-left: 18px;
  color: inherit;
  font-size: 1.125em;
  line-height: 1.2;
}
@media print, screen and (min-width: 768px) {
  .p-solve__list__item:not(:last-child) {
    margin-bottom: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .p-solve__list__item:not(:last-child) {
    margin-bottom: 5px;
  }
}
.p-solve__list__item::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '\0030fb';
  line-height: 1.2;
}
.p-solve__list__item--solution {
  color: #fff;
}
/* ===========================================
	case
=========================================== */
.p-case {
  position: relative;
}
.p-case .slick-list {
  border: 1px solid #DDD;
}
.p-case .c-hd--02 {
  margin-bottom: .5em;
}
.p-case .slick-dots {
  margin-top: 15px;
  display: flex;
  justify-content: center;
}
.p-case .slick-dots li {
  margin: 0 .4em;
}
.p-case .slick-dots li button {
  width: .9em;
  height: .9em;
  background-color: #ccc;
  display: block;
  border-radius: .5em;
  overflow: hidden;
  text-indent: -10em;
  transition: .3s;
}
.p-case .slick-dots li.slick-active button {
  background-color: #e60b27;
}
.p-case .slick-dots li:not(.slick-active) button {
  cursor: pointer;
}
.p-case .slick-dots li:not(.slick-active) button:hover {
  background-color: #FFD2D2;
}
.p-case .slick-arrow:hover {
  opacity: 1;
  filter: brightness(1.2);
}
.p-case .slick-arrow {
  z-index: 10;
  transition: .3s;
}
@media print, screen and (min-width: 768px) {
  .p-case .slick-arrow {
    width: 40px;
    height: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .p-case .slick-arrow {
    width: 30px;
    height: 30px;
  }
}
.p-case .slick-arrow .slick-arrow-img {
  width: 100%;
  height: 100%;
}
.p-case .slick-arrow.slick-prev {
  left: 0;
}
@media only screen and (max-width: 767px) {
  .p-case .slick-arrow.slick-prev {
    left: -5px;
  }
}
.p-case .slick-arrow.slick-next {
  right: 0;
}
@media only screen and (max-width: 767px) {
  .p-case .slick-arrow.slick-next {
    right: -5px;
  }
}
@media print, screen and (min-width: 768px) {
  .p-case {
    margin-bottom: 80px;
    padding: 0 20px;
  }
}
@media only screen and (max-width: 767px) {
  .p-case {
    margin-bottom: 30px;
  }
  .p-case .slick-list {
    width: calc(100% - 20px);
    margin: 0 auto;
  }
}
.p-case__item {
  position: relative;
  padding: 25px;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .p-case__item {
    padding: 75px 40px 20px;
    box-sizing: border-box;
    display: flex !important;
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.p-case__name {
  text-align: center;
  margin-top: 30px;
  font-weight: 500;
}
@media print, screen and (min-width: 768px) {
  .p-case__name {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    font-size: 1.5em;
  }
}
@media only screen and (max-width: 767px) {
  .p-case__name {
    margin-bottom: 20px;
    font-size: 1.25em;
  }
}
.p-case__number {
  display: block;
  margin-bottom: 3px;
  color: #e60f33;
}
@media print, screen and (min-width: 768px) {
  .p-case__number {
    font-size: 1.0em;
  }
}
@media only screen and (max-width: 767px) {
  .p-case__number {
    font-size: 0.875em;
  }
}
@media print, screen and (min-width: 768px) {
  .p-case__figure {
    width: 300px;
    margin-top: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .p-case__figure {
    margin-bottom: 20px;
  }
}
.p-case__img {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .p-case__detail {
    max-width: 100%;
  }
  .p-case__figure + .p-case__detail {
    width: 480px;
    margin-top: 40px;
  }
}
.p-case__txt {
  font-size: 1.0em;
}
.p-case__txt a {
  cursor: pointer;
}
@media print, screen and (min-width: 768px) {
  .p-case__txt {
    line-height: 2;
  }
}
@media only screen and (max-width: 767px) {
  .p-case__txt {
    line-height: 1.625;
  }
}
.p-case__txt:not(:last-child) {
  margin-bottom: 16px;
}
/* ===========================================
	keywords
=========================================== */
.p-keywords {
  background-color: #f8f0f0;
}
@media print, screen and (min-width: 768px) {
  .p-keywords {
    padding: 24px 16px;
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 767px) {
  .p-keywords {
    width: 100vw;
    margin-left: calc(((100vw - 100%) / 2) * -1);
    padding: 20px 10px 0;
  }
}
.p-keywords__hd {
  font-weight: 500;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .p-keywords__hd {
    margin-right: auto;
    font-size: 1.25em;
  }
}
@media only screen and (max-width: 767px) {
  .p-keywords__hd {
    margin-bottom: 20px;
    font-size: 1.125em;
  }
}
@media print, screen and (min-width: 768px) {
  .p-keywords__list {
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 767px) {
  .p-keywords__list {
    display: flex;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}
.p-keywords__item {
  position: relative;
  padding: 8px 24px;
  text-align: center;
  color: #ffffff;
  border-radius: 2px;
  background-color: #e60f33;
  font-size: 0.875em;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .p-keywords__item:not(:first-child) {
    margin-left: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .p-keywords__item {
    margin: 0 16px 22px 0;
  }
}
.p-keywords__link::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
}
.p-keywords__link:hover {
  text-decoration: none !important;
}
.p-keywords__link:hover::before {
  background-color: rgba(255, 255, 255, 0.2);
}
/* ===========================================
	cta
=========================================== */
.p-cta {
  position: fixed;
  z-index: 40;
  bottom: 0;
  left: 0;
  display: none;
  width: 100%;
  background: #f2f2f2;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
@media print, screen and (min-width: 768px) {
  .p-cta {
    height: 58px;
  }
}
@media only screen and (max-width: 767px) {
  .p-cta {
    padding: 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .p-cta__inner {
    width: 948px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.p-cta__first {
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-evenly;
}
@media print, screen and (min-width: 768px) {
  .p-cta__first {
    width: 456px;
    padding: 8px 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .p-cta__last {
    margin-left: 10px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 767px) {
  .p-cta__last {
    margin-top: 12px;
    display: flex;
    align-items: center;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}
.p-cta__btn {
  position: relative;
  text-align: center;
  text-decoration: none !important;
  color: #ffffff !important;
  background-color: #e60b27 !important;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
}
@media print, screen and (min-width: 768px) {
  .p-cta__btn {
    width: 200px;
    height: 42px;
    font-size: 1.125em;
  }
}
@media only screen and (max-width: 767px) {
  .p-cta__btn {
    width: 48%;
    height: 40px;
    font-size: 1.0em;
  }
}
.p-cta__btn:hover::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
  background-color: rgba(255, 255, 255, 0.2);
}
.p-cta__btn::before {
  content: '';
  background-repeat: no-repeat;
  background-position: 0 0;
}
.p-ctaInner-contact {
  margin-left: 10px;
}
.p-ctaInner-contact::before {
  background-image: url(../../image/hsc/common/icon_contact.svg);
}
@media print, screen and (min-width: 768px) {
  .p-ctaInner-contact::before {
    width: 31px;
    height: 23px;
    background-size: 31px 23px;
  }
}
@media only screen and (max-width: 767px) {
  .p-ctaInner-contact::before {
    width: 26px;
    height: 19px;
    background-size: 26px 19px;
  }
}

.p-ctaInner-txt {
  margin-left: 8px;
  color: #ffffff;
}
.p-cta__tel {
  padding-left: 54px;
  background: url(../../image/hsc/common/icon_freedial.svg) no-repeat left center;
  background-size: 46px 26px;
  font-size: 1.88em;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .p-cta__tel {
    margin-right: 8px;
  }
}
@media only screen and (max-width: 767px) {
  .p-cta__tel {
    margin-bottom: 5px;
  }
}
.p-cta__tel__number {
  text-decoration: none !important;
  color: inherit;
}
@media print, screen and (min-width: 768px) {
  .p-cta__tel__number {
    pointer-events: none;
  }
}
.p-cta__time {
  font-size: 1.0em;
  line-height: 1;
}
.p-cta__date {
  margin-left: 5px;
  font-size: 0.75em;
}
/* ========================================
	全体 /solution/
======================================== */
.c-link__blank {
  border: 1px solid #c4c4c4;
  padding: 4px 8px;
}
@media only screen and (max-width: 767px) {
  .c-link__blank {
    display: block;
  }
}
.c-link__pdf {
  position: relative;
  padding-right: 36px;
}
.c-link__pdf:after {
  position: absolute;
  top: 72%;
  right: 0;
  width: 26px;
  height: 40px;
  margin-top: -20px;
  content: "";
  background: url(/image/hsc/common/icon_pdf.svg) no-repeat left top;
  background-size: 16px 22px;
}
.c-strong {
  font-weight: bold;
}
.l-txt-figure {
  display: flex;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
.l-txt-figure.u-fw10 .c-figure {
  width: 80px;
}
.l-txt-figure.u-fw10 .c-txt_box {
  width: 830px;
  flex-basis: 830px;
}
.l-txt-figure.u-fw20 .c-figure {
  width: 180px;
}
.l-txt-figure.u-fw20 .c-txt_box {
  width: 730px;
  flex-basis: 730px;
}
.l-txt-figure.u-fw30 .c-figure {
  width: 280px;
}
.l-txt-figure.u-fw30 .c-txt_box {
  width: 633px;
  flex-basis: 633px;
}
.l-txt-figure.u-fw40 .c-figure {
  width: 360px;
}
.l-txt-figure.u-fw40 .c-txt_box {
  width: 553px;
  flex-basis: 553px;
}
.l-txt-figure.u-fw50 .c-figure {
  width: 400px;
}
.l-txt-figure.u-fw50 .c-txt_box {
  width: 513px;
  flex-basis: 513px;
}
.l-txt-figure .c-figure__img {
  padding: 0;
}
@media only screen and (max-width: 767px) {
  .l-txt-figure .c-figure {
    margin: 0 auto;
  }
}
/* ========================================
	テレワークソリューション　/solution/telework/
======================================== */
.c-process {
  position: relative;
}
.c-process .step_logo {
  position: absolute;
  width: 26%;
  max-width: 190px;
  left: 37.5%;
}
.c-process .step_logo:hover {
  opacity: 0.7;
  transition: 0.5s all;
}
.c-process #logo1 {
  top: 10.5%;
}
.c-process #logo2 {
  top: 65%;
}
.c-process #logo3 {
  bottom: 6%;
}
@media only screen and (max-width: 767px) {
  .c-process #logo1 {
    top: 13%;
  }
  .c-process #logo2 {
    top: 63%;
  }
  .c-process #logo3 {
    bottom: 9%;
  }
}
/* ========================================
	ソリューション・商品名から探す　/solution/search/name/
======================================== */
.legacyicon li a:link, .legacyicon li a:visited, .sol2 li a:link, .sol2 li a:visited {
  background: none;
}
.searchSection li a {
  display: block;
  width: 180px;
  height: 75px;
  background-image: url(../../../solution/search/image/btn_src.png);
  background-repeat: no-repeat;
}
.l-solution {
  margin-bottom: 40px;
  background-color: #f8f0f0;
}
@media print, screen and (min-width: 768px) {
  .l-solution {
    padding: 24px 16px;
  }
}
@media only screen and (max-width: 767px) {
  .l-solution {
    padding: 24px 10px;
  }
}
.l-solution__inner {
  display: flex;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
.l-solution__category {
  border-radius: 4px;
  background-color: #ffffff;
}
@media print, screen and (min-width: 768px) {
  .l-solution__category {
    width: 48.945%;
    height: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .l-solution__category {
    width: 100%;
    height: 56px;
    margin-bottom: 8px;
  }
  .l-solution__category--last {
    margin-bottom: 0;
  }
}
.l-solution__category--last {
  background: #f0dfdf;
}
.l-solution__link--big {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none !important;
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
}
@media print, screen and (min-width: 768px) {
  .l-solution__link--big {
    position: relative;
  }
  .l-solution__link--big::after {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    transition: opacity 0.2s;
    opacity: 0;
    background-color: #f2f2f2;
  }
  .l-solution__link--big:hover::after {
    transition: opacity 0.3s;
    opacity: 0.3 !important;
  }
}
@media only screen and (max-width: 767px) {
  .l-solution__link--big {
    justify-content: flex-start;
    padding: 0 0 0 8px;
  }
}
.l-solution__link--big::after {
  border-radius: 4px;
}
@media print, screen and (min-width: 768px) {
  .l-solution__icon--tag {
    width: 33px;
    height: 33px;
    margin-right: 25px;
  }
}
@media only screen and (max-width: 767px) {
  .l-solution__icon--tag {
    width: 24px;
    height: 24px;
    margin-right: 8px;
  }
}
@media print, screen and (min-width: 768px) {
  .l-solution__icon--target {
    width: 47px;
    height: 47px;
    margin-right: 15px;
  }
}
@media only screen and (max-width: 767px) {
  .l-solution__icon--target {
    width: 24px;
    height: 24px;
    margin-right: 8px;
  }
}
/* ===========================================
	hero
=========================================== */
.c-hero {
  height: 200px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 24px;
}
@media print, screen and (min-width: 768px) {
  .c-hero {
    background-image: url(../../image/hsc/common/bg_hero.jpg);
  }
}
@media only screen and (max-width: 767px) {
  .c-hero {
    background-image: url(../../image/hsc/common/bg_hero_sp.jpg);
  }
}
.c-hero__title {
  font-weight: 500;
}
@media print, screen and (min-width: 768px) {
  .c-hero__title {
    padding-left: 15px;
  }
}
@media only screen and (max-width: 767px) {
  .c-hero__title {
    padding-left: 25px;
  }
}
.c-hero__title__main {
  display: block;
}
.c-hero__title > h1 {
  font-weight: 500;
}
@media print, screen and (min-width: 768px) {
  .c-hero__title__main, .c-hero__title > h1 {
    font-size: 1.88em;
    line-height: 1.2;
  }
}
@media only screen and (max-width: 767px) {
  .c-hero__title__main, .c-hero__title > h1 {
    font-size: 1.5em;
    line-height: 1.5;
  }
}
.c-hero__title__sub, .c-hero__title > p {
  display: block;
  color: #e60f33;
  font-size: 0.75em;
}
.c-hero__title > p {
  margin-bottom: .4em;
}
@media print, screen and (min-width: 768px) {
  .c-hero--search {
    background-image: url(../../solution/search/image/bg_hero.jpg);
  }
}
@media only screen and (max-width: 767px) {
  .c-hero--search {
    background-image: url(../../solution/search/image/bg_hero_sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  .c-hero--mobile_square {
    background-image: url(../../solution/category/image/mobile/bg_hero.jpg);
  }
}
@media only screen and (max-width: 767px) {
  .c-hero--mobile_square {
    background-image: url(../../solution/category/image/mobile/bg_hero_sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  .c-hero--security {
    background-image: url(../../solution/category/image/security/bg_hero.jpg);
  }
}
@media only screen and (max-width: 767px) {
  .c-hero--security {
    background-image: url(../../solution/category/image/security/bg_hero_sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  .c-hero--workstyle_reform {
    background-image: url(../../solution/category/image/work/bg_hero.jpg);
  }
}
@media only screen and (max-width: 767px) {
  .c-hero--workstyle_reform {
    background-image: url(../../solution/category/image/work/bg_hero_sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  .c-hero--ai {
    background-image: url(../../solution/category/image/ai/bg_hero.jpg);
  }
}
@media only screen and (max-width: 767px) {
  .c-hero--ai {
    background-image: url(../../solution/category/image/ai/bg_hero_sp.jpg);
  }
}
.c-hero--top {
  position: relative;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .c-hero--top {
    overflow: hidden;
    height: 390px;
    margin-bottom: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .c-hero--top {
    height: 50vw;
    margin-bottom: 65vw;
  }
}
.c-hero--top__mask {
  position: absolute;
  z-index: 20;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
  background: url(../../image/hsc/top/movie_mask.png) no-repeat left top;
  background-size: cover;
}
.c-hero--top__inner {
  position: relative;
  z-index: 30;
  height: 100%;
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
}
@media print, screen and (min-width: 768px) {
  .c-hero--top__inner {
    max-width: 965px;
    margin: 0 auto;
    padding: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-hero--top__inner {
    width: 100%;
    padding: 0 10px;
  }
}
@media only screen and (max-width: 767px) {
  .c-hero--top__inner {
    position: absolute;
    top: 55vw;
    left: 0;
    width: 100%;
    height: 60vw;
  }
}
.c-hero--top__box {
  background-color: #e60027;
}
@media print, screen and (min-width: 768px) {
  .c-hero--top__box {
    padding: 40px 24px;
  }
}
@media only screen and (max-width: 767px) {
  .c-hero--top__box {
    width: 100%;
    padding: 30px 20px;
  }
}
.c-hero--top__catch {
  color: #ffffff;
  font-weight: 300;
}
@media print, screen and (min-width: 768px) {
  .c-hero--top__catch {
    margin-bottom: 24px;
    font-size: 26px;
  }
}
@media only screen and (max-width: 767px) {
  .c-hero--top__catch {
    width: calc(100% + 10px);
    margin-bottom: 16px;
    margin-left: -5px;
    font-size: 5.9375vw;
  }
}
.c-hero--top__txt {
  color: #ffffff;
  font-weight: 300;
}
@media print, screen and (min-width: 768px) {
  .c-hero--top__txt {
    font-size: 1.25em;
    line-height: 1.4;
  }
}
@media only screen and (max-width: 767px) {
  .c-hero--top__txt {
    width: calc(100% + 10px);
    margin-left: -5px;
    font-size: 4.6875vw;
    line-height: 1.87;
  }
}
.c-hero--top__movie {
  position: absolute;
  z-index: 0;
  top: 0;
}
@media print, screen and (min-width: 768px) {
  .c-hero--top__movie {
    left: 0;
    height: auto;
  }
}
@media print, screen and (min-width: 1900px) {
  .c-hero--top__movie {
    top: 50%;
    width: 100%;
    transform: translateY(-50%);
  }
}
@media only screen and (max-width: 767px) {
  .c-hero--top__movie {
    right: 0;
    width: auto;
    height: 100%;
  }
}
/* ===========================================
	search
=========================================== */
.c-search {
  overflow: hidden;
  box-sizing: border-box;
  height: 26px;
}
@media print, screen and (min-width: 768px) {
  .c-search {
    width: 181px;
  }
}
@media only screen and (max-width: 767px) {
  .c-search {
    position: relative;
    width: 68.75%;
    margin: 0 auto;
  }
}
.c-search__input {
  box-sizing: border-box;
  height: 26px !important;
  margin: 0 !important;
  padding: 0 0 0 5px !important;
  border: solid 1px #e5e5e5;
  border-radius: 0;
  background-color: #ffffff;
  box-shadow: none;
}
@media print, screen and (min-width: 768px) {
  .c-search__input {
    width: 139px;
  }
}
@media only screen and (max-width: 767px) {
  .c-search__input {
    float: left;
    width: calc(100% - 41px);
    -webkit-appearance: none;
    appearance: none;
  }
}
.c-search__btn {
  box-sizing: border-box;
  width: 42px;
  height: 26px;
  margin: 0 !important;
  padding: 0 !important;
  color: #4d4d4d;
  border: 0;
  border-radius: 0;
  background-color: #cccccc;
  box-shadow: none;
  font-size: 0.75em;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .c-search__btn {
    float: right;
  }
}
@media only screen and (max-width: 767px) {
  .c-search__btn {
    position: absolute;
    top: 0;
    right: 0;
    -webkit-appearance: none;
    appearance: none;
  }
}
/* ===========================================
	hd
=========================================== */
.c-hd {
  font-weight: 500;
}
.c-hd--01 {
  position: relative;
  padding-bottom: 5px;
  border-bottom: 4px solid #ebebeb;
}
@media print, screen and (min-width: 768px) {
  .c-hd--01 {
    margin-bottom: 32px;
    font-size: 1.5em;
    line-height: 1.75;
  }
  .c-hd--01:not(:first-child) {
    margin-top: 70px;
  }
}
@media only screen and (max-width: 767px) {
  .c-hd--01 {
    margin-bottom: 20px;
    font-size: 1.25em;
    line-height: 1.45;
  }
  .c-hd--01:not(:first-child) {
    margin-top: 30px;
  }
}
.c-hd--01::before {
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 80px;
  height: 4px;
  content: "";
  background-color: #e60f33;
}
.c-hd--02 {
  margin-bottom: 24px;
  padding-bottom: 5px;
  border-bottom: 1px solid #e60f33;
  font-size: 1.125em;
  line-height: 1.5;
}
.c-hd--03 {
  margin-bottom: 16px;
  padding: 5px;
  font-size: 1.0em;
  line-height: 1.5;
  background: #efefef;
}
.c-hd--04 {
  margin-bottom: 16px;
  font-size: 1.0em;
  line-height: 1.5;
  padding: 0.1em 0.8em;
  border-left: 7px solid #000;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .c-hd--type01 {
    margin-bottom: 16px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
}
@media only screen and (max-width: 767px) {
  .c-hd--type01 {
    margin: 0 0 20px !important;
  }
}
.c-hd--type01__main, .c-hd--type01 h2 {
  position: relative;
  color: #333333;
  font-weight: 500 !important;
}
@media print, screen and (min-width: 768px) {
  .c-hd--type01__main, .c-hd--type01 h2 {
    margin: 0 16px 0 0;
    padding: 0 71px 0 0;
    font-size: 188%;
  }
}
.c-hd--type01 h2 {
  line-height: 1.3;
}
@media only screen and (max-width: 767px) {
  .c-hd--type01__main, .c-hd--type01 h2 {
    display: block;
    margin: 0 0 8px 0;
    padding: 0 0 8px 0;
    font-size: 125%;
    line-height: 1.7;
  }
}
.c-hd--type01__main::after, .c-hd--type01 h2::after {
  position: absolute;
  width: 55px;
  height: 2px;
  content: "";
  background-color: #dbdbdb;
}
@media print, screen and (min-width: 768px) {
  .c-hd--type01__main::after, .c-hd--type01 h2::after {
    top: 50%;
    right: 0;
    margin-top: -1px;
  }
}
@media only screen and (max-width: 767px) {
  .c-hd--type01__main::after, .c-hd--type01 h2::after {
    bottom: 0;
    left: 0;
  }
}
.c-hd--type01__sub, .c-hd--type01 p {
  color: #e60b27;
  font-weight: 500 !important;
}
@media print, screen and (min-width: 768px) {
  .c-hd--type01__sub, .c-hd--type01 p {
    font-size: 0.9em;
  }
}
@media only screen and (max-width: 767px) {
  .c-hd--type01__sub, .c-hd--type01 p {
    font-size: 0.63em;
  }
}
/* ===========================================
	txt
=========================================== */
.c-txt {
  font-size: 1.0em;
  line-height: 1.625;
}
.c-txt:not(:last-child) {
  margin-bottom: 20px;
}
@media print, screen and (min-width: 768px) {
  .c-txt--desc {
    margin-bottom: 16px;
    font-size: 0.87em;
  }
}
@media only screen and (max-width: 767px) {
  .c-txt--desc {
    margin-top: 16px;
    font-size: 1.0em;
    line-height: 1.38;
  }
  .c-hd--type01 + .c-txt--desc {
    margin-top: -4px;
  }
}
.c-txt--link {
  position: relative;
}
.c-txt--link:after {
  display: inline-block;
  content: "";
  width: 16px;
  height: 16px;
  background-image: url(../../image/hsc/common/icon_right-arrow.svg);
  background-position: right center;
  background-size: contain;
  vertical-align: middle;
}
/* ===========================================
	list
=========================================== */
.c-list:not(:first-child) {
  margin-top: 10px;
}
.c-list--link__item {
  margin-bottom: 5px;
  list-style-type: none;
  font-size: 1.0em;
}
.c-list__item {
  margin-bottom: 10px;
  padding-left: 14px;
  text-indent: -14px;
  font-size: 0.875em;
  line-height: 1.4;
}
.c-list__item::before {
  content: "\0030fb";
}
.c-list--line {
  margin-bottom: 24px;
}
.c-list--line--require {}
.c-list--line.u-gray .c-list--line__item {
  color: #777;
}
.c-list--line.u-gray .c-list--line__item .c-num {
  color: #777;
}
.c-list--line.u-red .c-list--line__item {
  color: #c02;
}
.c-list--line.u-red .c-list--line__item .c-num {
  color: #c02;
}
.c-list--line__item {
  position: relative;
  padding-left: 10px;
  font-size: 1.0em;
  line-height: 1.5;
}
.c-list--line__item:not(:last-child) {
  margin-bottom: 5px;
}
.c-list--line__item::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "\002d";
  line-height: 1.5;
}
.c-list--line--nav {
  display: flex;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}
@media print, screen and (min-width: 768px) {
  .c-list--line--nav {
    margin-right: -30px;
  }
}
@media print, screen and (min-width: 768px) {
  .c-list--line--nav .c-list--line__item {
    margin-right: 30px;
    padding-left: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .c-list--line--nav .c-list--line__item {
    margin-right: 0;
    width: 50%;
  }
}
.c-list--line--nav .c-list--line__item a {
  display: block;
  padding: 0 10px 0 20px;
}
.c-list--line--nav .c-list--line__item::before {
  display: inline-block;
  content: "";
  background: url(/solution/image/icon_angle-down.svg) no-repeat left center;
  background-size: contain;
  width: 30px;
  height: 26px;
}
.c-list--line--dots {
  padding-left: 1.5em;
}
.c-list--line--dots .c-list--line__item {
  padding-left: 0;
  list-style-type: disc;
}
.c-list--line--dots .c-list--line__item:before {
  content: none;
  background: none;
}
.c-list--line--num {
  padding-left: 1.5em;
}
.c-list--line--num .c-list--line__item {
  list-style-type: decimal;
}
.c-list--line--num .c-list--line__item:before {
  content: none;
  background: none;
}
.c-list--line--check .c-list--line__item {
  position: relative;
  padding-left: 1.8em;
}
.c-list--line--check .c-list--line__item:before {
  display: inline-block;
  content: "";
  width: 16px;
  height: 20px;
  background-image: url(../../image/hsc/common/icon_check_gray.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left 4px;
}
.c-list--line--notice .c-list--line__item {
  text-indent: -2em;
  padding-left: 2em !important;
  font-size: 0.93em;
  line-height: 1.51;
}
@media only screen and (max-width: 767px) {
  .c-list--line--notice .c-list--line__item {
    margin-right: 0;
  }
}
.c-list--line--notice .c-list--line__item:before {
  content: none;
  background: none;
}
.c-list--line--notice .c-list--line__item .c-num {
  margin-right: 10px;
}
.c-list--line--notice02 .c-list--line__item {
  text-indent: -1.5em;
  padding-left: 1.5em !important;
  font-size: 0.93em;
  line-height: 1.51;
}
@media only screen and (max-width: 767px) {
  .c-list--line--notice02 .c-list--line__item {
    margin-right: 0;
  }
}
.c-list--line--notice02 .c-list--line__item:before {
  position: relative;
  margin-right: 0.5em;
  content: "※";
  background: none;
}
.c-list--line--notice02 .c-list--line__item .c-num {
  margin-right: 10px;
}
.c-list--line--notice02.u-xsmall .c-list--line__item.u-small {
  font-size: 0.75em !important;
}
.c-dlist {
  font-size: 1.0em;
}
.c-dlist .c-dt:before {
  display: inline-block;
  content: "・";
  color: #bbb;
}
.c-dlist .c-dd {
  padding-left: 1em;
}
.c-dlist--faq .c-dt, .c-dlist--faq .c-dd {
  text-indent: -0.5em;
  margin-bottom: 10px;
  padding-left: 1em;
  padding-bottom: 10px;
  font-size: 1.0em;
}
.c-dlist--faq .c-dt:before, .c-dlist--faq .c-dd:before {
  display: inline-block;
  font-size: 1.125em;
  margin-right: 10px;
}
.c-dlist--faq .c-dt {
  font-weight: bold;
  border-bottom: 1px solid #b1b1b1;
}
.c-dlist--faq .c-dt:before {
  content: "Q.";
  color: #529ccb;
}
.c-dlist--faq .c-dd {
  padding-bottom: 20px;
}
.c-dlist--faq .c-dd:before {
  content: "A.";
  color: #e60b27;
  font-weight: bold;
}
/* ===========================================
	button
=========================================== */
.c-button {
  display: block;
  max-width: 100%;
  text-align: center;
  line-height: 1;
}
button.c-button {
  width: 100%;
  cursor: pointer;
}
.c-button--primary {
  padding: 15px;
  font-size: 1.0em;
  text-decoration: none !important;
  color: #333 !important;
  border: 1px solid #e60b27;
  background: transparent;
}
@media print, screen and (min-width: 768px) {
  .c-button--primary:hover {
    color: #fff !important;
    background-color: #e60b27 !important;
  }
}
.c-button--contact {
  text-align: center;
  text-decoration: none !important;
  color: #fff !important;
  border: 2px solid #fff;
  background: transparent;
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
}
@media print, screen and (min-width: 768px) {
  .c-button--contact {
    height: 68px;
    font-size: 1.125em;
  }
  .c-button--contact:hover {
    color: #E60B27 !important;
    background-color: #fff !important;
  }
  .c-button--contact:hover .c-button--contact__icon path {
    fill: #E60B27;
  }
}
@media only screen and (max-width: 767px) {
  .c-button--contact {
    height: 40px;
    font-size: 0.875em;
  }
}
.c-button--contact__txt {
  color: inherit;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .c-button--contact__icon {
    width: 36px;
    height: 36px;
    margin-right: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .c-button--contact__icon {
    width: 24px;
    height: 24px;
    margin-right: 6px;
  }
}
.c-btn--box {
  display: flex;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
.c-btn--box__list {
  width: 300px;
  margin-bottom: 10px;
}
.c-btn--box__list .c-backpage__txt::before {
  background-position: 30px top;
}
@media only screen and (max-width: 767px) {
  .c-btn--box__list .c-backpage__txt::before {
    background-position: left top;
  }
}
.c-btn--box02 {
  display: flex;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
.c-btn--box02 .c-btn--box__list {
  width: 48%;
}
@media only screen and (max-width: 767px) {
  .c-btn--box02 .c-btn--box__list {
    width: 100%;
  }
}
/* ===========================================
	figure
=========================================== */
.c-figure {
  margin-bottom: 30px;
  text-align: center;
  display: flex;
  align-items: center;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  min-height: 1%;
}
.c-figure__inner {
  text-align: left;
  max-width: 100%;
  min-height: 1%;
}
.c-figure__img {
  max-width: 100%;
  /*padding: 16px;*/
}
.c-figure--border .c-figure__img {
  border: 1px solid #d9d9d9;
}
.c-figure__caption {
  margin-top: 4px;
  line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
  .c-figure__caption {
    font-size: 0.875em;
  }
}
@media only screen and (max-width: 767px) {
  .c-figure__caption {
    font-size: 0.75em;
  }
}
.c-figure--lightbox em.download {
  color: #ccc;
  font-size: 13px;
  display: block;
}
/* ===========================================
	backpage
=========================================== */
.c-backpage {
  width: 100%;
  height: 45px;
  margin: 0 auto;
  text-decoration: none !important;
  color: #ffffff !important;
  background-color: #8b1010 !important;
  font-weight: normal !important;
  line-height: 1;
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
}
@media print, screen and (min-width: 768px) {
  .c-backpage {
    font-size: 1.0em;
  }
  .c-backpage:hover {
    opacity: 0.7;
  }
}
@media only screen and (max-width: 767px) {
  .c-backpage {
    padding: 0 10px;
    font-size: 1.0em;
  }
}
.c-backpage__txt {
  position: relative;
  color: inherit !important;
}
.c-btn--box__list .c-backpage__txt::after {
	position: absolute;
	display: inline-block;
	content: "";
	background: url(/solution/image/icon_angle-down.svg) no-repeat left center;
	width: 23px;
	height: 23px;
}
@media only screen and (max-width: 767px) {
	.c-btn--box__list {width: 49.5%;}
	.c-backpage__txt{padding-left:0;}
}
/* ===========================================
	c-audiojs
=========================================== */
.audiojs {
  margin: 0 auto 30px;
  color: initial;
  background: #404040;
}
.audiojs * {
  box-sizing: content-box !important;
}
.audiojs .play {
  background: url(/js/jp/add/audiojs/player-graphics.gif) -2px -1px no-repeat;
}
.audiojs audio {
  position: absolute !important;
  left: -1px !important;
}
.audiojs {
  display: flex !important;
  width: 100% !important;
  max-width: 460px !important;
  height: 36px !important;
  background: #404040 !important;
  overflow: hidden !important;
  font-family: monospace !important;
  font-size: 0.75em !important;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #444), color-stop(0.5, #555), color-stop(0.51, #444), color-stop(1, #444)) !important;
  background-image: -moz-linear-gradient(center top, #444 0%, #555 50%, #444 51%, #444 100%) !important;
  -webkit-box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.3) !important;
  -moz-box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.3) !important;
  -o-box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.3) !important;
  box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.3) !important;
}
.audiojs .play-pause {
  width: 38px !important;
  height: 40px !important;
  padding: 4px 6px !important;
  margin: 0px !important;
  overflow: hidden !important;
  border-right: 1px solid #000 !important;
  /*float: left;*/
}
.audiojs p {
  display: none !important;
  width: 25px !important;
  height: 40px !important;
  margin: 0px !important;
  cursor: pointer !important;
}
.audiojs .play {
  display: block !important;
}
.audiojs .scrubber {
  position: relative !important;
  /*float: left;*/
  width: 100% !important;
  background: #5a5a5a !important;
  height: 14px !important;
  margin: 10px !important;
  border-top: 1px solid #3f3f3f !important;
  border-left: 0px !important;
  border-bottom: 0px !important;
  overflow: hidden !important;
}
.audiojs .progress {
  position: absolute !important;
  top: 0px !important;
  left: 0px !important;
  height: 14px !important;
  width: 0px !important;
  background: #ccc !important;
  z-index: 1 !important;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #ccc), color-stop(0.5, #ddd), color-stop(0.51, #ccc), color-stop(1, #ccc)) !important;
  background-image: -moz-linear-gradient(center top, #ccc 0%, #ddd 50%, #ccc 51%, #ccc 100%) !important;
}
.audiojs .loaded {
  position: absolute !important;
  top: 0px !important;
  left: 0px !important;
  height: 14px !important;
  width: 0px !important;
  background: #000 !important;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #222), color-stop(0.5, #333), color-stop(0.51, #222), color-stop(1, #222)) !important;
  background-image: -moz-linear-gradient(center top, #222 0%, #333 50%, #222 51%, #222 100%) !important;
}
.audiojs .time {
  /*float: left; */
  height: 36px !important;
  line-height: 36px !important;
  margin: 0px 0px 0px 6px !important;
  padding: 0px 6px 0px 12px !important;
  border-left: 1px solid #000 !important;
  color: #ddd !important;
  text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.5) !important;
}
.audiojs .time em {
  padding: 0px 2px 0px 0px !important;
  color: #f9f9f9 !important;
  font-style: normal !important;
}
.audiojs .time strong {
  padding: 0px 0px 0px 2px !important;
  font-weight: normal !important;
}
.audiojs .error-message {
  float: left !important;
  display: none !important;
  margin: 0px 10px !important;
  height: 36px !important;
  width: 400px !important;
  overflow: hidden !important;
  line-height: 36px !important;
  white-space: nowrap !important;
  color: #fff !important;
  text-overflow: ellipsis !important;
  -o-text-overflow: ellipsis !important;
  -icab-text-overflow: ellipsis !important;
  -khtml-text-overflow: ellipsis !important;
  -moz-text-overflow: ellipsis !important;
  -webkit-text-overflow: ellipsis !important;
}
.audiojs .error-message a {
  color: #eee !important;
  text-decoration: none !important;
  padding-bottom: 1px !important;
  border-bottom: 1px solid #999 !important;
  white-space: wrap !important;
}
.audiojs .play {
  background: url(/js/jp/add/audiojs/player-graphics.gif) -2px -1px no-repeat !important;
}
.audiojs .loading {
  background: url(/js/jp/add/audiojs/player-graphics.gif) -2px -31px no-repeat !important;
}
.audiojs .error {
  background: url(/js/jp/add/audiojs/player-graphics.gif) -2px -61px no-repeat !important;
}
.audiojs .pause {
  background: url(/js/jp/add/audiojs/player-graphics.gif) -2px -91px no-repeat !important;
}
.playing .play, .playing .loading, .playing .error {
  display: none !important;
}
.playing .pause {
  display: block !important;
}
.loading .play, .loading .pause, .loading .error {
  display: none !important;
}
.loading .loading {
  display: block !important;
}
.error .time, .error .play, .error .pause, .error .scrubber, .error .loading {
  display: none !important;
}
.error .error {
  display: block !important;
}
.error .play-pause p {
  cursor: auto !important;
}
.error .error-message {
  display: block !important;
}
@media only screen and (max-width: 767px) {
  .scroll {
    margin-bottom: 20px;
    overflow: auto;
    white-space: nowrap;
  }
  .scroll::-webkit-scrollbar {
    height: 5px;
  }
  .scroll::-webkit-scrollbar-track {
    background: #f1f1f1;
  }
  .scroll::-webkit-scrollbar-thumb {
    background: #bcbcbc;
  }
}
.c-table {
  width: 100%;
  border-top: solid 1px #ddd9db;
  border-left: solid 1px #ddd9db;
}
.c-table__th, .c-table__td {
  text-align: left;
  vertical-align: top;
  color: #232323;
  border-right: solid 1px #ddd9db;
  border-bottom: solid 1px #ddd9db;
  font-weight: normal;
}
.c-table__th {
  padding: 25px 16px;
  background-color: #f9f9f9;
  font-size: 1.0em;
  line-height: 1.36;
}
.c-table__th__bg01 {
  background-color: #4451a0;
  color: #fff;
}
.c-table__th--center {
  text-align: center;
}
.c-table__td {
  padding: 24px 17px;
  background-color: #fff;
  font-size: 1.0em;
  line-height: 1.19;
}
@media only screen and (max-width: 767px) {
  .c-table__wrap {
    overflow-x: scroll;
    padding-bottom: 20px;
  }
  .c-table__wrap .c-table__th {
    white-space: nowrap;
  }
}
@media print, screen and (min-width: 768px) {
  .u-use-sp {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .u-use-pc {
    display: none;
  }
}
.u-small {
  font-size: 0.935em;
}
.u-right {
  text-align: right;
}
.u-center {
  text-align: center;
}
.u-red {
  color: #c02;
}
.u-gray {
  color: #777;
}
.c-box--tit {
  background: #aaa;
  padding: 10px 20px;
  font-size: 1.0em;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .c-box--tit {
    margin-bottom: 0 !important;
  }
}
.c-box--inner {
  padding: 10px 20px;
  background: #efefef;
}
.c-box--txt {
  font-size: 0.875em;
}
.c-box--02 .c-box--tit {
  padding-bottom: 0;
  background: #efefef;
  font-weight: bold;
  color: #333;
}
.c-box--03 {
  width: 100%;
  display: table;
  border: 1px solid #e60b27;
}
.c-box--03 .c-box--tit {
  display: table-cell;
  width: 10em;
  background: #e60b27;
  font-weight: bold;
  color: #fff;
  vertical-align: middle;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-box--03 .c-box--tit {
    display: block;
    width: 100%;
  }
}
.c-box--03 .c-list {
  padding-left: 40px;
}
@media only screen and (max-width: 767px) {
  .c-box--03 .c-list {
    padding: 10px 20px;
  }
}
.c-box--03 .c-list__item {
  padding-left: 0;
  text-indent: 0;
  font-size: 1.0em;
}
.c-box--03 .c-list__item:before {
  content: none;
}
.c-box--half {
  display: flex;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media print, screen and (min-width: 768px) {
  .c-box__inner {
    width: 49%;
  }
}
.c-box__inner:nth-of-type(1) {
  margin-bottom: 10px;
}
.c-box__inner .c-figure__img {
  padding: 0;
}
.c-box--select {
  padding: 16px;
  background: #f8f0f0;
}
.c-box--select__label {
  outline: none;
  border: none;
  appearance: none;
}
.c-box--select__select {
  width: 100%;
  padding: 10px;
  background: #fff;
  outline: none;
  box-sizing: border-box;
}
.u-icon::before, .u-icon:after {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: inline-block;
  content: "";
}
.u-icon:after {
  margin-left: 4px;
}
.u-icon.u-url:after {
  width: 12px;
  height: 12px;
  background-image: url(../../image/hsc/common/icon_right-arrow.svg);
}
.u-icon.u-pdf:after {
  width: 15px;
  height: 22px;
  background-image: url(../../image/hsc/common/icon_pdf.svg);
  vertical-align: middle;
}
.u-icon.u-mail:after {
  width: 15px;
  height: 15px;
  background-image: url(../../image/hsc/common/icon_mail.svg);
}
.u-icon.u-list:before {
  display: inline-block;
  content: "・";
  color: #777;
  font-size: 1.25em;
}
.u-icon.u-blank:after {
  width: 15px;
  height: 15px;
  background-image: url(../../image/hsc/common/icon_new-window.svg);
}
.u-icon.u-dl:after {
  width: 14px;
  height: 14px;
  background-image: url(../../image/hsc/common/icon_download.svg);
}
.u-icon.u-movie:after {
  width: 14px;
  height: 14px;
  background-image: url(../../image/hsc/common/icon_movie.svg);
}
.u-icon.u-sound:after {
  width: 14px;
  height: 14px;
  background-image: url(../../image/hsc/common/icon_speaker.svg);
}
.c-column {
  margin-top: 30px;
  padding: 0 20px 20px;
  background: #f8f0f0;
}
.c-column--tit {
  display: inline-block;
  transform: translateY(-1.2em);
  padding: 10px;
  background: #e60b27;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .c-column--tit {
    margin-bottom: 0;
  }
}
.c-column--inner {
  display: flex;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.c-column--inner .c-list {
  margin-top: 0;
}
.c-column--inner .c-list__item {
  font-size: 1.0em;
}
.c-column .c-figure {
  margin-bottom: 0;
  margin-right: 40px;
}
@media only screen and (max-width: 767px) {
  .c-column .c-figure {
    margin: 0 auto 20px;
    text-align: center;
  }
}
.c-column .c-figure__img {
  padding: 0;
}
.c-bnr {
  display: flex;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
.c-bnr__list {
  margin-bottom: 20px;
}
.c-bnr__list__link {
  display: block;
}
.u-sticky {
  padding: 20px;
  position: fixed;
  background: rgba(255, 255, 255, 0.9);
  z-index: 2;
  top: 0;
  right: 0;
  box-shadow: 1px 3px 10px rgba(0, 0, 0, 0.3);
}
.remodal {
  background: rgba(255, 255, 255, 0.8);
}
.remodal.remodal-is-opened {
  padding: 35px;
}
@media only screen and (max-width: 767px) {
  .remodal.remodal-is-opened {
    padding: 10px;
  }
}
.remodal > .remodal-close {
  right: 0;
  left: auto;
  color: #e60b27;
}
.remodal > .remodal-close::before {
  top: 0;
  right: 0;
  left: auto;
  width: 35px;
  line-height: 35px;
}
@media only screen and (max-width: 767px) {
  .remodal > .remodal-close::before {
    width: 15px;
    line-height: 15px;
  }
}
.remodal #video {
  max-width: 100%;
}
.remodal div img {
  max-width: 100%;
}
@media only screen and (max-width: 767px) {
  .remodal {
    max-width: 100%;
  }
}
/*　2023-8-23update__________________ver:I　*/
@media only screen and (max-width: 767px) {
  .l-article__inner #sec01 {
    margin-bottom: 20px;
  }
  #sec02 {
    margin-top: 20px;
  }
  .c-figure {
    margin-bottom: 10px;
  }
  .c-hero__title {
    padding: 0 10px;
  }
  .sp-only-br {
    display: block;
    margin: 0;
    padding: 0;
    line-height: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .sp-only-br {
    display: none;
  }
}
/* ===================================================
   追従型CTA基本情報 2023-9-25update
==================================================== */
.cta__container {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 10px;
  background-color: #e5e5e5;
  text-align: center;
}
.cta__caption {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 8px 0;
  font-size: 0.75em;
  font-weight: 600;
}
.cta__btn a:hover {
  opacity: 0.8;
  text-decoration: none;
  cursor: pointer;
}
.p-cta {
  position: fixed;
  z-index: 40;
  bottom: 0;
  left: 0;
  display: none;
  width: 100%;
  background: #e5e5e5;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
@media print, screen and (min-width: 768px) {
  .p-cta {
    height: 90px;
  }
}
@media only screen and (max-width: 767px) {
  .p-cta {
    padding: 0px;
  }
}
/* ===================================================
   追従型CTAボタン部分ボックス
==================================================== */
.cta__btn {
  width: 100%;
  display: block;
  margin: 0 auto;
  padding: 0;
  background-color: #e5e5e5 !important;
  text-align: center;
}
.cta__btn .btn_one a {
  width: 80%;
  margin-left: 10%;
}
.cta__btn .btn_two a {
  width: 48%;
  margin-left: 1.5%;
}
@media only screen and (min-width: 768px) {
  .cta__btn {
    max-width: 965px;
    width: 100%;
  }
  .cta__btn .btn_one a {
    width: 50%;
    margin-left: 25%;
  }
  .cta__btn .btn_two a {
    width: 48%;
  }
}
.cta__btn a {
  display: block;
  width: 32%;
  margin: 0 auto 0 1%;
  text-align: center;
  float: left;
  line-height: 1.0;
  padding: 6px 0;
}
@media print, screen and (min-width: 768px) {
  .cta__btn a {
    display: inherit !important;
    position: relative;
    padding: 12px 0;
    line-height: 1.4;
  }
}
/* ===================================================
   追従型CTAボタン部分アイコン
==================================================== */
@media only screen and (min-width: 768px) {
  .cta__btn a::before {
    display: inline-block;
    margin-left: 0px;
    width: 25px;
    height: 25px;
    position: absolute;
    background-size: 100% auto;
  }
}
@media screen and (max-width: 767px) {
  .cta__btn a::before {
    width: 22px;
    height: 22px;
    background-size: 100% auto;
  }
}
/* ===================================================
   固定型CTA基本情報 2023-9-27update
==================================================== */
.cta_area_container {
  display: block;
  width: 100%;
  margin: 20px auto 60px;
  padding: 10px 0 20px;
  background-color: #FFD2D2;
  text-align: center;
}
.cta_area_caption {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 8px 0 15px;
  font-size: 1.0em;
  font-weight: 600;
}
@media only screen and (max-width: 767px) {
  .cta_area_caption {
    font-size: 0.875em;
  }
  .cta_area_container {
    min-width: 100%;
  }
}
/* ===================================================
   固定型CTAボタン部分
==================================================== */
.cta_area_btn {
  display: block;
  width: 80%;
  margin: 0 auto;
  padding: 0;
  background-color: #FFD2D2 !important;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .cta_area_btn .btn_one a {
    width: 90% !important;
    margin-left: 5% !important;
  }
  .cta_area_btn .btn_two a {
    width: 48% !important;
    margin-left: 1.5% !important;
  }
}
@media only screen and (min-width: 768px) {
  .cta_area_btn .btn_one a {
    width: 50%;
    margin-left: 25%;
  }
  .cta_area_btn .btn_two a {
    width: 48%;
  }
}
@media only screen and (max-width: 640px) {
  .cta_area_btn {
    width: 95%;
  }
}
@media only screen and (max-width: 480px) {
  .cta_area_btn {
    width: 95%;
  }
}
.cta_area_btn a {
  display: block;
  width: 32%;
  margin: 0 auto 0 1%;
  padding: 10px 0 3px 0;
  background-color: #e60b27 !important;
  float: left;
  cursor: pointer;
}
.cta_area_btn a:hover {
  opacity: 0.8;
}
@media only screen and (min-width: 768px) {
  .cta_area_btn a {
    display: block;
    padding: 8px 0;
  }
}
@media only screen and (max-width: 767px) {
  .cta_area_btn a {
    display: block !important;
    position: relative;
  }
  .cta_area_btn a:first-child, .cta_area_btn a:nth-child(2) {
    width: 48.5%;
    margin: 0 auto 0 1%;
    padding: 10px 0;
    text-align: center;
    float: left;
  }
  .cta_area_btn a:nth-child(3) {
    width: 98%;
    margin: 5px auto 0 1%;
    padding: 10px 0 10px 0;
    text-align: center;
    float: left;
  }
}
/* ===================================================
   固定型CTAボタンアイコン部分
==================================================== */
.cta_area_btn a::before {
  content: "";
  display: inline-block;
  margin-left: 0px;
  width: 25px;
  height: 25px;
  position: absolute;
  background-size: 100% auto;
}
@media only screen and (max-width: 480px) {
  .cta_area_btn a::before {
    width: 20px;
    height: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .info_mgn {
    margin-bottom: 24px;
  }
}
.p-breadcrumb__list {
  flex-wrap: nowrap;
}
/* ===================================================
   セキュリティページsolution表
==================================================== */
.solution__list {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 40px 0;
  background-color: #DDD;
}
.flex_container {
  display: block;
  width: 95%;
  margin: 0 auto 20px;
}
.flex_container ul {
  flex-wrap: wrap;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.flex_container ul li {
  width: 33%;
  background-color: #FFF;
  margin: 1px auto;
  border: 1px solid #e5e5e5;
  box-sizing: border-box;
}
.flex_container ul li:last-child {
  display: block;
  opacity: 0;
}
.newtag {
  font-size: 63%;
  background-color: #990000;
  padding: 0 3px;
  font-weight: bold;
  margin-right: 2px;
  color: #FFF !important;
}
@media only screen and (max-width: 767px) {
  .flex_container {
    width: 98%;
    margin: 0 auto;
  }
  .flex_container ul li {
    width: 48%;
    margin: 5px auto;
  }
  .flex_container ul li:last-of-type {
    margin-left: 5px;
  }
}
.textbox {
  display: block;
  width: 90%;
  margin: 15px auto;
}
@media only screen and (max-width: 767px) {
  .textbox {
    margin: 10px auto;
  }
}
.solution__title {
  font-weight: bold;
  margin-bottom: 5px;
}
.text_product {
  display: block;
  height: 100%;
  font-size: 13px;
  margin: 10px 0;
}
.text_product a {
  display: block;
}
.text_product span {
  margin-roght: 3px;
  color: #111;
}
.tagbox {
  border-top: 1px solid #CCC;
  margin-top: 5px;
}
.tagbox :last-child {
  margin-right: 0;
}
.Govern, .Identify, .Protect, .Detect, .Respond, .Recover {
  padding: 0 4px;
  font-size: 13px;
  color: #FFF;
  font-weight: 100;
  border-radius: 3px;
  margin-right: 3px;
}
.Govern {
  background-color: #f9f49d;
  color: #000 !important;
}
.Identify {
  background-color: #5095c1;
}
.Protect {
  background-color: #9574b2;
}
.Detect {
  background-color: #d88f00;
}
.Respond {
  background-color: #e5756d;
}
.Recover {
  background-color: #74b349;
}
/* ===================================================
   動作環境ページ
==================================================== */
.section--require {
  margin-bottom: 20px;
}
.require--Innerlink {
  flex-wrap: wrap;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin-bottom: 16px;
  flex: auto;
}
@media only screen and (max-width: 767px) {
  .require--Innerlink {
    font-size: 0.93em;
  }
  .c-list--line--require li {
    font-size: 1.0em;
  }
}
.require--Innerlink li a {
  color: #1a0dab;
}
.require--Innerlink li a::after {
  content: '';
  display: inline-block;
  background-image: url(/image/jp/r1/icon/icon_link_bottom_hd.gif);
  width: 18px;
  height: 18px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 0 0;
  margin-bottom: -4px;
}
.require--Innerlink li:not(:last-child) {
  margin-right: 12px;
}
.download--pdf {
  background-color: #f2f2f2;
  padding: 15px 30px;
}
.section--require a {
  color: #1a0dab;
}
.section--require a:visited {
  color: #609;
}
.section--require .c-list--link__item {
  font-size: 0.875em;
}
@media only screen and (max-width: 767px) {
	
}
/* ===================================================
   downloadページ
==================================================== */
.dl-btn {
  display: block;
  width: 500px;
  height: 60px;
  margin: 0 auto 20px;
  padding: 15px 0;
  background-color: #b1000e;
  text-align: center;
  border-radius: 50px;
  position: relative;
}
.dl-btn a {
  color: #FFF;
  font-weight: bold;
  font-size: 1.125em;
  line-height: 120%;
  position: absolute;
  top: 10px;
  right: 0;
  bottom: 0;
  left: 0;
}
.dl-btn:hover {
  opacity: 0.8;
}
.dl-btn a span {
  display: block;
  font-size: 0.75em;
  color: #FFF;
  font-weight: 100;
}
.dl-btn a:hover{ text-decoration: none!important;}
@media only screen and (max-width: 767px) {
  .dl-btn {
    width: 80%;
  }
}
/* ===================================================
   ボイスソムリエdownloadページ
==================================================== */
.dl-btn-2 {
  display: block;
  width: 500px;
  height: 60px;
  margin: 0 auto 20px;
  padding: 15px 0;
  background-color: #b1000e;
  text-align: center;
  border-radius: 50px;
  position: relative;
  color: #FFF;
  font-weight: bold;
  font-size: 1.125em;
  line-height: 120%;
}
.dl-btn span {
  display: block;
  font-size: 0.75em;
  color: #FFF;
  font-weight: 100;
}
.dl-btn-2:hover {
  opacity: 0.8;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .dl-btn-2 {
    width: 80%;
  }
}
/* ===================================================
   サイトマップページデザイン調整
==================================================== */
#Sitemapx404__Container .section--require a, #Sitemapx404__Container .section--require a:visited {
  color: #000;
}
#Sitemapx404__Container .section--require .c-hd--01 {
  font-size: 120%;
  margin-bottom: 15px;
}
#Sitemapx404__Container .section--require .c-hd--02 {
  margin-bottom: 10px;
}
/* ===================================================
   クロージング用
==================================================== */
.oc_text {
  margin-bottom: 60px;
}
.oc_text h3 {
  margin: 0 0 15px 0;
  line-height: 150%;
  padding: 15px;
  font-size: 140%;
  font-weight: 400;
  background-image: url(/image/hsc/common/bg_hero.jpg);
}
.oc_text h2 {
  margin: 0 0 15px 0;
  line-height: 150%;
  padding: 15px;
  font-size: 140%;
  font-weight: 400;
  background-image: url(/image/hsc/common/bg_hero.jpg);
}
/* SP・タブレット */
@media only screen and (max-width: 767px) {
  .oc_text h3 {
    font-size: 120%;
    font-weight: 600;
  }
}
/* ===================================================
   価格ボックス
==================================================== */
.section--price {
  margin-bottom: 30px
}
.section--price .c-list--line--notice {
  margin-top: 20px;
}
/* ===================================================
   導入事例リンクボタン
==================================================== */
.p-case__btn {
  display: block;
  margin: 0 auto;
  width: 100;
  font-size: 1.0em;
  background-color: #e60f33;
  padding: 10px 0;
  text-align: center;
  text-decoration: none;
  border-radius: 20px;
}
.p-case__ctlbtn {
  display: block;
  margin: 0 auto;
  width: 100;
  font-size: 1.0em;
  background-color: rgb(74, 74, 74) !important;
  padding: 10px 0;
  text-align: center;
  text-decoration: none;
  border-radius: 20px;
}
.p-case__btn-txt {
  color: #FFF;
  font-weight: 600;
}
.p-case__btn a:hover,.p-case__ctlbtn a:hover {
  opacity: 0.8;
  text-decoration: none;
}
.p-case__btn-txt:before {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 8px;
  border-color: transparent transparent transparent #ffffff;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  top: -2px;
  margin-right: 8px;
}
/* ===================================================
   トップページ事例部分テキストデザイン
==================================================== */
.p-case__top, .p-case__line {
  color: #000 !important;
  font-size: 0.78em !important;
  line-height: 1.625 !important;
  font-weight: normal;
  width: 100%;
  margin-top: 16px;
}
.p-case__line {
  border-top: 1px solid #CCC;
}
@media only screen and (max-width: 767px) {
  .p-case__top, .p-case__line {
    margin-top: 16px !important;
  }
}
/* ===================================================
  レスポンシブ型並列ボックス
==================================================== */
.twobox_outer {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.twobox_outer > div {
  border: 5px solid #FFF;
  padding: 15px;
}
.l-problem-title {
  font-weight: bold;
  color: #FFF;
}
.l-problem {
  background-color: #0099cc;
  width: 60%;
  border-right: none !important;
}
.r-solve {
  background-color: #c9e8f3;
  width: 40%;
  border-left: none !important;
}
.r-solve p span {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-top: solid 3px #000;
  border-right: solid 3px #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-right: 15px;
}
@media only screen and (max-width: 767px) {
  .twobox_outer > div {
    border: none;
    padding: 10px;
    margin: 0;
  }
  .l-problem, .r-solve {
    width: 100%;
    padding: 0;
  }
  .r-solve {
    margin-bottom: 5px !important;
  }
}
/* ===================================================
  レスポンシブ型Point並列ボックス
==================================================== */
.pointbox-outer {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  margin-bottom: 5px;
}
.pointbox-outer > div {
  border: 1px solid #336699;
  padding: 10px;
}
.pointbox-problem h4{  
  font-size: 1.125rem;
  text-align: center;
  position: relative;
  font-weight: bold;
  color: #FFF;
  top: 50%;
  -webkit-transform : translateY(-50%);
  transform : translateY(-50%);
}
.pointbox-problem {
  background-color: #336699;
  width: 15%;
  border-right: none !important;
}
.pointbox-solve {
  background-color: #FFF;
  width: 85%;
  box-sizing: border-box;
}
.pointbox-solve h4{
  line-height: 1.4;
  font-weight: normal;
}
@media only screen and (max-width: 767px) {
  .pointbox-outer > div {
    padding: 10px;
    margin: 0;
  }
  .pointbox-problem, .pointbox-solve {
    width: 100%;
    padding: 0;
  }
  .pointbox-solve {
    margin-bottom: 5px !important;
  }
}
/* ===================================================
  画像付きのチェックポイント（ex.Hi-PerBT）
==================================================== */
.caption_chk-d {
	display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.caption_chk-dl{
    width: 48%;
    display: block;
    padding: 10px 20px;
    margin: 0 auto;
    border: 1px solid #336699;
    box-shadow: 2px 2px 4px gray;
}
.caption_chk-dl img{
    width: 100%;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #336699;
}
@media only screen and (max-width: 767px) {
    .caption_chk-dl{
        width:100%;
        margin: 0 auto 10px;
    }
}
/* ===================================================
   ボイスソムリエネオ申し込みブロック
==================================================== */
.cta__free, .cta__free_2 {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  text-align: center;
}
.cta__free a::before, .cta__free_2 a::before {
  content: "";
  display: inline-block;
  margin-left: 0px;
  width: 25px;
  height: 25px;
  position: absolute;
  background-size: 100% auto;
}
@media only screen and (max-width: 767px) {
  .cta__free .btn_one a, .cta__free_2 .btn_one a {
    width: 100% !important;
  }
}
@media only screen and (min-width: 768px) {
  .cta__free .btn_one a, .cta__free_2 .btn_one a {
    width: 80%;
    margin: 0 auto;
  }
}
.cta__free a, .cta__free_2 a {
  display: block;
  margin: 0 auto 0 1%;
  padding: 12px 0 12px 0;
  float: left;
  cursor: pointer;
}
.cta__free a {
  background-color: #e60b27 !important;
}
.cta__free_2 a {
  background-color: rgb(74, 74, 74) !important;
  border-bottom: 4px solid rgb(51, 51, 51);
  border-radius: 4px;
}
.cta__free a:hover, .cta__free_2 a:hover {
  opacity: 0.8;
}
.cta__free_txt {
  margin: 0 auto;
  padding: 0;
  font-weight: bold;
  color: #FFF;
}
@media only screen and (min-width: 768px) {
  .cta__free_txt {
    font-size: 1.25em;
    width: auto;
    display: inline-block;
    padding-left: 35px;
    top: 0;
    bottom: 0;
    margin: auto;
  }
}
@media only screen and (max-width: 767px) {
  .cta__free_txt {
    font-size: 0.93em;
    margin-left: 35px !important;
    display: inline-block;
    width: auto;
  }
  .cta__free_txt a {
    display: block;
  }
}
@media only screen and (max-width: 480px) {
  .cta__free_txt {
    margin-left: 25px !important;
  }
}
/* ===================================================
   サブタイトル用
==================================================== */
.subtitle{font-size: 0.58em;}
/* ===================================================
   QAデザイン用
==================================================== */
.qa-list li{ margin-bottom:2em; }
.qa-list .qa-q{ position:relative; margin-left:3em; min-height:2em; border-bottom:1px solid #e60f33; margin-bottom:.5em; padding-bottom: .5em; font-weight:bold; font-size:110%; }
.qa-list .qa-a{ position:relative; margin-left:3.3em; min-height:2em; }
.qa-list .qa-q:before,
.qa-list .qa-q:after,
.qa-list .qa-a:before{ position:absolute; left:-2.5em; top:50%; transform:translateY(-50%); width:2em; font-weight:bold; font-size:120%; text-align:center; line-height:1; }
.qa-list .qa-q:before{ color:#fff; content: "Q"; z-index: 1;}
.qa-list .qa-q:after{ background:#ffaaaa; width:2em; height:2em; content: ""; border-radius:2em; }
.qa-list .qa-a:before{ left:-2.6em; color:#e60f33; content: "A";}
/* ===================================================
   右矢印戻るボタン
==================================================== */
.c-halfbutton{
width: 60%;
height: 45px;
margin: 0 auto;
text-decoration: none !important;
color: #ffffff !important;
background-color: #8b1010 !important;
font-weight: normal !important;
line-height: 1;
display: flex;
align-items: center;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;		
}
.c-halfbutton:hover{
	opacity: 0.7;
}
@media print, screen and (max-width: 767px) {
.c-halfbutton{width: 100%;}
}
.c-halfbutton__txt,.c-halfbutton__blank{
position: relative;
color: inherit !important;
}
.c-halfbutton__txt::after{
content: '';
display: inline-block;
background-image: url("/image/hsc/common/icon_right-arrow_wh.svg");
width: 15px;
height: 15px;
background-size: cover;
background-repeat: no-repeat;
background-position: 0 0;
margin: 5px 0 0 5px;
}
.c-halfbutton__blank::after{
content: '';
display: inline-block;
background-image: url("/image/hsc/common/icon_new-window_white.svg");
width: 15px;
height: 15px;
background-size: cover;
background-repeat: no-repeat;
background-position: 0 0;
margin: 5px 0 0 5px;
}
/* ===================================================
   お知らせページ
==================================================== */
.info-box{
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    justify-content: space-around;
    margin-bottom:10px;
    font-size: 0.875em;
}
.info-time{
    width: 13%;
}
.info-txt{
    width: 87%;		
    line-height: 160%;
}
@media only screen and (max-width: 767px) {
    .info-box{
        margin-bottom: 10px;
    }
    .info-time,.info-txt{
        width: 100%;
    }
    .info-time{
        font-weight: 600;
        color: #777;
    }
}
/* ===================================================
   サステナビリティページ
==================================================== */
#SX_icon-Section{
display:flex; 
justify-content:flex-start;
flex-wrap: wrap;
width: 100%;
height:auto;
padding:10px 0 0 0;
}
.SX_icon-Box_1{
background:#FFF;		
width: 100%;
border:5px solid #fff;
box-sizing: border-box;
}
.SX_icon-Box{
background:#FFF;		
width: 50%;
border:5px solid #fff;
box-sizing: border-box;
} 
.SX_icon-Box h3,.SX_icon-Box_1 h3{
font-size: 1.0em;
margin: 10px 0;
font-weight:bold;
}
.SX_icon-Img,.SX_icon-Img_1{ 
border:1px solid #000;
border-radius: 10px;
text-align: center;
}
.SX_icon-Img span,.SX_icon-Img_1 span{
display: block;
width:90%;
margin:0 auto 15px;
}
.SX_icon-Img img{width:30%;}
.SX_icon-Img_1 img{width:15%;
margin-top: 5px;}
.SX_icon-Menu{
font-size: 0.875em;
margin: 10px 0 10px 5px;
}
@media print, screen and (max-width: 767px) {
.SX_icon-Box{width:100%;}
}
.s-new_icon {
  display: inline;
  color: #FFF;
  background-color: #e60f33;
  padding: 1px 3px;
  margin-right: 10px;
  font-size: 0.875em;
}
/* ===================================================
   FlexーImage＋Text
==================================================== */
.Flex-Container{
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    justify-content: space-around;
    padding:0px;
    margin-bottom: 20px;
}
.Flex-Box-Two,.Flex-Box-Three,.Flex-Box-Four{
    padding: 20px;
    background-color: #d7e9f5;
    border-radius: 10px;
    margin-bottom: 10px;
}
.Flex-Box-Two{
    width: calc((100% - 30px) /2);
}
.Flex-Box-Three{
    width: calc((100% - 30px) /3);
}
.Flex-Box-Four{
    width: calc((100% - 30px) /4);
}
.Flex-Box-img{
    display: block;
    width: 100%;
    margin: 0 auto;
    margin-bottom: 10px;
}
.Flex-Box-img img{
    width: 100%;
}
.Flex-Box-text{		
}
.Flex-Box-text h3,.Flex-Box-img h3,
.Flex-Box-text h4,.Flex-Box-img h4,
.Flex-Box-text h5,.Flex-Box-img h5{
    font-size: 1.25em;
    font-weight: bold;
    color: #0a335b;
    text-align: center;
    margin-bottom: 10px;
}
.Flex-box-txt p{
    font-size: 0.875em !important;
}
@media only screen and (max-width: 767px) {
    .Flex-Box-Two,.Flex-Box-Three,.Flex-Box-Four{
        width: 100%;
        display: flex;
        align-items: stretch;
        flex-wrap: wrap;
        justify-content: space-around;
        padding: 10px;

    }
    .Flex-Box-img{
        width: 40%;
        padding: 5px;
        align-self: center;
    }
    .Flex-Box-Two,.Flex-Box-Three,.Flex-Box-Four,.Flex-Box-img,.Flex-Box-img h3,.Flex-Box-text h3{
        margin-bottom: 5px;
    }
    .Flex-Box-text{
        width: 60%;
        padding: 5px;
    }
}
/* 製品ページ内お知らせボックス */
.InfoBox--gr{
    clear: both;
    margin: 0 0 15px;
    background-color: #f2f2f2;
    margin-bottom: 20px;
}
.InfoBox_Date{
	font-weight: bold;
	color: #6a6a6a;
}
.InfoBox--gr:after{
    content: "";
    display: block;
    clear: both;
}
.InfoBox--gr h2{
    min-height: 20px;
    margin: 15px 0 0 0;
    padding: 8px 15px;
    font-size: 96%;
    font-weight: normal;
    color: #fff;
    line-height: 130%;
    border: none;
    background-color: #737373;
    background-image: none;
}
.InfoBox_Inner{
    background-color: #EEE;
    padding: 10px 8px 5px;
}
.InfoBox--gr p{
    margin-bottom: 10px;
    padding-left: 15px;
    padding-right: 15px;
}

/* ===================================================
   固定型CTAボタンテキスト部分
==================================================== */
.cta_area_btn .ctaInner-txt ,.cta_area_btn .cta_area_txt {
  margin: 0 auto;
  padding: 0;
  font-weight: bold;
  color: #FFF;
}
@media only screen and (min-width: 768px) {
  .cta_area_btn .ctaInner-txt ,.cta_area_btn .cta_area_txt {
    font-size: 1.0em;
    width: auto;
    display: inline-block;
    padding-left: 35px;
    top: 0;
    bottom: 0;
    margin: auto;
  }
}
@media only screen and (max-width: 767px) {
  .cta_area_btn .ctaInner-txt ,.cta_area_btn .cta_area_txt{
    font-size: 0.93em;
    margin-left: 35px !important;
    display: inline-block;
    width: auto;
  }
  .ctaInner-txt a ,.cta_area_txt a{
    display: block;
  }
}
@media only screen and (max-width: 480px) {
  .cta_area_btn .ctaInner-txt ,.cta_area_btn .cta_area_txt{
    margin-left: 25px !important;
  }
}
 .cta_area_btn .ctaInner-catalog {
  border-bottom: 4px solid rgb(51, 51, 51);
  border-radius: 4px;
  background-color: rgb(74, 74, 74) !important;
}
 .cta_area_btn .ctaInner-contact,.cta_area_btn .cta_area_btn-contact,.cta_area_btn .ctaInner-trial,.cta_area_btn .ctaInner-inlink {
  border-bottom: 4px solid rgb(177, 0, 4);
  border-radius: 4px;
}
/* ===================================================
   固定型CTAボタンアイコン部分
==================================================== */
.cta_area_btn a::before {
  content: "";
  display: inline-block;
  margin-left: 0px;
  width: 25px;
  height: 25px;
  position: absolute;
  background-size: 100% auto;
}
.ctaInner-catalog::before {
  background: url(/image/hsc/common/icon_catalog.svg) no-repeat left center;
}
.ctaInner-contact::before,.cta_area_btn-contact::before {
  background: url(/image/hsc/common/icon_contact.svg) no-repeat left center;
}
.ctaInner-trial::before, .ctaInner-inlink::before {
  background: url(/image/hsc/common/icon_form.svg) no-repeat left center;
}
@media only screen and (max-width: 480px) {
  .cta_area_btn a::before {
    width: 20px;
    height: 20px;
  }
}
.ctaInner-catalog ::after, .ctaInner-contact ::after, .cta_area_btn-contact ::after, .ctaInner-trial ::after {
  content: '';
  display: inline-block;
  background-image: url(/image/hsc/common/icon_new-window_white.svg);
  width: 15px;
  height: 15px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 0 0;
  margin: 5px 0 0 5px;
}
.ctaInner-inlink ::after {
  content: '';
  display: inline-block;
  background-image: url(/solution/image/icon_angle-down.svg);
  width: 20px;
  height: 12px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: -2px 0 0 0;
  margin: 2px 0 0 0px;
}
/* ===================================================
   追従型CTAボタンボックス部分
==================================================== */
.cta__btn .ctaInner-contact, .cta__btn .ctaInner-trial, .cta__btn .ctaInner-inlink {
  background-color: #e60b27 !important;
}
.cta__btn .ctaInner-catalog {
  border-bottom: 4px solid rgb(51, 51, 51);
  border-radius: 4px;
  background-color: rgb(74, 74, 74) !important;
}
.cta__btn .ctaInner-contact, .cta__btn .ctaInner-trial, .cta__btn .ctaInner-inlink {
  border-bottom: 4px solid rgb(177, 0, 4);
  border-radius: 4px;
}
/* ===================================================
   追従型CTAボタン部分テキスト
==================================================== */
.cta__btn .ctaInner-txt {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  font-size: 13px;
  font-weight: 600;
  color: #FFF;
  line-height: inherit;
}
@media print, screen and (min-width: 768px) {
 .cta__btn .ctaInner-txt {
    font-size: 1.125em;
    font-weight: bold;
    margin-left: 0px;
    display: inline;
    padding-left: 35px;
    margin-top: 3px;
    line-height: 1;
  }
}
/* ===================================================
   追従型CTAボタン部分アイコン　202504-ソース一本化
==================================================== */

.cta__btn .ctaInner-catalog::before {
  display: inline-block;
  content: "";
  background: url(/image/hsc/common/icon_catalog.svg) no-repeat left center;
  background-size: 100% auto;
}
.cta__btn .ctaInner-contact::before {
  display: inline-block;
  content: "";
  background: url(/image/hsc/common/icon_contact.svg) no-repeat left center;
  background-size: 100% auto;
}
.cta__btn .ctaInner-trial::before, .cta__btn .ctaInner-inlink::before {
  display: inline-block;
  content: "";
  background: url(/image/hsc/common/icon_form.svg) no-repeat left center;
  background-size: 100% auto;
}
.cta__btn .ctaInner-catalog ::after, .cta__btn .ctaInner-contact ::after, .cta__btn .ctaInner-trial ::after {
  content: '';
  display: inline-block;
  background-image: url(/image/hsc/common/icon_new-window_white.svg);
  width: 15px;
  height: 15px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 0 0;
  margin: 5px 0 0 5px;
}