@charset "UTF-8";
.articles-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 800px) {
  .articles-row {
    display: block;
    border-bottom: 1px solid #E2E2E2;
    padding-bottom: 16px;
  }
}
.articles-row + .articles-row {
  margin-top: 30px;
}
@media screen and (max-width: 800px) {
  .articles-row + .articles-row {
    margin-top: 16px;
  }
}
.articles-date {
  display: inline-block;
  width: 130px;
  font-weight: bold;
}
@media screen and (max-width: 800px) {
  .articles-date {
    width: 140px;
  }
}
.articles-label {
  display: inline-block;
  width: 100px;
  height: 26px;
  text-align: center;
  margin-left: 30px;
  color: #FFF;
  font-weight: bold;
  line-height: 26px;
}
@media screen and (max-width: 800px) {
  .articles-label {
    height: 20px;
    margin-left: 0;
    line-height: 20px;
    font-size: 1.2rem;
  }
}
.articles-label-red {
  background: #EC5458;
}
.articles-label-orange {
  background: #F4A752;
}
.articles-label-blue {
  background: #4DC1F9;
}
.articles-label-green {
  background: #5EBE6E;
}
.articles-label-pink {
  background: #FF6C70;
}
.articles-label-yellow {
  background: #FDC241;
}
.articles-title {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-left: 22px;
}
@media screen and (max-width: 800px) {
  .articles-title {
    padding-left: 0;
    margin-top: 4px;
  }
}
.articles-footer {
  margin-top: 30px;
}
.articles-footer-top {
  margin-top: 50px;
  text-align: center;
}
.articles-footer-release {
  margin-top: 70px;
}

.no-image-placeholder {
        background: #f0f0f0;
        width: 100%;
        height: 200px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #666;
        font-size: 14px;
    }

.banner-media-link {
  text-align: center;
  margin-right: 20px;
}
@media screen and (max-width: 800px) {
  .banner-media-link {
    margin-right: 0;
  }
}
@media screen and (max-width: 800px) {
  .banner-media-image {
    display: block;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 20px;
  }
}

.box {
  padding: 40px;
}
@media screen and (max-width: 800px) {
  .box {
    padding: 30px;
  }
}
.box + .box {
  margin-top: 30px;
}
.box-border {
  border: 1px solid;
}
.box-border-red {
  border-color: #E50012;
}
.box-border-gray {
  border-color: #A5A5A5;
}
.box-border-gray2 {
  border-color: #E0E0E0;
}
.box-border-gray-light {
  border-color: #E2E2E2;
}
.box-bg {
  background: #F8F8F8;
}
.box-bg-blue {
  background-color: #D4E0F3;
}
.box-strech {
  height: 100%;
}
.box-inner {
  height: 100%;
}
.box-content {
  height: 100%;
  position: relative;
}
.box-content-hasbtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 800px) {
  .box-content-hasbtn {
    display: block;
  }
}
.box-btn {
  margin-top: auto;
  padding-top: 20px;
}
@media screen and (max-width: 800px) {
  .box-btn {
    margin-top: 20px;
    padding-top: 0;
  }
}
.box-bluedash {
  padding: 10px;
  border: 2px dotted #205CA6;
  background: #A7C1E7;
}

.breadcrumb {
  background: #F8F8F8;
  color: #5A5A5A;
  line-height: 2.142857;
  font-size: 1.4rem;
}
@media screen and (max-width: 800px) {
  .breadcrumb-footer {
    background: #FFF;
    border-top: 1px solid #E2E2E2;
  }
}
.breadcrumb-inner {
  padding: 3px 0;
}
.breadcrumb-list {
  list-style: none;
}
.breadcrumb-item {
  display: inline;
}
.breadcrumb-item + .breadcrumb-item::before {
  content: ">";
  margin: 0 6px 0 8px;
}
.breadcrumb-label-link {
  text-decoration: underline;
}
.breadcrumb-label-link:hover {
  text-decoration: none;
}

.btn {
  display: inline-block;
  max-width: 100%;
  text-align: center;
  padding: 0.8em;
  font-weight: 500;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  will-change: opacity;
}
@media screen and (min-width: 801px) {
  .btn:hover {
    opacity: 0.6;
  }
}
.btn-header {
  width: 120px;
  font-size: 1.3rem;
  letter-spacing: -0.5px;
}
@media screen and (max-width: 1098px) {
  .btn-header {
    width: auto;
  }
}
@media screen and (max-width: 800px) {
  .btn-header {
    width: 120px;
  }
}
.btn-border {
  border: 2px solid;
  border-radius: 20px;
}
.btn-border-red {
  border-color: #E50012;
  color: #E50012;
}
.btn-border-blue {
  border-color: #0096E5;
  color: #0096E5;
}
.btn-icon {
  vertical-align: middle;
}
.btn-inner {
  vertical-align: middle;
}

.btn2 {
  display: inline-block;
  width: 340px;
  max-width: 100%;
  position: relative;
  border: 3px solid #E2E2E2;
  text-align: center;
  font-weight: 500;
  padding: 12px;
  background: #FFF;
  -webkit-transition: border 0.2s;
  transition: border 0.2s;
  cursor: pointer;
}
@media screen and (max-width: 544px) {
  .btn2 {
    width: 100%;
  }
}
@media screen and (min-width: 801px) {
  .btn2:hover {
    border-color: #A5A5A5;
  }
}
@media screen and (min-width: 801px) {
  .btn2:hover .btn2-inner {
    opacity: 0.7;
  }
}
.btn2-inner {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.btn2-inner-tel-l {
  padding-left: 24px;
  background: url(/common/img/common/icon/icon_tel.svg) left 5px/18px auto no-repeat;
}
@media screen and (max-width: 800px) {
  .btn2-inner-tel-l {
    font-size: 1.6rem;
    background-position: left center;
  }
}
.btn2-inner-q {
  padding: 8px 33px 8px 0;
  background: url(../images/icon/icon_q.svg) right top/23px auto no-repeat;
}
.btn2-inner-line {
  text-decoration: underline;
}
.btn2:hover .btn2-inner-line {
  text-decoration: none;
}
.btn2-inner-pdf {
  padding-left: 44px;
  background: url(../images/icon/icon_pdf.svg) left center/34px auto no-repeat;
}
.btn2.is-active {
  padding-top: 14px;
  padding-bottom: 14px;
  border: 1px solid #E50012;
}
.btn2-white {
  background: rgba(0, 0, 0, 0.3);
  color: #FFF;
}
.btn2-arrow {
  padding-right: 34px;
  padding-left: 34px;
}
.btn2-arrow::after {
  display: block;
  width: 9px;
  height: 14px;
  margin: auto;
  position: absolute;
  top: 0;
  right: 16px;
  bottom: 0;
  background: url(../images/icon/icon_arrow_red_right.svg) left top/contain no-repeat;
  content: "";
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
@media screen and (min-width: 801px) {
  .btn2-arrow:hover:after {
    -webkit-transform: translateX(5px);
            transform: translateX(5px);
  }
}
.btn2-arrow2 {
  padding-left: 34px;
  padding-right: 34px;
}
.btn2-arrow2::after {
  display: block;
  width: 14px;
  height: 9px;
  margin: auto;
  position: absolute;
  top: 0;
  left: 16px;
  bottom: 0;
  background: url(../images/icon/icon_arrow_red_bottom.svg) left top/contain no-repeat;
  content: "";
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.btn2-arrow2:hover:after {
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
}
.btn2-m {
  width: 500px;
}
.btn2-l {
  width: 700px;
  font-size: 2rem;
  padding-top: 18px;
  padding-bottom: 18px;
}
.btn2-max {
  width: 100%;
}
@media screen and (max-width: 600px) {
  .btn2-max-sp {
    width: 100%;
  }
}
@media screen and (max-width: 800px) {
  .btn2-anchor {
    background: #F8F8F8;
    padding: 3px 0 3px 24px;
    border: 0;
    width: 100%;
    text-align: left;
  }
}
@media screen and (max-width: 800px) {
  .btn2-anchor:after {
    top: 14px;
    left: 0;
    bottom: auto;
  }
}
@media screen and (max-width: 800px) {
  .btn2-tel-br {
    padding-top: 12px;
    padding-bottom: 12px;
    line-height: 1.5;
  }
}
.btn2-hover-red {
  -webkit-transition: border 0.2s, background 0.2s, color 0.2s;
  transition: border 0.2s, background 0.2s, color 0.2s;
}
.btn2-hover-red.is-active, .btn2-hover-red:hover {
  background: #E50012;
  border-color: #E50012;
  color: #FFF;
}
.btn2-hover-red.is-active .btn2-inner, .btn2-hover-red:hover .btn2-inner {
  opacity: 1;
}

.btn2-arrow.btn2-m:after {
  right: 24px;
}

.btn2-arrow.btn2-l:after {
  right: 26px;
}

.card-link {
  display: block;
}
.card-link:hover .card-title-inner {
  color: #E50012;
  text-decoration: none;
}
@media screen and (max-width: 600px) {
  .card-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.card-thumbnail {
  border: 1px solid #E2E2E2;
  overflow: hidden;
}
.card-link:hover .card-thumbnail:not(.is-active) {
  border-color: #A5A5A5;
}
.card-thumbnail.is-active {
  border-color: #E50012;
}
@media screen and (max-width: 600px) {
  .card-thumbnail {
    width: 107px;
    margin-right: 10px;
  }
}
.card-image {
  width: 100%;
  -webkit-transition: opacity 0.4s, -webkit-transform 0.2s;
  transition: opacity 0.4s, -webkit-transform 0.2s;
  transition: transform 0.2s, opacity 0.4s;
  transition: transform 0.2s, opacity 0.4s, -webkit-transform 0.2s;
  will-change: transform, opacity;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  image-rendering: auto;
}
.card-link:hover .card-image {
  border-color: #A5A5A5;
  opacity: 0.8;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.card-button {
  margin-top: 10px;
}
@media screen and (max-width: 600px) {
  .card-button {
    margin-top: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.card-title {
  padding-left: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  background: url(../images/icon/icon_arrow_red_right.svg) left 9px/8px auto no-repeat;
}
@media screen and (max-width: 600px) {
  .card-title {
    padding-left: 0;
    padding-right: 10px;
    font-size: 1.6rem;
    background-position: right center;
  }
}
.card-title-inner {
  text-decoration: underline;
}

.card2-strech {
  height: 100%;
}
.card2-link {
  display: block;
  width: 100%;
  height: 100%;
  background: #F8F8F8;
  border: 1px solid #A5A5A5;
  -webkit-transition: border 0.2s, opacity 0.2s;
  transition: border 0.2s, opacity 0.2s;
}
.card2-link:hover {
  border-color: #E50012;
  opacity: 0.7;
}
.card2-link:hover .link-inner {
  color: #E50012;
  text-decoration: none;
}
.card2-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 544px) {
  .card2-row {
    display: block;
  }
}
.card2-thumbnail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 140px;
  padding: 10px;
  background: #FFF;
}
@media screen and (max-width: 544px) {
  .card2-thumbnail {
    display: block;
    width: 100%;
    padding: 12px 20px;
    text-align: center;
  }
}
.card2-main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.card2-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  padding: 20px;
}

.cards-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: -37px;
  margin-left: -39px;
}
@media screen and (max-width: 800px) {
  .cards-list {
    margin-left: -40px;
  }
}
@media screen and (max-width: 600px) {
  .cards-list {
    display: block;
    margin-top: 0;
    margin-left: 0;
  }
}
.cards-list-gapy-50 {
  margin-top: -50px;
}
@media screen and (max-width: 600px) {
  .cards-list-gapy-50 {
    margin-top: 0;
  }
}
.cards-list-gapy-30 {
  margin-top: -30px;
}
@media screen and (max-width: 600px) {
  .cards-list-gapy-30 {
    margin-top: 0;
  }
}
.cards-list-gapy-70 {
  margin-top: -70px;
}
@media screen and (max-width: 600px) {
  .cards-list-gapy-70 {
    margin-top: 0;
  }
}
.cards-item {
  width: calc((100% / 3) - 39px);
  margin-top: 37px;
  margin-left: 39px;
}
@media screen and (max-width: 800px) {
  .cards-item {
    width: calc((100% / 2) - 40px);
    margin-left: 40px;
  }
}
@media screen and (max-width: 600px) {
  .cards-item {
    width: 100%;
    margin-top: 0;
    margin-left: 0;
  }
}
.cards-list-gapy-50 .cards-item {
  margin-top: 50px;
}
@media screen and (max-width: 600px) {
  .cards-list-gapy-50 .cards-item {
    margin-top: 0;
  }
}
.cards-list-gapy-30 .cards-item {
  margin-top: 30px;
}
@media screen and (max-width: 600px) {
  .cards-list-gapy-30 .cards-item {
    margin-top: 0;
  }
}
.cards-list-gapy-70 .cards-item {
  margin-top: 70px;
}
@media screen and (max-width: 600px) {
  .cards-list-gapy-70 .cards-item {
    margin-top: 0;
  }
}
@media screen and (max-width: 600px) {
  .cards-item + .cards-item {
    margin-top: 10px;
  }
}
@media screen and (max-width: 600px) {
  .cards-item-section + .cards-item-section {
    margin-top: 70px;
  }
}

.cards2-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -39px;
}
.cards2-item {
  margin-left: 39px;
}
.cards2-item-short {
  width: calc((100% / 3) - 39px);
}
@media screen and (max-width: 800px) {
  .cards2-item-short {
    margin-top: 37px;
    width: calc((100% / 2) - 39px);
  }
}
@media screen and (max-width: 600px) {
  .cards2-item-short {
    width: 100%;
    margin-top: 70px;
  }
}
.cards2-item-long {
  width: calc((100% / 3 * 2) - 39px);
}
@media screen and (max-width: 800px) {
  .cards2-item-long {
    width: 100%;
  }
}
.cards2-row2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -39px;
}
.cards2-item2 {
  margin-left: 39px;
  width: calc((100% / 2) - 39px);
}
@media screen and (max-width: 600px) {
  .cards2-item2 {
    width: 100%;
  }
}
@media screen and (max-width: 600px) {
  .cards2-item2 + .cards2-item2 {
    margin-top: 10px;
  }
}

.entry p + h2,
.entry ul + h2,
.entry ol + h2 {
  margin-top: 70px;
}
.entry ul,
.entry ol {
  margin: 30px 0;
}
.entry p a {
  font-weight: 500;
  text-decoration: underline;
}
.entry p a:hover {
  text-decoration: none;
}
.entry p + p {
  margin-top: 20px;
}
.entry img.aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
}
.entry img.alignleft {
  float: left;
  margin-right: 20px;
  margin-bottom: 20px;
}
.entry img.alignright {
  float: right;
  margin-left: 20px;
  margin-bottom: 20px;
}
.entry strong {
  font-weight: bold;
}
.entry sup {
  vertical-align: super;
  font-size: smaller;
}

.form {
  width: 800px;
  max-width: 100%;
}
.form-group {
  border-top: 1px solid #E2E2E2;
  border-bottom: 1px solid #E2E2E2;
}
@media screen and (max-width: 800px) {
  .form-group {
    border: 0;
    margin-left: -20px;
    margin-right: -20px;
  }
}
.form-group + .form-group {
  margin-top: -1px;
}
@media screen and (max-width: 800px) {
  .form-group + .form-group {
    margin-top: 0;
    padding-top: 30px;
  }
}
@media screen and (max-width: 800px) {
  .form-group.is-error {
    background: #FEE5E6;
    padding-top: 30px;
    padding-bottom: 30px;
    margin-top: 10px;
    margin-bottom: 10px;
  }
}
.form-group.is-error .form-message {
  display: block;
}
.form-group.is-error .form-message::after {
  display: block;
  width: 0;
  height: 0;
  margin: auto;
  position: absolute;
  top: 100%;
  left: 30px;
  border-style: solid;
  border-width: 13px 7.5px 0 7.5px;
  border-color: #E50012 transparent transparent transparent;
  content: "";
}
.form-group.is-error .form-message.arrow-2::after {
  display: block;
  width: 0;
  height: 0;
  margin: auto;
  position: absolute;
  top: -13px;
  left: 30px;
  border-style: solid;
  border-width: 0px 7.5px 13px 7.5px;
  border-color: transparent transparent #E50012 transparent;
  content: "";
}
.form-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.875;
}
@media screen and (max-width: 800px) {
  .form-item {
    padding: 0 20px;
    display: block;
  }
}
.form-label {
  padding: 26px 12px;
  width: 187px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: #F8F8F8;
  font-weight: bold;
}
@media screen and (max-width: 800px) {
  .form-label {
    width: 100%;
    padding: 0 0 10px;
    background: transparent;
  }
}
.form-input-area {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  padding: 20px;
  background: #FFF;
}
@media screen and (max-width: 800px) {
  .form-input-area {
    padding: 0;
    background: transparent;
  }
}
.form-group.is-error .form-input-area {
  background: #FEE5E6;
}
@media screen and (max-width: 800px) {
  .form-group.is-error .form-input-area {
    background: transparent;
  }
}
.form-message {
  padding-right: 6px;
  padding-left: 6px;
  margin-bottom: 23px;
  position: relative;
  background: #E50012;
  color: #FFF;
  font-size: 14px;
  font-weight: bold;
  line-height: 2.1428;
  display: none;
}
.form-message.arrow-2 {
  padding-right: 6px;
  padding-left: 6px;
  margin-bottom: 0px;
  margin-top: 23px;
  position: relative;
  background: #E50012;
  color: #FFF;
  font-size: 14px;
  font-weight: bold;
  line-height: 2.1428;
  display: none;
}
.form-required {
  display: inline-block;
  width: 40px;
  height: 20px;
  background-color: #E50012;
  color: #FFF;
  line-height: 20px;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
}
.form-radio {
  display: none;
}
.form-radio-label {
  display: block;
  padding-left: 30px;
  position: relative;
}
.form-radio-label:nth-of-type(n + 2) {
  margin-top: 16px;
}
.form-radio-label::before, .form-radio-label::after {
  display: block;
  position: absolute;
  content: "";
  border-radius: 50%;
}
.form-radio-label::before {
  width: 21px;
  height: 21px;
  margin: auto;
  top: 6px;
  left: 0;
  background: #FFF;
  border: 2px solid #A5A5A5;
}
.form-radio-label:after {
  width: 11px;
  height: 11px;
  top: 11px;
  left: 5px;
  background: #E50012;
  opacity: 0;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  will-change: opacity;
}
.form-radio:checked + .form-radio-label::after {
  opacity: 1;
}
.form-checkbox {
  display: block;
}
.form-checkbox + .form-checkbox {
  margin-top: 16px;
}
.form-checkbox-input {
  display: none;
}
.form-checkbox-label {
  padding-left: 31px;
  position: relative;
}
.form-checkbox-label::before, .form-checkbox-label::after {
  display: block;
  margin: auto;
  position: absolute;
  line-height: 1;
  content: "";
}
.form-checkbox-label::before {
  width: 21px;
  height: 21px;
  top: 4px;
  left: 0;
  background: #FFF;
  border: 2px solid #A5A5A5;
  border-radius: 3px;
}
.form-checkbox-label::after {
  width: 13px;
  height: 7px;
  top: 9px;
  left: 4px;
  border-left: 2px solid #E50012;
  border-bottom: 2px solid #E50012;
  opacity: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  will-change: opacity;
}
.form-checkbox-input:checked + .form-checkbox-label::after {
  opacity: 1;
}
.form-input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  max-width: 100%;
  background: #F8F8F8;
  border: 1px solid #A5A5A5;
  padding: 10px;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
}
.form-input:active, .form-input:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
  outline: none;
}
.form-input-s {
  width: 100%;
  max-width: 200px;
}
.form-input-m {
  width: 100%;
  max-width: 350px;
}
@media screen and (max-width: 544px) {
  .form-input-m {
    width: 100%;
  }
}
.form-input-l {
  width: 100%;
  max-width: 550px;
}
@media screen and (max-width: 544px) {
  .form-input-l {
    width: 100%;
  }
}
.form-input-l2 {
  width: 100%;
  max-width: 500px;
  height: 150px;
}
@media screen and (max-width: 544px) {
  .form-input-l2 {
    width: 100%;
  }
}
.form-input-full {
  width: 100%;
}
.form-input-telnum {
  width: 70px;
}
.form-input-tel-bar {
  margin: 0 8px;
}
.form-select-wrap {
  display: inline-block;
  width: 246px;
  background: #F8F8F8;
  position: relative;
  border: 1px solid #A5A5A5;
  border-radius: 0;
  font-size: 1.6rem;
  vertical-align: middle;
}
@media screen and (max-width: 544px) {
  .form-select-wrap {
    width: 100%;
  }
}
.form-select-wrap::after {
  display: block;
  width: 46px;
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  background: #313131 url(/common/img/common/icon/icon_arrow_white_bottom.svg) center/15px auto no-repeat;
  pointer-events: none;
  content: "";
}
.form-select {
  display: inline-block;
  width: 100%;
  padding: 11px;
  font-size: 1.6rem;
}
.form-button, .form-button2 {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
  max-width: 100%;
  border: 0;
  cursor: pointer;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
.form-button {
  padding: 15px;
  width: 340px;
  position: relative;
  background: #E50012;
  border: 3px solid #E50012;
  color: #FFF;
  line-height: 1.875;
  text-align: center;
  -webkit-transition: background 0.2s, color 0.2s;
  transition: background 0.2s, color 0.2s;
  vertical-align: middle;
}
@media screen and (max-width: 544px) {
  .form-button {
    width: 100%;
  }
}
.form-button:after {
  display: block;
  width: 9px;
  height: 14px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  background: url(../images/icon/icon_arrow_white_right.svg) left center/contain no-repeat;
  margin: auto;
  content: "";
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}
.form-button:hover {
  color: #E50012;
  background: #FFF;
}
.form-button:hover:after {
  background: url(../images/icon/icon_arrow_red_right.svg) left center/contain no-repeat;
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
}
.form-button2 {
  padding-left: 18px;
}
.form-button2-inner {
  text-decoration: underline;
}
.form-confirm-value {
  padding: 8px 0;
}
.form-telnums {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.heading, .entry h1, .entry h2, .entry h3, .entry h4 {
  position: relative;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-weight: normal;
}
.heading-red {
  color: #E50012;
}
.heading-xl, .entry h1 {
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.333;
}
.heading-l, .entry h2 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.72px;
  line-height: 1.4166;
}
.heading-m, .entry h3, .entry h4 {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.5px;
  line-height: 1.4;
}
.heading-s {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.67;
}
.heading-mt-l, .entry h3, .entry h4 {
  margin-top: 40px;
}
.heading-mb-l, .entry h1 {
  margin-bottom: 50px;
}
.heading-mb-m, .entry h2, .entry h3 {
  margin-bottom: 30px;
}
.heading-mb-s, .entry h4 {
  margin-bottom: 20px;
}
.heading-border1, .entry h1 {
  border-left: 8px solid #E50012;
  padding: 0.2em 0 0.2em 20px;
}
.heading-border2, .entry h2 {
  padding-bottom: 15px;
  border-bottom: 2px solid #E50012;
}
.heading-border3, .entry h3 {
  padding-left: 30px;
}
.heading-border3::after, .entry h3::after {
  display: block;
  width: 20px;
  height: 2px;
  margin: auto;
  position: absolute;
  top: 13px;
  left: 0;
  background: #E50012;
  content: "";
}
.heading-border4 {
  padding-bottom: 20px;
  border-bottom: 5px solid #E50012;
}
.heading-border5 {
  padding-bottom: 16px;
  border-bottom: 2px solid #A5A5A5;
}
.heading-border6 {
  padding-bottom: 4px;
  border-bottom: 2px solid #205CA6;
}
.heading-border7 {
  padding: 13px 25px;
  position: relative;
}
.heading-border7::before {
	background: #E50012;
	content: '';
	display: block;
	height: -webkit-calc(100% - 36px);
	height: calc(100% - 36px);
	left: 0;
	position: absolute;
	top: 18px;
	width: 8px;
}
.heading-bg {
  padding: 10px 20px;
  background: #313131;
  color: #FFF;
}
.heading-bg_orange {
  background: #ED7737;
}
.heading-bg_blue {
  background: #049DAD;
}
.heading-bg_yellow {
  background: #F8A904;
}
.heading-bg_green {
  background: #6EB929;
}
.heading-bg_gray {
  background: #E2E2E2;
}
.heading-has-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.heading-has-link .js-heading-inner {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.heading-link {
  font-size: 1.6rem;
  margin-left: 1em;
}
.heading-store {
  padding-bottom: 4px;
  font-size: 2rem;
  font-weight: 500;
  border-bottom: 2px solid #31859C;
}
.heading-store a:hover {
  text-decoration: underline;
}
.heading-store-2 {
  border-color: #FFC000;
}

.inquiry-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60px;
  z-index: 98;
}
@media screen and (min-width: 801px) {
  .inquiry-banner {
    display: none;
  }
}
.inquiry-banner-main {
  position: absolute;
  width: 100%;
  height: 60px;
  bottom: 0;
  left: 0;
}
.inquiry-banner-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}
.inquiry-banner-btn {
  display: inline-block;
  width: 260px;
  background: #E50012;
  border-radius: 30px;
  color: #FFF;
  line-height: 46px;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.48px;
}

.link {
  font-weight: 500;
  display: inline-block;
}
.link-font-normal {
  font-weight: normal;
}
.link-triangle {
  position: relative;
  padding-left: 18px;
}
.link-triangle::after{
  position: absolute;
  content: "";
  width: 7px;
  height: 12px;
  left: 0;
  top: 0.6em;
  border-left: 7px solid #E50012;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
}
.link-arrow {
  background: url(../images/icon/icon_arrow_red_right.svg) no-repeat;
  background-position: left 0.55em;
  background-size: 7.37px 11.8px;
  padding-left: 18px;
}
.link-pdf {
  background: url(../images/icon/icon_pdf.svg) left 8px/34px 18px no-repeat;
  padding-left: 44px;
  padding-top: 2px;
  padding-bottom: 2px;
}
.link-excel {
  background: url(../images/icon/icon_excel.svg) left 8px/34px 18px no-repeat;
  padding-left: 44px;
  padding-top: 2px;
  padding-bottom: 2px;
}
.link-outside {
  background: url(../images/icon/icon_outside.svg) left 7px/20px 15px no-repeat;
  padding-left: 30px;
}
.link-outside-right {
  background: url(../images/icon/icon_outside.svg) right 7px/20px 15px no-repeat;
  padding-right: 30px;
}
.link-inside {
  background: url(../images/icon/icon_inside.svg) left 7px/20px 15px no-repeat;
  padding-left: 30px;
}
.link-mail {
  background: url(../images/icon/icon_mail_red.svg) left 7px/21px 17px no-repeat;
  padding-left: 30px;
}
.link-movie {
  background: url(../images/icon/icon_movie.svg) left 8px/34px 18px no-repeat;
  padding-left: 44px;
  padding-top: 2px;
  padding-bottom: 2px;
}
.link-inner {
  text-decoration: underline;
}
.link-inner:hover {
  color: #E50012;
  text-decoration: none;
}
.link-icon-q {
  vertical-align: top;
  margin-left: 10px;
}

.links-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: -24px;
  margin-left: -39px;
}
@media screen and (max-width: 800px) {
  .links-row {
    margin-left: -40px;
  }
}
@media screen and (max-width: 600px) {
  .links-row {
    margin-top: 0;
    margin-left: 0;
  }
}
.links-col {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 1;
      flex-shrink: 1;
  -ms-flex-preferred-size: calc((100% / 3) - 39px);
      flex-basis: calc((100% / 3) - 39px);
  max-width: calc((100% / 3) - 39px);
  margin-top: 24px;
  margin-left: 39px;
}
@media screen and (max-width: 800px) {
  .links-col {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc((100% / 2) - 40px);
        flex-basis: calc((100% / 2) - 40px);
    max-width: calc((100% / 2) - 40px);
    margin-left: 40px;
  }
}
@media screen and (max-width: 600px) {
  .links-col {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-top: 0;
  }
}
@media screen and (max-width: 600px) {
  .links-col + .links-col {
    margin-top: 24px;
  }
}
.list {
  list-style: none;
}
.list-child-dot {
  margin-left: 5px;
}
.list-order {
  list-style: decimal;
  list-style-position: inside;
}
.list-order .list-order {
  counter-reset: ol_list-child;
}
.list-order .list-order li {
  list-style: none;
  padding-left: 1.8em;
  position: relative;
  text-indent: 0;
}
.list-order .list-order li::before {
  content: "(" counter(ol_list-child) ")";
  counter-increment: ol_list-child;
  left: 0;
  position: absolute;
}
.list-order .list-item {
  padding-left: 1em;
  text-indent: -1em;
}
.list-item {
  position: relative;
}
.list-item-dot {
  padding-left: 14px;
}
.list-item-dot::after {
  display: block;
  width: 5px;
  height: 5px;
  margin: auto;
  position: absolute;
  top: calc(1em - 3px);
  left: 0;
  border-radius: 50%;
  content: "";
}
.list-item-dot-red::after {
  background: #E50012 ;
}
.list-item-dot-gray-dark::after {
  background: #313131;
}
.list-item-square {
  position: relative;
  padding-left: 16px;
}
.list-item-square::before {
  display: block;
  width: 6px;
  height: 6px;
  position: absolute;
  top: 14px;
  left: 0;
  background: #000;
  content: "";
}

@media screen and (max-width: 800px) {
  .logo-image-header {
    width: 120px;
  }
}
@media screen and (max-width: 800px) {
  .logo-image-footer {
    width: 127px;
  }
}
@media screen and (max-width: 800px) {
  .logo-image-products-top {
    width: 135px;
  }
}
.logo-link {
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  will-change: opacity;
}
@media screen and (min-width: 801px) {
  .logo-link:hover {
    opacity: 0.6;
  }
}

.media-s {
  width: 800px;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.media-images-center {
  text-align: center;
}
@media screen and (max-width: 544px) {
  .media-image {
    width: 100%;
  }
}
.media-image-l {
  width: 1098px;
}
.media-image-m {
  width: 800px;
}
.media-image-s {
  width: 600px;
}
.media-image-xs {
  width: 360px;
}
@media screen and (min-width: 801px) {
  .media-image-pc-xs {
    width: 360px;
  }
}
.media-image-mw-xs {
  max-width: 300px;
}
.media-image-max {
  width: 100%;
}
@media screen and (max-width: 800px) {
  .media-image.is-portrait {
    width: 60%;
    height: auto;
  }
}
.media-image-border {
  border: 1px solid #E2E2E2;
}
.media-image-link {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.media-image-link:hover {
  opacity: 0.7;
}
.media-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: -30px;
}
@media screen and (max-width: 544px) {
  .media-row {
    margin-top: -26px;
  }
}
.media-row-col2 {
  margin-left: -40px;
}
@media screen and (max-width: 800px) {
  .media-row-col2 {
    margin-left: -26px;
  }
}
@media screen and (max-width: 544px) {
  .media-row-col2 {
    margin-left: 0;
  }
}
.media-row-col3 {
  margin-left: -39px;
}
@media screen and (max-width: 800px) {
  .media-row-col3 {
    margin-left: -25px;
  }
}
.media-row-col4 {
  margin-left: -30px;
}
@media screen and (max-width: 800px) {
  .media-row-col4 {
    margin-left: -36px;
  }
}
@media screen and (max-width: 544px) {
  .media-row-col4 {
    margin-left: -26px;
  }
}
.media-row-col5 {
  margin-left: -39px;
}
@media screen and (max-width: 800px) {
  .media-row-col5 {
    margin-left: -25px;
  }
}
@media screen and (max-width: 544px) {
  .media-row-col5 {
    margin-left: -26px;
  }
}
.media-col {
  margin-top: 30px;
}
@media screen and (max-width: 544px) {
  .media-col {
    margin-top: 26px;
  }
}
.media-row-col2 .media-col {
  width: calc((100% - 80px) / 2);
  margin-left: 40px;
}
@media screen and (max-width: 800px) {
  .media-row-col2 .media-col {
    width: calc((100% - 52px) / 2);
    margin-left: 26px;
  }
}
@media screen and (max-width: 544px) {
  .media-row-col2 .media-col {
    width: 100%;
    margin-left: 0;
  }
}
.media-row-col3 .media-col {
  width: calc((100% - 117px) / 3);
  margin-left: 39px;
}
@media screen and (max-width: 800px) {
  .media-row-col3 .media-col {
    width: calc((100% - 75px) / 3);
    margin-left: 25px;
  }
}
@media screen and (max-width: 544px) {
  .media-row-col3 .media-col {
    width: 100%;
  }
}
.media-row-col4 .media-col {
  width: calc((100% - 120px) / 4);
  margin-left: 30px;
}
@media screen and (max-width: 800px) {
  .media-row-col4 .media-col {
    width: calc((100% - 72px) / 2);
    margin-left: 36px;
  }
}
@media screen and (max-width: 544px) {
  .media-row-col4 .media-col {
    width: calc((100% - 52px) / 2);
    margin-left: 26px;
  }
}
.media-row-col5 .media-col {
  width: calc((100% - 195px) / 5);
  margin-left: 39px;
}
@media screen and (max-width: 800px) {
  .media-row-col5 .media-col {
    width: calc((100% - 75px) / 3);
    margin-left: 25px;
  }
}
@media screen and (max-width: 544px) {
  .media-row-col5 .media-col {
    width: calc((100% - 52px) / 2);
    margin-left: 26px;
  }
}
.media-col-align-center {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}
.media-caption-top {
  margin-bottom: 10px;
}
@media screen and (max-width: 800px) {
  .media-caption-top {
    margin-bottom: 5px;
  }
}
.media-caption-bottom {
  margin-top: 10px;
}
@media screen and (max-width: 800px) {
  .media-caption-bottom {
    margin-top: 5px;
  }
}

.media2-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 544px) {
  .media2-row {
    display: block;
  }
}
.media2-row + .media2-row {
  margin-top: 50px;
}
.media2-col-main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.media2-col-sub-right {
  margin-left: 40px;
}
@media screen and (max-width: 800px) {
  .media2-col-sub-right {
    margin-left: 25px;
  }
}
@media screen and (max-width: 544px) {
  .media2-col-sub-right {
    margin-left: 0;
    margin-top: 20px;
  }
}
.media2-col-sub-left {
  margin-right: 40px;
}
@media screen and (max-width: 800px) {
  .media2-col-sub-left {
    margin-right: 25px;
  }
}
@media screen and (max-width: 544px) {
  .media2-col-sub-left {
    margin-right: 0;
    margin-bottom: 20px;
  }
}
.media2-col-sub-right2 {
  margin-left: 30px;
}
@media screen and (max-width: 800px) {
  .media2-col-sub-right2 {
    margin-left: 25px;
  }
}
@media screen and (max-width: 544px) {
  .media2-col-sub-right2 {
    margin-left: 0;
    margin-top: 20px;
  }
}
.media2-col-sub-left2 {
  margin-right: 30px;
}
@media screen and (max-width: 800px) {
  .media2-col-sub-left2 {
    margin-right: 25px;
  }
}
@media screen and (max-width: 544px) {
  .media2-col-sub-left2 {
    margin-right: 0;
    margin-bottom: 20px;
  }
}
.media2-col-sub-type1 {
  width: 404px;
}
@media screen and (max-width: 800px) {
  .media2-col-sub-type1 {
    width: 282px;
  }
}
@media screen and (max-width: 544px) {
  .media2-col-sub-type1 {
    width: 100%;
  }
}
.media2-col-sub-type2 {
  width: 300px;
}
@media screen and (max-width: 800px) {
  .media2-col-sub-type2 {
    width: 210px;
  }
}
@media screen and (max-width: 544px) {
  .media2-col-sub-type2 {
    width: 60%;
    margin-right: auto;
    margin-left: auto;
  }
}
.media2-col-sub-type3 {
  width: 318px;
}
@media screen and (max-width: 800px) {
  .media2-col-sub-type3 {
    width: 282px;
  }
}
@media screen and (max-width: 544px) {
  .media2-col-sub-type3 {
    width: 100%;
  }
}
@media screen and (max-width: 544px) {
  .media2-col-sp-small {
    width: 60%;
    margin-right: auto;
    margin-left: auto;
  }
}

.media3-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: -40px;
  margin-left: -50px;
}
@media screen and (max-width: 800px) {
  .media3-list {
    display: block;
    margin-top: 0;
    margin-left: 0;
  }
}
.media3-item {
  width: calc((100% - 100px) / 2);
  margin-top: 40px;
  margin-left: 50px;
}
@media screen and (max-width: 800px) {
  .media3-item {
    width: 100%;
    margin-top: 0;
    margin-left: 0;
  }
}
@media screen and (max-width: 800px) {
  .media3-item + .media3-item {
    margin-top: 40px;
  }
}
@media screen and (max-width: 544px) {
  .media3-item + .media3-item {
    margin-top: 24px;
  }
}
.media3-item-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.media3-item-main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.media3-item-thumbnail {
  width: 188px;
  margin-right: 25px;
}
@media screen and (max-width: 800px) {
  .media3-item-thumbnail {
    width: 210px;
  }
}
@media screen and (max-width: 544px) {
  .media3-item-thumbnail {
    width: 122px;
  }
}

.modal {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.modal.is-visible {
  opacity: 1;
  pointer-events: auto;
}
.modal-layout {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 50px;
}
@media screen and (max-width: 800px) {
  .modal-layout {
    padding: 0 20px;
  }
}
.modal-main {
  width: 700px;
  height: 55vh;
  padding: 50px;
  background: #FFF;
  line-height: 1.85;
  overflow-y: auto;
}
@media screen and (max-width: 800px) {
  .modal-main {
    padding: 30px;
  }
}
.modal-agree {
  margin-top: 24px;
  text-align: center;
}
.modal-link {
  margin-top: 24px;
  text-align: center;
}

.error .modal {
  display: none;
}

@media screen and (max-width: 800px) {
  .page-links {
    padding: 10px;
    background: #F8F8F8;
  }
}
.page-links-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -39px;
  margin-top: -24px;
}
@media screen and (max-width: 800px) {
  .page-links-row {
    margin-top: -10px;
    margin-left: -30px;
  }
}
.page-links-col {
  width: calc((100% - 117px) / 3);
  margin-left: 39px;
  margin-top: 24px;
}
@media screen and (max-width: 800px) {
  .page-links-col {
    width: calc((100% - 60px) / 2);
    margin-top: 10px;
    margin-left: 30px;
  }
}

.page-nav {
  background: #F8F8F8;
  border-top: 2px solid #E2E2E2;
  border-bottom: 2px solid #E2E2E2;
}
.page-nav-header {
  border-bottom: 2px solid #E2E2E2;
  font-weight: 500;
}
.page-nav-header-noimage {
  padding: 30px 0;
}
@media screen and (max-width: 800px) {
  .page-nav-header-noimage {
    padding: 26px 0;
  }
}
.page-nav-header-hasimage {
  padding: 18px 0;
}
.page-nav-heading {
  display: inline-block;
  font-size: 2.4rem;
  position: relative;
  padding-right: 54px;
  line-height: 1.167;
}
@media screen and (max-width: 800px) {
  .page-nav-heading {
    font-size: 2rem;
    padding-right: 35px;
    background-size: 9px auto;
  }
}
.page-nav-heading-link {
  display: inline-block;
}
.page-nav-heading-link::after {
  display: block;
  width: 13px;
  height: 21px;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  background: url(../images/icon/icon_arrow_red_right.svg) center/contain no-repeat;
  content: "";
  -webkit-transform: translate3d(-5px, 0, 0);
          transform: translate3d(-5px, 0, 0);
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
  will-change: transform;
}
@media screen and (max-width: 800px) {
  .page-nav-heading-link::after {
    width: 9px;
    height: 14px;
  }
}
.page-nav-heading-link:hover::after {
  -webkit-transform: none;
          transform: none;
}
.page-nav-heading-link:hover .page-nav-heading-text,
.page-nav-heading-link:hover .page-nav-heading-image {
  opacity: 0.7;
}
.page-nav-heading-text {
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.page-nav-heading-image {
  width: 100px;
  margin-right: 20px;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
@media screen and (max-width: 800px) {
  .page-nav-heading-image {
    width: 70px;
    margin-right: 10px;
  }
}
.page-nav-content {
  padding: 50px 0 70px;
  font-weight: 500;
  line-height: 1.875;
}
.page-nav-slider {
  margin-top: 67px;
}

.pagination-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 544px) {
  .pagination-row {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (max-width: 544px) {
  .pagination .page-numbers {
    display: none;
  }
}
.pagination .page-numbers:not(.dots) {
  width: 40px;
  height: 40px;
  border: 1px solid #E2E2E2;
  margin-left: -1px;
  line-height: 36px;
  text-align: center;
}
.pagination .page-numbers:not(.current) {
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
.pagination .page-numbers:not(.current):hover {
  background: #F8F8F8;
}
.pagination .page-numbers.current {
  background: #E50012;
  border-color: #E50012;
  color: #FFF;
  font-weight: bold;
}
.pagination .page-numbers.dots {
  margin: 0 8px;
}
.pagination .page-numbers.prev, .pagination .page-numbers.next {
  color: transparent;
}
@media screen and (max-width: 544px) {
  .pagination .page-numbers.prev, .pagination .page-numbers.next {
    display: block;
  }
}
.pagination .page-numbers.prev::before, .pagination .page-numbers.next::before {
  display: block;
  width: 100%;
  height: 100%;
  content: "";
}
@media screen and (max-width: 544px) {
  .pagination .page-numbers.prev {
    margin-right: auto;
  }
}
.pagination .page-numbers.prev::before {
  background: url("../images/icon/icon_arrow_red_left.svg") center/10px auto no-repeat;
}
@media screen and (max-width: 544px) {
  .pagination .page-numbers.next {
    margin-left: auto;
  }
}
.pagination .page-numbers.next::before {
  background: url("../images/icon/icon_arrow_red_right.svg") center/10px auto no-repeat;
}

.products-inquiry {
  padding: 50px 100px;
  border: 1px solid #A5A5A5;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .products-inquiry {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media screen and (max-width: 800px) {
  .products-inquiry {
    padding: 30px;
  }
}
.products-inquiry-heading {
  padding-bottom: 20px;
  border-bottom: 1px solid #E50012;
  font-size: 2.4rem;
  line-height: 1.167;
}
@media screen and (max-width: 800px) {
  .products-inquiry-heading-before {
    display: block;
    font-size: 2rem;
    margin-bottom: 8px;
  }
}
.products-inquiry-body {
  margin-top: 30px;
}
@media screen and (max-width: 800px) {
  .products-inquiry-body {
    margin-top: 20px;
  }
}
.products-inquiry-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 800px) {
  .products-inquiry-row {
    display: block;
  }
}
.products-inquiry-col-left {
  width: 55%;
  min-width: 370px;
  position: relative;
}
@media screen and (max-width: 1098px) {
  .products-inquiry-col-left {
    width: 60%;
    min-width: 0;
  }
}
@media screen and (max-width: 800px) {
  .products-inquiry-col-left {
    width: 100%;
  }
}
.products-inquiry-col-left:after {
  display: block;
  width: 0px;
  height: calc(100% - 77px);
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  border-right: 1px dashed #A5A5A5;
  content: "";
}
@media screen and (max-width: 800px) {
  .products-inquiry-col-left:after {
    content: none;
  }
}
.products-inquiry-col-right {
  width: 45%;
  padding: 0 20px;
  position: relative;
}
@media screen and (max-width: 1098px) {
  .products-inquiry-col-right {
    width: 40%;
  }
}
@media screen and (max-width: 800px) {
  .products-inquiry-col-right {
    width: 100%;
    margin-top: 20px;
    padding-top: 20px;
    padding-left: 0;
    padding-right: 0;
    border-top: 1px dashed #A5A5A5;
  }
}
.products-inquiry-name {
  font-size: 2.2rem;
  font-weight: 500;
}
@media screen and (max-width: 800px) {
  .products-inquiry-name {
    font-size: 1.8rem;
  }
}
.products-inquiry-name-left {
  -moz-text-align-last: left;
       text-align-last: left;
  width: 435px;
  max-width: 100%;
  margin: 0 auto;
}
.products-inquiry-tel {
  margin-top: 10px;
}
.products-inquiry-time {
  margin-top: 10px;
}
.products-inquiry-time-left {
  -moz-text-align-last: left;
       text-align-last: left;
  width: 400px;
  max-width: 100%;
  margin: 0 auto;
}
.products-inquiry-comment {
  margin-top: 20px;
  font-size: 1.4rem;
  line-height: 1.714;
}
.products-inquiry-comment2 {
  font-size: 1.4rem;
  line-height: 1.42;
  margin-top: 10px;
}
.products-inquiry-tel-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 435px;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  text-align: left;
  margin-top: -14px;
}
@media screen and (max-width: 800px) {
  .products-inquiry-tel-list {
    display: none;
    width: 100%;
    margin-top: 0;
    padding: 20px;
    border-top: 1px solid #E2E2E2;
    background: #F8F8F8;
  }
}
.products-inquiry-tel-list-item {
  width: 50%;
  margin-top: 14px;
  padding-right: 8px;
}
@media screen and (max-width: 800px) {
  .products-inquiry-tel-list-item {
    padding: 0;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.products-inquiry-tel-list-text1 {
  font-size: 1.4rem;
  text-align: center;
}
.products-inquiry-tel-list-text2 {
  margin-top: 8px;
  text-align: center;
}
.products-inquiry-tel-button {
  display: block;
  width: 100%;
  height: 56px;
  position: relative;
  background: #FFF;
  padding-right: 54px;
  text-align: center;
  font-weight: 500;
  line-height: 56px;
  font-family: "Noto Sans JP", sans-serif;
}
.products-inquiry-tel-button::after {
  display: block;
  width: 54px;
  height: 56px;
  background: #313131 url(../images/icon_arrow_white_bottom.svg) center/15.84px auto no-repeat;
  position: absolute;
  right: 0;
  top: 0;
  right: 0;
  content: "";
}
.products-inquiry-tel-button-text {
  display: inline-block;
  padding-left: 20px;
  background: url(../images/icon/icon_tel.svg) left center/14.46px auto no-repeat;
}
.products-inquiry-link + .products-inquiry-link {
  margin-top: 10px;
}
.products-inquiry-btn {
  width: 300px;
  max-width: 100%;
  padding: 11px;
  position: relative;
  display: inline-block;
  background: #FFF;
  border: 3px solid #E2E2E2;
  border-radius: 30px;
  -webkit-transition: border 0.2s;
  transition: border 0.2s;
}
@media screen and (max-width: 960px) {
  .products-inquiry-btn {
    font-size: 1.4rem;
    letter-spacing: -1px;
  }
}
@media screen and (max-width: 800px) {
  .products-inquiry-btn {
    font-size: 1.5rem;
    letter-spacing: normal;
  }
}
@media screen and (max-width: 544px) {
  .products-inquiry-btn {
    padding: 11px 20px 11px 0;
  }
}
.products-inquiry-btn::after {
  display: block;
  width: 9px;
  height: 14px;
  margin: auto;
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  background: url(../images/icon/icon_arrow_red_right.svg) left center/contain no-repeat;
  content: "";
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}
.products-inquiry-btn:hover {
  border-color: #A5A5A5;
}
.products-inquiry-btn:hover:after {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
}
.products-inquiry-btn-icon {
  vertical-align: middle;
  margin-right: 10px;
}
.products-inquiry-btn-inner {
  vertical-align: middle;
}
.products-inquiry-tel-link {
  margin-top: 10px;
  font-size: 1.4rem;
}
@media screen and (max-width: 800px) {
  .products-inquiry-tel-acodion {
    border: 3px solid #E2E2E2;
  }
}

.products-header {
  text-align: center;
}
.products-heading {
  margin-top: 10px;
  font-size: 4.1rem;
  letter-spacing: 4.1px;
  line-height: 1.68;
}
.products-body {
  margin-top: 50px;
}
@media screen and (max-width: 800px) {
  .products-body {
    margin-top: 30px;
  }
}

.scroll-top {
  width: 60px;
  height: 60px;
  position: fixed;
  right: 24px;
  bottom: 50px;
  background: #E50012;
  z-index: 10;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  will-change: opacity;
}
.scroll-top.is-visible {
  opacity: 1;
  pointer-events: auto;
}
@media screen and (min-width: 801px) {
  .scroll-top.is-visible:hover {
    opacity: 0.3;
  }
}
@media screen and (max-width: 800px) {
  .scroll-top {
    width: 50px;
    height: 50px;
    right: 0;
    bottom: 60px;
  }
}
.scroll-top-button {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  background: url(../images/icon/icon_arrow_white_top.svg) center 12px/15.67px auto no-repeat;
}
@media screen and (max-width: 800px) {
  .scroll-top-button {
    background-size: 12.39px auto;
  }
}
.scroll-top-button:after {
  display: block;
  width: 100%;
  height: 1em;
  margin: auto;
  position: absolute;
  right: 0;
  bottom: 12px;
  left: 0;
  color: #FFF;
  content: "TOPへ";
  font-size: 1.4rem;
  text-align: center;
}
.scroll-top-button-en::after {
  content: "Top";
}

.search-area {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  opacity: 0;
  z-index: 10;
}
.search-area.is-load {
  -webkit-transition: opacity 0.3s linear 0.2s;
  transition: opacity 0.3s linear 0.2s;
  will-change: opacity;
}
.search-area.is-visible {
  pointer-events: auto;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 1;
}
.search-area::before {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
  content: "";
}
.search-area-main {
  background: #FFF;
  padding: 10px 50px;
  position: relative;
  -webkit-transform: translate3d(0, -100%, 0);
          transform: translate3d(0, -100%, 0);
}
@media screen and (max-width: 1098px) {
  .search-area-main {
    padding-right: 30px;
    padding-left: 30px;
  }
}
.search-area.is-load .search-area-main {
  -webkit-transition: -webkit-transform 0.2s ease 0.1s;
  transition: -webkit-transform 0.2s ease 0.1s;
  transition: transform 0.2s ease 0.1s;
  transition: transform 0.2s ease 0.1s, -webkit-transform 0.2s ease 0.1s;
  will-change: transform;
}
.search-area.is-visible .search-area-main {
  -webkit-transform: none;
          transform: none;
}
.search-area-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.search-area-form {
  margin-right: 20px;
}
.search-area-input {
  display: inline-block;
  width: 502px;
  margin-right: 10px;
  border: 0;
  background: #E2E2E2;
  padding: 21px 20px;
  font-size: 1.6rem;
  vertical-align: middle;
}
.search-area-submit {
  width: 100px;
  height: 60px;
  display: inline-block;
  background: #313131;
  color: #FFF;
  text-align: center;
  line-height: 60px;
  vertical-align: middle;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  will-change: opacity;
}
@media screen and (min-width: 801px) {
  .search-area-submit:hover {
    opacity: 0.6;
  }
}
.search-area-close {
  width: 70px;
  height: 60px;
  position: relative;
  cursor: pointer;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 11px;
  font-weight: bold;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  will-change: opacity;
}
@media screen and (min-width: 801px) {
  .search-area-close:hover {
    opacity: 0.6;
  }
}
.search-area-close:active {
  color: #000;
}
.search-area-close::before, .search-area-close::after {
  display: block;
  width: 24px;
  height: 2px;
  margin: auto;
  position: absolute;
  top: 22px;
  right: 0;
  left: 0;
  background: #000;
  content: "";
}
.search-area-close::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.search-area-close::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.search-area-close-inner {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.search-area-close-text {
  margin-bottom: 10px;
}

.service-area {
  padding: 30px 0 55px;
  background: #F8F8F8;
}
@media screen and (max-width: 800px) {
  .service-area {
    padding: 20px 0 55px;
  }
}

.slider-header {
  margin-bottom: 20px;
}
@media screen and (max-width: 800px) {
  .slider-header {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 800px) {
  .slider-image {
    width: 100%;
  }
}
.slider .bx-wrapper {
  margin-bottom: 26px;
}
.slider .bx-wrapper .bx-pager.bx-default-pager a {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #A5A5A5;
}
@media screen and (max-width: 800px) {
  .slider .bx-wrapper .bx-pager.bx-default-pager a {
    width: 10px;
    height: 10px;
  }
}
.slider .bx-wrapper .bx-pager.bx-default-pager a:hover, .slider .bx-wrapper .bx-pager.bx-default-pager a.active {
  background: #E50012;
}
.slider .bx-wrapper .bx-controls-direction a {
  width: 12px;
  height: 26px;
  top: auto;
  bottom: -34px;
}
@media screen and (max-width: 800px) {
  .slider .bx-wrapper .bx-controls-direction a {
    width: 10px;
    height: 21px;
    bottom: -28px;
  }
}
.slider .bx-wrapper .bx-prev {
  background: url(../images/icon/icon_arrow_red_left.svg) center/contain no-repeat;
  left: 30%;
}
@media screen and (max-width: 800px) {
  .slider .bx-wrapper .bx-prev {
    left: 0;
  }
}
.slider .bx-wrapper .bx-next {
  background: url(../images/icon/icon_arrow_red_right.svg) center/contain no-repeat;
  right: 30%;
}
@media screen and (max-width: 800px) {
  .slider .bx-wrapper .bx-next {
    right: 0;
  }
}
@media screen and (max-width: 800px) {
  .slider .bx-wrapper .bx-pager {
    bottom: -24px;
  }
}
.slider .slick-slider .slick-prev,
.slider .slick-slider .slick-next {
  position: absolute;
  outline: 0;
  text-indent: -9999px;
  z-index: 9999;
  width: 12px;
  height: 26px;
  top: auto;
  bottom: -34px;
}
.slider .slick-slider .slick-prev {
  background: url(../images/icon/icon_arrow_red_left.svg) center/contain no-repeat;
  left: 30%;
}
@media screen and (max-width: 800px) {
  .slider .slick-slider .slick-prev {
    left: 0;
  }
}
.slider .slick-slider .slick-next {
  background: url(../images/icon/icon_arrow_red_right.svg) center/contain no-repeat;
  right: 30%;
}
@media screen and (max-width: 800px) {
  .slider .slick-slider .slick-next {
    right: 0;
  }
}
.slider .slick-slider .slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  bottom: -28px;
  width: 100%;
}
.slider .slick-slider .slick-dots li {
  list-style-type: none;
  margin: 0 5px;
  width: 14px;
  height: 14px;
}
.slider .slick-slider .slick-dots button {
  position: relative;
  width: 14px;
  height: 14px;
  text-indent: -9999px;
}
.slider .slick-slider .slick-dots button::before {
  content: "";
  outline: 0;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #A5A5A5;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 800px) {
  .slider .slick-slider .slick-dots button::before {
    width: 10px;
    height: 10px;
  }
}
.slider .slick-slider .slick-dots button:hover::before {
  background: #E50012;
}
.slider .slick-slider .slick-dots .slick-active button::before {
  background: #E50012;
}
.slider .slider-link,
.slider .slick-slide:focus {
  outline: none;
}

.table {
  width: 100%;
  font-size: 1.4rem;
  border-collapse: collapse;
  border-spacing: 0;
}
.table-fixed {
  table-layout: fixed;
}
.table-sticky{
  position: sticky;
  left: 0px;
}
.table-sticky::before{
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  border: 2px solid #A5A5A5;
}
@media screen and (max-width: 800px) {
  .table-responsive {
    display: block !important;
    border: 1px solid #A5A5A5;
  }
}
.table-responsive tr + tr {
  border-top: 1px solid #A5A5A5;
}
@media screen and (max-width: 800px) {
  .table-responsive tr + tr.table-responsive-no-border {
    border: none;
  }
}
@media screen and (max-width: 800px) {
  .table-responsive thead,
.table-responsive tbody,
.table-responsive tr,
.table-responsive th,
.table-responsive td {
    display: block !important;
    width: 100% !important;
  }
  .table-responsive thead.display-sp-none,
.table-responsive tbody.display-sp-none,
.table-responsive tr.display-sp-none,
.table-responsive th.display-sp-none,
.table-responsive td.display-sp-none {
    display: none !important;
  }
}
@media screen and (max-width: 800px) {
  .table-responsive td {
    border: 0;
  }
  .table-responsive td.table-responsive-border {
    padding-top: 20px;
    border-top: 1px solid #A5A5A5;
  }
}
.table-x-scroll{
  overflow-x: scroll;
}
@media screen and (max-width: 800px) {
  .table-sp-scroll {
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
}
@media screen and (max-width: 800px) {
  .container .table-sp-scroll {
    width: calc(100% + 20px);
  }
}
@media screen and (max-width: 800px) {
  .table-sp-scroll-fixed {
    display: table;
    table-layout: fixed;
    width: 1098px;
    white-space: normal;
  }
}
.table-sp-scroll-fixed.is-copy {
  display: none;
}
@media screen and (max-width: 800px) {
  .table-sp-scroll-fixed.is-copy {
    display: table;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
  }
}
.table-sp-scroll-fixed.is-copy th:not(.table-cell-fixed),
.table-sp-scroll-fixed.is-copy td:not(.table-cell-fixed) {
  opacity: 0;
  border-color: transparent;
}
.table-center {
  text-align: center;
}
.table-cell {
  border: 1px solid #A5A5A5;
  padding: 10px 20px;
  vertical-align: middle;
  background: #FFF;
}
.table-cell-padding-0 {
  padding: 0;
}
.table-cell-s {
  padding: 2px 20px;
}
.table-cell-hs {
  padding: 10px;
}
.table-cell-w80 {
  width: 80px;
}
.table-cell-w85 {
  width: 85px;
}
.table-cell-w90 {
  width: 90px;
}
.table-cell-w100 {
  width: 100px;
}
.table-cell-w120 {
  width: 120px;
}
.table-cell-w125 {
  width: 125px;
}
.table-cell-w130 {
  width: 130px;
}
.table-cell-w150 {
  width: 150px;
}
.table-cell-w155 {
  width: 155px;
}
.table-cell-w160 {
  width: 160px;
}
.table-cell-w180 {
  width: 180px;
}
.table-cell-w190 {
  width: 190px;
}
.table-cell-w200 {
  width: 200px;
}
.table-cell-w230 {
  width: 230px;
}
.table-cell-w250 {
  width: 250px;
}
.table-cell-w280 {
  width: 280px;
}
.table-cell-w300 {
  width: 300px;
}
.table-cell-w350 {
  width: 350px;
}
.table-cell-w420 {
  width: 420px;
}
.table-cell-wm75 {
  min-width: 75px;
}
.table-cell-wm80 {
  min-width: 80px;
}
.table-cell-wm85 {
  min-width: 85px;
}
.table-cell-wm90 {
  min-width: 90px;
}
.table-cell-wm100 {
  min-width: 100px;
}
.table-cell-wm110 {
  min-width: 100px;
}
.table-cell-wm120 {
  min-width: 120px;
}
.table-cell-wm125 {
  min-width: 125px;
}
.table-cell-wm130 {
  min-width: 130px;
}
.table-cell-wm150 {
  min-width: 150px;
}
.table-cell-wm155 {
  min-width: 155px;
}
.table-cell-wm160 {
  min-width: 160px;
}
.table-cell-wm180 {
  min-width: 180px;
}
.table-cell-wm190 {
  min-width: 190px;
}
.table-cell-wm200 {
  min-width: 200px;
}
.table-cell-wm210 {
  min-width: 210px;
}
.table-cell-wm220 {
  min-width: 220px;
}
.table-cell-wm230 {
  min-width: 230px;
}
.table-cell-wm250 {
  min-width: 250px;
}
.table-cell-wm280 {
  min-width: 280px;
}
.table-cell-wm300 {
  min-width: 300px;
}
.table-cell-wm310 {
  min-width: 310px;
}
.table-cell-head {
  font-weight: bold;
  background: #E2E2E2;
}
.table-cell-align-left {
  text-align: left;
}
.table-cell-valign-top {
  vertical-align: top;
}
.table-cell-fixed {
  width: 140px;
}

.table-wrapper {
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .container .table-wrapper {
    width: calc(100% + 20px);
  }
}
@media screen and (max-width: 800px) {
  .table-wrapper-inner {
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
}
@media screen and (max-width: 800px) {
  .container .table-wrapper-inner {
    width: calc(100% + 20px);
  }
}
.table-wrapper-inner2 {
  width: 100%;
  overflow: hidden;
}

.tel-data-title {
  font-weight: 500;
  padding-left: 18px;
  position: relative;
}
.tel-data-title::after {
  display: block;
  width: 10px;
  height: 1px;
  margin: auto;
  background: #E50012;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  content: "";
}
.tel-data-title-empty::after {
  width: 1px;
  height: 1.875em;
  background: none;
  position: static;
  content: "";
}
@media screen and (max-width: 800px) {
  .tel-data-title-empty {
    display: none;
  }
}
.tel-data-value {
  padding-left: 18px;
}

.tel {
  font-weight: bold;
  padding-left: 1em;
  background-image: url(../images/icon/icon_tel.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 800px) {
  .tel {
    pointer-events: none;
  }
}
.tel-m {
  padding-left: 20px;
  font-size: 24px;
  background-size: 14.46px auto;
  letter-spacing: 0.722px;
}
@media screen and (max-width: 1040px) {
  .tel-m {
    font-size: 1.9rem;
  }
}
@media screen and (max-width: 800px) {
  .tel-m {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 400px) {
  .tel-m {
    font-size: 1.8rem;
    letter-spacing: normal;
  }
}
.tel-xl {
  padding-left: 30px;
  font-size: 4.1rem;
  line-height: 1.17;
  background-size: 23.66px auto;
  letter-spacing: 1.23px;
}
@media screen and (max-width: 800px) {
  .tel-xl {
    padding-left: 25px;
    font-size: 3.3rem;
    background-size: 19.41px auto;
    letter-spacing: 0.99px;
  }
}
@media screen and (max-width: 400px) {
  .tel-xl {
    font-size: 2.5rem;
    letter-spacing: normal;
  }
}

.text-bg {
  padding: 10px 20px;
  background: #F8F8F8;
}

.text-controller-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.text-controller-inner-right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.text-controller-label {
  margin-right: 20px;
}
.text-controller-button {
  display: inline-block;
  width: 46px;
  border: 1px solid #E2E2E2;
  border-radius: 4px;
  font-weight: 500;
  line-height: 44px;
  text-align: center;
  font-family: inherit;
}
.text-controller-button-en {
  width: 80px;
}
.text-controller-button.is-active {
  background: #E2E2E2;
}

.text-link-row + .text-link-row {
  margin-top: 10px;
}

.text-link {
  text-decoration: underline;
}
.text-link:hover {
  text-decoration: none;
  color: #E50012;
}

.indent-eyecatch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.indent-eyecatch-mark {
  -ms-flex-negative: 1;
      flex-shrink: 1;
  white-space: nowrap;
}

.cookiebox {
  display: none;
  z-index: 99999;
  width: 100%;
  position: fixed;
  bottom: 0;
  background: #fff;
  border-top: 2px solid #E50012;
  padding: 20px;
}
.cookiebox .btn2:hover {
  opacity: 0.7;
}
.cookiebox p {
  line-height: 1.875;
}
@media screen and (max-width: 800px) {
  .cookiebox {
    padding: 10px 20px;
  }
}

.area-label {
  display: inline-block;
  padding: 5px 10px;
  background: #FFF;
}
.area-label-name {
  vertical-align: middle;
  margin-right: 4px;
}
.area-label-name2 {
  font-size: 2rem;
  font-weight: bold;
  vertical-align: middle;
}

.store-label {
  display: inline-block;
  width: 160px;
  max-width: 100%;
  text-align: center;
  color: #FFF;
}
.store-label-bg-blue {
  background-color: steelblue;
}
.store-label-bg-yellow {
  background-color: #FFC000;
}
.sitetop{
  position: relative;
}
.sitetop header{
  background: transparent;
  border-bottom: 0;  
}
@media screen and (max-width: 800px) {
  .sitetop header{
    background: #fff;
    border-bottom: 0;
  }
}

.top-news {
  position: relative;
  padding: 100px 0;
}
.top-news-inner {
  width: calc(898px + 20px * 2);
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 20px;
  padding-left: 20px;
}
.top-news-section + .top-news-section {
  margin-top: 100px;
}

.top-etc {
  padding: 50px 0;
}

.top-etc-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: -30px;
  margin-left: -30px;
}
@media screen and (max-width: 800px) {
  .top-etc-list {
    margin-left: -36px;
  }
}
@media screen and (max-width: 600px) {
  .top-etc-list {
    margin-top: -10px;
    margin-left: 0;
  }
}

.top-etc-item {
  width: calc((100% - 90px) / 3);
  margin-top: 30px;
  margin-left: 30px;
}
@media screen and (max-width: 800px) {
  .top-etc-item {
    width: calc((100% - 72px) / 2);
    margin-left: 36px;
  }
}
@media screen and (max-width: 600px) {
  .top-etc-item {
    width: 100%;
    margin-top: 10px;
    margin-left: 0;
  }
}

.top-heading {
  font-weight: normal;
}
.top-heading-s {
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 30px;
}

.top-etc2 {
  padding: 100px 0;
}
@media screen and (max-width: 800px) {
  .top-etc2 {
    padding: 50px 20px 100px;
  }
}
.top-etc2-inner {
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 800px) {
  .top-etc2-inner {
    width: 100%;
  }
}
.top-etc2-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 900px) {
  .top-etc2-list {
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
}
@media screen and (max-width: 800px) {
  .top-etc2-list {
    display: block;
    margin-left: 0;
  }
}
.top-etc2-item {
  margin: 0 40px;
}
@media screen and (max-width: 900px) {
  .top-etc2-item {
    margin: 0 10px;
  }
}
@media screen and (max-width: 800px) {
  .top-etc2-item {
    width: 100%;
    margin-left: 0;
  }
}
@media screen and (max-width: 800px) {
  .top-etc2-item + .top-etc2-item {
    margin-top: 20px;
  }
}

.top-banner-link:hover {
  color: #E50012;
}
.top-banner-link:hover .top-banner-image {
  opacity: 0.7;
}
.top-banner-link:hover .link-inner {
  text-decoration: none;
}
.top-banner-image {
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.top-banner-text {
  margin-bottom: 10px;
  line-height: 1.75;
}

.top-bg-title {
  position: absolute;
  width: 100%;
  overflow: hidden;
}
.top-bg-title-about {
  width: calc(100% + 20px);
  top: 0;
  left: -20px;
}
.top-bg-title-steel {
  width: calc(100% + 20px);
  top: 0;
  left: -20px;
}
.top-bg-title-news {
  width: calc(100% + 20px);
  top: 40px;
  left: -20px;
  z-index: -1;
}
.top-bg-title-products {
  width: calc(100% + 20px);
  left: -20px;
  z-index: -1;
  top: 7%;
}
@media screen and (max-width: 1380px) {
  .top-bg-title-products {
    top: 2%;
  }
}
@media screen and (max-width: 1098px) {
  .top-bg-title-products {
    top: -3%;
  }
}
@media screen and (max-width: 800px) {
  .top-bg-title-products {
    top: 49%;
  }
}
@media screen and (max-width: 600px) {
  .top-bg-title-products {
    top: 40%;
  }
}
.top-bg-title-tech {
  width: calc(100% + 20px);
  top: -14px;
  left: -20px;
  z-index: -1;
}
.top-bg-title-sustainability {
  width: calc(100% + 20px);
  top: 24%;
  left: -20px;
}
@media screen and (max-width: 1380px) {
  .top-bg-title-sustainability {
    top: 29%;
  }
}
@media screen and (max-width: 1098px) {
  .top-bg-title-sustainability {
    top: 33%;
  }
}
@media screen and (max-width: 800px) {
  .top-bg-title-sustainability {
    top: 37%;
  }
}
.top-bg-title-safety {
  top: 25%;
  left: -20px;
}
@media screen and (max-width: 1380px) {
  .top-bg-title-safety {
    top: 30%;
  }
}
@media screen and (max-width: 1098px) {
  .top-bg-title-safety {
    top: 33%;
  }
}
@media screen and (max-width: 800px) {
  .top-bg-title-safety {
    width: calc(100% + 20px);
    top: 2%;
  }
}
.top-bg-title-text {
  font-size: 12.012vw;
  font-weight: 900;
  color: rgba(211, 211, 211, 0.3);
  line-height: 1.3;
  letter-spacing: -10px;
  white-space: nowrap;
}
@media screen and (max-width: 800px) {
  .top-bg-title-text {
    font-size: 8.6rem;
    letter-spacing: -4.3px;
  }
}
.top-bg-title-text-about, .top-bg-title-text-steel, .top-bg-title-text-products, .top-bg-title-text-safety {
  line-height: 1;
}
.top-bg-title-text-about, .top-bg-title-text-steel {
  color: rgba(211, 211, 211, 0.2);
}

.top-section-dark {
  color: #FFF;
}
.top-section-fade {
  opacity: 0;
  -webkit-transform: translate3d(0, 24px, 0);
          transform: translate3d(0, 24px, 0);
  -webkit-transition: opacity 0.4s, -webkit-transform 0.4s;
  transition: opacity 0.4s, -webkit-transform 0.4s;
  transition: transform 0.4s, opacity 0.4s;
  transition: transform 0.4s, opacity 0.4s, -webkit-transform 0.4s;
}
.top-section-fade.is-visible {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}
.top-section-title {
  font-family: "Noto Serif JP", serif;
  font-size: 4.2rem;
  letter-spacing: -4.2px;
  line-height: 1.19;
  font-weight: normal;
}
@media screen and (max-width: 800px) {
  .top-section-title {
    font-size: 3rem;
    letter-spacing: -0.32px;
  }
}
.top-section-title-lead {
  font-size: 4.204vw;
  letter-spacing: 1.4px;
  font-weight: 600;
  line-height: 1.4285;
}
@media screen and (max-width: 800px) {
  .top-section-title-lead {
    font-size: 6.25vw;
  }
}
@media screen and (max-width: 544px) {
  .top-section-title-lead {
    font-size: 8.889vw;
    letter-spacing: 0.64px;
  }
}
.top-section-text {
  margin-top: 30px;
}
.top-section-text-lead {
  font-size: 2rem;
}
@media screen and (max-width: 1098px) {
  .top-section-text-lead {
    max-width: 50%;
  }
}
@media screen and (max-width: 800px) {
  .top-section-text-lead {
    max-width: 100%;
    margin-top: 20px;
    font-size: 1.6rem;
  }
}
.top-section-btn {
  margin-top: 50px;
}
@media screen and (max-width: 800px) {
  .top-section-btn {
    margin-top: 40px;
  }
}
.top-section-btn-lead {
  margin-top: 100px;
}
.top-section-br-products {
  display: none;
}
@media screen and (max-width: 1098px) {
  .top-section-br-products {
    display: block;
  }
}
@media screen and (max-width: 800px) {
  .top-section-br-products {
    display: none;
  }
}

.top-products {
  position: relative;
  overflow: hidden;
  -webkit-transform: translateY(-180px);
          transform: translateY(-180px);
  margin-bottom: -180px;
}
@media screen and (max-width: 800px) {
  .top-products {
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
    margin-bottom: -50px;
  }
}
.top-products-triangle {
  width: 100%;
  height: 180px;
  position: absolute;
  right: 0;
  bottom: 100%;
  background: -webkit-gradient(linear, right top, left bottom, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(50.5%, #FFF)) no-repeat top left/100% 100%;
  background: linear-gradient(to bottom left, rgba(255, 255, 255, 0) 50%, #FFF 50.5%) no-repeat top left/100% 100%;
  content: "";
}
.top-products-wrapper {
  height: 769px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1380px) {
  .top-products-wrapper {
    height: 627px;
  }
}
@media screen and (max-width: 1098px) {
  .top-products-wrapper {
    height: 500px;
  }
}
@media screen and (max-width: 800px) {
  .top-products-wrapper {
    height: auto;
    margin-top: 20px;
  }
}
.top-products-image-area {
  width: 753px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: auto;
  position: absolute;
  top: 0;
  right: -70px;
  bottom: 0;
  z-index: -2;
}
@media screen and (max-width: 1664px) {
  .top-products-image-area {
    width: 50vw;
  }
}
@media screen and (max-width: 800px) {
  .top-products-image-area {
    display: block;
    width: 100%;
    position: static;
  }
}
@media screen and (max-width: 800px) {
  .top-products-image {
    display: block;
    width: auto;
    height: 58vw;
    min-height: 309px;
    margin-left: auto;
    margin-bottom: -10%;
    -webkit-transform: translateX(40px);
            transform: translateX(40px);
  }
}
@media screen and (max-width: 544px) {
  .top-products-image {
    height: 50vw;
    min-height: none;
    margin-bottom: 0;
  }
}

.top-tech {
  padding-top: 11.41%;
  padding-bottom: 100px;
  position: relative;
}
@media screen and (max-width: 800px) {
  .top-tech {
    margin-top: 74px;
    padding-top: 90px;
    padding-bottom: 0;
  }
}
.top-tech-carousel {
  margin-top: 50px;
}
.top-tech-carousel .bx-wrapper {
  margin-bottom: 0;
  max-width: 100% !important;
  overflow: visible;
}
.top-tech-slides {
  list-style: none;
}
.top-tech-slide {
  width: 238px;
}

.top-sustainability {
  position: relative;
  padding-top: 400px;
  padding-bottom: 100px;
  margin-top: 50px;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .top-sustainability {
    margin-top: 0;
    padding-top: 337px;
    padding-bottom: 50px;
  }
}
.top-sustainability-bg {
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../images/pages/top/bg_dot_pc.png) left top/6px 6px repeat, url(../images/pages/top/bg_sustainability.jpg) center/cover no-repeat;
  z-index: -1;
  will-change: transform;
}
@media screen and (max-width: 800px) {
  .top-sustainability-bg {
    background: url(../images/pages/top/bg_dot.png) left top/3px 3px repeat, url(../images/pages/top/bg_sustainability.jpg) center/cover no-repeat;
  }
}
.top-sustainability-triangle {
  width: 100%;
  height: 30%;
  position: absolute;
  top: 0;
  right: 0;
  background: -webkit-gradient(linear, right bottom, left top, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(50.5%, #FFF)) no-repeat top left/100% 100%;
  background: linear-gradient(to top left, rgba(255, 255, 255, 0) 50%, #FFF 50.5%) no-repeat top left/100% 100%;
}
@media screen and (max-width: 800px) {
  .top-sustainability-triangle {
    top: -1px;
    height: 10%;
  }
}

.top-about {
  padding-top: 10.45%;
  position: relative;
}
@media screen and (max-width: 800px) {
  .top-about {
    margin-top: 100px;
    padding-top: 70px;
  }
}

.top-steel {
  margin-top: 70%;
  padding-top: 10.21%;
  padding-bottom: 200px;
  position: relative;
}
@media screen and (max-width: 800px) {
  .top-steel {
    margin-top: 73%;
    padding-top: 70px;
    padding-bottom: 0;
  }
}

.top-lead {
  padding-top: 138px;
  padding-bottom: 138px;
  position: relative;
}
@media screen and (max-width: 800px) {
  .top-lead {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media screen and (max-width: 800px) {
  .top-lead::before {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    min-height: 560px;
    background: url(../images/pages/top/bg_dot.png) left top/3px 3px repeat, url(../images/pages/top/bg_main_sp.jpg) center top/cover no-repeat;
    content: "";
  }
}
.top-lead-section {
  max-width: 1565px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 50px;
  padding-left: 50px;
  opacity: 0;
  -webkit-transform: translate3d(0, 30px, 0);
          transform: translate3d(0, 30px, 0);
}
.top-lead-section.is-load {
  -webkit-transition: opacity 0.4s linear 0.2s, -webkit-transform 0.4s linear 0.2s;
  transition: opacity 0.4s linear 0.2s, -webkit-transform 0.4s linear 0.2s;
  transition: opacity 0.4s linear 0.2s, transform 0.4s linear 0.2s;
  transition: opacity 0.4s linear 0.2s, transform 0.4s linear 0.2s, -webkit-transform 0.4s linear 0.2s;
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}
@media screen and (max-width: 800px) {
  .top-lead-section {
    position: relative;
    padding-right: 20px;
    padding-left: 20px;
    padding-top: 120px;
    height: calc(100vh - 60px);
    min-height: 500px;
  }
}

.top-safety {
  padding-top: 350px;
  padding-bottom: 50px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .top-safety {
    padding-top: 90px;
    padding-bottom: 0;
    margin-top: 50px;
  }
}
.top-safety-images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 0;
  right: -133px;
  z-index: -1;
}
@media screen and (max-width: 1664px) {
  .top-safety-images {
    right: -100px;
  }
}
@media screen and (max-width: 1380px) {
  .top-safety-images {
    right: -70px;
  }
}
@media screen and (max-width: 800px) {
  .top-safety-images {
    margin-top: 30px;
    position: static;
    right: auto;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
  }
}
.top-safety-thumbnail {
  width: 256px;
}
@media screen and (max-width: 1664px) {
  .top-safety-thumbnail {
    width: 15vw;
  }
}
@media screen and (max-width: 1380px) {
  .top-safety-thumbnail {
    width: 13vw;
  }
}
@media screen and (max-width: 1098px) {
  .top-safety-thumbnail {
    width: 12vw;
  }
}
@media screen and (max-width: 800px) {
  .top-safety-thumbnail {
    width: calc((100% - 24px) / 3);
  }
}
.top-safety-thumbnail-2 {
  margin-top: 110px;
  margin-right: 30px;
  margin-left: 30px;
}
@media screen and (max-width: 800px) {
  .top-safety-thumbnail-2 {
    margin-top: 47px;
    margin-right: 12px;
    margin-left: 12px;
  }
}
.top-safety-thumbnail-3 {
  margin-top: 155px;
}
@media screen and (max-width: 800px) {
  .top-safety-thumbnail-3 {
    margin-top: 70px;
  }
}

.top-contents-banners {
  width: 400px;
  position: absolute;
  top: 273px;
  right: 0;
  z-index: 999;
}
@media screen and (max-width: 800px) {
  .top-contents-banners {
    width: 100%;
    position: relative;
    top: auto;
    right: auto;
  }
}
@media screen and (max-width: 800px) {
  .top-contents-banners-layout {
    background: rgba(0, 0, 0, 0.7);
    padding: 20px 20px;
  }
}
.top-contents-banners-title {
  font-size: 1.2rem;
  font-weight: bold;
  color: #FFF;
}
@media screen and (max-width: 800px) {
  .top-contents-banners-title {
    width: 340px;
    max-width: 100%;
    margin: 0 auto;
  }
}
.top-contents-banners-main {
  padding: 25px 30px 57px;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 15px 0 0 15px;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .top-contents-banners-main {
    width: 340px;
    max-width: 100%;
    background: transparent;
    border-radius: 0;
    margin: 0 auto;
    padding: 10px 0 30px;
  }
}
.top-contents-banners-link {
  display: block;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  will-change: opacity;
}
@media screen and (min-width: 801px) {
  .top-contents-banners-link:hover {
    opacity: 0.6;
  }
}
.top-contents-banners-image-lazy {
  display: none;
}
.top-contents-banners .bx-wrapper {
  margin-bottom: 32px;
}
.top-contents-banners .bx-wrapper .bx-pager.bx-default-pager a {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #A5A5A5;
}
@media screen and (max-width: 800px) {
  .top-contents-banners .bx-wrapper .bx-pager.bx-default-pager a {
    width: 10px;
    height: 10px;
  }
}
.top-contents-banners .bx-wrapper .bx-pager.bx-default-pager a:hover, .top-contents-banners .bx-wrapper .bx-pager.bx-default-pager a.active {
  background: #E50012;
}
.top-contents-banners .bx-wrapper .bx-controls-direction a {
  width: 10px;
  height: 21px;
  top: auto;
  bottom: -33px;
  margin-top: 5px;
}
.top-contents-banners .bx-wrapper .bx-prev {
  background: url("../images/icon/icon_arrow_red_left.svg") center/contain no-repeat;
  left: 0;
}
.top-contents-banners .bx-wrapper .bx-next {
  background: url("../images/icon/icon_arrow_red_right.svg") center/contain no-repeat;
  right: 0;
}
.top-contents-banners .slick-slider .slick-prev,
.top-contents-banners .slick-slider .slick-next {
  position: absolute;
  outline: 0;
  text-indent: -9999px;
  z-index: 9999;
  width: 10px;
  height: 21px;
  top: auto;
  bottom: -27px;
  margin-top: 5px;
}
.top-contents-banners .slick-slider .slick-prev {
  background: url("../images/icon/icon_arrow_red_left.svg") center/contain no-repeat;
  left: 0;
}
.top-contents-banners .slick-slider .slick-next {
  background: url("../images/icon/icon_arrow_red_right.svg") center/contain no-repeat;
  right: 0;
}
.top-contents-banners .slick-slider .slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  bottom: -21px;
  width: 100%;
}
.top-contents-banners .slick-slider .slick-dots li {
  list-style-type: none;
  margin: 0 5px;
  width: 10px;
  height: 10px;
}
.top-contents-banners .slick-slider .slick-dots button {
  position: relative;
  width: 10px;
  height: 10px;
  text-indent: -9999px;
}
.top-contents-banners .slick-slider .slick-dots button::before {
  content: "";
  outline: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #A5A5A5;
  position: absolute;
  top: 0;
  left: 0;
}
.top-contents-banners .slick-slider .slick-dots .slick-active button::before {
  background: #E50012;
}
.top-contents-banners .slider-link,
.top-contents-banners .slick-slide:focus {
  outline: none;
}

.top-scroll {
  width: 65px;
  height: 52px;
  margin: auto;
  position: absolute;
  right: 0;
  top: calc(100vh - 107px);
  left: 0;
  color: #FFF;
  text-align: center;
  z-index: 1;
}
@media screen and (max-width: 800px) {
  .top-scroll {
    top: calc(100vh - 150px);
  }
}
.top-scroll-icon-area {
  position: relative;
}
.top-scroll-icon {
  display: block;
  width: 30px;
  height: 30px;
  margin: auto;
  position: absolute;
  top: -10px;
  right: 0;
  left: 0;
  border-left: 1px solid;
  border-bottom: 1px solid;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.top-scroll-en {
  top: calc(100vh - 207px);
}
@media screen and (max-width: 800px) {
  .top-scroll-en {
    top: calc(100vh - 150px);
  }
}

.top-bg {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
.top-bg-main {
  width: 100%;
  height: 100%;
  position: absolute;
  top: -27%;
  left: 0;
  background-image: url(../images/pages/top/bg_dot_pc.png), url(../images/pages/top/bg_main.jpg);
  background-repeat: repeat, no-repeat;
  background-position: left top, center top;
  background-size: 6px, cover;
  content: "";
  pointer-events: none;
  z-index: -1;
  will-change: transform;
}
@media screen and (max-width: 800px) {
  .top-bg-main {
    display: none;
    background-size: 3px, cover;
    background-image: url(../images/pages/top/bg_dot.png), url(../images/pages/top/bg_main.jpg);
  }
}

.top-contact1 {
  width: 400px;
  padding: 15px 40px 10px;
  position: absolute;
  top: 37px;
  right: 0;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 30px 0 0 30px;
  color: #FFF;
  overflow: hidden;
}
.top-contact1-link {
  display: block;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  will-change: opacity;
}
@media screen and (min-width: 801px) {
  .top-contact1-link:hover {
    opacity: 0.6;
  }
}
.top-contact1-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #E2E2E2;
  border-radius: 11px;
  color: #000;
  font-weight: bold;
}
.top-contact1-heading-sub {
  font-weight: normal;
  font-size: 1.2rem;
  margin-left: 10px;
}
.top-contact1-tel {
  margin-top: 7px;
  text-align: center;
}
.top-contact1-tel-inner {
  display: inline-block;
  padding-left: 44px;
  background: url(../images/icon/tel_free.svg) left 22px/auto 23px no-repeat;
}
.top-contact1-tel-type {
  line-height: 1.25;
  font-size: 1.2rem;
  text-align: left;
}
.top-contact1-tel-number {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.3;
}
.top-contact1-time {
  font-size: 1.1rem;
  text-align: center;
  white-space: nowrap;
  margin-left: -11px;
}

.top-contact2 {
  width: 400px;
  position: absolute;
  top: 189px;
  right: 0;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 40px 0 0 40px;
  color: #FFF;
  overflow: hidden;
}
.top-contact2-link {
  display: block;
  padding: 10px 66px 10px 74px;
  text-align: center;
}
.top-contact2-link:hover .top-contact2-inner {
  opacity: 0.7;
}
.top-contact2-link:hover::after {
  -webkit-transform: translate3d(5px, 0, 0);
          transform: translate3d(5px, 0, 0);
}
.top-contact2-link::after {
  display: block;
  position: absolute;
  margin: auto;
  width: 9px;
  height: 14px;
  top: 0;
  right: 30px;
  bottom: 0;
  background: url("../images/icon/icon_arrow_red_right.svg") center/contain no-repeat;
  content: "";
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}
.top-contact2-icon {
  width: 13px;
  height: 20px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 74px;
}
.top-contact2-icon-tel {
  fill: #FFF;
  width: 13px;
  height: 20px;
}
.top-contact2-inner {
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.top-contact3 {
  color: #FFF;
  position: absolute;
  z-index: 1;
}
.top-contact3-news {
  top: 20px;
  left: 20px;
  background: url(../images/icon/icon_arrow_white_bottom.svg) center 46px/11.5px 7.2px no-repeat;
}
@media screen and (max-width: 359px) {
  .top-contact3-news {
    left: 10px;
  }
}
.top-contact3-tel {
  top: 20px;
  left: 94px;
}
@media screen and (max-width: 359px) {
  .top-contact3-tel {
    left: 78px;
  }
}
.top-contact3-link {
  display: block;
  width: 62px;
  height: 62px;
  position: relative;
  border: 1px solid;
  border-radius: 50%;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.16667;
}
.top-contact3-text {
  display: inline-block;
  margin-top: 11px;
}
.top-contact3-icon-area {
  width: 8px;
  height: 12px;
  margin: auto;
  position: absolute;
  top: 43px;
  right: 0;
  left: 0;
}
.top-contact3-icon-tel {
  width: 8px;
  height: 12px;
  fill: #FFF;
}

.top-contact3-en .top-contact3-link {
  width: 76px;
  height: 76px;
}
.top-contact3-en .top-contact3-icon-area {
  top: 56px;
}

.top-contact3-tel {
  left: 106px;
}

.top-contact3-news-en .top-contact3-text {
  margin-top: 24px;
}

.top-contact4 {
  width: 191px;
  position: absolute;
  top: 20px;
  right: 0;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 40px 0 0 40px;
  color: #FFF;
  text-align: center;
  line-height: 1;
  z-index: 1;
}
@media screen and (max-width: 359px) {
  .top-contact4 {
    width: 170px;
  }
}
.top-contact4:after {
  display: block;
  width: 9px;
  height: 14px;
  margin: auto;
  position: absolute;
  top: 0;
  right: 14px;
  bottom: 0;
  background: url("../images/icon/icon_arrow_red_right.svg") center/contain no-repeat;
  content: "";
}
@media screen and (max-width: 359px) {
  .top-contact4:after {
    right: 8px;
  }
}
.top-contact4-link {
  display: block;
  padding: 10px 0 14px;
}
.top-contact4-text {
  font-size: 1.4rem;
  font-weight: bold;
}
.top-contact4-text-sub {
  margin-top: 8px;
  font-size: 1.2rem;
  font-weight: normal;
}

.top-contents-area {
  position: relative;
  z-index: 1;
  background: #FFF;
}
.top-contents-area::before {
  width: 100%;
  height: 5%;
  position: absolute;
  right: 0;
  bottom: 100%;
  background: -webkit-gradient(linear, right top, left bottom, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(50.5%, #FFF)) no-repeat top left/100% 100%;
  background: linear-gradient(to bottom left, rgba(255, 255, 255, 0) 50%, #FFF 50.5%) no-repeat top left/100% 100%;
  content: "";
}
@media screen and (max-width: 800px) {
  .top-contents-area::before {
    height: 1.2%;
    bottom: calc(100% - 1px);
  }
}

.top-bg-area2 {
  padding-bottom: 180px;
}
@media screen and (max-width: 800px) {
  .top-bg-area2 {
    padding-top: 80px;
    position: relative;
  }
}

.star-object {
  width: 56.637vw;
  height: 57.778vw;
  position: absolute;
  top: 200px;
  right: 0;
  -webkit-transform: translateX(100px);
          transform: translateX(100px);
  background: url(../images/pages/top/star.png) center/contain no-repeat;
}
@media screen and (max-width: 800px) {
  .star-object {
    width: 70vw;
    height: 70vw;
    min-width: 334px;
    min-height: 334px;
    top: auto;
    bottom: -340px;
    -webkit-transform: translateX(80px);
            transform: translateX(80px);
  }
}

.service-about {
  padding: 16px 20px;
}
@media screen and (max-width: 800px) {
  .service-about {
    padding-left: 0;
    padding-right: 0;
    margin: 0 20px;
  }
}
.service-about + .service-about {
  border-top: 1px solid #E2E2E2;
}
.service-about-title {
  font-weight: bold;
  margin-bottom: 10px;
}
@media screen and (min-width: 801px) {
  .service-about-title {
    display: none;
  }
}

.about-profile-layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 800px) {
  .about-profile-layout {
    display: block;
  }
}
.about-profile-main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-right: 30px;
}
@media screen and (max-width: 800px) {
  .about-profile-main {
    margin-top: 30px;
    margin-right: 0;
  }
}

.release-nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: -24px;
  margin-left: -39px;
}
@media screen and (max-width: 544px) {
  .release-nav-list {
    margin-left: -20px;
  }
}
.release-nav-item {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 1;
      flex-shrink: 1;
  -ms-flex-preferred-size: calc((100% / 3) - 39px);
      flex-basis: calc((100% / 3) - 39px);
  max-width: calc((100% / 3) - 39px);
  margin-top: 24px;
  margin-left: 39px;
}
@media screen and (max-width: 800px) {
  .release-nav-item {
    -ms-flex-preferred-size: calc((100% / 2) - 39px);
        flex-basis: calc((100% / 2) - 39px);
    max-width: calc((100% / 2) - 39px);
  }
}
@media screen and (max-width: 544px) {
  .release-nav-item {
    -ms-flex-preferred-size: calc((100% / 2) - 20px);
        flex-basis: calc((100% / 2) - 20px);
    max-width: calc((100% / 2) - 20px);
    margin-left: 20px;
  }
}
.release-nav2-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -40px;
  list-style: none;
}
.release-nav2-item {
  margin-left: 40px;
}
.release-post-meta-left {
  float: left;
  margin-right: 20px;
  color: #A5A5A5;
}
@media screen and (max-width: 800px) {
  .release-post-meta-left {
    float: none;
  }
}
.release-post-date, .release-post-name, .release-post-subtext {
  text-align: right;
  color: #A5A5A5;
}
.release-post-header {
  margin-top: 20px;
}
.release-post-body {
  margin-top: 50px;
}
.release-post-inquiry {
  margin-top: 70px;
}

@media screen and (max-width: 544px) {
  .about-domestic__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .about-domestic__row .media2-col:last-child {
    margin-top: 0;
  }
  .about-domestic__row--no-image .media2-col {
    margin-top: 0;
  }
  .about-domestic__row--no-image .media2-col-sub-type1 {
    display: none;
  }
}

@media screen and (max-width: 544px) {
  .about-overseas__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .about-overseas__row .media2-col:last-child {
    margin-top: 0;
  }
  .about-overseas__row--no-image .media2-col {
    margin-top: 0;
  }
  .about-overseas__row--no-image .media2-col-sub-type1 {
    display: none;
  }
}

@media screen and (max-width: 800px) {
  .about-facilities__table tr + tr.is-sp-no-border {
    border: none;
  }
}
.about-facilities__table .table-cell-w220 {
  width: 220px;
}

.products-lead-layout {
  background: #F8F8F8 url(../images/pages/products/bg_lead.png) right center/671px auto no-repeat;
}
@media screen and (max-width: 1098px) {
  .products-lead-layout {
    background-size: 50% auto;
  }
}
@media screen and (max-width: 800px) {
  .products-lead-layout {
    padding-top: 50px;
    padding-bottom: 32%;
    background-position: right 96%;
    background-size: 90% auto;
  }
}
.products-lead-section {
  padding: 70px 0;
}
@media screen and (max-width: 800px) {
  .products-lead-section {
    padding: 0 0 32px;
  }
}
.products-lead-heading {
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 3.12px;
}
@media screen and (max-width: 800px) {
  .products-lead-heading {
    font-size: 2rem;
    letter-spacing: 2.4px;
    line-height: 1.95;
  }
}
.products-lead-text {
  margin-top: 38px;
  line-height: 2.75;
}
@media screen and (max-width: 800px) {
  .products-lead-text {
    margin-top: 30px;
    line-height: 2.12;
  }
}

.products-archive-body {
  margin-top: 50px;
}
@media screen and (max-width: 800px) {
  .products-archive-body {
    margin-top: 30px;
  }
}
.products-archive-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: -5px;
  margin-left: -5px;
}
@media screen and (max-width: 600px) {
  .products-archive-list {
    display: block;
    margin: 0;
  }
}
.products-archive-heading {
  margin-top: 20px;
  font-size: 5.4rem;
  font-weight: bold;
  letter-spacing: 5.4px;
  line-height: 1.06;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .products-archive-heading {
    font-size: 3.7rem;
  }
}
.products-archive-footer {
  margin-top: 50px;
}

.products-card {
  width: calc((100% / 2) - 5px);
  margin-top: 5px;
  margin-left: 5px;
  background: #F8F8F8;
}
@media screen and (max-width: 600px) {
  .products-card {
    width: 100%;
    margin: 0;
  }
}
@media screen and (max-width: 600px) {
  .products-card + .products-card {
    margin-top: 10px;
  }
}
.products-card-link {
  display: block;
  width: 100%;
  height: 100%;
  padding: 27px 78px 27px 20px;
  position: relative;
}
@media screen and (max-width: 1664px) {
  .products-card-link {
    padding-right: 40px;
  }
}
@media screen and (max-width: 800px) {
  .products-card-link {
    padding-top: 17px;
    padding-right: 30px;
    padding-bottom: 17px;
  }
}
.products-card-link:hover::after {
  -webkit-transform: translate3d(5px, 0, 0);
          transform: translate3d(5px, 0, 0);
}
.products-card-link::after {
  display: block;
  width: 13px;
  height: 21px;
  margin: auto;
  position: absolute;
  top: 0;
  right: 57px;
  bottom: 0;
  background: url(../images/icon/icon_arrow_red_right.svg) center/contain no-repeat;
  content: "";
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}
@media screen and (max-width: 1664px) {
  .products-card-link::after {
    right: 20px;
  }
}
@media screen and (max-width: 800px) {
  .products-card-link::after {
    width: 8px;
    height: 13px;
  }
}
.products-card-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1380px) {
  .products-card-row {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (max-width: 800px) {
  .products-card-row {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.products-card-thumbnail {
  width: 350px;
  margin-right: 30px;
}
@media screen and (max-width: 1664px) {
  .products-card-thumbnail {
    max-width: 40%;
  }
}
@media screen and (max-width: 1380px) {
  .products-card-thumbnail {
    margin-right: 20px;
  }
}
@media screen and (max-width: 800px) {
  .products-card-thumbnail {
    width: 107px;
    max-width: 107px;
    margin-right: 10px;
  }
}
.products-card-main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.products-card-heading {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.25;
}
@media screen and (max-width: 1380px) {
  .products-card-heading {
    font-size: 2rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (max-width: 800px) {
  .products-card-heading {
    font-size: 1.6rem;
    font-weight: bold;
  }
}
.products-card-text {
  max-width: 90%;
  margin-top: 20px;
}
@media screen and (max-width: 1380px) {
  .products-card-text {
    margin-top: 14px;
  }
}
@media screen and (max-width: 800px) {
  .products-card-text {
    display: none;
  }
}

@media screen and (max-width: 800px) {
  .products-submenu {
    padding-top: 100px;
    border-top: 3px solid #E2E2E2;
  }
}

@media screen and (max-width: 544px) {
  .scaleup-media {
    overflow: hidden;
    padding: 10% 0;
  }
}
@media screen and (max-width: 544px) {
  .scaleup-media-cold {
    padding: 15% 0;
  }
}
@media screen and (max-width: 544px) {
  .scaleup-media-image {
    -webkit-transform: scale(1.4);
            transform: scale(1.4);
  }
}
@media screen and (max-width: 544px) {
  .scaleup-media-image-reduction {
    -webkit-transform: translateX(10%) scale(1.4);
            transform: translateX(10%) scale(1.4);
  }
}
@media screen and (max-width: 544px) {
  .scaleup-media-image-cold {
    -webkit-transform: translateX(5%) scale(1.5);
            transform: translateX(5%) scale(1.5);
  }
}

.duplex-table {
  width: 841px;
  max-width: 100%;
}

.products-tool-dha_hs1 {
  position: relative;
  overflow: hidden;
}
.products-tool-dha_hs1::before, .products-tool-dha_hs1::after {
  content: "";
  display: block;
  position: absolute;
  height: 100%;
  top: 0;
  z-index: -1;
  width: 15%;
  max-width: 213px;
}
.products-tool-dha_hs1::before {
  left: 0;
  background: url(../images/pages/products/tool/dha_hs1/bg_side_left.png) no-repeat left top/100% 100%;
}
.products-tool-dha_hs1::after {
  right: 0;
  background: url(../images/pages/products/tool/dha_hs1/bg_side_right.png) no-repeat left top/100% 100%;
}
.products-tool-dha_hs1-inner {
  position: relative;
  z-index: 1;
}
.products-tool-dha_hs1 .heading-border2, .products-tool-dha_hs1 .entry h2, .entry .products-tool-dha_hs1 h2 {
  -o-border-image: url(../images/pages/products/tool/dha_hs1/bdr_gradation.jpg) 2;
     border-image: url(../images/pages/products/tool/dha_hs1/bdr_gradation.jpg) 2;
  border-bottom-width: 3px;
}
.products-tool-dha_hs1-heading {
  background-color: #02339A;
}
.products-tool-dha_hs1-heading::before {
  font-size: 1.4em;
  line-height: 1;
  margin-right: 0.2em;
}
.products-tool-dha_hs1-heading--num1::before {
  content: "1";
}
.products-tool-dha_hs1-heading--num2::before {
  content: "2";
}
.products-tool-dha_hs1-heading--num3::before {
  content: "3";
}
.products-tool-dha_hs1-heading small {
  font-size: 0.7em;
  margin-left: 1em;
}
.products-tool-dha_hs1-heading2 {
  color: #fff;
  padding: 5px;
  text-align: center;
  background: -webkit-gradient(linear, left top, left bottom, from(#b90508), to(#f6af7f));
  background: linear-gradient(to bottom, #b90508 0%, #f6af7f 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
.products-tool-dha_hs1-media-row {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.products-tool-dha_hs1-features {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.products-tool-dha_hs1-features > a {
  width: 32%;
}
.products-tool-dha_hs1-definition {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.products-tool-dha_hs1-definition dt {
  width: 3em;
}
.products-tool-dha_hs1-definition dd {
  width: calc(100% - 4em);
  text-indent: -1em;
  padding-left: 1em;
}
.products-tool-dha_hs1-definition.has-8 dt {
  width: 8em;
}
.products-tool-dha_hs1-definition.has-8 dd {
  width: calc(100% - 8em);
}

.products-machinery-syncro-heading-bg {
  padding: 5px 10px;
  background: #5E318F;
}
.products-machinery-syncro-text-color {
  color: #5E318F;
}

@media screen and (max-width: 800px) {
  .ask-tel .heading-s {
    display: none;
  }
}
.ask-tel-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 800px) {
  .ask-tel-box {
    display: block;
    border: 1px solid #A5A5A5;
  }
}
.ask-tel-image {
  width: 100%;
  max-width: 320px;
  margin-right: 40px;
}
.ask-tel-image img {
  border: 1px solid #E2E2E2;
}
.ask-tel-image.has-multi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.ask-tel-image.has-multi img {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 50%;
  height: 198px;
  -o-object-fit: cover;
     object-fit: cover;
}
.ask-tel-image.has-multi img + img {
  border-left: none;
}
@media screen and (max-width: 800px) {
  .ask-tel-image {
    width: 100%;
    max-width: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 8px 10px;
    background: #F8F8F8;
    position: relative;
    cursor: pointer;
  }
  .ask-tel-image::after {
    content: attr(data-title);
    font-size: 1.6rem;
    font-weight: bold;
  }
  .ask-tel-image::before {
    display: block;
    width: 14px;
    height: 9px;
    margin: auto;
    position: absolute;
    top: 0;
    right: 16px;
    bottom: 0;
    background: url(../images/icon/icon_arrow_red_bottom.svg) left top/contain no-repeat;
    content: "";
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }
  .ask-tel-image img {
    width: 72px;
    height: 44px;
    border: none;
    -o-object-fit: cover;
       object-fit: cover;
    margin-right: 10px;
  }
  .ask-tel-image.has-multi img {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    width: 36px;
    height: 44px;
  }
  .ask-tel-image.has-multi img:first-child {
    margin-right: 0;
  }
}
@media screen and (max-width: 800px) {
  .ask-tel-box.is-open .ask-tel-image::before {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
}
.ask-tel-main {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (max-width: 800px) {
  .ask-tel-main {
    overflow: hidden;
    padding: 0;
    height: 0;
  }
}
@media screen and (max-width: 800px) {
  .ask-tel-box.is-open .ask-tel-main {
    padding: 30px 20px;
    height: auto;
  }
}
.ask-tel-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.ask-tel-row + .ask-tel-row {
  padding-top: 20px;
  margin-top: 20px;
  border-top: 1px solid #E2E2E2;
}
@media screen and (max-width: 1098px) {
  .ask-tel-row {
    display: block;
  }
}
.ask-tel-row.has-empty .ask-tel-col {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  margin-right: 2em;
}
@media screen and (max-width: 1098px) {
  .ask-tel-row.has-empty .ask-tel-col {
    margin-right: 0;
  }
  .ask-tel-row.has-empty .ask-tel-col:not(:first-child) {
    padding-top: 0;
    margin-top: 10px;
    padding-left: 8em;
    border-top: none;
  }
}
.ask-tel-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 1098px) {
  .ask-tel-col + .ask-tel-col {
    padding-top: 20px;
    margin-top: 20px;
    border-top: 1px solid #E2E2E2;
  }
}
.ask-tel-label {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 1em;
  white-space: nowrap;
  min-width: 6em;
}
.ir-information-faq-list-question {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.ir-information-faq-list-question::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: url(../images/pages/q.gif) no-repeat center center;
  width: 16px;
  height: 16px;
  display: inline-block;
  margin: 0.5em 0.8em 0 0;
}
.ir-information-faq-list-question ~ .ir-information-faq-list-question {
  margin-top: 20px;
}
.ir-information-faq-list-answer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.ir-information-faq-list-answer::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: url(../images/pages/a.gif) no-repeat center center;
  width: 16px;
  height: 16px;
  display: inline-block;
  margin: 0.5em 0.8em 0 0;
}
.search-result {
  margin-top: 24px;
  border-top: 1px solid #E2E2E2;
}

.search-post {
  padding: 24px 0;
  border-bottom: 1px solid #E2E2E2;
}
.search-post-link {
  display: block;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  will-change: opacity;
}
.search-post-link:hover {
  opacity: 0.6;
}
.search-post-date {
  margin-top: 10px;
}
.search-post-body {
  margin-top: 10px;
}
.search-post-text + .search-post-url {
  margin-top: 10px;
}

.search-form-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.search-form-input {
  display: inline-block;
  width: 502px;
  margin-right: 10px;
  border: 0;
  background: #E2E2E2;
  border-radius: 0;
  padding: 18px;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
  vertical-align: middle;
}
@media screen and (max-width: 800px) {
  .search-form-input {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
@media screen and (max-width: 544px) {
  .search-form-input {
    width: 100%;
    margin-right: 0;
  }
}
.search-form-btn {
  width: 100px;
  height: 60px;
  display: inline-block;
  background: #313131;
  color: #FFF;
  text-align: center;
  vertical-align: middle;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  font-family: "Noto Sans JP", sans-serif;
  will-change: opacity;
  white-space: nowrap;
}
@media screen and (max-width: 544px) {
  .search-form-btn {
    width: 64px;
  }
}
.search-form-btn:hover {
  opacity: 0.7;
}

.search-pagination {
  margin-top: 40px;
}

.coronavirus-cont {
  padding: 24px 0;
}
.coronavirus-cont h3 {
  font-size: 16px;
  margin-bottom: 0;
  margin-top: 0;
}

.align-left {
  text-align: left;
}
.align-right {
  text-align: right;
}
.align-center {
  text-align: center;
}
.margin-center{
  margin: 0 auto;
}
.align-justify {
  text-align: justify;
}
.align-justify-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.align-item-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.align-item-end {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.justify-between {
  justify-content: space-between;
}
@media screen and (min-width: 801px) {
  .align-pc-left {
    text-align: left;
  }
}
@media screen and (min-width: 801px) {
  .align-pc-right {
    text-align: right;
  }
}
@media screen and (min-width: 801px) {
  .align-pc-center {
    text-align: center;
  }
}
@media screen and (min-width: 801px) {
  .align-pc-justify {
    text-align: justify;
  }
}
@media screen and (max-width: 800px) {
  .align-sp-left {
    text-align: left;
  }
}
@media screen and (max-width: 800px) {
  .align-sp-right {
    text-align: right;
  }
}
@media screen and (max-width: 800px) {
  .align-sp-center {
    text-align: center;
  }
}
@media screen and (max-width: 800px) {
  .align-sp-justify {
    text-align: justify;
  }
}

.bg-gray-thin {
  background-color: #F8F8F8 !important;
}

.bg-gray-light {
  background-color: #E2E2E2 !important;
}

.bg-gray {
  background-color: #A5A5A5 !important;
}

.bg-gray-dark {
  background-color: #313131 !important;
}

.bg-red {
  background-color: #E50012 !important;
}

.bg-red-light {
  background-color: #FF9999 !important;
}

.bg-pink {
  background-color: #ffcede !important;
}
.bg-pink-2 {
  background-color: #FFCCCC !important;
}
.bg-pink-3 {
  background-color: #FFEBEB !important;
}

.bg-yellow {
  background-color: #ffff99 !important;
}

.bg-yellow-2 {
  background-color: #F4D670 !important;
}

.bg-yellow-3{
  background-color: #FFF3F3 !important;
}

.bg-blue {
  background-color: #BBE3F9 !important;
}

.bg-blue-2 {
  background-color: #B7DEE8 !important;
}

.bg-blue-3{
  background-color: #DAEEF3 !important;
}

.bg-green {
  background-color: #CBE4B9 !important;
}
.bg-green-2 {
  background-color: #EBF1DE !important;
}

.bg-purple {
  background-color: #F5E5FE !important;
}
.bg-purple-2 {
  background-color: #CCC0DA !important;
}
.bg-purple-3 {
  background-color: #E4DFEC !important;
}

.bg-orange {
  background-color: #FFEBCC !important;
}
.bg-orange-2 {
  background-color: #FDE9D9 !important;
}
.bg-orange-3 {
  background-color: #ffd1ab !important;
}

.color-main {
  color: #E50012;
}

.color-gray-mid {
  color: #898989;
}

.display-none {
  display: none;
}
@media screen and (min-width: 801px) {
  .display-pc-none {
    display: none;
  }
}
@media screen and (max-width: 800px) {
  .display-sp-none {
    display: none;
  }
}
@media screen and (max-width: 1098px) {
  .display-l-none {
    display: none;
  }
}
@media screen and (max-width: 544px) {
  .display-s-none {
    display: none;
  }
}
.display-inline-block {
  display: inline-block;
}
@media screen and (min-width: 801px) {
  .display-pc-inline-block {
    display: inline-block;
  }
}
@media screen and (max-width: 800px) {
  .display-sp-inline-block {
    display: inline-block;
  }
}
.display-block {
  display: block;
}
@media screen and (min-width: 801px) {
  .display-pc-block {
    display: block;
  }
}
@media screen and (max-width: 800px) {
  .display-sp-block {
    display: block;
  }
}

.font-f-roboto {
  font-family: "Roboto", sans-serif;
}

.font-f-mincho {
  font-family: "Noto Serif JP", serif;
}

.font-f-mincho-cn {
  font-family: "Noto Serif SC", serif;
}

.font-size-10 {
  font-size: 10px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-10 {
    font-size: 10px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-10 {
    font-size: 10px;
  }
}

.font-size-11 {
  font-size: 11px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-11 {
    font-size: 11px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-11 {
    font-size: 11px;
  }
}

.font-size-12 {
  font-size: 12px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-12 {
    font-size: 12px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-12 {
    font-size: 12px;
  }
}

.font-size-13 {
  font-size: 13px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-13 {
    font-size: 13px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-13 {
    font-size: 13px;
  }
}

.font-size-14 {
  font-size: 14px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-14 {
    font-size: 14px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-14 {
    font-size: 14px;
  }
}

.font-size-15 {
  font-size: 15px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-15 {
    font-size: 15px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-15 {
    font-size: 15px;
  }
}

.font-size-16 {
  font-size: 16px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-16 {
    font-size: 16px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-16 {
    font-size: 16px;
  }
}

.font-size-17 {
  font-size: 17px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-17 {
    font-size: 17px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-17 {
    font-size: 17px;
  }
}

.font-size-18 {
  font-size: 18px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-18 {
    font-size: 18px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-18 {
    font-size: 18px;
  }
}

.font-size-19 {
  font-size: 19px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-19 {
    font-size: 19px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-19 {
    font-size: 19px;
  }
}

.font-size-20 {
  font-size: 20px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-20 {
    font-size: 20px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-20 {
    font-size: 20px;
  }
}

.font-size-21 {
  font-size: 21px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-21 {
    font-size: 21px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-21 {
    font-size: 21px;
  }
}

.font-size-22 {
  font-size: 22px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-22 {
    font-size: 22px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-22 {
    font-size: 22px;
  }
}

.font-size-23 {
  font-size: 23px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-23 {
    font-size: 23px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-23 {
    font-size: 23px;
  }
}

.font-size-24 {
  font-size: 24px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-24 {
    font-size: 24px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-24 {
    font-size: 24px;
  }
}

.font-size-25 {
  font-size: 25px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-25 {
    font-size: 25px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-25 {
    font-size: 25px;
  }
}

.font-size-26 {
  font-size: 26px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-26 {
    font-size: 26px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-26 {
    font-size: 26px;
  }
}

.font-size-27 {
  font-size: 27px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-27 {
    font-size: 27px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-27 {
    font-size: 27px;
  }
}

.font-size-28 {
  font-size: 28px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-28 {
    font-size: 28px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-28 {
    font-size: 28px;
  }
}

.font-size-29 {
  font-size: 29px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-29 {
    font-size: 29px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-29 {
    font-size: 29px;
  }
}

.font-size-30 {
  font-size: 30px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-30 {
    font-size: 30px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-30 {
    font-size: 30px;
  }
}

.font-size-31 {
  font-size: 31px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-31 {
    font-size: 31px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-31 {
    font-size: 31px;
  }
}

.font-size-32 {
  font-size: 32px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-32 {
    font-size: 32px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-32 {
    font-size: 32px;
  }
}

.font-size-33 {
  font-size: 33px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-33 {
    font-size: 33px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-33 {
    font-size: 33px;
  }
}

.font-size-34 {
  font-size: 34px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-34 {
    font-size: 34px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-34 {
    font-size: 34px;
  }
}

.font-size-35 {
  font-size: 35px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-35 {
    font-size: 35px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-35 {
    font-size: 35px;
  }
}

.font-size-36 {
  font-size: 36px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-36 {
    font-size: 36px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-36 {
    font-size: 36px;
  }
}

.font-size-37 {
  font-size: 37px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-37 {
    font-size: 37px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-37 {
    font-size: 37px;
  }
}

.font-size-38 {
  font-size: 38px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-38 {
    font-size: 38px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-38 {
    font-size: 38px;
  }
}

.font-size-39 {
  font-size: 39px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-39 {
    font-size: 39px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-39 {
    font-size: 39px;
  }
}

.font-size-40 {
  font-size: 40px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-40 {
    font-size: 40px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-40 {
    font-size: 40px;
  }
}

.font-size-41 {
  font-size: 41px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-41 {
    font-size: 41px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-41 {
    font-size: 41px;
  }
}

.font-size-42 {
  font-size: 42px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-42 {
    font-size: 42px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-42 {
    font-size: 42px;
  }
}

.font-size-43 {
  font-size: 43px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-43 {
    font-size: 43px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-43 {
    font-size: 43px;
  }
}

.font-size-44 {
  font-size: 44px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-44 {
    font-size: 44px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-44 {
    font-size: 44px;
  }
}

.font-size-45 {
  font-size: 45px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-45 {
    font-size: 45px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-45 {
    font-size: 45px;
  }
}

.font-size-46 {
  font-size: 46px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-46 {
    font-size: 46px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-46 {
    font-size: 46px;
  }
}

.font-size-47 {
  font-size: 47px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-47 {
    font-size: 47px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-47 {
    font-size: 47px;
  }
}

.font-size-48 {
  font-size: 48px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-48 {
    font-size: 48px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-48 {
    font-size: 48px;
  }
}

.font-size-49 {
  font-size: 49px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-49 {
    font-size: 49px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-49 {
    font-size: 49px;
  }
}

.font-size-50 {
  font-size: 50px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-50 {
    font-size: 50px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-50 {
    font-size: 50px;
  }
}

.font-size-51 {
  font-size: 51px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-51 {
    font-size: 51px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-51 {
    font-size: 51px;
  }
}

.font-size-52 {
  font-size: 52px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-52 {
    font-size: 52px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-52 {
    font-size: 52px;
  }
}

.font-size-53 {
  font-size: 53px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-53 {
    font-size: 53px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-53 {
    font-size: 53px;
  }
}

.font-size-54 {
  font-size: 54px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-54 {
    font-size: 54px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-54 {
    font-size: 54px;
  }
}

.font-size-55 {
  font-size: 55px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-55 {
    font-size: 55px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-55 {
    font-size: 55px;
  }
}

.font-size-56 {
  font-size: 56px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-56 {
    font-size: 56px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-56 {
    font-size: 56px;
  }
}

.font-size-57 {
  font-size: 57px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-57 {
    font-size: 57px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-57 {
    font-size: 57px;
  }
}

.font-size-58 {
  font-size: 58px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-58 {
    font-size: 58px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-58 {
    font-size: 58px;
  }
}

.font-size-59 {
  font-size: 59px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-59 {
    font-size: 59px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-59 {
    font-size: 59px;
  }
}

.font-size-60 {
  font-size: 60px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-60 {
    font-size: 60px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-60 {
    font-size: 60px;
  }
}

.font-size-61 {
  font-size: 61px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-61 {
    font-size: 61px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-61 {
    font-size: 61px;
  }
}

.font-size-62 {
  font-size: 62px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-62 {
    font-size: 62px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-62 {
    font-size: 62px;
  }
}

.font-size-63 {
  font-size: 63px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-63 {
    font-size: 63px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-63 {
    font-size: 63px;
  }
}

.font-size-64 {
  font-size: 64px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-64 {
    font-size: 64px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-64 {
    font-size: 64px;
  }
}

.font-size-65 {
  font-size: 65px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-65 {
    font-size: 65px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-65 {
    font-size: 65px;
  }
}

.font-size-66 {
  font-size: 66px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-66 {
    font-size: 66px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-66 {
    font-size: 66px;
  }
}

.font-size-67 {
  font-size: 67px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-67 {
    font-size: 67px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-67 {
    font-size: 67px;
  }
}

.font-size-68 {
  font-size: 68px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-68 {
    font-size: 68px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-68 {
    font-size: 68px;
  }
}

.font-size-69 {
  font-size: 69px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-69 {
    font-size: 69px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-69 {
    font-size: 69px;
  }
}

.font-size-70 {
  font-size: 70px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-70 {
    font-size: 70px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-70 {
    font-size: 70px;
  }
}

.font-size-71 {
  font-size: 71px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-71 {
    font-size: 71px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-71 {
    font-size: 71px;
  }
}

.font-size-72 {
  font-size: 72px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-72 {
    font-size: 72px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-72 {
    font-size: 72px;
  }
}

.font-size-73 {
  font-size: 73px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-73 {
    font-size: 73px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-73 {
    font-size: 73px;
  }
}

.font-size-74 {
  font-size: 74px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-74 {
    font-size: 74px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-74 {
    font-size: 74px;
  }
}

.font-size-75 {
  font-size: 75px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-75 {
    font-size: 75px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-75 {
    font-size: 75px;
  }
}

.font-size-76 {
  font-size: 76px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-76 {
    font-size: 76px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-76 {
    font-size: 76px;
  }
}

.font-size-77 {
  font-size: 77px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-77 {
    font-size: 77px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-77 {
    font-size: 77px;
  }
}

.font-size-78 {
  font-size: 78px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-78 {
    font-size: 78px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-78 {
    font-size: 78px;
  }
}

.font-size-79 {
  font-size: 79px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-79 {
    font-size: 79px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-79 {
    font-size: 79px;
  }
}

.font-size-80 {
  font-size: 80px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-80 {
    font-size: 80px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-80 {
    font-size: 80px;
  }
}

.font-size-81 {
  font-size: 81px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-81 {
    font-size: 81px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-81 {
    font-size: 81px;
  }
}

.font-size-82 {
  font-size: 82px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-82 {
    font-size: 82px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-82 {
    font-size: 82px;
  }
}

.font-size-83 {
  font-size: 83px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-83 {
    font-size: 83px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-83 {
    font-size: 83px;
  }
}

.font-size-84 {
  font-size: 84px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-84 {
    font-size: 84px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-84 {
    font-size: 84px;
  }
}

.font-size-85 {
  font-size: 85px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-85 {
    font-size: 85px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-85 {
    font-size: 85px;
  }
}

.font-size-86 {
  font-size: 86px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-86 {
    font-size: 86px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-86 {
    font-size: 86px;
  }
}

.font-size-87 {
  font-size: 87px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-87 {
    font-size: 87px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-87 {
    font-size: 87px;
  }
}

.font-size-88 {
  font-size: 88px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-88 {
    font-size: 88px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-88 {
    font-size: 88px;
  }
}

.font-size-89 {
  font-size: 89px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-89 {
    font-size: 89px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-89 {
    font-size: 89px;
  }
}

.font-size-90 {
  font-size: 90px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-90 {
    font-size: 90px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-90 {
    font-size: 90px;
  }
}

.font-size-91 {
  font-size: 91px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-91 {
    font-size: 91px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-91 {
    font-size: 91px;
  }
}

.font-size-92 {
  font-size: 92px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-92 {
    font-size: 92px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-92 {
    font-size: 92px;
  }
}

.font-size-93 {
  font-size: 93px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-93 {
    font-size: 93px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-93 {
    font-size: 93px;
  }
}

.font-size-94 {
  font-size: 94px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-94 {
    font-size: 94px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-94 {
    font-size: 94px;
  }
}

.font-size-95 {
  font-size: 95px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-95 {
    font-size: 95px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-95 {
    font-size: 95px;
  }
}

.font-size-96 {
  font-size: 96px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-96 {
    font-size: 96px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-96 {
    font-size: 96px;
  }
}

.font-size-97 {
  font-size: 97px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-97 {
    font-size: 97px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-97 {
    font-size: 97px;
  }
}

.font-size-98 {
  font-size: 98px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-98 {
    font-size: 98px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-98 {
    font-size: 98px;
  }
}

.font-size-99 {
  font-size: 99px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-99 {
    font-size: 99px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-99 {
    font-size: 99px;
  }
}

.font-size-100 {
  font-size: 100px;
}

@media screen and (min-width: 801px) {
  .font-size-pc-100 {
    font-size: 100px;
  }
}

@media screen and (max-width: 800px) {
  .font-size-sp-100 {
    font-size: 100px;
  }
}

.font-weight-100 {
  font-weight: 100;
}

@media screen and (min-width: 801px) {
  .font-weight-pc-100 {
    font-weight: 100;
  }
}

@media screen and (max-width: 800px) {
  .font-weight-sp-100 {
    font-weight: 100;
  }
}

.font-weight-200 {
  font-weight: 200;
}

@media screen and (min-width: 801px) {
  .font-weight-pc-200 {
    font-weight: 200;
  }
}

@media screen and (max-width: 800px) {
  .font-weight-sp-200 {
    font-weight: 200;
  }
}

.font-weight-300 {
  font-weight: 300;
}

@media screen and (min-width: 801px) {
  .font-weight-pc-300 {
    font-weight: 300;
  }
}

@media screen and (max-width: 800px) {
  .font-weight-sp-300 {
    font-weight: 300;
  }
}

.font-weight-400 {
  font-weight: 400;
}

@media screen and (min-width: 801px) {
  .font-weight-pc-400 {
    font-weight: 400;
  }
}

@media screen and (max-width: 800px) {
  .font-weight-sp-400 {
    font-weight: 400;
  }
}

.font-weight-500 {
  font-weight: 500;
}

@media screen and (min-width: 801px) {
  .font-weight-pc-500 {
    font-weight: 500;
  }
}

@media screen and (max-width: 800px) {
  .font-weight-sp-500 {
    font-weight: 500;
  }
}

.font-weight-600 {
  font-weight: 600;
}

@media screen and (min-width: 801px) {
  .font-weight-pc-600 {
    font-weight: 600;
  }
}

@media screen and (max-width: 800px) {
  .font-weight-sp-600 {
    font-weight: 600;
  }
}

.font-weight-700 {
  font-weight: 700;
}

@media screen and (min-width: 801px) {
  .font-weight-pc-700 {
    font-weight: 700;
  }
}

@media screen and (max-width: 800px) {
  .font-weight-sp-700 {
    font-weight: 700;
  }
}

.font-weight-800 {
  font-weight: 800;
}

@media screen and (min-width: 801px) {
  .font-weight-pc-800 {
    font-weight: 800;
  }
}

@media screen and (max-width: 800px) {
  .font-weight-sp-800 {
    font-weight: 800;
  }
}

.font-weight-900 {
  font-weight: 900;
}

@media screen and (min-width: 801px) {
  .font-weight-pc-900 {
    font-weight: 900;
  }
}

@media screen and (max-width: 800px) {
  .font-weight-sp-900 {
    font-weight: 900;
  }
}

.font-weight-normal {
  font-weight: normal;
}

@media screen and (min-width: 801px) {
  .font-weight-pc-normal {
    font-weight: normal;
  }
}

@media screen and (max-width: 800px) {
  .font-weight-sp-normal {
    font-weight: normal;
  }
}

.font-weight-bold {
  font-weight: bold;
}

@media screen and (min-width: 801px) {
  .font-weight-pc-bold {
    font-weight: bold;
  }
}

@media screen and (max-width: 800px) {
  .font-weight-sp-bold {
    font-weight: bold;
  }
}

.m-5 {
  margin: 5px;
}

.mt-5 {
  margin-top: 5px;
}

.mr-5 {
  margin-right: 5px;
}

.mb-5 {
  margin-bottom: 5px;
}

.ml-5 {
  margin-left: 5px;
}

.mx-5 {
  margin-right: 5px;
  margin-left: 5px;
}

.my-5 {
  margin-top: 5px;
  margin-bottom: 5px;
}

@media screen and (min-width: 801px) {
  .m-pc-5 {
    margin: 5px;
  }
}

@media screen and (min-width: 801px) {
  .mt-pc-5 {
    margin-top: 5px;
  }
}

@media screen and (min-width: 801px) {
  .mr-pc-5 {
    margin-right: 5px;
  }
}

@media screen and (min-width: 801px) {
  .mb-pc-5 {
    margin-bottom: 5px;
  }
}

@media screen and (min-width: 801px) {
  .ml-pc-5 {
    margin-left: 5px;
  }
}

@media screen and (min-width: 801px) {
  .mx-pc-5 {
    margin-right: 5px;
    margin-left: 5px;
  }
}

@media screen and (min-width: 801px) {
  .my-pc-5 {
    margin-top: 5px;
    margin-bottom: 5px;
  }
}

@media screen and (max-width: 800px) {
  .m-sp-5 {
    margin: 5px;
  }
}

@media screen and (max-width: 800px) {
  .mt-sp-5 {
    margin-top: 5px;
  }
}

@media screen and (max-width: 800px) {
  .mr-sp-5 {
    margin-right: 5px;
  }
}

@media screen and (max-width: 800px) {
  .mb-sp-5 {
    margin-bottom: 5px;
  }
}

@media screen and (max-width: 800px) {
  .ml-sp-5 {
    margin-left: 5px;
  }
}

@media screen and (max-width: 800px) {
  .mx-sp-5 {
    margin-right: 5px;
    margin-left: 5px;
  }
}

@media screen and (max-width: 800px) {
  .my-sp-5 {
    margin-top: 5px;
    margin-bottom: 5px;
  }
}

.m-10 {
  margin: 10px;
}

.mt-10 {
  margin-top: 10px;
}

.mr-10 {
  margin-right: 10px;
}

.mb-10 {
  margin-bottom: 10px;
}

.ml-10 {
  margin-left: 10px;
}

.mx-10 {
  margin-right: 10px;
  margin-left: 10px;
}

.my-10 {
  margin-top: 10px;
  margin-bottom: 10px;
}

@media screen and (min-width: 801px) {
  .m-pc-10 {
    margin: 10px;
  }
}

@media screen and (min-width: 801px) {
  .mt-pc-10 {
    margin-top: 10px;
  }
}

@media screen and (min-width: 801px) {
  .mr-pc-10 {
    margin-right: 10px;
  }
}

@media screen and (min-width: 801px) {
  .mb-pc-10 {
    margin-bottom: 10px;
  }
}

@media screen and (min-width: 801px) {
  .ml-pc-10 {
    margin-left: 10px;
  }
}

@media screen and (min-width: 801px) {
  .mx-pc-10 {
    margin-right: 10px;
    margin-left: 10px;
  }
}

@media screen and (min-width: 801px) {
  .my-pc-10 {
    margin-top: 10px;
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 800px) {
  .m-sp-10 {
    margin: 10px;
  }
}

@media screen and (max-width: 800px) {
  .mt-sp-10 {
    margin-top: 10px;
  }
}

@media screen and (max-width: 800px) {
  .mr-sp-10 {
    margin-right: 10px;
  }
}

@media screen and (max-width: 800px) {
  .mb-sp-10 {
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 800px) {
  .ml-sp-10 {
    margin-left: 10px;
  }
}

@media screen and (max-width: 800px) {
  .mx-sp-10 {
    margin-right: 10px;
    margin-left: 10px;
  }
}

@media screen and (max-width: 800px) {
  .my-sp-10 {
    margin-top: 10px;
    margin-bottom: 10px;
  }
}

.m-16 {
  margin: 16px;
}

.mt-16 {
  margin-top: 16px;
}

.mr-16 {
  margin-right: 16px;
}

.mb-16 {
  margin-bottom: 16px;
}

.ml-16 {
  margin-left: 16px;
}

.mx-16 {
  margin-right: 16px;
  margin-left: 16px;
}

.my-16 {
  margin-top: 16px;
  margin-bottom: 16px;
}

@media screen and (min-width: 801px) {
  .m-pc-16 {
    margin: 16px;
  }
}

@media screen and (min-width: 801px) {
  .mt-pc-16 {
    margin-top: 16px;
  }
}

@media screen and (min-width: 801px) {
  .mr-pc-16 {
    margin-right: 16px;
  }
}

@media screen and (min-width: 801px) {
  .mb-pc-16 {
    margin-bottom: 16px;
  }
}

@media screen and (min-width: 801px) {
  .ml-pc-16 {
    margin-left: 16px;
  }
}

@media screen and (min-width: 801px) {
  .mx-pc-16 {
    margin-right: 16px;
    margin-left: 16px;
  }
}

@media screen and (min-width: 801px) {
  .my-pc-16 {
    margin-top: 16px;
    margin-bottom: 16px;
  }
}

@media screen and (max-width: 800px) {
  .m-sp-16 {
    margin: 16px;
  }
}

@media screen and (max-width: 800px) {
  .mt-sp-16 {
    margin-top: 16px;
  }
}

@media screen and (max-width: 800px) {
  .mr-sp-16 {
    margin-right: 16px;
  }
}

@media screen and (max-width: 800px) {
  .mb-sp-16 {
    margin-bottom: 16px;
  }
}

@media screen and (max-width: 800px) {
  .ml-sp-16 {
    margin-left: 16px;
  }
}

@media screen and (max-width: 800px) {
  .mx-sp-16 {
    margin-right: 16px;
    margin-left: 16px;
  }
}

@media screen and (max-width: 800px) {
  .my-sp-16 {
    margin-top: 16px;
    margin-bottom: 16px;
  }
}

.m-20 {
  margin: 20px;
}

.mt-20 {
  margin-top: 20px;
}

.mr-20 {
  margin-right: 20px;
}

.mb-20 {
  margin-bottom: 20px;
}

.ml-20 {
  margin-left: 20px;
}

.mx-20 {
  margin-right: 20px;
  margin-left: 20px;
}

.my-20 {
  margin-top: 20px;
  margin-bottom: 20px;
}

@media screen and (min-width: 801px) {
  .m-pc-20 {
    margin: 20px;
  }
}

@media screen and (min-width: 801px) {
  .mt-pc-20 {
    margin-top: 20px;
  }
}

@media screen and (min-width: 801px) {
  .mr-pc-20 {
    margin-right: 20px;
  }
}

@media screen and (min-width: 801px) {
  .mb-pc-20 {
    margin-bottom: 20px;
  }
}

@media screen and (min-width: 801px) {
  .ml-pc-20 {
    margin-left: 20px;
  }
}

@media screen and (min-width: 801px) {
  .mx-pc-20 {
    margin-right: 20px;
    margin-left: 20px;
  }
}

@media screen and (min-width: 801px) {
  .my-pc-20 {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 800px) {
  .m-sp-20 {
    margin: 20px;
  }
}

@media screen and (max-width: 800px) {
  .mt-sp-20 {
    margin-top: 20px;
  }
}

@media screen and (max-width: 800px) {
  .mr-sp-20 {
    margin-right: 20px;
  }
}

@media screen and (max-width: 800px) {
  .mb-sp-20 {
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 800px) {
  .ml-sp-20 {
    margin-left: 20px;
  }
}

@media screen and (max-width: 800px) {
  .mx-sp-20 {
    margin-right: 20px;
    margin-left: 20px;
  }
}

@media screen and (max-width: 800px) {
  .my-sp-20 {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}

.m-24 {
  margin: 24px;
}

.mt-24 {
  margin-top: 24px;
}

.mr-24 {
  margin-right: 24px;
}

.mb-24 {
  margin-bottom: 24px;
}

.ml-24 {
  margin-left: 24px;
}

.mx-24 {
  margin-right: 24px;
  margin-left: 24px;
}

.my-24 {
  margin-top: 24px;
  margin-bottom: 24px;
}

@media screen and (min-width: 801px) {
  .m-pc-24 {
    margin: 24px;
  }
}

@media screen and (min-width: 801px) {
  .mt-pc-24 {
    margin-top: 24px;
  }
}

@media screen and (min-width: 801px) {
  .mr-pc-24 {
    margin-right: 24px;
  }
}

@media screen and (min-width: 801px) {
  .mb-pc-24 {
    margin-bottom: 24px;
  }
}

@media screen and (min-width: 801px) {
  .ml-pc-24 {
    margin-left: 24px;
  }
}

@media screen and (min-width: 801px) {
  .mx-pc-24 {
    margin-right: 24px;
    margin-left: 24px;
  }
}

@media screen and (min-width: 801px) {
  .my-pc-24 {
    margin-top: 24px;
    margin-bottom: 24px;
  }
}

@media screen and (max-width: 800px) {
  .m-sp-24 {
    margin: 24px;
  }
}

@media screen and (max-width: 800px) {
  .mt-sp-24 {
    margin-top: 24px;
  }
}

@media screen and (max-width: 800px) {
  .mr-sp-24 {
    margin-right: 24px;
  }
}

@media screen and (max-width: 800px) {
  .mb-sp-24 {
    margin-bottom: 24px;
  }
}

@media screen and (max-width: 800px) {
  .ml-sp-24 {
    margin-left: 24px;
  }
}

@media screen and (max-width: 800px) {
  .mx-sp-24 {
    margin-right: 24px;
    margin-left: 24px;
  }
}

@media screen and (max-width: 800px) {
  .my-sp-24 {
    margin-top: 24px;
    margin-bottom: 24px;
  }
}

.m-30 {
  margin: 30px;
}

.mt-30 {
  margin-top: 30px;
}

.mr-30 {
  margin-right: 30px;
}

.mb-30 {
  margin-bottom: 30px;
}

.ml-30 {
  margin-left: 30px;
}

.mx-30 {
  margin-right: 30px;
  margin-left: 30px;
}

.my-30 {
  margin-top: 30px;
  margin-bottom: 30px;
}

@media screen and (min-width: 801px) {
  .m-pc-30 {
    margin: 30px;
  }
}

@media screen and (min-width: 801px) {
  .mt-pc-30 {
    margin-top: 30px;
  }
}

@media screen and (min-width: 801px) {
  .mr-pc-30 {
    margin-right: 30px;
  }
}

@media screen and (min-width: 801px) {
  .mb-pc-30 {
    margin-bottom: 30px;
  }
}

@media screen and (min-width: 801px) {
  .ml-pc-30 {
    margin-left: 30px;
  }
}

@media screen and (min-width: 801px) {
  .mx-pc-30 {
    margin-right: 30px;
    margin-left: 30px;
  }
}

@media screen and (min-width: 801px) {
  .my-pc-30 {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 800px) {
  .m-sp-30 {
    margin: 30px;
  }
}

@media screen and (max-width: 800px) {
  .mt-sp-30 {
    margin-top: 30px;
  }
}

@media screen and (max-width: 800px) {
  .mr-sp-30 {
    margin-right: 30px;
  }
}

@media screen and (max-width: 800px) {
  .mb-sp-30 {
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 800px) {
  .ml-sp-30 {
    margin-left: 30px;
  }
}

@media screen and (max-width: 800px) {
  .mx-sp-30 {
    margin-right: 30px;
    margin-left: 30px;
  }
}

@media screen and (max-width: 800px) {
  .my-sp-30 {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

.m-40 {
  margin: 40px;
}

.mt-40 {
  margin-top: 40px;
}

.mr-40 {
  margin-right: 40px;
}

.mb-40 {
  margin-bottom: 40px;
}

.ml-40 {
  margin-left: 40px;
}

.mx-40 {
  margin-right: 40px;
  margin-left: 40px;
}

.my-40 {
  margin-top: 40px;
  margin-bottom: 40px;
}

@media screen and (min-width: 801px) {
  .m-pc-40 {
    margin: 40px;
  }
}

@media screen and (min-width: 801px) {
  .mt-pc-40 {
    margin-top: 40px;
  }
}

@media screen and (min-width: 801px) {
  .mr-pc-40 {
    margin-right: 40px;
  }
}

@media screen and (min-width: 801px) {
  .mb-pc-40 {
    margin-bottom: 40px;
  }
}

@media screen and (min-width: 801px) {
  .ml-pc-40 {
    margin-left: 40px;
  }
}

@media screen and (min-width: 801px) {
  .mx-pc-40 {
    margin-right: 40px;
    margin-left: 40px;
  }
}

@media screen and (min-width: 801px) {
  .my-pc-40 {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 800px) {
  .m-sp-40 {
    margin: 40px;
  }
}

@media screen and (max-width: 800px) {
  .mt-sp-40 {
    margin-top: 40px;
  }
}

@media screen and (max-width: 800px) {
  .mr-sp-40 {
    margin-right: 40px;
  }
}

@media screen and (max-width: 800px) {
  .mb-sp-40 {
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 800px) {
  .ml-sp-40 {
    margin-left: 40px;
  }
}

@media screen and (max-width: 800px) {
  .mx-sp-40 {
    margin-right: 40px;
    margin-left: 40px;
  }
}

@media screen and (max-width: 800px) {
  .my-sp-40 {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}

.m-50 {
  margin: 50px;
}

.mt-50 {
  margin-top: 50px;
}

.mr-50 {
  margin-right: 50px;
}

.mb-50 {
  margin-bottom: 50px;
}

.ml-50 {
  margin-left: 50px;
}

.mx-50 {
  margin-right: 50px;
  margin-left: 50px;
}

.my-50 {
  margin-top: 50px;
  margin-bottom: 50px;
}

@media screen and (min-width: 801px) {
  .m-pc-50 {
    margin: 50px;
  }
}

@media screen and (min-width: 801px) {
  .mt-pc-50 {
    margin-top: 50px;
  }
}

@media screen and (min-width: 801px) {
  .mr-pc-50 {
    margin-right: 50px;
  }
}

@media screen and (min-width: 801px) {
  .mb-pc-50 {
    margin-bottom: 50px;
  }
}

@media screen and (min-width: 801px) {
  .ml-pc-50 {
    margin-left: 50px;
  }
}

@media screen and (min-width: 801px) {
  .mx-pc-50 {
    margin-right: 50px;
    margin-left: 50px;
  }
}

@media screen and (min-width: 801px) {
  .my-pc-50 {
    margin-top: 50px;
    margin-bottom: 50px;
  }
}

@media screen and (max-width: 800px) {
  .m-sp-50 {
    margin: 50px;
  }
}

@media screen and (max-width: 800px) {
  .mt-sp-50 {
    margin-top: 50px;
  }
}

@media screen and (max-width: 800px) {
  .mr-sp-50 {
    margin-right: 50px;
  }
}

@media screen and (max-width: 800px) {
  .mb-sp-50 {
    margin-bottom: 50px;
  }
}

@media screen and (max-width: 800px) {
  .ml-sp-50 {
    margin-left: 50px;
  }
}

@media screen and (max-width: 800px) {
  .mx-sp-50 {
    margin-right: 50px;
    margin-left: 50px;
  }
}

@media screen and (max-width: 800px) {
  .my-sp-50 {
    margin-top: 50px;
    margin-bottom: 50px;
  }
}

.m-70 {
  margin: 70px;
}

.mt-70 {
  margin-top: 70px;
}

.mr-70 {
  margin-right: 70px;
}

.mb-70 {
  margin-bottom: 70px;
}

.ml-70 {
  margin-left: 70px;
}

.mx-70 {
  margin-right: 70px;
  margin-left: 70px;
}

.my-70 {
  margin-top: 70px;
  margin-bottom: 70px;
}

@media screen and (min-width: 801px) {
  .m-pc-70 {
    margin: 70px;
  }
}

@media screen and (min-width: 801px) {
  .mt-pc-70 {
    margin-top: 70px;
  }
}

@media screen and (min-width: 801px) {
  .mr-pc-70 {
    margin-right: 70px;
  }
}

@media screen and (min-width: 801px) {
  .mb-pc-70 {
    margin-bottom: 70px;
  }
}

@media screen and (min-width: 801px) {
  .ml-pc-70 {
    margin-left: 70px;
  }
}

@media screen and (min-width: 801px) {
  .mx-pc-70 {
    margin-right: 70px;
    margin-left: 70px;
  }
}

@media screen and (min-width: 801px) {
  .my-pc-70 {
    margin-top: 70px;
    margin-bottom: 70px;
  }
}

@media screen and (max-width: 800px) {
  .m-sp-70 {
    margin: 70px;
  }
}

@media screen and (max-width: 800px) {
  .mt-sp-70 {
    margin-top: 70px;
  }
}

@media screen and (max-width: 800px) {
  .mr-sp-70 {
    margin-right: 70px;
  }
}

@media screen and (max-width: 800px) {
  .mb-sp-70 {
    margin-bottom: 70px;
  }
}

@media screen and (max-width: 800px) {
  .ml-sp-70 {
    margin-left: 70px;
  }
}

@media screen and (max-width: 800px) {
  .mx-sp-70 {
    margin-right: 70px;
    margin-left: 70px;
  }
}

@media screen and (max-width: 800px) {
  .my-sp-70 {
    margin-top: 70px;
    margin-bottom: 70px;
  }
}

.m-80 {
  margin: 80px;
}

.mt-80 {
  margin-top: 80px;
}

.mr-80 {
  margin-right: 80px;
}

.mb-80 {
  margin-bottom: 80px;
}

.ml-80 {
  margin-left: 80px;
}

.mx-80 {
  margin-right: 80px;
  margin-left: 80px;
}

.my-80 {
  margin-top: 80px;
  margin-bottom: 80px;
}

@media screen and (min-width: 801px) {
  .m-pc-80 {
    margin: 80px;
  }
}

@media screen and (min-width: 801px) {
  .mt-pc-80 {
    margin-top: 80px;
  }
}

@media screen and (min-width: 801px) {
  .mr-pc-80 {
    margin-right: 80px;
  }
}

@media screen and (min-width: 801px) {
  .mb-pc-80 {
    margin-bottom: 80px;
  }
}

@media screen and (min-width: 801px) {
  .ml-pc-80 {
    margin-left: 80px;
  }
}

@media screen and (min-width: 801px) {
  .mx-pc-80 {
    margin-right: 80px;
    margin-left: 80px;
  }
}

@media screen and (min-width: 801px) {
  .my-pc-80 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
}

@media screen and (max-width: 800px) {
  .m-sp-80 {
    margin: 80px;
  }
}

@media screen and (max-width: 800px) {
  .mt-sp-80 {
    margin-top: 80px;
  }
}

@media screen and (max-width: 800px) {
  .mr-sp-80 {
    margin-right: 80px;
  }
}

@media screen and (max-width: 800px) {
  .mb-sp-80 {
    margin-bottom: 80px;
  }
}

@media screen and (max-width: 800px) {
  .ml-sp-80 {
    margin-left: 80px;
  }
}

@media screen and (max-width: 800px) {
  .mx-sp-80 {
    margin-right: 80px;
    margin-left: 80px;
  }
}

@media screen and (max-width: 800px) {
  .my-sp-80 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
}

.m-100 {
  margin: 100px;
}

.mt-100 {
  margin-top: 100px;
}

.mr-100 {
  margin-right: 100px;
}

.mb-100 {
  margin-bottom: 100px;
}

.ml-100 {
  margin-left: 100px;
}

.mx-100 {
  margin-right: 100px;
  margin-left: 100px;
}

.my-100 {
  margin-top: 100px;
  margin-bottom: 100px;
}

@media screen and (min-width: 801px) {
  .m-pc-100 {
    margin: 100px;
  }
}

@media screen and (min-width: 801px) {
  .mt-pc-100 {
    margin-top: 100px;
  }
}

@media screen and (min-width: 801px) {
  .mr-pc-100 {
    margin-right: 100px;
  }
}

@media screen and (min-width: 801px) {
  .mb-pc-100 {
    margin-bottom: 100px;
  }
}

@media screen and (min-width: 801px) {
  .ml-pc-100 {
    margin-left: 100px;
  }
}

@media screen and (min-width: 801px) {
  .mx-pc-100 {
    margin-right: 100px;
    margin-left: 100px;
  }
}

@media screen and (min-width: 801px) {
  .my-pc-100 {
    margin-top: 100px;
    margin-bottom: 100px;
  }
}

@media screen and (max-width: 800px) {
  .m-sp-100 {
    margin: 100px;
  }
}

@media screen and (max-width: 800px) {
  .mt-sp-100 {
    margin-top: 100px;
  }
}

@media screen and (max-width: 800px) {
  .mr-sp-100 {
    margin-right: 100px;
  }
}

@media screen and (max-width: 800px) {
  .mb-sp-100 {
    margin-bottom: 100px;
  }
}

@media screen and (max-width: 800px) {
  .ml-sp-100 {
    margin-left: 100px;
  }
}

@media screen and (max-width: 800px) {
  .mx-sp-100 {
    margin-right: 100px;
    margin-left: 100px;
  }
}

@media screen and (max-width: 800px) {
  .my-sp-100 {
    margin-top: 100px;
    margin-bottom: 100px;
  }
}

.p-5 {
  padding: 5px;
}

.pt-5 {
  padding-top: 5px;
}

.pr-5 {
  padding-right: 5px;
}

.pb-5 {
  padding-bottom: 5px;
}

.pl-5 {
  padding-left: 5px;
}

.px-5 {
  padding-right: 5px;
  padding-left: 5px;
}

.py-5 {
  padding-top: 5px;
  padding-bottom: 5px;
}

@media screen and (min-width: 801px) {
  .p-pc-5 {
    padding: 5px;
  }
}

@media screen and (min-width: 801px) {
  .pt-pc-5 {
    padding-top: 5px;
  }
}

@media screen and (min-width: 801px) {
  .pr-pc-5 {
    padding-right: 5px;
  }
}

@media screen and (min-width: 801px) {
  .pb-pc-5 {
    padding-bottom: 5px;
  }
}

@media screen and (min-width: 801px) {
  .pl-pc-5 {
    padding-left: 5px;
  }
}

@media screen and (min-width: 801px) {
  .px-pc-5 {
    padding-right: 5px;
    padding-left: 5px;
  }
}

@media screen and (min-width: 801px) {
  .py-pc-5 {
    padding-top: 5px;
    padding-bottom: 5px;
  }
}

@media screen and (max-width: 800px) {
  .p-sp-5 {
    padding: 5px;
  }
}

@media screen and (max-width: 800px) {
  .pt-sp-5 {
    padding-top: 5px;
  }
}

@media screen and (max-width: 800px) {
  .pr-sp-5 {
    padding-right: 5px;
  }
}

@media screen and (max-width: 800px) {
  .pb-sp-5 {
    padding-bottom: 5px;
  }
}

@media screen and (max-width: 800px) {
  .pl-sp-5 {
    padding-left: 5px;
  }
}

@media screen and (max-width: 800px) {
  .px-sp-5 {
    padding-right: 5px;
    padding-left: 5px;
  }
}

@media screen and (max-width: 800px) {
  .py-sp-5 {
    padding-top: 5px;
    padding-bottom: 5px;
  }
}

.p-10 {
  padding: 10px;
}

.pt-10 {
  padding-top: 10px;
}

.pr-10 {
  padding-right: 10px;
}

.pb-10 {
  padding-bottom: 10px;
}

.pl-10 {
  padding-left: 10px;
}

.px-10 {
  padding-right: 10px;
  padding-left: 10px;
}

.py-10 {
  padding-top: 10px;
  padding-bottom: 10px;
}

@media screen and (min-width: 801px) {
  .p-pc-10 {
    padding: 10px;
  }
}

@media screen and (min-width: 801px) {
  .pt-pc-10 {
    padding-top: 10px;
  }
}

@media screen and (min-width: 801px) {
  .pr-pc-10 {
    padding-right: 10px;
  }
}

@media screen and (min-width: 801px) {
  .pb-pc-10 {
    padding-bottom: 10px;
  }
}

@media screen and (min-width: 801px) {
  .pl-pc-10 {
    padding-left: 10px;
  }
}

@media screen and (min-width: 801px) {
  .px-pc-10 {
    padding-right: 10px;
    padding-left: 10px;
  }
}

@media screen and (min-width: 801px) {
  .py-pc-10 {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

@media screen and (max-width: 800px) {
  .p-sp-10 {
    padding: 10px;
  }
}

@media screen and (max-width: 800px) {
  .pt-sp-10 {
    padding-top: 10px;
  }
}

@media screen and (max-width: 800px) {
  .pr-sp-10 {
    padding-right: 10px;
  }
}

@media screen and (max-width: 800px) {
  .pb-sp-10 {
    padding-bottom: 10px;
  }
}

@media screen and (max-width: 800px) {
  .pl-sp-10 {
    padding-left: 10px;
  }
}

@media screen and (max-width: 800px) {
  .px-sp-10 {
    padding-right: 10px;
    padding-left: 10px;
  }
}

@media screen and (max-width: 800px) {
  .py-sp-10 {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.p-16 {
  padding: 16px;
}

.pt-16 {
  padding-top: 16px;
}

.pr-16 {
  padding-right: 16px;
}

.pb-16 {
  padding-bottom: 16px;
}

.pl-16 {
  padding-left: 16px;
}

.px-16 {
  padding-right: 16px;
  padding-left: 16px;
}

.py-16 {
  padding-top: 16px;
  padding-bottom: 16px;
}

@media screen and (min-width: 801px) {
  .p-pc-16 {
    padding: 16px;
  }
}

@media screen and (min-width: 801px) {
  .pt-pc-16 {
    padding-top: 16px;
  }
}

@media screen and (min-width: 801px) {
  .pr-pc-16 {
    padding-right: 16px;
  }
}

@media screen and (min-width: 801px) {
  .pb-pc-16 {
    padding-bottom: 16px;
  }
}

@media screen and (min-width: 801px) {
  .pl-pc-16 {
    padding-left: 16px;
  }
}

@media screen and (min-width: 801px) {
  .px-pc-16 {
    padding-right: 16px;
    padding-left: 16px;
  }
}

@media screen and (min-width: 801px) {
  .py-pc-16 {
    padding-top: 16px;
    padding-bottom: 16px;
  }
}

@media screen and (max-width: 800px) {
  .p-sp-16 {
    padding: 16px;
  }
}

@media screen and (max-width: 800px) {
  .pt-sp-16 {
    padding-top: 16px;
  }
}

@media screen and (max-width: 800px) {
  .pr-sp-16 {
    padding-right: 16px;
  }
}

@media screen and (max-width: 800px) {
  .pb-sp-16 {
    padding-bottom: 16px;
  }
}

@media screen and (max-width: 800px) {
  .pl-sp-16 {
    padding-left: 16px;
  }
}

@media screen and (max-width: 800px) {
  .px-sp-16 {
    padding-right: 16px;
    padding-left: 16px;
  }
}

@media screen and (max-width: 800px) {
  .py-sp-16 {
    padding-top: 16px;
    padding-bottom: 16px;
  }
}

.p-20 {
  padding: 20px;
}

.pt-20 {
  padding-top: 20px;
}

.pr-20 {
  padding-right: 20px;
}

.pb-20 {
  padding-bottom: 20px;
}

.pl-20 {
  padding-left: 20px;
}

.px-20 {
  padding-right: 20px;
  padding-left: 20px;
}

.py-20 {
  padding-top: 20px;
  padding-bottom: 20px;
}

@media screen and (min-width: 801px) {
  .p-pc-20 {
    padding: 20px;
  }
}

@media screen and (min-width: 801px) {
  .pt-pc-20 {
    padding-top: 20px;
  }
}

@media screen and (min-width: 801px) {
  .pr-pc-20 {
    padding-right: 20px;
  }
}

@media screen and (min-width: 801px) {
  .pb-pc-20 {
    padding-bottom: 20px;
  }
}

@media screen and (min-width: 801px) {
  .pl-pc-20 {
    padding-left: 20px;
  }
}

@media screen and (min-width: 801px) {
  .px-pc-20 {
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media screen and (min-width: 801px) {
  .py-pc-20 {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

@media screen and (max-width: 800px) {
  .p-sp-20 {
    padding: 20px;
  }
}

@media screen and (max-width: 800px) {
  .pt-sp-20 {
    padding-top: 20px;
  }
}

@media screen and (max-width: 800px) {
  .pr-sp-20 {
    padding-right: 20px;
  }
}

@media screen and (max-width: 800px) {
  .pb-sp-20 {
    padding-bottom: 20px;
  }
}

@media screen and (max-width: 800px) {
  .pl-sp-20 {
    padding-left: 20px;
  }
}

@media screen and (max-width: 800px) {
  .px-sp-20 {
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media screen and (max-width: 800px) {
  .py-sp-20 {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

.p-24 {
  padding: 24px;
}

.pt-24 {
  padding-top: 24px;
}

.pr-24 {
  padding-right: 24px;
}

.pb-24 {
  padding-bottom: 24px;
}

.pl-24 {
  padding-left: 24px;
}

.px-24 {
  padding-right: 24px;
  padding-left: 24px;
}

.py-24 {
  padding-top: 24px;
  padding-bottom: 24px;
}

@media screen and (min-width: 801px) {
  .p-pc-24 {
    padding: 24px;
  }
}

@media screen and (min-width: 801px) {
  .pt-pc-24 {
    padding-top: 24px;
  }
}

@media screen and (min-width: 801px) {
  .pr-pc-24 {
    padding-right: 24px;
  }
}

@media screen and (min-width: 801px) {
  .pb-pc-24 {
    padding-bottom: 24px;
  }
}

@media screen and (min-width: 801px) {
  .pl-pc-24 {
    padding-left: 24px;
  }
}

@media screen and (min-width: 801px) {
  .px-pc-24 {
    padding-right: 24px;
    padding-left: 24px;
  }
}

@media screen and (min-width: 801px) {
  .py-pc-24 {
    padding-top: 24px;
    padding-bottom: 24px;
  }
}

@media screen and (max-width: 800px) {
  .p-sp-24 {
    padding: 24px;
  }
}

@media screen and (max-width: 800px) {
  .pt-sp-24 {
    padding-top: 24px;
  }
}

@media screen and (max-width: 800px) {
  .pr-sp-24 {
    padding-right: 24px;
  }
}

@media screen and (max-width: 800px) {
  .pb-sp-24 {
    padding-bottom: 24px;
  }
}

@media screen and (max-width: 800px) {
  .pl-sp-24 {
    padding-left: 24px;
  }
}

@media screen and (max-width: 800px) {
  .px-sp-24 {
    padding-right: 24px;
    padding-left: 24px;
  }
}

@media screen and (max-width: 800px) {
  .py-sp-24 {
    padding-top: 24px;
    padding-bottom: 24px;
  }
}

.p-30 {
  padding: 30px;
}

.pt-30 {
  padding-top: 30px;
}

.pr-30 {
  padding-right: 30px;
}

.pb-30 {
  padding-bottom: 30px;
}

.pl-30 {
  padding-left: 30px;
}

.px-30 {
  padding-right: 30px;
  padding-left: 30px;
}

.py-30 {
  padding-top: 30px;
  padding-bottom: 30px;
}

@media screen and (min-width: 801px) {
  .p-pc-30 {
    padding: 30px;
  }
}

@media screen and (min-width: 801px) {
  .pt-pc-30 {
    padding-top: 30px;
  }
}

@media screen and (min-width: 801px) {
  .pr-pc-30 {
    padding-right: 30px;
  }
}

@media screen and (min-width: 801px) {
  .pb-pc-30 {
    padding-bottom: 30px;
  }
}

@media screen and (min-width: 801px) {
  .pl-pc-30 {
    padding-left: 30px;
  }
}

@media screen and (min-width: 801px) {
  .px-pc-30 {
    padding-right: 30px;
    padding-left: 30px;
  }
}

@media screen and (min-width: 801px) {
  .py-pc-30 {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

@media screen and (max-width: 800px) {
  .p-sp-30 {
    padding: 30px;
  }
}

@media screen and (max-width: 800px) {
  .pt-sp-30 {
    padding-top: 30px;
  }
}

@media screen and (max-width: 800px) {
  .pr-sp-30 {
    padding-right: 30px;
  }
}

@media screen and (max-width: 800px) {
  .pb-sp-30 {
    padding-bottom: 30px;
  }
}

@media screen and (max-width: 800px) {
  .pl-sp-30 {
    padding-left: 30px;
  }
}

@media screen and (max-width: 800px) {
  .px-sp-30 {
    padding-right: 30px;
    padding-left: 30px;
  }
}

@media screen and (max-width: 800px) {
  .py-sp-30 {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

.p-40 {
  padding: 40px;
}

.pt-40 {
  padding-top: 40px;
}

.pr-40 {
  padding-right: 40px;
}

.pb-40 {
  padding-bottom: 40px;
}

.pl-40 {
  padding-left: 40px;
}

.px-40 {
  padding-right: 40px;
  padding-left: 40px;
}

.py-40 {
  padding-top: 40px;
  padding-bottom: 40px;
}

@media screen and (min-width: 801px) {
  .p-pc-40 {
    padding: 40px;
  }
}

@media screen and (min-width: 801px) {
  .pt-pc-40 {
    padding-top: 40px;
  }
}

@media screen and (min-width: 801px) {
  .pr-pc-40 {
    padding-right: 40px;
  }
}

@media screen and (min-width: 801px) {
  .pb-pc-40 {
    padding-bottom: 40px;
  }
}

@media screen and (min-width: 801px) {
  .pl-pc-40 {
    padding-left: 40px;
  }
}

@media screen and (min-width: 801px) {
  .px-pc-40 {
    padding-right: 40px;
    padding-left: 40px;
  }
}

@media screen and (min-width: 801px) {
  .py-pc-40 {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

@media screen and (max-width: 800px) {
  .p-sp-40 {
    padding: 40px;
  }
}

@media screen and (max-width: 800px) {
  .pt-sp-40 {
    padding-top: 40px;
  }
}

@media screen and (max-width: 800px) {
  .pr-sp-40 {
    padding-right: 40px;
  }
}

@media screen and (max-width: 800px) {
  .pb-sp-40 {
    padding-bottom: 40px;
  }
}

@media screen and (max-width: 800px) {
  .pl-sp-40 {
    padding-left: 40px;
  }
}

@media screen and (max-width: 800px) {
  .px-sp-40 {
    padding-right: 40px;
    padding-left: 40px;
  }
}

@media screen and (max-width: 800px) {
  .py-sp-40 {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

.p-50 {
  padding: 50px;
}

.pt-50 {
  padding-top: 50px;
}

.pr-50 {
  padding-right: 50px;
}

.pb-50 {
  padding-bottom: 50px;
}

.pl-50 {
  padding-left: 50px;
}

.px-50 {
  padding-right: 50px;
  padding-left: 50px;
}

.py-50 {
  padding-top: 50px;
  padding-bottom: 50px;
}

@media screen and (min-width: 801px) {
  .p-pc-50 {
    padding: 50px;
  }
}

@media screen and (min-width: 801px) {
  .pt-pc-50 {
    padding-top: 50px;
  }
}

@media screen and (min-width: 801px) {
  .pr-pc-50 {
    padding-right: 50px;
  }
}

@media screen and (min-width: 801px) {
  .pb-pc-50 {
    padding-bottom: 50px;
  }
}

@media screen and (min-width: 801px) {
  .pl-pc-50 {
    padding-left: 50px;
  }
}

@media screen and (min-width: 801px) {
  .px-pc-50 {
    padding-right: 50px;
    padding-left: 50px;
  }
}

@media screen and (min-width: 801px) {
  .py-pc-50 {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

@media screen and (max-width: 800px) {
  .p-sp-50 {
    padding: 50px;
  }
}

@media screen and (max-width: 800px) {
  .pt-sp-50 {
    padding-top: 50px;
  }
}

@media screen and (max-width: 800px) {
  .pr-sp-50 {
    padding-right: 50px;
  }
}

@media screen and (max-width: 800px) {
  .pb-sp-50 {
    padding-bottom: 50px;
  }
}

@media screen and (max-width: 800px) {
  .pl-sp-50 {
    padding-left: 50px;
  }
}

@media screen and (max-width: 800px) {
  .px-sp-50 {
    padding-right: 50px;
    padding-left: 50px;
  }
}

@media screen and (max-width: 800px) {
  .py-sp-50 {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

.p-70 {
  padding: 70px;
}

.pt-70 {
  padding-top: 70px;
}

.pr-70 {
  padding-right: 70px;
}

.pb-70 {
  padding-bottom: 70px;
}

.pl-70 {
  padding-left: 70px;
}

.px-70 {
  padding-right: 70px;
  padding-left: 70px;
}

.py-70 {
  padding-top: 70px;
  padding-bottom: 70px;
}

@media screen and (min-width: 801px) {
  .p-pc-70 {
    padding: 70px;
  }
}

@media screen and (min-width: 801px) {
  .pt-pc-70 {
    padding-top: 70px;
  }
}

@media screen and (min-width: 801px) {
  .pr-pc-70 {
    padding-right: 70px;
  }
}

@media screen and (min-width: 801px) {
  .pb-pc-70 {
    padding-bottom: 70px;
  }
}

@media screen and (min-width: 801px) {
  .pl-pc-70 {
    padding-left: 70px;
  }
}

@media screen and (min-width: 801px) {
  .px-pc-70 {
    padding-right: 70px;
    padding-left: 70px;
  }
}

@media screen and (min-width: 801px) {
  .py-pc-70 {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}

@media screen and (max-width: 800px) {
  .p-sp-70 {
    padding: 70px;
  }
}

@media screen and (max-width: 800px) {
  .pt-sp-70 {
    padding-top: 70px;
  }
}

@media screen and (max-width: 800px) {
  .pr-sp-70 {
    padding-right: 70px;
  }
}

@media screen and (max-width: 800px) {
  .pb-sp-70 {
    padding-bottom: 70px;
  }
}

@media screen and (max-width: 800px) {
  .pl-sp-70 {
    padding-left: 70px;
  }
}

@media screen and (max-width: 800px) {
  .px-sp-70 {
    padding-right: 70px;
    padding-left: 70px;
  }
}

@media screen and (max-width: 800px) {
  .py-sp-70 {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}

.p-80 {
  padding: 80px;
}

.pt-80 {
  padding-top: 80px;
}

.pr-80 {
  padding-right: 80px;
}

.pb-80 {
  padding-bottom: 80px;
}

.pl-80 {
  padding-left: 80px;
}

.px-80 {
  padding-right: 80px;
  padding-left: 80px;
}

.py-80 {
  padding-top: 80px;
  padding-bottom: 80px;
}

@media screen and (min-width: 801px) {
  .p-pc-80 {
    padding: 80px;
  }
}

@media screen and (min-width: 801px) {
  .pt-pc-80 {
    padding-top: 80px;
  }
}

@media screen and (min-width: 801px) {
  .pr-pc-80 {
    padding-right: 80px;
  }
}

@media screen and (min-width: 801px) {
  .pb-pc-80 {
    padding-bottom: 80px;
  }
}

@media screen and (min-width: 801px) {
  .pl-pc-80 {
    padding-left: 80px;
  }
}

@media screen and (min-width: 801px) {
  .px-pc-80 {
    padding-right: 80px;
    padding-left: 80px;
  }
}

@media screen and (min-width: 801px) {
  .py-pc-80 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

@media screen and (max-width: 800px) {
  .p-sp-80 {
    padding: 80px;
  }
}

@media screen and (max-width: 800px) {
  .pt-sp-80 {
    padding-top: 80px;
  }
}

@media screen and (max-width: 800px) {
  .pr-sp-80 {
    padding-right: 80px;
  }
}

@media screen and (max-width: 800px) {
  .pb-sp-80 {
    padding-bottom: 80px;
  }
}

@media screen and (max-width: 800px) {
  .pl-sp-80 {
    padding-left: 80px;
  }
}

@media screen and (max-width: 800px) {
  .px-sp-80 {
    padding-right: 80px;
    padding-left: 80px;
  }
}

@media screen and (max-width: 800px) {
  .py-sp-80 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.p-100 {
  padding: 100px;
}

.pt-100 {
  padding-top: 100px;
}

.pr-100 {
  padding-right: 100px;
}

.pb-100 {
  padding-bottom: 100px;
}

.pl-100 {
  padding-left: 100px;
}

.px-100 {
  padding-right: 100px;
  padding-left: 100px;
}

.py-100 {
  padding-top: 100px;
  padding-bottom: 100px;
}

@media screen and (min-width: 801px) {
  .p-pc-100 {
    padding: 100px;
  }
}

@media screen and (min-width: 801px) {
  .pt-pc-100 {
    padding-top: 100px;
  }
}

@media screen and (min-width: 801px) {
  .pr-pc-100 {
    padding-right: 100px;
  }
}

@media screen and (min-width: 801px) {
  .pb-pc-100 {
    padding-bottom: 100px;
  }
}

@media screen and (min-width: 801px) {
  .pl-pc-100 {
    padding-left: 100px;
  }
}

@media screen and (min-width: 801px) {
  .px-pc-100 {
    padding-right: 100px;
    padding-left: 100px;
  }
}

@media screen and (min-width: 801px) {
  .py-pc-100 {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}

@media screen and (max-width: 800px) {
  .p-sp-100 {
    padding: 100px;
  }
}

@media screen and (max-width: 800px) {
  .pt-sp-100 {
    padding-top: 100px;
  }
}

@media screen and (max-width: 800px) {
  .pr-sp-100 {
    padding-right: 100px;
  }
}

@media screen and (max-width: 800px) {
  .pb-sp-100 {
    padding-bottom: 100px;
  }
}

@media screen and (max-width: 800px) {
  .pl-sp-100 {
    padding-left: 100px;
  }
}

@media screen and (max-width: 800px) {
  .px-sp-100 {
    padding-right: 100px;
    padding-left: 100px;
  }
}

@media screen and (max-width: 800px) {
  .py-sp-100 {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}

.text-decoration-underline {
  text-decoration: underline;
}
.text-space-0p {
  letter-spacing: 0 !important;
}
.text-vertical-super {
  vertical-align: super;
  font-size: 0.6em;
  position: relative;
}
.text-vertical-sub {
  vertical-align: sub;
  font-size: 0.6em;
  bottom: 0.4em;
  position: relative;
}

.v-align-top {
  vertical-align: top;
}
.v-align-middle {
  vertical-align: middle;
}
.v-align-bottom {
  vertical-align: bottom;
}
@media screen and (min-width: 801px) {
  .v-align-pc-top {
    vertical-align: top;
  }
}
@media screen and (min-width: 801px) {
  .v-align-pc-middle {
    vertical-align: middle;
  }
}
@media screen and (min-width: 801px) {
  .v-align-pc-bottom {
    vertical-align: bottom;
  }
}
@media screen and (max-width: 800px) {
  .v-align-sp-top {
    vertical-align: top;
  }
}
@media screen and (max-width: 800px) {
  .v-align-sp-middle {
    vertical-align: middle;
  }
}
@media screen and (max-width: 800px) {
  .v-align-sp-bottom {
    vertical-align: bottom;
  }
}

.width-1p {
  width: 1%;
}

@media screen and (min-width: 801px) {
  .width-pc-1p {
    width: 1%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-1p {
    width: 1%;
  }
}

.width-2p {
  width: 2%;
}

@media screen and (min-width: 801px) {
  .width-pc-2p {
    width: 2%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-2p {
    width: 2%;
  }
}

.width-3p {
  width: 3%;
}

@media screen and (min-width: 801px) {
  .width-pc-3p {
    width: 3%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-3p {
    width: 3%;
  }
}

.width-4p {
  width: 4%;
}

@media screen and (min-width: 801px) {
  .width-pc-4p {
    width: 4%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-4p {
    width: 4%;
  }
}

.width-5p {
  width: 5%;
}

@media screen and (min-width: 801px) {
  .width-pc-5p {
    width: 5%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-5p {
    width: 5%;
  }
}

.width-6p {
  width: 6%;
}

@media screen and (min-width: 801px) {
  .width-pc-6p {
    width: 6%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-6p {
    width: 6%;
  }
}

.width-7p {
  width: 7%;
}

@media screen and (min-width: 801px) {
  .width-pc-7p {
    width: 7%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-7p {
    width: 7%;
  }
}

.width-8p {
  width: 8%;
}

@media screen and (min-width: 801px) {
  .width-pc-8p {
    width: 8%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-8p {
    width: 8%;
  }
}

.width-9p {
  width: 9%;
}

@media screen and (min-width: 801px) {
  .width-pc-9p {
    width: 9%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-9p {
    width: 9%;
  }
}

.width-10p {
  width: 10%;
}

@media screen and (min-width: 801px) {
  .width-pc-10p {
    width: 10%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-10p {
    width: 10%;
  }
}

.width-11p {
  width: 11%;
}

@media screen and (min-width: 801px) {
  .width-pc-11p {
    width: 11%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-11p {
    width: 11%;
  }
}

.width-12p {
  width: 12%;
}

@media screen and (min-width: 801px) {
  .width-pc-12p {
    width: 12%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-12p {
    width: 12%;
  }
}

.width-13p {
  width: 13%;
}

@media screen and (min-width: 801px) {
  .width-pc-13p {
    width: 13%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-13p {
    width: 13%;
  }
}

.width-14p {
  width: 14%;
}

@media screen and (min-width: 801px) {
  .width-pc-14p {
    width: 14%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-14p {
    width: 14%;
  }
}

.width-15p {
  width: 15%;
}

@media screen and (min-width: 801px) {
  .width-pc-15p {
    width: 15%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-15p {
    width: 15%;
  }
}

.width-16p {
  width: 16%;
}

@media screen and (min-width: 801px) {
  .width-pc-16p {
    width: 16%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-16p {
    width: 16%;
  }
}

.width-17p {
  width: 17%;
}

@media screen and (min-width: 801px) {
  .width-pc-17p {
    width: 17%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-17p {
    width: 17%;
  }
}

.width-18p {
  width: 18%;
}

@media screen and (min-width: 801px) {
  .width-pc-18p {
    width: 18%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-18p {
    width: 18%;
  }
}

.width-19p {
  width: 19%;
}

@media screen and (min-width: 801px) {
  .width-pc-19p {
    width: 19%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-19p {
    width: 19%;
  }
}

.width-20p {
  width: 20%;
}

@media screen and (min-width: 801px) {
  .width-pc-20p {
    width: 20%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-20p {
    width: 20%;
  }
}

.width-21p {
  width: 21%;
}

@media screen and (min-width: 801px) {
  .width-pc-21p {
    width: 21%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-21p {
    width: 21%;
  }
}

.width-22p {
  width: 22%;
}

@media screen and (min-width: 801px) {
  .width-pc-22p {
    width: 22%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-22p {
    width: 22%;
  }
}

.width-23p {
  width: 23%;
}

@media screen and (min-width: 801px) {
  .width-pc-23p {
    width: 23%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-23p {
    width: 23%;
  }
}

.width-24p {
  width: 24%;
}

@media screen and (min-width: 801px) {
  .width-pc-24p {
    width: 24%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-24p {
    width: 24%;
  }
}

.width-25p {
  width: 25%;
}

@media screen and (min-width: 801px) {
  .width-pc-25p {
    width: 25%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-25p {
    width: 25%;
  }
}

.width-26p {
  width: 26%;
}

@media screen and (min-width: 801px) {
  .width-pc-26p {
    width: 26%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-26p {
    width: 26%;
  }
}

.width-27p {
  width: 27%;
}

@media screen and (min-width: 801px) {
  .width-pc-27p {
    width: 27%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-27p {
    width: 27%;
  }
}

.width-28p {
  width: 28%;
}

@media screen and (min-width: 801px) {
  .width-pc-28p {
    width: 28%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-28p {
    width: 28%;
  }
}

.width-29p {
  width: 29%;
}

@media screen and (min-width: 801px) {
  .width-pc-29p {
    width: 29%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-29p {
    width: 29%;
  }
}

.width-30p {
  width: 30%;
}

@media screen and (min-width: 801px) {
  .width-pc-30p {
    width: 30%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-30p {
    width: 30%;
  }
}

.width-31p {
  width: 31%;
}

@media screen and (min-width: 801px) {
  .width-pc-31p {
    width: 31%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-31p {
    width: 31%;
  }
}

.width-32p {
  width: 32%;
}

@media screen and (min-width: 801px) {
  .width-pc-32p {
    width: 32%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-32p {
    width: 32%;
  }
}

.width-33p {
  width: 33%;
}

@media screen and (min-width: 801px) {
  .width-pc-33p {
    width: 33%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-33p {
    width: 33%;
  }
}

.width-34p {
  width: 34%;
}

@media screen and (min-width: 801px) {
  .width-pc-34p {
    width: 34%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-34p {
    width: 34%;
  }
}

.width-35p {
  width: 35%;
}

@media screen and (min-width: 801px) {
  .width-pc-35p {
    width: 35%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-35p {
    width: 35%;
  }
}

.width-36p {
  width: 36%;
}

@media screen and (min-width: 801px) {
  .width-pc-36p {
    width: 36%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-36p {
    width: 36%;
  }
}

.width-37p {
  width: 37%;
}

@media screen and (min-width: 801px) {
  .width-pc-37p {
    width: 37%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-37p {
    width: 37%;
  }
}

.width-38p {
  width: 38%;
}

@media screen and (min-width: 801px) {
  .width-pc-38p {
    width: 38%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-38p {
    width: 38%;
  }
}

.width-39p {
  width: 39%;
}

@media screen and (min-width: 801px) {
  .width-pc-39p {
    width: 39%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-39p {
    width: 39%;
  }
}

.width-40p {
  width: 40%;
}

@media screen and (min-width: 801px) {
  .width-pc-40p {
    width: 40%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-40p {
    width: 40%;
  }
}

.width-41p {
  width: 41%;
}

@media screen and (min-width: 801px) {
  .width-pc-41p {
    width: 41%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-41p {
    width: 41%;
  }
}

.width-42p {
  width: 42%;
}

@media screen and (min-width: 801px) {
  .width-pc-42p {
    width: 42%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-42p {
    width: 42%;
  }
}

.width-43p {
  width: 43%;
}

@media screen and (min-width: 801px) {
  .width-pc-43p {
    width: 43%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-43p {
    width: 43%;
  }
}

.width-44p {
  width: 44%;
}

@media screen and (min-width: 801px) {
  .width-pc-44p {
    width: 44%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-44p {
    width: 44%;
  }
}

.width-45p {
  width: 45%;
}

@media screen and (min-width: 801px) {
  .width-pc-45p {
    width: 45%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-45p {
    width: 45%;
  }
}

.width-46p {
  width: 46%;
}

@media screen and (min-width: 801px) {
  .width-pc-46p {
    width: 46%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-46p {
    width: 46%;
  }
}

.width-47p {
  width: 47%;
}

@media screen and (min-width: 801px) {
  .width-pc-47p {
    width: 47%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-47p {
    width: 47%;
  }
}

.width-48p {
  width: 48%;
}

@media screen and (min-width: 801px) {
  .width-pc-48p {
    width: 48%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-48p {
    width: 48%;
  }
}

.width-49p {
  width: 49%;
}

@media screen and (min-width: 801px) {
  .width-pc-49p {
    width: 49%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-49p {
    width: 49%;
  }
}

.width-50p {
  width: 50%;
}

@media screen and (min-width: 801px) {
  .width-pc-50p {
    width: 50%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-50p {
    width: 50%;
  }
}

.width-51p {
  width: 51%;
}

@media screen and (min-width: 801px) {
  .width-pc-51p {
    width: 51%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-51p {
    width: 51%;
  }
}

.width-52p {
  width: 52%;
}

@media screen and (min-width: 801px) {
  .width-pc-52p {
    width: 52%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-52p {
    width: 52%;
  }
}

.width-53p {
  width: 53%;
}

@media screen and (min-width: 801px) {
  .width-pc-53p {
    width: 53%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-53p {
    width: 53%;
  }
}

.width-54p {
  width: 54%;
}

@media screen and (min-width: 801px) {
  .width-pc-54p {
    width: 54%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-54p {
    width: 54%;
  }
}

.width-55p {
  width: 55%;
}

@media screen and (min-width: 801px) {
  .width-pc-55p {
    width: 55%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-55p {
    width: 55%;
  }
}

.width-56p {
  width: 56%;
}

@media screen and (min-width: 801px) {
  .width-pc-56p {
    width: 56%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-56p {
    width: 56%;
  }
}

.width-57p {
  width: 57%;
}

@media screen and (min-width: 801px) {
  .width-pc-57p {
    width: 57%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-57p {
    width: 57%;
  }
}

.width-58p {
  width: 58%;
}

@media screen and (min-width: 801px) {
  .width-pc-58p {
    width: 58%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-58p {
    width: 58%;
  }
}

.width-59p {
  width: 59%;
}

@media screen and (min-width: 801px) {
  .width-pc-59p {
    width: 59%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-59p {
    width: 59%;
  }
}

.width-60p {
  width: 60%;
}

@media screen and (min-width: 801px) {
  .width-pc-60p {
    width: 60%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-60p {
    width: 60%;
  }
}

.width-61p {
  width: 61%;
}

@media screen and (min-width: 801px) {
  .width-pc-61p {
    width: 61%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-61p {
    width: 61%;
  }
}

.width-62p {
  width: 62%;
}

@media screen and (min-width: 801px) {
  .width-pc-62p {
    width: 62%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-62p {
    width: 62%;
  }
}

.width-63p {
  width: 63%;
}

@media screen and (min-width: 801px) {
  .width-pc-63p {
    width: 63%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-63p {
    width: 63%;
  }
}

.width-64p {
  width: 64%;
}

@media screen and (min-width: 801px) {
  .width-pc-64p {
    width: 64%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-64p {
    width: 64%;
  }
}

.width-65p {
  width: 65%;
}

@media screen and (min-width: 801px) {
  .width-pc-65p {
    width: 65%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-65p {
    width: 65%;
  }
}

.width-66p {
  width: 66%;
}

@media screen and (min-width: 801px) {
  .width-pc-66p {
    width: 66%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-66p {
    width: 66%;
  }
}

.width-67p {
  width: 67%;
}

@media screen and (min-width: 801px) {
  .width-pc-67p {
    width: 67%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-67p {
    width: 67%;
  }
}

.width-68p {
  width: 68%;
}

@media screen and (min-width: 801px) {
  .width-pc-68p {
    width: 68%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-68p {
    width: 68%;
  }
}

.width-69p {
  width: 69%;
}

@media screen and (min-width: 801px) {
  .width-pc-69p {
    width: 69%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-69p {
    width: 69%;
  }
}

.width-70p {
  width: 70%;
}

@media screen and (min-width: 801px) {
  .width-pc-70p {
    width: 70%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-70p {
    width: 70%;
  }
}

.width-71p {
  width: 71%;
}

@media screen and (min-width: 801px) {
  .width-pc-71p {
    width: 71%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-71p {
    width: 71%;
  }
}

.width-72p {
  width: 72%;
}

@media screen and (min-width: 801px) {
  .width-pc-72p {
    width: 72%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-72p {
    width: 72%;
  }
}

.width-73p {
  width: 73%;
}

@media screen and (min-width: 801px) {
  .width-pc-73p {
    width: 73%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-73p {
    width: 73%;
  }
}

.width-74p {
  width: 74%;
}

@media screen and (min-width: 801px) {
  .width-pc-74p {
    width: 74%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-74p {
    width: 74%;
  }
}

.width-75p {
  width: 75%;
}

@media screen and (min-width: 801px) {
  .width-pc-75p {
    width: 75%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-75p {
    width: 75%;
  }
}

.width-76p {
  width: 76%;
}

@media screen and (min-width: 801px) {
  .width-pc-76p {
    width: 76%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-76p {
    width: 76%;
  }
}

.width-77p {
  width: 77%;
}

@media screen and (min-width: 801px) {
  .width-pc-77p {
    width: 77%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-77p {
    width: 77%;
  }
}

.width-78p {
  width: 78%;
}

@media screen and (min-width: 801px) {
  .width-pc-78p {
    width: 78%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-78p {
    width: 78%;
  }
}

.width-79p {
  width: 79%;
}

@media screen and (min-width: 801px) {
  .width-pc-79p {
    width: 79%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-79p {
    width: 79%;
  }
}

.width-80p {
  width: 80%;
}

@media screen and (min-width: 801px) {
  .width-pc-80p {
    width: 80%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-80p {
    width: 80%;
  }
}

.width-81p {
  width: 81%;
}

@media screen and (min-width: 801px) {
  .width-pc-81p {
    width: 81%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-81p {
    width: 81%;
  }
}

.width-82p {
  width: 82%;
}

@media screen and (min-width: 801px) {
  .width-pc-82p {
    width: 82%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-82p {
    width: 82%;
  }
}

.width-83p {
  width: 83%;
}

@media screen and (min-width: 801px) {
  .width-pc-83p {
    width: 83%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-83p {
    width: 83%;
  }
}

.width-84p {
  width: 84%;
}

@media screen and (min-width: 801px) {
  .width-pc-84p {
    width: 84%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-84p {
    width: 84%;
  }
}

.width-85p {
  width: 85%;
}

@media screen and (min-width: 801px) {
  .width-pc-85p {
    width: 85%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-85p {
    width: 85%;
  }
}

.width-86p {
  width: 86%;
}

@media screen and (min-width: 801px) {
  .width-pc-86p {
    width: 86%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-86p {
    width: 86%;
  }
}

.width-87p {
  width: 87%;
}

@media screen and (min-width: 801px) {
  .width-pc-87p {
    width: 87%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-87p {
    width: 87%;
  }
}

.width-88p {
  width: 88%;
}

@media screen and (min-width: 801px) {
  .width-pc-88p {
    width: 88%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-88p {
    width: 88%;
  }
}

.width-89p {
  width: 89%;
}

@media screen and (min-width: 801px) {
  .width-pc-89p {
    width: 89%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-89p {
    width: 89%;
  }
}

.width-90p {
  width: 90%;
}

@media screen and (min-width: 801px) {
  .width-pc-90p {
    width: 90%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-90p {
    width: 90%;
  }
}

.width-91p {
  width: 91%;
}

@media screen and (min-width: 801px) {
  .width-pc-91p {
    width: 91%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-91p {
    width: 91%;
  }
}

.width-92p {
  width: 92%;
}

@media screen and (min-width: 801px) {
  .width-pc-92p {
    width: 92%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-92p {
    width: 92%;
  }
}

.width-93p {
  width: 93%;
}

@media screen and (min-width: 801px) {
  .width-pc-93p {
    width: 93%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-93p {
    width: 93%;
  }
}

.width-94p {
  width: 94%;
}

@media screen and (min-width: 801px) {
  .width-pc-94p {
    width: 94%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-94p {
    width: 94%;
  }
}

.width-95p {
  width: 95%;
}

@media screen and (min-width: 801px) {
  .width-pc-95p {
    width: 95%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-95p {
    width: 95%;
  }
}

.width-96p {
  width: 96%;
}

@media screen and (min-width: 801px) {
  .width-pc-96p {
    width: 96%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-96p {
    width: 96%;
  }
}

.width-97p {
  width: 97%;
}

@media screen and (min-width: 801px) {
  .width-pc-97p {
    width: 97%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-97p {
    width: 97%;
  }
}

.width-98p {
  width: 98%;
}

@media screen and (min-width: 801px) {
  .width-pc-98p {
    width: 98%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-98p {
    width: 98%;
  }
}

.width-99p {
  width: 99%;
}

@media screen and (min-width: 801px) {
  .width-pc-99p {
    width: 99%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-99p {
    width: 99%;
  }
}

.width-100p {
  width: 100%;
}

@media screen and (min-width: 801px) {
  .width-pc-100p {
    width: 100%;
  }
}

@media screen and (max-width: 800px) {
  .width-sp-100p {
    width: 100%;
  }
}


.progressbar {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  flex-wrap: wrap;
}
.progressbar .item {
    position: relative;
    width: 25%;
    display: -webkit-box;
    display: -ms-flexbox;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 13px 0;
    line-height: 1.5;
    background: #F5F5F5;
    color: #999999;
}
.progressbar .item:not(:last-child)::before,
.progressbar .item:not(:last-child)::after {
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 100%;
    content: '';
    border: 37px solid transparent;
    border-left: 20px solid #F5F5F5;
    margin: auto;
}
.progressbar .item:not(:last-child)::before {
    margin-left: 1px;
    border-left-color: #FFF;
}

@media screen and (max-width: 767px) {
.progressbar .item {
    font-size: 11px;
    line-height: 1.4;
    padding: 10px 0;
}
.progressbar .item:not(:last-child)::before,
.progressbar .item:not(:last-child)::after {
    border-width: 25px;
    border-left-width: 12px;
}
}

/* active */

.progressbar .item.active {
    z-index: 1;
    background: #0070BD;
    color: #FFF;
}
.progressbar .item.active:not(:last-child)::after {
    border-left-color: #0070bd;
}
.progressbar .item.active:not(:last-child)::before {
    border-left: none;
}
/*プログレスバー end*/


/* 先進的省エネアイコン */
.energy-icon-text{
  background: #E50012;
  padding: 5px 20px;
  margin-bottom: 10px;
  color: #fff;
  font-size: 16px;
  display: inline-block;
}
.energy-icon-img{
  position: relative;
}
.energy-icon-img::after{
  content: "先進的省エネ";
  position: absolute;
  background: #E50012;
  color: #fff;
  padding: 5px 20px;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .energy-icon-img::after{
    font-size: 10px;
    width: 100%;
  }
}

nobr{white-space: nowrap;}

br.machinery-br,br.machinery-top-br{
  display: none;
}
.machinery .news-list br.machinery-br{
  display: inline;
}
.machinery .news-list br.machinery-br{
  display: inline;
}
.top-newsfirst br.machinery-top-br{
  display: inline;
}

.icon-scroll{
  position: relative;
}
.icon-scroll::before,.icon-scroll::after{
  opacity: 0;
  transition: all .5s;
}
@media screen and (min-width: 1198px) {
  .display-swipe{
    display: none;
  }
}
@media screen and (max-width: 1198px) {
  .icon-scroll{
    width: 100%;
    overflow-x: scroll;
  }
  .icon-scroll-item{
    max-width: 1098px;
    width: 100%;
  }
  .icon-scroll-item .table{
    font-size: 8.4px;
  }
  .icon-scroll::before,.icon-scroll::after{
    opacity: 1;
    transition: all .5s;
  }
  .icon-scroll.icon-none::before,.icon-scroll.icon-none::after{
    opacity: 0;
    display: none;
    transition: opacity .5s ease,display .5s .5s ease;
  }
  .icon-scroll::before{
    position: absolute;
    content: "";
    background: rgba(0, 0, 0, 0.3);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
    transition: all .5s;
    opacity: 1;
  }
  .icon-scroll::after{
    position: absolute;
    opacity: 1;
    content: url("../images/icon/icon_scroll.svg");
    width: 100px;
    height: 100px;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    z-index: 3;
    transition: all .5s;
  }
}

/* 230706 追加 */
.box-shadow{
  box-shadow: 4px 4px 6px;
}
.box-shadow-pink{
  color: #ffcbcb;
}
.box-shadow-purple{
  color: #ccbfd9;
}
.box-shadow-blue{
  color: #b6dce7;
}
.box-shadow-green{
  color: #cbe1bb;
}

/* 20230727 追加 */
.stockchart{
  height: 1050px;
}
.page-header-chart{
  position: absolute;
  content: "";
  left: 66vw;
  width: 32vw;
  opacity: 1;
  transition: opacity .3s;
}
.page-header-chart:hover{
  opacity: .7;
}    
@media screen and (max-width: 767px) {
  .stockchart{
    height: 1120px;
  }
  .page-header-ir .page-header-layout {
    height: 300px;
    flex-wrap: wrap;
  }
  .page-header-chart{
    position: relative;
    width: 50%;
    left: 0;
  }
}

.sale-lead{
  font-weight: 600;
  margin-bottom: 24px;
}
.sale-child{
  margin-top: 40px;
}
.sale-child .sale-child + .sale-child{
  margin-top: 24px;
}
.sale-links a{
  background: #203864;
  padding: 5px;
  color: #fff;
  box-shadow: 4px 4px 9px -3px #777777;
  text-align: center;
  line-height: 1.5;
}
.sale-links a span{
  display: block;
  font-size: 12px;
}
.sale-list{
  margin-top: 24px;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.5;
}
.sale-list span{
  display: block;
  font-size: 20px;
}
.sale-list-office,.sale-list-agent,.sale-list-local{
  position: relative;
  padding-left: 30px;
  list-style: none;
  font-weight: bold;
}
.sale-list-office span,.sale-list-agent span,.sale-list-local span{
  text-decoration: underline;
}
.sale-list-office::after,.sale-list-agent::after,.sale-list-local::after{
  position: absolute;
  content: "";
  top: 2px;
  background-size: cover;
  width: 20px;
  height: 20px;
  left: 0;
}
.sale-list-office::after{
  background-image: url(../images/pages/products/sale/star.svg);
  top: 5px;
}
.sale-list-agent::after{
  background-image: url(../images/pages/products/sale/circle.svg);
  top: 5px;
}
.sale-list-local::after{
  background-image: url(../images/pages/products/sale/rect.svg);
  top: 6px;
}
.sale-heading{
  background: #203864;
  color: #fff;
  padding: 5px 10px;
  box-shadow: 4px 4px 9px -3px #777777;
  margin-bottom: 30px;
  font-size: 24px;
}
.sale-heading span{
  margin-left: 30px;
}
.sale-table{
  width: 100%;
}
.sale-table-cell span{
  text-decoration: none;
  display: block;
}
.sale-table tr{
  display: block;
  padding: 10px 0;
  border-top: solid 1px #F2F2F2;
  border-bottom: solid 1px #F2F2F2;
}
.sale-table-head{
  width: 250px;
  vertical-align: middle;
  padding: 5px 0;
}
.sale-table-head p{
  padding: 15px 20px;
  background: #F2F2F2;
  font-weight: bold;
  line-height: 1.2;
}
.sale-table-cell{
  display: table-cell;
  vertical-align: middle;
  padding: 10px 0 10px 20px;
  word-break: break-word;
}
.sale-table-cell a{
  color: #4472C4;
  text-decoration: underline;
  white-space: nowrap;
}
.sale-table-cell .link-outside{
  background: url(../images/icon/icon_outside.svg) right 7px/20px 15px no-repeat;
  padding-right: 30px;
  padding-left: 0;
  margin-left: 30px;
}
/* .sale-table-cell a.ml-0{
  margin-left: 0;
}
.sale-fw-400{
  font-weight: 400 !important;
}
.pl-30{
  padding-left: 30px !important;
} */
@media screen and (max-width: 767px) {
  .sale-list span{
    font-size: 18px;
  }
  .sale-table-head,.sale-table-cell{
    display: block;
    width: 100%;
  }
}

/* 20240227追加 */
@media screen and (min-width: 801px) {
  .top-section-banner{
    position: absolute;
    content: "";
    bottom: 60px;
    left: 60px;
    z-index: 999; 
  }
}

/* 20241001追加 */
.individual-investor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 544px) {
  .individual-investor {
    display: block;
  }
}
.individual-investor + .individual-investor {
  margin-top: 50px;
}
.individual-investor-col-main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.individual-investor-col-sub-right {
  margin-left: 40px;
}
@media screen and (max-width: 800px) {
  .individual-investor-col-sub-right {
    margin-left: 25px;
  }
}
@media screen and (max-width: 544px) {
  .individual-investor-col-sub-right {
    margin-left: 0;
    margin-top: 20px;
  }
}
.individual-investor-col-sub-left {
  margin-right: 40px;
  max-width: 379px;
  width: 100%;

}
@media screen and (max-width: 800px) {
  .individual-investor-col-sub-left {
    margin-right: 25px;
  }
}
@media screen and (max-width: 544px) {
  .individual-investor-col-sub-left {
    margin-right: 0;
    margin-bottom: 20px;
  }
}
.individual-investor-col-sub-right2 {
  margin-left: 30px;
}
@media screen and (max-width: 800px) {
  .individual-investor-col-sub-right2 {
    margin-left: 25px;
  }
}
@media screen and (max-width: 544px) {
  .individual-investor-col-sub-right2 {
    margin-left: 0;
    margin-top: 20px;
  }
}
.individual-investor-col-sub-left2 {
  margin-right: 30px;
}
@media screen and (max-width: 800px) {
  .individual-investor-col-sub-left2 {
    margin-right: 25px;
  }
}
@media screen and (max-width: 544px) {
  .individual-investor-col-sub-left2 {
    margin-right: 0;
    margin-bottom: 20px;
  }
}
.individual-investor-video{
  max-width: 379px;
  width: 100%;
  iframe{
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
  }
}
.individual-investor-video + .individual-investor-box{
  margin-top: 30px;
}
.individual-investor-box{
  background-color: #f5f5f5;
}
.individual-investor-box + .individual-investor-box{
  margin-top: 20px;
}
.individual-investor-box .title{
  background-color: #6E6D6D;
  color: #fff;
  padding: 10px 20px;
}
.individual-investor-box p:nth-of-type(2){
  padding: 20px;
  a{
    display: block;
    color: #000;
    &:hover{
      color: #dc0012;
    }
  }
}
.materials-pdf{
  position: relative;
  &::after{
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    margin: 0;
    background: url(../images/icon/icon-download.svg) no-repeat center / cover;
    position: absolute;
    top: 20%;
    right: 5%;
  }
}
.individual-investor-menu{
  display: flex;
  justify-content: space-between;
  margin-top: 24px;
}
.individual-investor-btn{
  border: 1px solid #DCDCDC;
  background-color: #F8F8F8;
  color: #848484;
  padding: 16px 25px;
}
.individual-investor-btn:hover{
  background-color: #F0F0F0;
}
.btn-expansion{
  position: relative;
  padding-left: 55px;
}
.btn-expansion::before{
  content: "";
  display: block;
  position: absolute;
  width: 22px;
  height: 18px;
  background: url(../images/icon/icon-expansion.svg) no-repeat center / cover;
  top: 50%;
  left: 25px;
  transform: translateY(-50%);
}
.individual-investor-menu ul{
  display: flex;
  justify-content: center;
  list-style: none;
}
.individual-investor-menu ul .individual-investor-btn{
  padding-top: 16px;
  padding-bottom: 16px;
}
.individual-investor-btn.prev{
  padding-left: 66px;
  padding-right: 45px;
}
.individual-investor-btn.next{
  padding-left: 42px;
  padding-right: 66px;
}
.individual-investor-btn.prev span, .individual-investor-btn.next span{
  position: relative;
}
.individual-investor-btn.prev span::before {
  display: block;
  content: "";
  width: 16px;
  height: 1px;
  border-bottom: 1px solid #DC0012;
  position: absolute;
  top: 50%;
  left: -24px;
}
.individual-investor-btn.prev span::after {
  display: block;
  content: "";
  width: 10px;
  height: 10px;
  margin: 0;
  background: url(../images/icon/ico_arrow01.svg) no-repeat center / cover;
  position: absolute;
  top: 50%;
  left: -28px;
  translate: 0 -50%;
  transform: rotate(180deg);
}
.individual-investor-btn.next span::before {
  display: block;
  content: "";
  width: 16px;
  height: 1px;
  border-bottom: 1px solid #DC0012;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -24px;
}
.individual-investor-btn.next span::after {
  display: block;
  content: "";
  width: 10px;
  height: 10px;
  margin: 0;
  background: url(../images/icon/ico_arrow01.svg) no-repeat center / cover;
  position: absolute;
  top: 50%;
  right: -28px;
  translate: 0 -50%;
}
.expansion {
  overflow: hidden;
}
.expansion .btn-expansion::before{
  background: url(../images/icon/icon_reduction.svg) no-repeat center / cover;
}
.expansion .individual-investor {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #ffff;
  z-index: 9999;
}
.expansion .individual-investor-col-sub{
  display: none;
}
.expansion .individual-investor-col-main {
  max-width: 1093px;
  width: 100%;
  margin: 0 auto;
  padding-top: 40px;
  height: calc(100vh - (40px + 70px));
  position: relative;
}
.expansion .individual-investor-col-main::after{
  content: "";
  border-bottom: 1px solid #DCDCDC;
  width: 150vw;
  position: absolute;
  left: -50%;
  bottom: 0;
  display: block;
}
.expansion .materials{
  display: flex;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.expansion .materials-content {
  flex-shrink: 0;
  max-width: 100%;
  max-height: 100%;
}
.expansion .individual-investor-menu{
  margin: 0;
  padding: 22px 0;
}
.disclaimer{
  border-top: 1px solid #DCDCDC;
  margin-top: 60px;
  p{
    text-indent: -65px;
    padding-left: 65px;
  }
}
@media screen and (max-width: 544px) {
  .individual-investor-menu{
    justify-content: center;
  }
  .btn-expansion{
    display: none;
  }
  .individual-investor-menu ul{
    width: 100%;
  }
  .individual-investor-btn{
    max-width: 50%;
    width: 50%;
    text-align: center;
  }
  .individual-investor-menu ul .individual-investor-btn{
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .disclaimer{
    p{
      text-indent: 0;
      padding-left: 0;
    }
    span{
      margin-top: 10px;
    }
  }
}

.page-nav-weld-bg{
  background-image: url(../images/pages/products/weld/top_weld_01.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top 70px center;

  .container{
    padding-bottom: 80px !important;
  }
}
@media screen and (max-width: 544px) {
  .page-nav-weld-bg{
    background-image: url(../images/pages/products/weld/top_weld_01_sp.jpg);
    background-position: center;
  }
}

/* :target::before {
  content: "";
  display: block;
  height: 84px;
  margin-top: -84px;
  visibility: hidden;
} */

/* 20250911追加 工具鋼の表修正 */

.products-tools .table.table-center .table-cell{
    padding: 15px 5px;
    font-size: 16px;
}

.table-head-kubun,
.table-head-kubun-2{
  min-width: 126px;
  max-width: 126px;
}
.table-head-kubun-3{
  min-width: 254px;
  max-width: 254px;
}
.table-cell-kousyu{
  min-width: 142px;
  max-width: 142px;
}
.table-head-kikaku{
  min-width: 300px;
  max-width: 300px;
}
.table-head-tokutyo{
  min-width: 255px;
  max-width: 255px;
}
.table-head-info{
  min-width: 274px;
  max-width: 274px;
}

.table-head-jis,
.table-head-aisi,
.table-head-wnr{
  min-width: 100px;
  max-width: 100px;
}
.table-head-tokusetsu{
  min-width: 96px;
  max-width: 96px;
}
.table-head-catalog{
  min-width: 88px;
  max-width: 88px;
}
.table-head-tec{
  min-width: 90px;
  max-width: 90px;
}

.products-tools thead .table-cell-head{
    white-space: nowrap;
}
#technology-list .table tr td:nth-child(5),#association-list .table tr td:nth-child(5){
    padding: 10px 15px;
}
#technology-list .table .table-cell,#association-list .table .table-cell,.table .table-cell.padding-en{
    /* 余白を英語に合わせてる */
    padding: 10px 5px;
}
.products-tools tr .table-sticky{
    border: none;
    border-collapse: separate;
}
#technology-list tr .border-top-none{
    border-top: none;
}
#technology-list tr .border-bottom-none{
    border-bottom: none;
}
#technology-list tr .border-top-dots{
    border-top: 1px dotted #A5A5A5;
}
#technology-list tr .border-bottom-dots{
    border-bottom: 1px dotted #A5A5A5;
}
.kosyu-tec-links{
    display: flex;
    flex-wrap: wrap;
    margin-left: -5px;
    margin-top: -5px;
}
.kosyu-tec-pdf{
    width: calc((100% / 2) - 5px);
    max-width: 35px;
    margin-left: 5px;
    margin-top: 5px;
}

.products-tools .kosyu-catalog-links a img{
    width: calc((100% / 2) - 5px);
    max-width: initial;
}
.kosyu-tec-pdf img{
    width: 100%;
    max-width: 35px !important;
}

/* ---表固定関係--- */
.products-tools .scrollVox{
    position: relative;
}
.products-tools thead tr:nth-child(1) .table-cell-head:nth-child(1),
.products-tools tbody .table-cell-head,
.table-kotei{
    position: sticky;
    left: 0;
    padding: 5px;
    z-index: 90;
}
/* .products-tools thead tr:nth-child(1) .table-cell-head:nth-child(1){
    max-width: 150px;
} */
.products-tools .table.table-center .table-cell.bg-pink-2,
.products-tools .table.table-center .table-cell.bg-purple-2,
.products-tools .table.table-center .table-cell.bg-pink-3,
.products-tools .table.table-center .table-cell.bg-purple-3{
    padding: 15px 5px;
}
.products-tools .table-kotei{
    left: 126px;
}
.products-tools .contents-main .scrollVox:not(.sp-only)>table{
    width: 1098px !important;
}

#technology-list .link-inside {
    background: url(../images/icon/icon_inside.svg) left 3px / 20px 13px no-repeat;
    padding-left: 23px;
}

@media screen and (min-width: 801px) {
    .products-tools tbody tr{
        border-right: 1px solid #c1c1c1;
    }
    .products-tools.products-tools-lists .table-kotei{
        left: 252px;
    }
    .products-tools.products-tools-lists .table-head-kubun-2{
        left: 126px;
    }
    .products-tools.products-tools-lists .table.table-center .table-cell{
        font-size: 1.4rem;
    }
    .products-tools-lists .table-head-kubun-3{
        min-width: 196px;
        max-width: 196px;
    }
    .products-tools-lists .table-head-kubun{
        min-width: 80px;
        max-width: 80px;
    }
    .products-tools-lists .table-head-kubun-2{
        min-width: 93px;
        max-width: 93px;
    }
    .products-tools-lists .table-cell-kousyu{
        min-width: 126px;
        max-width: 126px;
    }
    .products-tools-lists .table-head-youto{
        min-width: 53px;
        max-width: 53px;
    }
    .table thead{
        border-right: 1px solid #c1c1c1;
    }
    .products-tools.products-tools-lists .table.table-center .table-cell.bg-pink-2,
    .products-tools.products-tools-lists .table.table-center .table-cell.bg-purple-2,
    .products-tools.products-tools-lists .table.table-center .table-cell.bg-pink-3,
    .products-tools.products-tools-lists .table.table-center .table-cell.bg-purple-3{
        padding: 15px 2px;
    }
    .products-tools.products-tools-lists .contents .table-head-kubun-2{
        left: 91px;
    }
    .products-tools.products-tools-lists .contents .table-kotei{
        left: 196px;
    }
    .products-tools-lists .table-head-jis,.products-tools-lists .table-head-aisi,.products-tools-lists .table-head-wnr{
        min-width: 85px;
        max-width: 85px;
    }
}

@media screen and (max-width: 801px) {
    .products-tools .table-kotei{
      position: sticky;
      left: 95px;
    }
    .table-cell-kousyu{
      min-width: 128px;
      max-width: 128px;
    }
    .products-tools .contents .scrollVox{
        width: 100%;
        overflow-x: scroll;
    }
    .products-tools .contents-main .scrollVox:not(.sp-only)>table{
        width: 950px !important;
    }
    .products-tools .table.table-center .table-cell{
        font-size: 14px;
    }
    .products-tools thead tr:nth-child(1) .table-cell-head:nth-child(1){
        max-width: 95px;
        min-width: 95px;
    }
    .products-tools .table-cell.table-cell-wm100{
        min-width: 85px;
        max-width: 85px;
    }
    .products-tools.products-tools-lists .table-kotei{
      left: 0;
    }
    .products-tools.products-tools-lists thead tr:nth-child(1) .table-cell-head:nth-child(1), .products-tools.products-tools-lists tbody .table-cell-head, .table-kotei{
      position: relative;
    }
}

/* Align gtranslate widget horizontally with footer menu on wider screens */
/* @media screen and (min-width: 801px) {
  .footer-main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
      -ms-flex-align: center;
        align-items: center;
    -webkit-box-pack: justify;
      -ms-flex-pack: justify;
        justify-content: space-between;
    gap: 20px;
  }
  .footer-menu {
    -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
        flex: 1 1 auto;
  }
  .gtranslate_wrapper {
    display: inline-block;
    margin-left: 12px;
  }
  .gt_float_switcher .gt-selected .gt-current-lang {
    line-height: 1.5;
    padding: 10px 15px;
    color: #333;
    font-weight: bold;
  }
} */