@charset "UTF-8";
.page_ttl {
  padding-bottom: 26%;
  background: no-repeat center bottom / contain;
  text-align: center;
}



body.product .page_ttl {
  background-image: url(../img/product/ttl_bg_sp.jpg);
}

@media print, screen and (min-width: 768px) {
  body.product .page_ttl {
    background-image: url(../img/product/ttl_bg.jpg);
  }
}

body.case .page_ttl {
  background-image: url(../img/case/ttl_bg_sp.jpg);
}

@media print, screen and (min-width: 768px) {
  body.case .page_ttl {
    background-image: url(../img/case/ttl_bg.jpg);
  }
}

body.event .page_ttl {
  background-image: url(../img/event/ttl_bg_sp.jpg);
}

@media print, screen and (min-width: 768px) {
  body.event .page_ttl {
    background-image: url(../img/event/ttl_bg.jpg);
  }
}

body.column .page_ttl {
  background-image: url(../img/column/ttl_bg_sp.jpg);
}

@media print, screen and (min-width: 768px) {
  body.column .page_ttl {
    background-image: url(../img/column/ttl_bg.jpg);
  }
}

body.material .page_ttl {
  background-image: url(../img/material/ttl_bg_sp.jpg);
}

@media print, screen and (min-width: 768px) {
  body.material .page_ttl {
    background-image: url(../img/material/ttl_bg.jpg);
  }
}

body.company .page_ttl {
  background-image: url(../img/company/ttl_bg_sp.jpg);
}

@media print, screen and (min-width: 768px) {
  body.company .page_ttl {
    background-image: url(../img/company/ttl_bg.jpg);
  }
}

body.term .page_ttl {
  background-image: url(../img/term/ttl_bg_sp.jpg);
}

@media print, screen and (min-width: 768px) {
  body.term .page_ttl {
    background-image: url(../img/term/ttl_bg.jpg);
  }
}

body.magazine .page_ttl {
  background-image: url(../img/magazine/ttl_bg_sp.jpg);
}

@media print, screen and (min-width: 768px) {
  body.magazine .page_ttl {
    background-image: url(../img/magazine/ttl_bg.jpg);
  }
}




.page_ttl.bg_none {
  padding-bottom: 0 !important;
  background-image: none !important;
}

.page_ttl .ttl {
  padding: 25px 0;
  background: #12347c;
  color: #fff;
  font-weight: 700;
  font-size: 2.2rem;
  line-height: 1.2;
}

.page_ttl .ttl span {
  display: block;
  margin-top: 10px;
  font: normal 400 1.5rem/1 'Oswald', sans-serif;
}

.page_ttl .ttl .mian_sub_ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.page_ttl .ttl .mian_sub_ttl .main {
  order: 2;
}

.page_ttl .ttl .mian_sub_ttl .sub {
  order: 1;
  font-style: normal;
  display: block;
  text-align: center;
  font-size: 1.1rem;
  margin-bottom: 3px;
}

@media print, screen and (min-width: 768px) {
  .page_ttl {
    padding-bottom: 160px;
    background-size: 100% auto;
  }
  .page_ttl .ttl {
    padding: 50px 0;
    font-size: 3.5rem;
  }
  .page_ttl .ttl span {
    margin-top: 20px;
    font-size: 2.1rem;
  }
  .page_ttl .ttl .mian_sub_ttl .sub {
    margin-bottom: 5px;
    font-size: 1.4rem;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1500px) {
  .page_ttl {
    background-size: auto;
  }
}

.bread_crumb {
  border-bottom: 1px solid #c8c8c8;
  background: #fff;
}

.header + .bread_crumb {
  border-top: 1px solid #c8c8c8;
}

.bread_crumb ul {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 10px 20px;
  line-height: 0;
  max-width: none;
}

.bread_crumb ul li {
  display: flex;
  padding: 1px 0;
  color: #707070;
  line-height: 1;
  white-space: nowrap;
}

.bread_crumb ul li a {
  display: block;
  color: #707070;
  text-decoration: underline;
}

.bread_crumb ul li + li:before {
  content: '>';
  display: inline-block;
  margin: 0 0.5ex;
}

@media print, screen and (min-width: 768px) {
  .bread_crumb ul {
    padding: 15px 30px;
    font-size: 1.4rem;
  }
}

.main_contents {
  /* wp media align */
  /* Archives List */
}

.main_contents h2,
.main_contents h3,
.main_contents h4,
.main_contents h5,
.main_contents h6,
.main_contents .title_h2,
.main_contents .title_h3,
.main_contents .title_h4,
.main_contents .title_h5,
.main_contents .title_h6 {
  color: #12347c;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
}

.main_contents h2:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6),
.main_contents .title_h2 {
  position: relative;
  margin: 0 0 35px;
  padding: 0 0 15px;
  font-size: 2.4rem;
  text-align: center;
}

.main_contents h2:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6):after,
.main_contents .title_h2:after {
  content: '';
  display: block;
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 60px;
  height: 3px;
  background: #12347c;
  transform: translateX(-50%);
}

.main_contents h2:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6).h2_mt_up,
.main_contents .title_h2.h2_mt_up {
  margin-top: 40px;
}

.main_contents h3:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6),
.main_contents .title_h3 {
  margin: 0 0 30px;
  font-size: 2.1rem;
  line-height: 1.3;
}

.main_contents h3:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6).type1,
.main_contents .title_h3.type1 {
  position: relative;
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 0 !important;
  font-size: 2.2rem;
  text-align: center;
}

.main_contents h3:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6).type1:after,
.main_contents .title_h3.type1:after {
  content: '';
  display: block;
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 40px;
  height: 2px;
  background: #12347c;
  transform: translateX(-50%);
}

.main_contents h3:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6).h3_mt_up,
.main_contents .title_h3.h3_mt_up {
  margin-top: 40px;
}

.main_contents h4:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6),
.main_contents .title_h4 {
  margin: 35px 0 20px;
  padding: 15px;
  border-bottom: 2px solid #12347c;
  background: #f4f7ff;
  font-size: 1.7rem;
}

.main_contents h5:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6),
.main_contents .title_h5 {
  position: relative;
  margin: 25px 0 15px;
  padding-top: 4px;
  padding-bottom: 6px;
  padding-left: 20px;
  border-bottom: 1px solid #12347c;
  font-size: 1.7rem;
}

.main_contents h5:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6):before,
.main_contents .title_h5:before {
  content: '';
  border-left: 6px solid #12347c;
  position: absolute;
  left: 0;
  top: 50%;
  height: 80%;
  transform: translateY(-50%);
}

@media print, screen and (min-width: 768px) {
  .main_contents h5:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6):before,
  .main_contents .title_h5:before {
    height: 70%;
  }
}

.main_contents h6:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6),
.main_contents .title_h6 {
  margin: 20px 0 10px;
  padding: 3px 0 3px 10px;
  border-left: 6px solid #9eaed0;
  font-size: 1.6rem;
}

.main_contents .catch_title {
  position: relative;
  margin: 0 0 15px;
  color: #12347c;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: left;
}

.main_contents .title_check {
  position: relative;
  text-align: left;
  padding: 15px 15px 10px 25px;
  margin-bottom: 20px;
  border-bottom: 1px solid #c8c8c8;
  line-height: 1.5;
  background: url(../img/common/icon_checked.svg) no-repeat 0 17px;
  font-weight: bold;
}

@media print, screen and (min-width: 768px) {
  .main_contents .title_check {
    padding: 15px 15px 15px 45px;
    background: url(../img/common/icon_checked.svg) no-repeat 12px 19px;
  }
}

.main_contents article.narrow h2:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6),
.main_contents .material_col h2:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6) {
  margin: 35px 0 20px;
  padding: 15px;
  border-bottom: 2px solid #12347c;
  background: #f4f7ff;
  font-size: 1.7rem;
  text-align: left;
}

.main_contents article.narrow h2:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6):after,
.main_contents .material_col h2:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6):after {
  content: none;
}

.main_contents article.narrow h3:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6),
.main_contents .material_col h3:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6) {
  position: relative;
  margin: 25px 0 15px;
  padding-top: 4px;
  padding-bottom: 6px;
  padding-left: 20px;
  border-bottom: 1px solid #12347c;
  font-size: 1.7rem;
}

.main_contents article.narrow h3:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6):before,
.main_contents .material_col h3:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6):before {
  content: '';
  border-left: 6px solid #12347c;
  position: absolute;
  left: 0;
  top: 50%;
  height: 80%;
  transform: translateY(-50%);
}

@media print, screen and (min-width: 768px) {
  .main_contents article.narrow h3:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6):before,
  .main_contents .material_col h3:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6):before {
    height: 70%;
  }
}

.main_contents article.narrow h4:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6),
.main_contents .material_col h4:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6) {
  padding: 10px 0;
  font-size: 1.6rem;
  background: none;
  border-bottom: 1px solid #12347c;
}

.main_contents article.narrow h5:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6),
.main_contents .material_col h5:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6) {
  margin: 20px 0 10px;
  padding: 3px 0 3px 15px;
  font-size: 1.6rem;
  background: none;
  border-bottom: 0;
}

.main_contents article.narrow h5:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6):before,
.main_contents .material_col h5:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6):before {
  border-left-color: #9eaed0;
}

.main_contents article.narrow h6:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6),
.main_contents .material_col h6:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6) {
  border-left: 0;
  padding: 0;
}

@media print, screen and (min-width: 768px) {
  .main_contents h2:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6),
  .main_contents .title_h2 {
    margin-bottom: 50px;
    padding-bottom: 30px;
    font-size: 3rem;
  }
  .main_contents h2:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6):after,
  .main_contents .title_h2:after {
    width: 80px;
    height: 5px;
  }
  .main_contents h2:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6).h2_mt_up,
  .main_contents .title_h2.h2_mt_up {
    margin-top: 65px;
  }
  .main_contents h3:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6),
  .main_contents .title_h3 {
    margin-bottom: 35px;
    font-size: 2.9rem;
  }
  .main_contents h3:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6).type1,
  .main_contents .title_h3.type1 {
    margin-bottom: 50px;
    padding-bottom: 30px;
    font-size: 2.9rem;
  }
  .main_contents h3:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6).type1:after,
  .main_contents .title_h3.type1:after {
    width: 80px;
    height: 5px;
  }
  .main_contents h3:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6).h3_mt_up,
  .main_contents .title_h3.h3_mt_up {
    margin-top: 65px;
  }
  .main_contents h4:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6),
  .main_contents .title_h4 {
    margin: 65px 0 25px;
    padding: 14px 15px;
    font-size: 2.3rem;
  }
  .main_contents h5:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6),
  .main_contents .title_h5 {
    margin: 50px 0 20px;
    padding-top: 6px;
    padding-bottom: 9px;
    font-size: 2.1rem;
  }
  .main_contents h6:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6),
  .main_contents .title_h6 {
    margin: 30px 0 20px;
    padding: 3px 0 3px 10px;
    border-left-width: 6px;
    font-size: 1.9rem;
  }
  .main_contents .catch_title {
    margin: 0 0 20px;
    font-size: 2.1rem;
  }
  .main_contents article.narrow h2:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6),
  .main_contents .material_col h2:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6) {
    margin: 65px 0 25px;
    padding: 14px 15px;
    font-size: 2.3rem;
  }
  .main_contents article.narrow h3:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6),
  .main_contents .material_col h3:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6) {
    margin: 50px 0 20px;
    padding-top: 6px;
    padding-bottom: 9px;
    font-size: 2.1rem;
  }
  .main_contents article.narrow h4:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6),
  .main_contents .material_col h4:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6) {
    font-size: 1.9rem;
  }
  .main_contents article.narrow h5:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6),
  .main_contents .material_col h5:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6) {
    margin: 30px 0 20px;
    padding: 3px 0 3px 15px;
    border-left-width: 6px;
    font-size: 1.9rem;
  }
  .main_contents article.narrow h6:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6),
  .main_contents .material_col h6:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6) {
    font-size: 1.8rem;
  }
}

.main_contents p a:not(.btn),
.main_contents ul.list a:not(.btn), .main_contents article.narrow ul a:not(.btn),
.main_contents ol.list a:not(.btn), .main_contents article.narrow ol a:not(.btn),
.main_contents table a:not(.btn) {
  color: #0058bf;
  text-decoration: underline;
}

.main_contents p a:not(.btn)[target='_blank']:after,
.main_contents ul.list a:not(.btn)[target='_blank']:after, .main_contents article.narrow ul a:not(.btn)[target='_blank']:after,
.main_contents ol.list a:not(.btn)[target='_blank']:after, .main_contents article.narrow ol a:not(.btn)[target='_blank']:after,
.main_contents table a:not(.btn)[target='_blank']:after {
  content: '';
  display: inline-block;
  position: relative;
  top: 1px;
  margin-left: 3px;
  margin-right: 4px;
  width: 15px;
  height: 14px;
  background: url(../img/common/icon_external.svg) no-repeat 0 0;
  background-size: 15px;
}

.main_contents p a:not(.btn):hover,
.main_contents ul.list a:not(.btn):hover, .main_contents article.narrow ul a:not(.btn):hover,
.main_contents ol.list a:not(.btn):hover, .main_contents article.narrow ol a:not(.btn):hover,
.main_contents table a:not(.btn):hover {
  text-decoration: none;
}

.main_contents .external a[target='_blank']:after {
  content: '';
  display: inline-block;
  position: relative;
  top: 1px;
  margin-left: 3px;
  margin-right: 4px;
  width: 15px;
  height: 14px;
  background: url(../img/common/icon_external.svg) no-repeat 0 0;
  background-size: 15px;
}

.main_contents p {
  line-height: 2;
  text-align: left;
}

.main_contents p + p {
  margin-top: 0.5em;
}

@media print, screen and (min-width: 768px) {
  .main_contents p + p {
    margin-top: 1.5em;
  }
}

.main_contents p + ul.list, .main_contents article.narrow p + ul,
.main_contents p + figure {
  margin-top: 15px;
}

.main_contents p.ta-c {
  text-align: center;
}

.main_contents p.ta-r {
  text-align: right;
}

.main_contents p .highlight,
.main_contents p.highlight-wrap > * {
  display: inline;
  background: url(../img/common/yellow.svg) repeat-x left bottom;
}

@media print, screen and (min-width: 768px) {
  .main_contents p + ul.list, .main_contents article.narrow p + ul,
  .main_contents p + figure {
    margin-top: 25px;
  }
}

.main_contents iframe {
  width: 100%;
}

.main_contents .match_height_img img {
  height: 100%;
  object-fit: cover;
}

.main_contents a.btn {
  text-decoration: none;
}

.main_contents ul.list, .main_contents article.narrow ul {
  padding: 0;
  line-height: 0;
}

.main_contents ul.list + p, .main_contents article.narrow ul + p {
  margin-top: 15px;
}

.main_contents ul.list li, .main_contents article.narrow ul li {
  position: relative;
  padding-left: 16px;
  line-height: 1.5;
}

.main_contents ul.list li + li, .main_contents article.narrow ul li + li {
  margin-top: 5px;
}

.main_contents ul.list li:before, .main_contents article.narrow ul li:before {
  content: '';
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #12347c;
}

.main_contents ul.list li ul.list, .main_contents article.narrow ul li ul.list, .main_contents ul.list li article.narrow ul, .main_contents article.narrow ul.list li ul, .main_contents article.narrow ul li ul {
  margin-top: 10px;
}

.main_contents ul.list li ul.list li + li, .main_contents article.narrow ul li ul.list li + li, .main_contents ul.list li article.narrow ul li + li, .main_contents article.narrow ul.list li ul li + li, .main_contents article.narrow ul li ul li + li {
  margin-top: 5px;
}

.main_contents ul.list li ul.list li:before, .main_contents article.narrow ul li ul.list li:before, .main_contents ul.list li article.narrow ul li:before, .main_contents article.narrow ul.list li ul li:before, .main_contents article.narrow ul li ul li:before {
  top: 0.65em;
  width: 5px;
  height: 5px;
  border-radius: 0;
}

@media print, screen and (min-width: 768px) {
  .main_contents ul.list + p, .main_contents article.narrow ul + p {
    margin-top: 25px;
  }
  .main_contents ul.list li, .main_contents article.narrow ul li {
    padding-left: 20px;
  }
  .main_contents ul.list li + li, .main_contents article.narrow ul li + li {
    margin-top: 10px;
  }
  .main_contents ul.list li:before, .main_contents article.narrow ul li:before {
    width: 10px;
    height: 10px;
  }
  .main_contents ul.list li ul.list, .main_contents article.narrow ul li ul.list, .main_contents ul.list li article.narrow ul, .main_contents article.narrow ul.list li ul, .main_contents article.narrow ul li ul {
    margin-top: 15px;
    padding-left: 5px;
  }
  .main_contents ul.list li ul.list li + li, .main_contents article.narrow ul li ul.list li + li, .main_contents ul.list li article.narrow ul li + li, .main_contents article.narrow ul.list li ul li + li, .main_contents article.narrow ul li ul li + li {
    margin-top: 8px;
  }
  .main_contents ul.list li ul.list li:before, .main_contents article.narrow ul li ul.list li:before, .main_contents ul.list li article.narrow ul li:before, .main_contents article.narrow ul.list li ul li:before, .main_contents article.narrow ul li ul li:before {
    width: 7px;
    height: 7px;
  }
}

.main_contents article.narrow ul {
  margin-top: 15px;
}

.main_contents article.narrow ul + p {
  margin-top: 15px;
}

@media print, screen and (min-width: 768px) {
  .main_contents article.narrow ul {
    margin-top: 25px;
  }
  .main_contents article.narrow ul + p {
    margin-top: 25px;
  }
}

.main_contents article.narrow ul[style*='circle'] li, .main_contents article.narrow ul[style*='disc'] li, .main_contents article.narrow ul[style*='square'] li {
  list-style-position: inside;
  padding-left: 0;
}

.main_contents article.narrow ul[style*='circle'] li:before, .main_contents article.narrow ul[style*='disc'] li:before, .main_contents article.narrow ul[style*='square'] li:before {
  content: none;
}

.main_contents article.narrow ul[style*='circle'] li::marker, .main_contents article.narrow ul[style*='disc'] li::marker, .main_contents article.narrow ul[style*='square'] li::marker {
  margin-right: 0;
}

.main_contents article.narrow ul a {
  color: #0058bf;
  text-decoration: underline;
}

.main_contents article.narrow ul a[target='_blank']:after {
  content: '';
  display: inline-block;
  position: relative;
  top: 1px;
  margin-left: 3px;
  margin-right: 4px;
  width: 15px;
  height: 14px;
  background: url(../img/common/icon_external.svg) no-repeat 0 0;
  background-size: 15px;
}

.main_contents article.narrow ul a:hover {
  text-decoration: none;
}

.main_contents ol.list, .main_contents article.narrow ol {
  counter-reset: num;
  padding: 0;
  line-height: 0;
}

.main_contents ol.list.num li, .main_contents article.narrow ol li {
  counter-increment: num;
  position: relative;
  padding-left: 20px;
  line-height: 1.5;
}

.main_contents ol.list.num li + li, .main_contents article.narrow ol li + li {
  margin-top: 5px;
}

.main_contents ol.list.num li:before, .main_contents article.narrow ol li:before {
  content: counter(num, decimal) ". ";
  position: absolute;
  left: 0;
  top: -0.05em;
  color: #12347c;
  font-weight: 700;
  font-size: 1.4rem;
}

@media print, screen and (min-width: 768px) {
  .main_contents ol.list.num li + li, .main_contents article.narrow ol li + li {
    margin-top: 10px;
  }
  .main_contents ol.list.num li:before, .main_contents article.narrow ol li:before {
    top: -0.15em;
    font-size: 1.6rem;
  }
}

.main_contents article.narrow ol {
  margin-top: 15px;
}

.main_contents article.narrow ol + p {
  margin-top: 15px;
}

@media print, screen and (min-width: 768px) {
  .main_contents article.narrow ol {
    margin-top: 25px;
  }
  .main_contents article.narrow ol + p {
    margin-top: 25px;
  }
}

.main_contents article.narrow ol[style*='lower-alpha'] li, .main_contents article.narrow ol[style*='lower-greek'] li, .main_contents article.narrow ol[style*='lower-roman'] li, .main_contents article.narrow ol[style*='upper-alpha'] li, .main_contents article.narrow ol[style*='upper-roman'] li {
  list-style-position: inside;
  padding-left: 0;
}

.main_contents article.narrow ol[style*='lower-alpha'] li:before, .main_contents article.narrow ol[style*='lower-greek'] li:before, .main_contents article.narrow ol[style*='lower-roman'] li:before, .main_contents article.narrow ol[style*='upper-alpha'] li:before, .main_contents article.narrow ol[style*='upper-roman'] li:before {
  content: none;
}

.main_contents article.narrow ol[style*='lower-alpha'] li::marker, .main_contents article.narrow ol[style*='lower-greek'] li::marker, .main_contents article.narrow ol[style*='lower-roman'] li::marker, .main_contents article.narrow ol[style*='upper-alpha'] li::marker, .main_contents article.narrow ol[style*='upper-roman'] li::marker {
  margin-right: 0;
}

.main_contents article.narrow ol a {
  color: #0058bf;
  text-decoration: underline;
}

.main_contents article.narrow ol a[target='_blank']:after {
  content: '';
  display: inline-block;
  position: relative;
  top: 1px;
  margin-left: 3px;
  margin-right: 4px;
  width: 15px;
  height: 14px;
  background: url(../img/common/icon_external.svg) no-repeat 0 0;
  background-size: 15px;
}

.main_contents article.narrow ol a:hover {
  text-decoration: none;
}

.main_contents .mokuzi ul li {
  padding-left: 0 !important;
}

.main_contents .mokuzi ul li:before {
  content: none !important;
}

.main_contents .mokuzi ul li + li {
  margin-top: 12px !important;
}

.main_contents .mokuzi ul li a {
  color: #1c2232;
  text-decoration: none;
}

@media print, screen and (min-width: 768px) {
  .main_contents .mokuzi ul li a:hover {
    color: #0058bf !important;
    text-decoration: underline !important;
  }
}

.main_contents .mokuzi ul ul {
  margin-top: 6px !important;
  padding-left: 12px !important;
}

.main_contents .mokuzi ul ul li a {
  font-size: 1.2rem !important;
}

@media print, screen and (min-width: 768px) {
  .main_contents .mokuzi ul ul li a {
    font-size: 1.4rem !important;
  }
}

.main_contents .mokuzi ul ul li + li {
  margin-top: 5px !important;
}

.main_contents strong {
  font-weight: 700;
}

.main_contents table {
  margin: 30px 0 0;
  width: 100%;
  border-collapse: collapse;
}

.main_contents table + p,
.main_contents table + ul.list, .main_contents article.narrow table + ul,
.main_contents table + ol.list, .main_contents article.narrow table + ol {
  margin-top: 15px;
}

.main_contents table thead th {
  padding: 5px 10px;
  background: #707070;
  color: #fff;
  font-weight: 700;
  font-size: inherit;
  line-height: 1.6;
  text-align: center;
  vertical-align: middle;
}

.main_contents table thead th + th {
  border-left: 1px solid #c6c6c6;
}

.main_contents table tbody th,
.main_contents table tbody td {
  padding: 10px;
	/* border:0; から変更 */
  border: 1px solid #c6c6c6;
  font-weight: 400;
  font-size: inherit;
  line-height: 1.6;
  text-align: left;
  vertical-align: top;
}

.main_contents table tbody tr:first-child th,
.main_contents table tbody tr:first-child td {
  border-top: 1px solid #c6c6c6;
}

.main_contents table tbody th {
  background: #e5e5e5;
  vertical-align: middle;
}

.main_contents table tbody th + th,
.main_contents table tbody th + td {
  border-left: 1px solid #c6c6c6;
}

.main_contents table tbody td + td {
  border-left: 1px solid #c6c6c6;
}

.main_contents table.bdr-none {
  border: 0;
}

.main_contents table.bdr-none thead th,
.main_contents table.bdr-none thead td,
.main_contents table.bdr-none tbody th,
.main_contents table.bdr-none tbody td {
  padding: 3px 0;
  border: 0;
}

.main_contents table.bdr-none thead tr:first-child th,
.main_contents table.bdr-none thead tr:first-child td,
.main_contents table.bdr-none tbody tr:first-child th,
.main_contents table.bdr-none tbody tr:first-child td {
  border-top: 0;
  padding-top: 0;
}

.main_contents table.bdr-none thead tr:last-child th,
.main_contents table.bdr-none thead tr:last-child td,
.main_contents table.bdr-none tbody tr:last-child th,
.main_contents table.bdr-none tbody tr:last-child td {
  padding-bottom: 0;
}

@media print, screen and (min-width: 768px) {
  .main_contents table {
    margin-top: 50px;
  }
  .main_contents table + p,
  .main_contents table + ul.list, .main_contents article.narrow table + ul,
  .main_contents table + ol.list, .main_contents article.narrow table + ol {
    margin-top: 25px;
  }
  .main_contents table thead th {
    padding: 10px 20px;
  }
  .main_contents table tbody th,
  .main_contents table tbody td {
    padding: 20px;
  }
  .main_contents table.bdr-none thead th,
  .main_contents table.bdr-none thead td,
  .main_contents table.bdr-none tbody th,
  .main_contents table.bdr-none tbody td {
    padding: 5px 0;
  }
}

.main_contents .js-scrollable {
  padding-bottom: 15px;
}

.main_contents .js-scrollable table {
  width: 750px;
}

@media print, screen and (min-width: 768px) {
  .main_contents .js-scrollable table {
    width: 100%;
  }
}

.main_contents cite {
  display: block;
  margin-top: 15px;
  font-size: 1rem;
  line-height: 1.8;
}

@media print, screen and (min-width: 768px) {
  .main_contents cite {
    margin-top: 20px;
    font-size: 1.2rem;
  }
}

.main_contents hr {
  display: block;
  float: none;
  clear: both;
  margin: 30px 0;
  border: 0;
  width: 100%;
  height: 1px;
  background: #c8c8c8;
  font-size: 1px;
}

@media print, screen and (min-width: 768px) {
  .main_contents hr {
    margin: 40px 0;
  }
}

.main_contents .video-wrap {
  margin: 20px auto 20px;
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

@media print, screen and (min-width: 768px) {
  .main_contents .video-wrap {
    padding-top: 45.25%;
  }
}

.main_contents .video-wrap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

@media print, screen and (min-width: 768px) {
  .main_contents .video-wrap {
    margin: 40px auto 40px;
    width: 80%;
  }
}

.main_contents .wp-video {
  margin: 20px auto;
  max-width: 100%;
}

.main_contents .wp-video video {
  max-width: 100%;
  height: 100%;
}

@media print, screen and (min-width: 768px) {
  .main_contents .wp-video {
    margin: 30px auto;
  }
}

.main_contents .aligncenter {
  display: block;
  margin: 20px auto;
}

@media print, screen and (min-width: 768px) {
  .main_contents .aligncenter {
    margin: 30px auto;
  }
}

.main_contents .alignright {
  float: right;
}

.main_contents .alignleft {
  float: left;
}

.main_contents .size-full {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .main_contents .parts_btn_list.pc_side {
    display: flex;
    flex-wrap: wrap;
    margin-top: -20px;
  }
  .main_contents .parts_btn_list.pc_side .btn {
    margin-top: 20px;
    margin-right: 20px;
  }
}

.main_contents h3 + .parts_flex,
.main_contents .title_h3 + .parts_flex,
.main_contents h4 + .parts_flex,
.main_contents .title_h4 + .parts_flex {
  margin-top: 0;
}

.main_contents .parts_flex {
  margin-top: 20px;
}

.main_contents .parts_flex.vertical_center {
  align-items: center;
}

.main_contents .parts_flex .parts_flex_item:not(:first-child) {
  margin-top: 20px;
}

@media print, screen and (min-width: 768px) {
  .main_contents .parts_flex {
    display: flex;
    margin-top: 5%;
    margin-left: -3%;
    margin-right: -3%;
  }
  .main_contents .parts_flex.flex_wrap {
    flex-wrap: wrap;
  }
  .main_contents .parts_flex.flex_wrap .parts_flex_item {
    margin-bottom: 5%;
  }
  .main_contents .parts_flex .parts_flex_item {
    width: 50%;
    padding: 0 3%;
  }
  .main_contents .parts_flex .parts_flex_item:not(:first-child) {
    margin-top: 0;
  }
  .main_contents .parts_flex .parts_flex_item.item_w20 {
    width: 20%;
  }
  .main_contents .parts_flex .parts_flex_item.item_w30 {
    width: 30%;
  }
  .main_contents .parts_flex .parts_flex_item.item_w40 {
    width: 40%;
  }
  .main_contents .parts_flex .parts_flex_item.item_w50 {
    width: 50%;
  }
  .main_contents .parts_flex .parts_flex_item.item_w60 {
    width: 60%;
  }
  .main_contents .parts_flex .parts_flex_item.item_w70 {
    width: 70%;
  }
  .main_contents .parts_flex .parts_flex_item.item_w80 {
    width: 80%;
  }
  .main_contents .parts_flex .parts_flex_item > h2:first-child,
  .main_contents .parts_flex .parts_flex_item > h3:first-child,
  .main_contents .parts_flex .parts_flex_item > h4:first-child,
  .main_contents .parts_flex .parts_flex_item > h5:first-child,
  .main_contents .parts_flex .parts_flex_item > h6:first-child {
    margin-top: 0;
  }
}

.main_contents .parts_icon_in {
  display: flex;
}

.main_contents .parts_icon_in .icon {
  width: 20%;
  flex-shrink: 0;
}

.main_contents .parts_icon_in .content {
  width: 80%;
  padding-left: 5%;
}

.main_contents .parts_icon_in .content > h2:first-child,
.main_contents .parts_icon_in .content > h3:first-child,
.main_contents .parts_icon_in .content > h4:first-child,
.main_contents .parts_icon_in .content > h5:first-child,
.main_contents .parts_icon_in .content > h6:first-child {
  margin-top: 0;
}

@media print, screen and (min-width: 768px) {
  .main_contents .parts_icon_in .icon {
    width: 121px;
  }
  .main_contents .parts_icon_in .content {
    width: calc(100% - 121px);
  }
}

.main_contents .parts_icon_in.style_it-keiei {
  margin-top: 25px;
}

@media print, screen and (min-width: 768px) {
  .main_contents .parts_icon_in.style_it-keiei {
    margin-top: 35px;
  }
  .main_contents .parts_icon_in.style_it-keiei .icon {
    width: 160px;
  }
  .main_contents .parts_icon_in.style_it-keiei .content {
    width: calc(100% - 160px);
  }
}

.main_contents .nayami,
.main_contents .kaiketsu {
  padding: 20px;
  border-radius: 15px;
  margin-bottom: 30px;
}

@media print, screen and (min-width: 768px) {
  .main_contents .nayami,
  .main_contents .kaiketsu {
    padding: 40px 50px;
    margin-bottom: 40px;
  }
}

.main_contents .nayami .parts_flex,
.main_contents .kaiketsu .parts_flex {
  margin-top: 0;
  align-items: center;
}

.main_contents .nayami {
  background: #cee3ff;
}

.main_contents .kaiketsu {
  background: #ffdfd6;
}

.main_contents .techs_books {
  margin-top: 30px;
  margin-bottom: 30px;
  padding: 30px;
  border-radius: 20px;
  border: 2px solid #005bac;
}

.main_contents .techs_books .book {
  position: relative;
  text-align: center;
}

.main_contents .techs_books .book figure {
  margin: 0 auto 20px;
  max-width: 60%;
  border: 1px solid #e0e0e0;
}

.main_contents .techs_books .book .new_icon {
  position: absolute;
  display: inline-block;
  top: -20px;
  left: 40px;
  width: 40px;
  height: 40px;
  border-radius: 100vw;
  background-color: #fe9134;
  color: #fff;
}

.main_contents .techs_books .book .new_icon span {
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media print, screen and (min-width: 768px) {
  .main_contents .techs_books .book .new_icon {
    top: -20px;
    left: 110px;
  }
}

@media print, screen and (min-width: 920px) {
  .main_contents .techs_books .book .new_icon {
    top: -40px;
    left: -20px;
    width: 80px;
    height: 80px;
  }
}

.main_contents .techs_books .content {
  margin-top: 30px;
}

.main_contents .techs_books .content figure {
  margin-top: 20px;
}

@media print, screen and (min-width: 920px) {
  .main_contents .techs_books {
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
    margin-bottom: 40px;
    padding: 60px 50px;
  }
  .main_contents .techs_books .book {
    position: relative;
    width: 360px;
  }
  .main_contents .techs_books .book figure {
    max-width: 90%;
    margin-bottom: 40px;
  }
  .main_contents .techs_books .content {
    width: calc(100% - 360px);
    padding-left: 8%;
    margin-top: 0;
  }
  .main_contents .techs_books .content h5 {
    position: relative;
    margin-top: 0;
  }
  .main_contents .techs_books .content figure {
    margin-top: 30px;
  }
}

@media print, screen and (min-width: 1280px) {
  .main_contents .techs_books {
    padding: 60px 100px;
  }
}

.main_contents .techs_books_title {
  position: relative;
  margin: 0 0 15px;
  padding-top: 4px;
  padding-bottom: 6px;
  padding-left: 20px;
  border-bottom: 1px solid #12347c;
  font-size: 1.7rem;
  font-weight: 700;
  color: #12347c;
  line-height: 1.4;
  text-align: left;
}

@media print, screen and (min-width: 768px) {
  .main_contents .techs_books_title {
    margin: 0 0 20px;
    padding-top: 6px;
    padding-bottom: 9px;
    font-size: 2.1rem;
  }
}

.main_contents .techs_books_title:before {
  content: '';
  border-left: 6px solid #12347c;
  position: absolute;
  left: 0;
  top: 50%;
  height: 80%;
  transform: translateY(-50%);
}

@media print, screen and (min-width: 768px) {
  .main_contents .techs_books_title:before {
    height: 70%;
  }
}

.main_contents .techs_books_catch {
  color: #12347c;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
  margin: 20px 0 10px;
  padding: 3px 0 3px 10px;
  border-left: 6px solid #9eaed0;
  font-size: 1.6rem;
}

@media print, screen and (min-width: 768px) {
  .main_contents .techs_books_catch {
    margin: 30px 0 20px;
    padding: 3px 0 3px 10px;
    border-left-width: 6px;
    font-size: 1.9rem;
  }
}

.main_contents .flex.col2, .main_contents .flex.col3, .main_contents .flex.col4, .main_contents .flex.col5, .main_contents .flex.col6 {
  margin: 15px 0;
  width: 100%;
}

.main_contents .flex.col2 > p + p {
  margin-top: 0;
}

.main_contents .flex.col3 > p + p, .main_contents .flex.col4 > p + p, .main_contents .flex.col5 > p + p, .main_contents .flex.col6 > p + p {
  margin-top: 0;
}

.main_contents .flex.gap {
  gap: 1%;
}

.main_contents .flex.col2 > *, .main_contents .flex.col3 > *, .main_contents .flex.col4 > *, .main_contents .flex.col5 > *, .main_contents .flex.col6 > * {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .main_contents .flex.col2, .main_contents .flex.col3, .main_contents .flex.col4, .main_contents .flex.col5, .main_contents .flex.col6 {
    margin: 30px 0;
  }
  .main_contents .flex.width-hafu {
    width: 60%;
    margin-left: auto;
    margin-right: auto;
  }
  .main_contents .flex.col2 > * {
    width: 47.5%;
  }
  .main_contents .flex.col2.ratio-2-1 > *:first-child {
    width: 64%;
  }
  .main_contents .flex.col2.ratio-2-1 > *:last-child {
    width: 32%;
  }
  .main_contents .flex.col2.ratio-1-2 > *:first-child {
    width: 32%;
  }
  .main_contents .flex.col2.ratio-1-2 > *:last-child {
    width: 64%;
  }
  .main_contents .flex.col2.ratio-1-3 > *:first-child {
    width: 20%;
  }
  .main_contents .flex.col2.ratio-1-3 > *:last-child {
    width: 76%;
  }
  .main_contents .flex.col3 > * {
    width: 31.25%;
  }
  .main_contents .flex.col4 > * {
    width: 22.5%;
  }
  .main_contents .flex.col5 > * {
    width: 18.5%;
  }
  .main_contents .flex.col6 > * {
    width: 16.666666666666%;
  }
}

.main_contents .profile {
  width: 100%;
  background: #f2f2f2;
}

.main_contents .profile figure {
  flex-shrink: 0;
  margin-bottom: 20px;
  width: 100%;
  text-align: center;
}

.main_contents .profile strong {
  display: block;
}

.main_contents .profile strong.english {
  color: #12347c;
  font-weight: 400;
}

@media print, screen and (min-width: 768px) {
  .main_contents .profile figure {
    margin-bottom: 0;
  }
}

.main_contents .profile > div {
  flex-grow: 1;
}

.main_contents dl.accordion {
  border: 1px solid #bababa;
  margin: 15px 0;
  width: 100%;
  line-height: 0;
}

.main_contents dl.accordion dt {
  position: relative;
  padding: 15px 50px 15px 20px;
  background: #849cce;
  color: #fff;
  font-weight: 700;
  line-height: 1.5;
  cursor: pointer;
}

.main_contents dl.accordion dt:before, .main_contents dl.accordion dt:after {
  content: '';
  display: inline-block;
  position: absolute;
  right: 20px;
  top: 50%;
  width: 16px;
  height: 2px;
  background: #fff;
  transform: translateY(-50%);
  transition: all 0.3s ease;
}

.main_contents dl.accordion dt:after {
  transform: translateY(-50%) rotate(90deg);
}

.main_contents dl.accordion dt.open:after {
  height: 0;
}

.main_contents dl.accordion dt.open + dd {
  padding: 20px 20px 30px;
  max-height: 100%;
  box-shadow: 0 5px 0 rgba(75, 75, 75, 0.2);
}

.main_contents dl.accordion dd {
  overflow: hidden;
  padding: 0 20px;
  max-height: 0;
  line-height: 1.75;
  transition: all 0.3s ease;
}

.main_contents dl.accordion dd + dt {
  border-top: 1px solid #bababa;
}

@media print, screen and (min-width: 768px) {
  .main_contents dl.accordion {
    margin: 25px 0;
  }
  .main_contents dl.accordion dt {
    padding: 25px 75px 25px 35px;
  }
  .main_contents dl.accordion dt:before, .main_contents dl.accordion dt:after {
    right: 30px;
    width: 20px;
    height: 3px;
  }
  .main_contents dl.accordion dt.open + dd {
    padding: 30px 35px 40px;
  }
  .main_contents dl.accordion dd {
    padding: 0 35px;
  }
}

.main_contents .archives {
  line-height: 0;
  text-align: left;
}

.main_contents .archives li,
.main_contents .archives article {
  position: relative;
  width: 100%;
  max-width: 100%;
  border: 1px solid #c8c8c8;
  line-height: 1.6;
}

.main_contents .archives.news li, .main_contents .archives.magazine li {
  border: 0;
  border-bottom: 1px solid #c8c8c8;
  line-height: 1;
}

.main_contents .archives.news li a,
.main_contents .archives.news li span, .main_contents .archives.magazine li a,
.main_contents .archives.magazine li span {
  display: block;
  padding: 15px 0;
}

.main_contents .archives.news li a:hover, .main_contents .archives.magazine li a:hover {
  text-decoration: none;
}

.main_contents .archives.news li a:hover time,
.main_contents .archives.news li a:hover strong, .main_contents .archives.magazine li a:hover time,
.main_contents .archives.magazine li a:hover strong {
  color: #12347c;
}

.main_contents .archives.news li time, .main_contents .archives.magazine li time {
  display: block;
  margin-bottom: 10px;
  color: #12347c;
  font-size: 1.1rem;
  white-space: nowrap;
  transition: 0.3s;
}

.main_contents .archives.news li strong, .main_contents .archives.magazine li strong {
  display: block;
  color: #3c485b;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.4;
  transition: 0.3s;
}

@media print, screen and (min-width: 768px) {
  .main_contents .archives.news li a,
  .main_contents .archives.news li span, .main_contents .archives.magazine li a,
  .main_contents .archives.magazine li span {
    padding: 20px 0;
  }
  .main_contents .archives.news li time, .main_contents .archives.magazine li time {
    margin-bottom: 5px;
    font-size: 1.3rem;
  }
  .main_contents .archives.news li strong, .main_contents .archives.magazine li strong {
    font-size: 1.6rem;
  }
}

.main_contents .archives.event li {
  font-size: 1.1rem;
}

.main_contents .archives.event li + li {
  margin-top: 25px;
}

.main_contents .archives.event li a {
  display: block;
  height: 100%;
}

.main_contents .archives.event li a:hover {
  text-decoration: none;
}

.main_contents .archives.event li a > div {
  padding: 15px 20px 20px;
}

.main_contents .archives.event li figure {
  display: flex;
  justify-content: center;
  align-items: center;
}

.main_contents .archives.event li em {
  display: block;
  margin-bottom: 10px;
  color: #12347c;
  line-height: 1.4;
}

.main_contents .archives.event li strong {
  display: block;
  margin-bottom: 15px;
  font-size: 1.5rem;
  line-height: 1.7;
}

.main_contents .archives.event li .tags {
  margin-top: 10px;
  line-height: 0;
}

.main_contents .archives.event li .tags span {
  display: inline-block;
  margin: 0 5px 5px 0;
  line-height: 1;
}

.main_contents .archives.event li .tags span:before {
  content: '#';
}

.main_contents .archives.event li .closed_txt {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  font-weight: 700;
  font-size: 1.2em;
  text-align: center;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.8);
  color: #fff;
}

.main_contents .archives.event.hover-zoom li figure {
  padding-top: 52.6%;
}

@media print, screen and (min-width: 768px) {
  .main_contents .archives.event {
    margin-left: -1.7%;
    margin-right: -1.7%;
  }
  .main_contents .archives.event li {
    width: 29.933333333%;
    margin-left: 1.7%;
    margin-right: 1.7%;
    font-size: 1.3rem;
  }
  .main_contents .archives.event li + li {
    margin-top: 0;
  }
  .main_contents .archives.event li:nth-child(n + 4) {
    margin-top: 50px;
  }
  .main_contents .archives.event li:nth-child(3n + 2):last-child {
    margin-right: 34.5%;
  }
  .main_contents .archives.event li a > div {
    padding: 25px 30px 30px;
  }
  .main_contents .archives.event li em {
    margin-bottom: 15px;
  }
  .main_contents .archives.event li strong {
    margin-bottom: 20px;
    font-size: 1.8rem;
  }
  .main_contents .archives.event li .tags {
    margin-top: 15px;
  }
  .main_contents .archives.event li .tags span {
    margin-right: 10px;
  }
}

.main_contents .archives.product article {
  background: #fff;
  text-align: center;
}

.main_contents .archives.product article + article {
  margin-top: 25px;
}
/*--------------------------------------------------------------------------2023/03/13コメントアウト
.main_contents .archives.product article a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 20px 20px 30px;
  height: 100%;
  text-decoration: none;
}
*/
.main_contents .archives.product article .article_atag {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 20px 20px 30px;
  height: 100%;
  text-decoration: none;
}
.right_button_area a:after {
  background: transparent!important;
}


/*--------------------------------------------------------------------------*/
.main_contents .archives.product article a:after {
  content: '';
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 20px;
  height: 20px;
  background: url(../img/common/arrow_w.svg) no-repeat 9px 7px #12347c;
  background-size: 5px auto;
}

.main_contents .archives.product article a:hover {
  text-decoration: none;
}

.main_contents .archives.product article strong {
  display: block;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.5;
}

.main_contents .archives.product article em {
  display: block;
  margin-top: 5px;
  font-weight: 700;
  font-size: 1.3rem;
  line-height: 1.5;
}

.main_contents .archives.product article img {
  margin-top: 15px;
}

.main_contents .archives.product article p {
  margin-top: 30px;
  font-size: 1.2rem;
  line-height: 2;
  text-align: left;
}

@media print, screen and (min-width: 768px) {
  .main_contents .archives.product article {
    width: 48%;
    max-width: 575px;
  }
  .main_contents .archives.product article + article {
    margin-top: 0;
  }
  .main_contents .archives.product article:nth-child(n + 3) {
    margin-top: 40px;
  }
/*--------------------------------------------------------------------------2023/03/13コメントアウト
  .main_contents .archives.product article a {
    padding: 18px 28px;
    min-height: 198px;
  }
  .main_contents .archives.product article a:after {
    width: 28px;
    height: 28px;
    background-position: 12px center;
    background-size: 7px auto;
  }
*/
  .main_contents .archives.product article .article_atag {
    padding: 18px 28px;
    min-height: 198px;
  }
	
  .main_contents .archives.product article .article_atag:after {
    width: 28px;
    height: 28px;
    background-position: 12px center;
    background-size: 7px auto;
  }

/*--------------------------------------------------------------------------*/	
	
	
	
  .main_contents .archives.product article strong {
    font-size: 1.8rem;
  }
  .main_contents .archives.product article em {
    font-size: 1.5rem;
  }
  .main_contents .archives.product article img {
    margin-top: 15px;
  }
  .main_contents .archives.product article p {
    margin-top: 40px;
    font-size: 1.3rem;
  }
}

.main_contents .archives.column li + li {
  margin-top: 25px;
}

.main_contents .archives.column li.new:before {
  content: 'NEW';
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: -6px;
  top: -12px;
  z-index: 3;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #e5494f;
  color: #fff;
  font: normal 400 1.4rem/1 'Oswald', sans-serif;
  line-height: 1;
  white-space: nowrap;
  text-align: center;
}

.main_contents .archives.column li a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  text-decoration: none;
}

.main_contents .archives.column li a:hover {
  text-decoration: none;
}

.main_contents .archives.column li a > div {
  flex-grow: 1;
  padding: 20px 15px 40px;
  background: #fff;
}

.main_contents .archives.column li figure {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f2f5f7;
}

.main_contents .archives.column li em {
  display: block;
  margin-bottom: 15px;
  color: #12347c;
  font-weight: 400;
  font-size: 1.1rem;
}

.main_contents .archives.column li strong {
  display: block;
  margin-bottom: 15px;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.7;
}

.main_contents .archives.column li time {
  position: absolute;
  right: 15px;
  bottom: 15px;
  color: #707070;
  font-size: 1.1rem;
  line-height: 1;
}

.main_contents .archives.column.hover-zoom li figure {
  padding-top: 52.5%;
}

@media print, screen and (min-width: 768px) {
  .main_contents .archives.column {
    margin-left: -1.7%;
    margin-right: -1.7%;
  }
  .main_contents .archives.column li {
    width: 29.933333333%;
    margin-left: 1.7%;
    margin-right: 1.7%;
  }
  .main_contents .archives.column li + li {
    margin-top: 0;
  }
  .main_contents .archives.column li:nth-child(n + 4) {
    margin-top: 50px;
  }
  .main_contents .archives.column li.new:before {
    left: -9px;
    top: -17px;
    width: 50px;
    height: 50px;
    font-size: 2rem;
  }
  .main_contents .archives.column li a > div {
    padding: 25px 25px 55px;
  }
  .main_contents .archives.column li em {
    margin-bottom: 10px;
    font-size: 1.3rem;
  }
  .main_contents .archives.column li strong {
    margin-bottom: 20px;
    font-size: 1.8rem;
  }
  .main_contents .archives.column li time {
    right: 25px;
    bottom: 20px;
    font-size: 1.3rem;
  }
}

@media print, screen and (max-width: 920px) and (min-width: 767px) {
  .main_contents .archives.column li {
    width: 46.6%;
    max-width: 46.6%;
  }
  .main_contents .archives.column li + li {
    margin-top: 0;
  }
  .main_contents .archives.column li:nth-child(n + 4) {
    margin-top: 0;
  }
  .main_contents .archives.column li:nth-child(n + 3) {
    margin-top: 30px;
  }
}

.main_contents .archives.case li {
  background-color: #f4f7ff;
}

.main_contents .archives.case li + li {
  margin-top: 25px;
}

.main_contents .archives.case li a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  text-decoration: none;
}

.main_contents .archives.case li a:hover {
  text-decoration: none;
}

.main_contents .archives.case li a figure {
  display: flex;
  justify-content: center;
  align-items: center;
}

.main_contents .archives.case li a > div {
  flex-grow: 1;
  padding: 20px 15px;
  background: #fff;
}

.main_contents .archives.case li a > div strong {
  display: block;
  margin-bottom: 5px;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.6;
}

.main_contents .archives.case li a > div .text_mini{
  font-size: 1.2rem;
}

.main_contents .archives.case li a > div .tags {
  margin: 20px 0 0;
  font-size: 1.1rem;
  line-height: 0;
}

.main_contents .archives.case li a > div .tags em {
  display: inline-block;
  margin: 0 6px 6px 0;
  padding: 4px 6px;
  border: 1px solid #12347c;
  border-radius: 4px;
  color: #12347c;
  line-height: 1;
}

.main_contents .archives.case li a > div .tags span {
  display: inline-block;
  margin: 6px 6px 0 0;
  color: #707070;
  line-height: 1;
}

.main_contents .archives.case li a > div .tags span:before {
  content: '＃';
}

.main_contents .archives.case.hover-zoom li figure {
  padding-top: 52.5%;
}

@media print, screen and (min-width: 768px) {
  .main_contents .archives.case {
    margin-left: -1.7%;
    margin-right: -1.7%;
  }
  .main_contents .archives.case li {
    width: 29.933333333%;
    margin-left: 1%;
    margin-right: 1%;
    max-width: 384px;
  }
  .main_contents .archives.case li + li {
    margin-top: 0;
  }
  .main_contents .archives.case li:nth-child(n + 4) {
    margin-top: 50px;
  }
  .main_contents .archives.case li:nth-child(3n + 2):last-child {
    margin-right: 34.5%;
  }
  .main_contents .archives.case li a > div {
    padding: 25px;
  }
  .main_contents .archives.case li a > div strong {
    margin-bottom: 10px;
    font-size: 1.7rem;
  }
  .main_contents .archives.case li a > div .text_mini{
    font-size: 1.4rem;
  }
  .main_contents .archives.case li a > div .tags {
    margin-top: 30px;
    font-size: 1.3rem;
  }
  .main_contents .archives.case li a > div .tags em {
    margin: 0 10px 10px 0;
    padding: 5px 8px;
  }
  .main_contents .archives.case li a > div .tags span {
    margin: 10px 10px 0 0;
  }
}

.main_contents .archives.material li {
  font-size: 1.1rem;
}

.main_contents .archives.material li + li {
  margin-top: 25px;
}

.main_contents .archives.material li a {
  display: block;
  height: 100%;
}

.main_contents .archives.material li a:hover {
  text-decoration: none;
}

.main_contents .archives.material li a > div {
  padding: 15px 20px 20px;
}

.main_contents .archives.material li figure {
  display: flex;
  justify-content: center;
  align-items: center;
}

.main_contents .archives.material li figure img {
  width: 100%;
}

.main_contents .archives.material li em {
  display: block;
  margin-bottom: 10px;
  color: #12347c;
  line-height: 1.4;
}

.main_contents .archives.material li strong {
  display: block;
  margin-bottom: 15px;
  font-size: 1.5rem;
  line-height: 1.7;
}

.main_contents .archives.material.hover-zoom li figure {
  padding-top: 52.5%;
}

@media print, screen and (min-width: 768px) {
  .main_contents .archives.material {
    margin-left: -1.7%;
    margin-right: -1.7%;
  }
  .main_contents .archives.material li {
    width: 29.933333333%;
    margin-left: 1.7%;
    margin-right: 1.7%;
    font-size: 1.3rem;
  }
  .main_contents .archives.material li + li {
    margin-top: 0;
  }
  .main_contents .archives.material li:nth-child(n + 4) {
    margin-top: 50px;
  }
  .main_contents .archives.material li:nth-child(3n + 2):last-child {
    margin-right: 34.5%;
  }
  .main_contents .archives.material li a > div {
    padding: 25px 30px 30px;
  }
  .main_contents .archives.material li em {
    margin-bottom: 15px;
  }
  .main_contents .archives.material li strong {
    margin-bottom: 20px;
    font-size: 1.8rem;
  }
}

body.index .main_contents .categories {
  margin: 20px 0 50px;
  padding: 0 0 25px;
  border-bottom: 1px solid #12347c;
  line-height: 0;
}

body.index .main_contents .categories strong {
  margin: 0 0 15px;
  width: 100%;
  color: #12347c;
  font-weight: 400;
  font-size: 1.3rem;
  line-height: 1;
}

body.index .main_contents .categories strong:after {
  content: '';
  display: block;
  margin-left: 25px;
  width: 100%;
  height: 1px;
  background: #12347c;
}

body.index .main_contents .categories strong span {
  display: inline-block;
  white-space: nowrap;
}

body.index .main_contents .categories strong .english {
  display: inline-block;
  position: relative;
  margin-top: -5px;
  margin-right: 15px;
  font-size: 2.4rem;
}

body.index .main_contents .categories a {
  align-items: center;
  margin: 10px 15px 0 0;
  padding: 5px 25px;
  border: 1px solid #ebf1ff;
  border-radius: 4px;
  background: #ebf1ff;
  color: #12347c;
  font-size: 1.2rem;
  line-height: 1.3;
  letter-spacing: 0.01em;
  white-space: nowrap;
  text-align: center;
}

body.index .main_contents .categories a:hover {
  border-color: #12347c;
  text-decoration: none;
}

body.index .main_contents .categories a:last-child {
  margin-right: 0;
}

body.index .main_contents .categories a.selected {
  border-color: #12347c;
  background-color: #12347c;
  color: #fff;
  font-weight: 700;
}

body.index .main_contents .pagination, .add_pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 30px auto 10px;
  text-align: center;
}

body.index .main_contents .pagination .screen-reader-text {
  display: none;
}

body.index .main_contents .pagination ul, .add_pagination ul {
  display: flex;
  line-height: 0;
}

body.index .main_contents .pagination ul li, .add_pagination ul li {
  padding: 0 3px;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 32px;
  white-space: nowrap;
}

body.index .main_contents .pagination ul li a,
body.index .main_contents .pagination ul li span,
.add_pagination ul li a, .add_pagination ul li span {
  display: block;
  width: 32px;
  line-height: 30px;
  border: 1px solid #ebf1ff;
  background: #ebf1ff;
  color: #12347c;
}

body.index .main_contents .pagination ul li a:hover,
.add_pagination ul li a:hover {
  border-color: #12347c;
  background-color: #12347c;
  color: #fff;
  text-decoration: none;
}

body.index .main_contents .pagination ul li a.prev, body.index .main_contents .pagination ul li a.next,
.add_pagination ul li a.prev, .add_pagination ul li.next {
  overflow: hidden;
  border: 0;
  background: url(../img/common/arrow.svg) no-repeat center center transparent;
  background-size: 7px 12px;
  text-indent: 100%;
  text-align: left;
}

body.index .main_contents .pagination ul li a.prev:hover, body.index .main_contents .pagination ul li a.next:hover,
.add_pagination ul li a.prev:hover, .add_pagination ul li a.next:hover{
  opacity: 0.5;
}

body.index .main_contents .pagination ul li a.prev, .add_pagination ul li a.prev {
  margin-right: 5px;
  transform: scaleX(-1);
}

body.index .main_contents .pagination ul li a.next, .add_pagination ul li a.next {
  margin-left: 5px;
}

body.index .main_contents .pagination ul li span.current, .add_pagination ul li span.current {
  border-color: #12347c;
  background-color: #fff;
}

body.index .main_contents .pagination ul li span.dots, .add_pagination ul li span.dots {
  border-color: transparent;
  background-color: transparent;
}

@media print, screen and (min-width: 768px) {
  body.index .main_contents .categories {
    margin-top: 30px;
    margin-bottom: 70px;
    padding-bottom: 35px;
  }
  body.index .main_contents .categories strong {
    margin-bottom: 20px;
    font-size: 1.5rem;
  }
  body.index .main_contents .categories strong:after {
    margin-left: 40px;
  }
  body.index .main_contents .categories strong .english {
    margin-top: -10px;
    margin-right: 25px;
    font-size: 3.2rem;
  }
  body.index .main_contents .categories a {
    margin-top: 20px;
    margin-right: 30px;
    padding: 10px 35px;
    min-width: 140px;
    font-size: 1.4rem;
  }
  body.index .main_contents .pagination, .add_pagination {
    margin-top: 50px;
    margin-bottom: 20px;
  }
  body.index .main_contents .pagination ul li, .add_pagination ul li {
    line-height: 40px;
    padding: 0 5px;
    font-size: 1.6rem;
  }
  body.index .main_contents .pagination ul li a,
  body.index .main_contents .pagination ul li span,
  .add_pagination ul li a, .add_pagination ul li span{
    width: 60px;
    height: 40px;
    line-height: 37px;
  }
  body.index .main_contents .pagination ul li a.prev, body.index .main_contents .pagination ul li a.next,
  .add_pagination ul li a.prev, .add_pagination ul li a.next{
    background-size: 9px 14px;
  }
  body.index .main_contents .pagination ul li a.prev,
  .add_pagination ul li a.prev{
    margin-right: 10px;
  }
}

body.detail .main_contents .date {
  display: block;
  margin: 0 0 10px;
  color: #707070;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1;
}

body.detail .main_contents .main_ttl {
  display: block;
  margin-bottom: 15px;
  color: #12347c;
  font-size: 2.2rem;
  line-height: 1.4;
}

body.detail .main_contents .sub_ttl {
  display: block;
  margin: -5px 0 15px;
  font-weight: 700;
  font-size: 1.7rem;
  line-height: 1.6;
}

body.detail .main_contents .tags {
  margin: -5px 0 20px;
  font-size: 1.2rem;
}

body.detail .main_contents .tags em,
body.detail .main_contents .tags span {
  display: inline-block;
  margin: 5px 5px 0 0;
  line-height: 1;
  vertical-align: middle;
}

body.detail .main_contents .tags em {
  padding: 5px 7px;
  border: 1px solid #12347c;
  border-radius: 4px;
  color: #12347c;
  line-height: 1;
}

body.detail .main_contents .tags span {
  margin-right: 8px;
  color: #707070;
  line-height: 1;
  white-space: nowrap;
}

body.detail .main_contents .tags span:before {
  content: '＃';
}

body.detail .main_contents .categories {
  margin: -10px 0 20px;
}

body.detail .main_contents .categories em {
  display: inline-block;
  margin: 10px 10px 0 0;
  padding: 5px 8px;
  border: 1px solid #12347c;
  border-radius: 4px;
  color: #12347c;
  line-height: 1;
  white-space: nowrap;
}

body.detail .main_contents .closed_txt {
  display: inline-block;
  position: absolute;
  left: 50%;
  z-index: 2;
  margin-top: -10px;
  padding: 10px 15px;
  border: 2px solid #f00;
  background: #fff;
  color: #f00;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1;
  white-space: nowrap;
  text-align: center;
  transform: translate(-50%, -50%);
}

body.detail .main_contents section.introduced {
  padding: 80px 0 70px;
}

body.detail .main_contents section.related {
  padding: 40px 0 50px;
}

body.detail .main_contents section.related h3 {
  text-align: center;
}

body.detail .main_contents section.related.bg_blue h3 {
  color: #fff;
}

body.detail .main_contents figure figcaption {
  margin-top: 15px;
  font-size: 1.1rem;
}

@media print, screen and (min-width: 768px) {
  body.detail .main_contents .date {
    margin-bottom: 15px;
    font-size: 1.6rem;
  }
  body.detail .main_contents .main_ttl {
    margin-bottom: 25px;
    font-size: 3.5rem;
  }
  body.detail .main_contents .sub_ttl {
    margin: -10px 0 20px;
    font-size: 2.3rem;
  }
  body.detail .main_contents .tags {
    margin: -10px 0 30px;
    font-size: 1.3rem;
  }
  body.detail .main_contents .tags em,
  body.detail .main_contents .tags span {
    margin: 10px 15px 0 0;
  }
  body.detail .main_contents .tags em {
    padding: 8px 12px;
    border: 1px solid #12347c;
  }
  body.detail .main_contents .tags span {
    margin-right: 20px;
  }
  body.detail .main_contents .tags span:before {
    content: '＃';
  }
  body.detail .main_contents .categories {
    margin: -15px 0 35px;
  }
  body.detail .main_contents .categories em {
    margin: 15px 15px 0 0;
    padding: 8px 10px;
  }
  body.detail .main_contents .closed_txt {
    margin-top: -15px;
    padding: 15px 30px;
    border-width: 2px;
    font-size: 2.8rem;
  }
  body.detail .main_contents figure figcaption {
    margin-top: 25px;
    font-size: 1.3rem;
  }
  body.detail .main_contents section.introduced {
    padding: 80px 0 90px;
  }
  body.detail .main_contents section.related {
    padding: 60px 0 70px;
  }
}

@media print, screen and (min-width: 768px) and (min-width: 920px) {
  body.detail .main_contents .fllow_caption_rb {
    width: 60%;
    margin: 0 auto;
  }
}

@media print, screen and (min-width: 768px) {
  body.detail .main_contents .fllow_caption_rb figcaption {
    text-align: right;
  }
}

.anchors {
  margin: 0 auto 40px;
  line-height: 0;
}

.anchors a {
  align-items: center;
  position: relative;
  padding: 10px 10px 10px 30px;
  border: 1px solid #9eaed0;
  border-radius: 4px;
  color: #12347c;
  line-height: 1.3;
}

.anchors a:before {
  content: '';
  display: inline-block;
  position: absolute;
  left: 10px;
  top: 50%;
  margin-top: -7px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: url(../img/common/arrow_w.svg) no-repeat 6px center #9eaed0;
  background-size: 5px auto;
  transform: rotate(90deg);
}

.anchors a strong {
  font-weight: 700;
  font-size: 1.4rem;
}

.anchors a strong span {
  display: block;
  font-size: 1.4375em;
}

.anchors.column-sp a {
  width: 100%;
}

.anchors.column-sp a + a {
  margin-top: 15px;
}

.anchors.type1 a {
  margin: 0;
  width: 100%;
  max-width: 100%;
  border-radius: 6px;
  box-shadow: 0 3px 0 rgba(21, 54, 122, 0.3);
  line-height: 1.5;
}

.anchors.type1 a + a {
  margin-top: 15px;
}

.anchors.type1 a:before {
  left: auto;
  top: auto;
  right: 8px;
  bottom: 8px;
  margin-top: 0;
  padding: 10px;
  width: 16px;
  height: 16px;
  background-position: 8px center;
}

.anchors.type1 figure {
  margin-right: 20px;
  max-width: 38%;
}

@media print, screen and (min-width: 768px) {
  .anchors {
    margin-bottom: 60px;
  }
  .anchors a {
    padding: 15px 15px 15px 40px;
  }
  .anchors a + a {
    margin-top: 0;
  }
  .anchors a:before {
    left: 12px;
    margin-top: -9px;
    width: 18px;
    height: 18px;
    background-position: 7px center;
  }
  .anchors a strong {
    font-size: 1.6rem;
  }
  .anchors.column-sp a {
    width: auto;
  }
  .anchors.column-sp a + a {
    margin-top: 0;
  }
  .anchors.type1 a {
    margin: 0;
    padding: 15px 20px;
    width: 32%;
    max-width: 385px;
  }
  .anchors.type1 a:nth-child(n + 4) {
    margin-top: 20px;
  }
  .anchors.type1 a:nth-child(3n + 2):last-child {
    margin-right: 34%;
  }
  .anchors.type1 a:before {
    left: auto;
    right: 12px;
    bottom: 12px;
    margin-top: 0;
    width: 20px;
    height: 20px;
    background-position: 8px center;
    background-size: 6px auto;
  }
  .anchors.type1 figure {
    margin-right: 8%;
  }
}

@media print, screen and (max-width: 920px) and (min-width: 767px) {
  .anchors.type1 a {
    width: 49%;
    max-width: 49%;
  }
  .anchors.type1 a:nth-child(n + 3) {
    margin-top: 20px;
  }
}

.table-of-contents {
  margin: 30px 0 60px;
  padding: 20px;
  border: 1px solid #9eaed0;
  border-radius: 8px;
}

.table-of-contents em {
  display: flex;
  margin: 0 0 15px;
  align-items: center;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1;
  white-space: nowrap;
}

.table-of-contents em:after {
  content: '';
  flex-grow: 1;
  display: block;
  margin-left: 15px;
  height: 1px;
  background: #9eaed0;
}

.table-of-contents ul {
  padding-left: 10px;
  line-height: 0;
}

.table-of-contents ul li {
  font-weight: 700;
  line-height: 1.5;
}

.table-of-contents ul li + li {
  margin-top: 10px;
}

.table-of-contents ul li a {
  color: #1c2232;
  text-decoration: none;
}

.table-of-contents ul li a:hover {
  text-decoration: underline;
}

@media print, screen and (min-width: 768px) {
  .table-of-contents {
    margin: 50px 0 100px;
    padding: 35px 40px 35px 35px;
    border-radius: 10px;
  }
  .table-of-contents em {
    margin-bottom: 20px;
    font-size: 1.6rem;
  }
  .table-of-contents em:after {
    margin-left: 20px;
  }
  .table-of-contents ul {
    padding-left: 15px;
  }
  .table-of-contents ul li + li {
    margin-top: 15px;
  }
}

.annotation {
  padding: 30px;
  background: #f2f2f2;
}

@media print, screen and (min-width: 768px) {
  .annotation {
    padding: 45px;
  }
}

.bg_blue {
  background-color: #12347c;
  color: #fff;
}

.bg_blue h2 {
  color: #fff;
}

.bg_blue h2:after {
  background-color: #fff;
}

.bg_blue h3 {
  color: #fff;
}

.bg_blue h3.type1:after {
  background-color: #fff;
}

.bg_skyblue {
  background-color: #eaf0f9;
}

.bg_skyblue h3 {
  margin: 0 0 30px;
  padding: 0 0 15px;
  border-bottom: 2px solid #12347c;
  font-size: 2.2rem;
  text-align: left;
}

.bg_skyblue h3:first-of-type {
  margin-top: 0;
}

@media print, screen and (min-width: 768px) {
  .bg_skyblue h3 {
    margin-bottom: 40px;
    padding-bottom: 20px;
    border-bottom-width: 3px;
    font-size: 3rem;
  }
}

body.product.index .main_contents {
  padding-bottom: 0;
}

body.product.index .main_contents .bg_skyblue {
  padding: 50px 0 80px;
}

body.product.index .main_contents .bg_skyblue section + section {
  margin-top: 60px;
}

@media print, screen and (min-width: 768px) {
  body.product.index .main_contents .bg_skyblue {
    padding: 80px 0 110px;
  }
  body.product.index .main_contents .bg_skyblue section + section {
    margin-top: 100px;
  }
}

body.product.index .main_contents .sp_anc_decoy {
  padding-top: 70px;
  margin-top: -70px;
}

@media print, screen and (min-width: 768px) {
  body.product.index .main_contents .sp_anc_decoy {
    padding-top: 0;
    margin-top: 0;
  }
}

body.product.detail .main_contents {
  padding: 0;
}

body.product.detail .main_contents .under-pages {
  border-top: 1px solid #707070;
  background: #333846;
  color: #fff;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .under-pages {
    border-bottom: 1px solid #707070;
  }
}

body.product.detail .main_contents .under-pages ul {
  margin: 0 auto;
  max-width: 1200px;
  line-height: 0;
  text-align: center;
  flex-wrap: wrap;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .under-pages ul.col6 > li {
    width: 33.33333333%;
  }
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents .under-pages ul.col6 > li {
    width: 16.66666666%;
  }
}

body.product.detail .main_contents .under-pages ul.it-project > li a {
  padding: 25px 30px 25px 10px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .under-pages ul.it-project > li {
    width: 50%;
  }
  body.product.detail .main_contents .under-pages ul.it-project > li a {
    padding: 25px 10px;
  }
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents .under-pages ul.it-project > li {
    width: 25%;
  }
}

body.product.detail .main_contents .under-pages ul li {
  border-bottom: 1px solid #707070;
  font-weight: 700;
  line-height: 1;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .under-pages ul li {
    margin-bottom: -1px;
    border-right: 1px solid #707070;
  }
  body.product.detail .main_contents .under-pages ul li:first-child {
    border-left: 1px solid #707070;
  }
}

body.product.detail .main_contents .under-pages ul li.current > a {
  background-color: #fff;
  color: #333846;
  text-decoration: none;
}

body.product.detail .main_contents .under-pages ul li.current a::after {
  border-top-color: #333846;
  border-right-color: #333846;
}

body.product.detail .main_contents .under-pages ul li a {
  display: block;
  position: relative;
  padding: 25px 30px 25px 10px;
  color: #fff;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .under-pages ul li a {
    padding: 25px 15px;
  }
}

body.product.detail .main_contents .under-pages ul li a::after {
  content: '';
  display: inline-block;
  position: absolute;
  right: 15px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  border-radius: 1px;
  transform: translateY(-50%) rotate(45deg);
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .under-pages ul li a::after {
    right: 15px;
  }
}

body.product.detail .main_contents .under-pages ul li a:hover {
  background-color: #fff;
  color: #333846;
  text-decoration: none;
}

body.product.detail .main_contents .under-pages ul li a:hover::after {
  border-top-color: #333846;
  border-right-color: #333846;
}

body.product.detail .main_contents .btn-wrap {
  padding: 0 20px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .btn-wrap {
    padding: 0;
  }
}

body.product.detail .main_contents .btn-wrap .btn {
  margin-bottom: 15px;
  font-size: 1.7rem;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .btn-wrap .btn {
    margin: 0 10px 20px;
    min-width: 340px;
    min-height: 60px;
  }
}

body.product.detail .main_contents .btn-wrap .btn span {
  position: relative;
  display: inline-block;
}

body.product.detail .main_contents .btn-wrap .btn span::after {
  content: '';
  display: inline-block;
  position: absolute;
  margin-top: 1px;
  top: 50%;
  background: no-repeat center center / contain;
  vertical-align: middle;
  transform: translateY(-50%);
}

body.product.detail .main_contents .btn-wrap .btn.request {
  text-align: center;
  border-color: #fd9134;
  background-color: #fd9134;
  color: #fff;
}

body.product.detail .main_contents .btn-wrap .btn.request span {
  padding-left: 25px;
}

body.product.detail .main_contents .btn-wrap .btn.request span::after {
  left: 0;
  width: 16px;
  height: 21px;
  background-image: url(../img/common/icon_paper_w.svg);
}

body.product.detail .main_contents .btn-wrap .btn.request:hover span::after {
  background-image: url(../img/common/icon_paper.svg);
}

/* オンラインデモボタン */

body.product.detail .main_contents .btn-wrap .btn.online_demo {
  text-align: center;
  border-color: #FFF;
  background-color: #0058C7;
  color: #fff;
}

body.product.detail .main_contents .btn-wrap .btn.online_demo span {
  padding-left: 25px;
}

body.product.detail .main_contents .btn-wrap .btn.online_demo span::after {
  left: 0;
  width: 20px;
  height: 20px;
  background-image: url(../img/product/collaboration/sellbot/laptop_icon.svg);
}

body.product.detail .main_contents .btn-wrap .btn.online_demo:hover span::after {
  background-image: url(../img/product/collaboration/sellbot/laptop_icon.svg);
}

body.product.detail .main_contents .btn-wrap .btn.online_demo::before {
	background: #00AAEA;
}


body.product.detail .main_contents .btn-wrap .btn.inquiry {
  border-color: #fd9134;
  background-color: #fd9134;
  color: #fff;
}

body.product.detail .main_contents .btn-wrap .btn.inquiry span {
  padding-left: 25px;
}

body.product.detail .main_contents .btn-wrap .btn.inquiry span::after {
  left: 0;
  width: 16px;
  height: 21px;
  background-image: url(../img/common/icon_paper_w.svg);
}

body.product.detail .main_contents .btn-wrap .btn.inquiry:hover span::after {
  background-image: url(../img/common/icon_paper.svg);
}

body.product.detail .main_contents .btn-wrap .btn.contact {
  border-color: #fff;
  background-color: #fff;
  color: #12347c;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .btn-wrap .btn.contact {
    margin-top: 0;
  }
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents .btn-wrap .btn.contact {
    margin-top: 0;
  }
}

body.product.detail .main_contents .btn-wrap .btn.contact span {
  padding-left: 28px;
}

body.product.detail .main_contents .btn-wrap .btn.contact span::after {
  left: 0;
  width: 21px;
  top: 50%;
  height: 15px;
  background-image: url(../img/common/icon_mail.svg);
}

body.product.detail .main_contents .btn-wrap .btn.contact:hover {
  color: #fff;
}

body.product.detail .main_contents .btn-wrap .btn.contact:hover span::after {
  background-image: url(../img/common/icon_mail_w.svg);
}

body.product.detail .main_contents .btn-wrap .btn.hint {
  border-color: #6ea92e;
  background-color: #6ea92e;
  color: #fff;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .btn-wrap .btn.hint {
    margin-top: 0;
  }
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents .btn-wrap .btn.hint {
    margin-top: 0;
  }
}

body.product.detail .main_contents .btn-wrap .btn.hint span {
  padding-left: 0;
}

body.product.detail .main_contents .btn-wrap .btn.hint span::after {
  content: none;
}

body.product.detail .main_contents .btn-wrap .btn.hint::after {
  content: '';
  display: inline-block;
  position: absolute;
  right: 15px;
  top: 50%;
  width: 15px;
  height: 13px;
  background: url(../img/common/icon_external_w.svg) no-repeat center center/contain;
  transform: translateY(-50%);
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .btn-wrap .btn.hint::after {
    right: 18px;
  }
}

body.product.detail .main_contents .btn-wrap .btn.hint:hover {
  color: #fff;
}

body.product.detail .main_contents .btn-wrap .btn.hint:hover::after {
  background-image: url(../img/common/icon_external_w.svg);
}

body.product.detail .main_contents small.indent {
  display: block;
  margin-top: 10px;
  padding-left: 1em;
  font-size: 1.3rem;
  line-height: 1.77;
  text-align: left;
  text-indent: -1em;
}

body.product.detail .main_contents #sec_mv {
  padding: 0 0 15px 0;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_mv {
    padding-bottom: 20px;
  }
}

body.product.detail .main_contents #sec_mv img {
  display: block;
  width: 100%;
  margin: 0 auto;
}

body.product.detail .main_contents #sec_mv .mv_wrap {
  position: relative;
  background: no-repeat center center;
  background-size: cover;
}

body.product.detail .main_contents #sec_mv .mv_wrap .mv_in {
  margin: 0 auto;
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents #sec_mv .mv_wrap .mv_in {
    width: 1480px;
    max-width: 100%;
    padding: 0 30px;
  }
}

body.product.detail .main_contents #sec_mv .mv_wrap .mv_in img {
  width: 100%;
}

body.product.detail .main_contents #sec_mv .mv_wrap.bg_techs-s-noa {
  background-color: #fff;
}

body.product.detail .main_contents #sec_mv .mv_wrap.bg_techs-s {
  background-color: #fff;
}

body.product.detail .main_contents #sec_mv .mv_wrap.bg_techs-bk {
  background-color: #fff;
}

body.product.detail .main_contents #sec_mv .mv_wrap.bg_ai-similar-drawing-search {
  position: relative;
  background-color: #bd3124;
  background-image: url(../img/product/ai-similar-drawing-search/ai-ruiji-back_red.png);
  background-size: contain;
  background-position: bottom left;
}
/*
@media print, screen and (min-width: 768px) {

  body.product.detail .main_contents #sec_mv .mv_wrap.bg_ai-similar-drawing-search:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 18vw;
    height: 18.2vw;
    background: url(../img/product/ai-similar-drawing-search/mv_obj01.png) no-repeat 0 0;
    background-size: contain;
    z-index: 1;
  }
  body.product.detail .main_contents #sec_mv .mv_wrap.bg_ai-similar-drawing-search:before {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 13.9vw;
    height: 20vw;
    background: url(../img/product/ai-similar-drawing-search/mv_obj02.png) no-repeat 0 0;
    background-size: contain;
    z-index: 3;
  }
}
*/
@media print, screen and (min-width: 1620px) {
  body.product.detail .main_contents #sec_mv .mv_wrap.bg_ai-similar-drawing-search:after {
    width: 294px;
    height: 298px;
  }
  body.product.detail .main_contents #sec_mv .mv_wrap.bg_ai-similar-drawing-search:before {
    width: 213px;
    height: 308px;
  }
}

body.product.detail .main_contents #sec_mv .mv_wrap.bg_ai-similar-drawing-search .mv_in {
  position: relative;
}

body.product.detail .main_contents #sec_mv .mv_wrap.bg_ai-similar-drawing-search .mv_in h1 {
  position: relative;
  z-index: 2;
}
/*
@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_mv .mv_wrap.bg_ai-similar-drawing-search .mv_in:after {
    content: '';
    position: absolute;
    top: 0;
    left: calc(-100% + 30px);
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
  }
}
*/
body.product.detail .main_contents #sec_mv .mv_wrap.bg_a-eye-camera {
  background-image: url(../img/product/a-eye-camera/mv_bg.jpg);
}

body.product.detail .main_contents #sec_mv .mv_wrap.bg_a-eye-camera .mv_in {
  position: relative;
}

body.product.detail .main_contents #sec_mv .mv_wrap.bg_a-eye-camera .mv_in h1 {
  position: relative;
  z-index: 2;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_mv .mv_wrap.bg_a-eye-camera .mv_in:after {
    content: '';
    position: absolute;
    top: 0;
    left: calc(-100% + 30px);
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
  }
}

body.product.detail .main_contents #sec_mv .mv_wrap.bg_ez-bee {
  background-image: url(../img/product/ez-bee/mv_bg.png);
}

body.product.detail .main_contents #sec_mv .mv_wrap.bg_ez-collect {
  background-image: url(../img/product/ez-collect/mv_bg.png);
}

body.product.detail .main_contents #sec_mv .mv_wrap.bg_b-to-b {
  background-color: #fff;
}

body.product.detail .main_contents #sec_mv .mv_wrap.bg_it-keiei {
  position: relative;
  background-color: #fff;
  background-position: left top;
  background-image: url(../img/product/it-keiei/mv_bg.jpg);
  background-size: contain;
}

body.product.detail .main_contents #sec_mv .mv_wrap.bg_it-keiei:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  height: 100%;
  width: 40vw;
  background: url(../img/product/it-keiei/mv_obj.png) no-repeat 0 0;
  background-size: contain;
}

body.product.detail .main_contents #sec_mv .mv_wrap.bg_it-keiei h1 {
  position: relative;
  z-index: 2;
}

@media print, screen and (min-width: 1500px) {
  body.product.detail .main_contents #sec_mv .mv_wrap.bg_it-keiei:after {
    width: 570px;
  }
}

body.product.detail .main_contents #sec_mv .mv_wrap.bg_seiryu {
  background-image: url(../img/product/seiryu/mv_bg.jpg);
}

body.product.detail .main_contents #sec_mv .btn-wrap {
  margin-top: 30px;
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents #sec_mv .btn-wrap {
    display: inline-block;
    margin-top: 45px;
  }
}

body.product.detail .main_contents #under-pages ul .icon_pdf a {
  position: relative;
}

body.product.detail .main_contents #under-pages ul .icon_pdf a:after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  width: 30px;
  height: 30px;
  background: url(../img/common/icon_pdf_w.svg) no-repeat 5px 6px;
  color: #fff;
  transform: translateY(-50%) rotate(0);
  border: none;
}

body.product.detail .main_contents #under-pages ul .icon_pdf a:hover::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  width: 30px;
  height: 30px;
  background: url(../img/common/icon_pdf_g.svg) no-repeat 5px 6px;
  color: #fff;
  transform: translateY(-50%) rotate(0);
  border: none;
}

body.product.detail .main_contents #sec_intro {
  padding: 45px 0 35px;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro {
    padding: 75px 0 65px;
  }
}

body.product.detail .main_contents #sec_intro h4,
body.product.detail .main_contents #sec_intro h5 {
  text-align: left;
}

body.product.detail .main_contents #sec_intro h4 {
  margin-top: 30px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro h4 {
    margin-top: 60px;
  }
}

body.product.detail .main_contents #sec_intro h5 {
  margin-bottom: 10px;
  font-size: 1.7rem;
}

body.product.detail .main_contents #sec_intro figure + p {
  margin-top: 30px;
}

body.product.detail .main_contents #sec_intro .btn.reversal {
  margin: 0 auto 75px;
  min-height: 60px;
  background-color: #12347c;
  color: #fff;
  font-size: 1.7rem;
}

body.product.detail .main_contents #sec_intro .btn.reversal[target='_blank']:after {
  content: '';
  display: inline-block;
  position: absolute;
  right: 15px;
  top: 50%;
  width: 12px;
  height: 10px;
  background: url(../img/common/icon_external_w.svg) no-repeat center center/contain;
  transform: translateY(-50%);
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro .btn.reversal {
    min-width: 340px;
    margin: 0 auto 75px;
  }
  body.product.detail .main_contents #sec_intro .btn.reversal[target='_blank']:after {
    right: 18px;
    width: 15px;
    height: 14px;
  }
}

body.product.detail .main_contents #sec_intro .btn.reversal:hover {
  color: #12347c;
}

body.product.detail .main_contents #sec_intro .btn.reversal:hover[target='_blank']:after {
  background-image: url(../img/common/icon_external.svg);
}

body.product.detail .main_contents #sec_intro .video-wrap {
  margin: 40px auto 40px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro .video-wrap {
    margin: 40px auto 90px;
  }
}

body.product.detail .main_contents #sec_intro .catch {
  display: block;
  padding-bottom: 0;
  margin: 0 0 15px;
  color: #12347c;
  font-size: 2.5rem;
  line-height: 1.66;
}

body.product.detail .main_contents #sec_intro .catch::after {
  content: none;
}

body.product.detail .main_contents #sec_intro .catch + p {
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro .catch {
    font-size: 3rem;
  }
}

body.product.detail .main_contents #sec_intro .merit {
  margin-top: 20px;
  padding: 20px 20px 30px;
  border-radius: 16px;
  background: #fff;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro .merit {
    margin-top: 30px;
    padding: 40px 20px 50px;
  }
}

body.product.detail .main_contents #sec_intro .merit .merit_title {
  display: block;
  padding-bottom: 0;
  margin-bottom: 10px;
  font-size: 2.2rem;
  line-height: 1.3;
  color: #1c2232;
}

body.product.detail .main_contents #sec_intro .merit .merit_title::after {
  content: none;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro .merit .merit_title {
    font-size: 2.7rem;
    margin-bottom: 20px;
  }
}

body.product.detail .main_contents #sec_intro .merit .merit_title span {
  display: inline-block;
  margin-right: 0.5em;
  color: #005bac;
  font-size: 3.2rem;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro .merit .merit_title span {
    font-size: 3.7rem;
  }
}

body.product.detail .main_contents #sec_intro .merit .inner.narrow {
  padding: 0;
  max-width: 800px;
}

body.product.detail .main_contents #sec_intro .merit .merit_box {
  margin-top: 45px;
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents #sec_intro .merit .merit_box {
    margin-top: 60px;
  }
}

body.product.detail .main_contents #sec_intro .merit .merit_box .ttl {
  font-size: 1.7rem;
  font-weight: bold;
  color: #12347c;
  line-height: 1.4;
  padding: 15px;
  margin-bottom: 20px;
  border-bottom: 2px solid #12347c;
  background: #f4f7ff;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro .merit .merit_box .ttl {
    padding: 14px 15px;
    font-size: 2.3rem;
    margin-bottom: 25px;
  }
}

body.product.detail .main_contents #sec_intro .merit .merit_box .ttl_s {
  position: relative;
  margin: 30px 0 15px;
  padding-top: 4px;
  padding-bottom: 6px;
  padding-left: 20px;
  border-bottom: 1px solid #12347c;
  font-size: 1.7rem;
  background: none;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro .merit .merit_box .ttl_s {
    margin: 50px 0 15px;
    padding-top: 6px;
    padding-bottom: 9px;
  }
}

body.product.detail .main_contents #sec_intro .merit .merit_box .ttl_s:before {
  content: '';
  border-left: 6px solid #12347c;
  position: absolute;
  left: 0;
  top: 50%;
  height: 80%;
  transform: translateY(-50%);
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro .merit .merit_box .ttl_s:before {
    height: 70%;
  }
}

body.product.detail .main_contents #sec_intro .merit h6 {
  margin: 0 0 15px;
  font-size: 1.6rem;
}

body.product.detail .main_contents #sec_intro .merit p {
  line-height: 1.75;
}

body.product.detail .main_contents #sec_intro .merit ul {
  margin: 0 auto;
  max-width: 800px;
  font-weight: 700;
  line-height: 0;
  text-align: left;
}

body.product.detail .main_contents #sec_intro .merit ul li {
  position: relative;
  padding: 15px 15px 10px 25px;
  border-bottom: 1px solid #c8c8c8;
  line-height: 1.5;
  background: url(../img/common/icon_checked.svg) no-repeat 0 17px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro .merit ul li {
    padding: 15px 15px 15px 45px;
    background: url(../img/common/icon_checked.svg) no-repeat 12px 19px;
  }
}

body.product.detail .main_contents #sec_intro .merit ul.flex.col2 {
  align-items: baseline;
  margin: 40px auto 60px;
}

body.product.detail .main_contents #sec_intro .merit ul.flex.col2 li {
  flex-direction: column;
  align-items: center;
  padding: 0;
  border-bottom: 0;
  background: none;
}

body.product.detail .main_contents #sec_intro .merit ul.flex.col2 li:nth-child(n + 3) {
  margin-top: 40px;
}

body.product.detail .main_contents #sec_intro .merit ul.flex.col2 li figure {
  display: flex;
  align-items: center;
  justify-content: center;
}

body.product.detail .main_contents #sec_intro .merit ul.flex.col2 li figure img {
  display: block;
  margin: 0 auto;
}

body.product.detail .main_contents #sec_intro .merit ul.flex.col2 li span {
  display: block;
  margin-top: 20px;
  padding-left: 30px;
  background: url(../img/common/icon_checked.svg) no-repeat 0 3px;
  line-height: 1.4;
}

body.product.detail .main_contents #sec_intro .merit ul.ai_sim {
  align-items: stretch !important;
}

body.product.detail .main_contents #sec_intro .merit ul.ai_sim li {
  border: 1px solid #c8c8c8 !important;
  padding: 15px !important;
  margin-bottom: 15px;
}

body.product.detail .main_contents #sec_intro .merit ul.ai_sim li:nth-child(n + 3) {
  margin-top: 0 !important;
}

body.product.detail .main_contents #sec_intro .merit ul.ai_sim li figure {
  width: 100%;
  height: 190px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro .merit ul.ai_sim li {
    padding: 30px !important;
    margin-bottom: 40px;
  }
}

body.product.detail .main_contents #sec_intro .merit ul .ez_txt {
  font-weight: normal;
  margin-bottom: 15px;
  font-size: 1.2rem;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro .merit ul .ez_txt {
    font-size: 1.6rem;
  }
}

body.product.detail .main_contents #sec_intro .merit ul .ez_txt.flex.col2 {
  align-items: baseline;
  margin: 40px auto 60px;
}

body.product.detail .main_contents #sec_intro .merit ul .ez_txt.flex.col2 li {
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 0;
  border-bottom: 0;
  background: none;
}

body.product.detail .main_contents #sec_intro .merit ul .ez_txt.flex.col2 li:nth-child(n + 3) {
  margin-top: 40px;
}

body.product.detail .main_contents #sec_intro .merit ul .ez_txt.flex.col2 li figure {
  display: flex;
  flex-grow: 1;
  align-items: center;
  justify-content: center;
}

body.product.detail .main_contents #sec_intro .merit ul .ez_txt.flex.col2 li figure img {
  display: block;
  margin: 0 auto;
}

body.product.detail .main_contents #sec_intro .merit ul .ez_txt.flex.col2 li span {
  display: block;
  margin-top: 20px;
  padding-left: 30px;
  background: url(../img/common/icon_checked.svg) no-repeat 0 3px;
  line-height: 1.4;
}

body.product.detail .main_contents #sec_intro .merit p.highlight-wrap {
  margin-top: 25px;
  text-align: center;
}

body.product.detail .main_contents #sec_intro .merit p.highlight-wrap em {
  font-weight: 700;
  font-size: 1.8rem;
}

body.product.detail .main_contents #sec_intro .merit .before-after {
  padding-bottom: 10px;
  flex-direction: column;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro .merit .before-after {
    flex-direction: row;
  }
}

body.product.detail .main_contents #sec_intro .merit .before-after dl {
  flex-direction: column;
  align-items: stretch;
  text-align: left;
}

body.product.detail .main_contents #sec_intro .merit .before-after dl dt {
  margin: 0 0 10px;
  font-weight: 700;
  font-size: 2rem;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro .merit .before-after dl dt {
    font-size: 1.5rem;
    text-align-last: left;
  }
}

body.product.detail .main_contents #sec_intro .merit .before-after dl dd {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
}

body.product.detail .main_contents #sec_intro .merit .before-after dl dd figure {
  margin-top: 5px;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro .merit .before-after dl dd figure {
    margin-top: 30px;
  }
}

body.product.detail .main_contents #sec_intro .merit .before-after dl.before {
  margin-bottom: 50px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro .merit .before-after dl.before {
    margin-bottom: 0;
  }
}

body.product.detail .main_contents #sec_intro .merit .before-after dl.before dt {
  color: #e75a18;
}

body.product.detail .main_contents #sec_intro .merit .before-after dl.after dt {
  color: #85b61c;
}

body.product.detail .main_contents #sec_intro .merit .techs {
  margin: 20px 0 30px;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro .merit .techs {
    margin: 60px 0 70px;
  }
}

body.product.detail .main_contents #sec_intro .merit .techs em {
  display: block;
  color: #3c485b;
  font-weight: 700;
  font-size: 1.7rem;
  line-height: 1.6;
}

body.product.detail .main_contents #sec_intro .merit .techs .btn.reversal {
  margin: 20px auto 0;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro .merit .techs .btn.reversal {
    margin: 40px auto 0;
  }
}

body.product.detail .main_contents #sec_intro.techs_s_noa .box_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 800px;
  margin: 45px auto 0;
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents #sec_intro.techs_s_noa .box_wrap {
    margin-top: 70px;
  }
}

body.product.detail .main_contents #sec_intro.techs_s_noa .box_wrap .box_1 {
  margin-bottom: 30px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro.techs_s_noa .box_wrap .box_1 {
    width: 48%;
  }
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents #sec_intro.techs_s_noa .box_wrap .box_1 {
    width: 45%;
    margin-bottom: 60px;
  }
}

body.product.detail .main_contents #sec_intro.techs_s_noa .box_wrap .box_2 {
  width: 100%;
}

body.product.detail .main_contents #sec_intro.techs_s_noa .box_wrap .ttl {
  font-size: 1.7rem;
  font-weight: bold;
  color: #12347c;
  line-height: 1;
  padding-bottom: 0;
  margin-bottom: 10px;
  border-bottom: 0;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro.techs_s_noa .box_wrap .ttl {
    margin-bottom: 15px;
  }
}

body.product.detail .main_contents #sec_intro.techs_s_noa .box_wrap .ttl:after {
  content: '';
  display: inline-block;
  border-bottom: 1px solid #12347c;
  width: 100%;
}

body.product.detail .main_contents #sec_intro.techs_s_noa .box_wrap .txt {
  margin-bottom: 15px;
}

body.product.detail .main_contents #sec_intro.techs_s_noa .box_wrap img {
  width: 90%;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro.techs_s_noa .box_wrap img {
    width: 100%;
  }
}

body.product.detail .main_contents #sec_result {
  padding: 45px 0 35px;
  text-align: center;
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents #sec_result {
    padding: 75px 0 100px;
  }
}

body.product.detail .main_contents #sec_result .before,
body.product.detail .main_contents #sec_result .after {
  margin: 0 auto;
  max-width: 800px;
}

body.product.detail .main_contents #sec_result .before h3,
body.product.detail .main_contents #sec_result .before h4,
body.product.detail .main_contents #sec_result .after h3,
body.product.detail .main_contents #sec_result .after h4 {
  margin: 0 0 5px;
  padding: 0;
  border-bottom: 0;
  background: none transparent;
  color: #1c2232;
  font-size: 1.7rem;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_result .before h3,
  body.product.detail .main_contents #sec_result .before h4,
  body.product.detail .main_contents #sec_result .after h3,
  body.product.detail .main_contents #sec_result .after h4 {
    font-size: 2.3rem;
  }
}

body.product.detail .main_contents #sec_result .before h3 span,
body.product.detail .main_contents #sec_result .before h4 span {
  color: #f04751;
}

body.product.detail .main_contents #sec_result .after {
  margin-top: 60px;
}

body.product.detail .main_contents #sec_result .after h3 span,
body.product.detail .main_contents #sec_result .after h4 span {
  color: #12347c;
}

body.product.detail .main_contents #sec_result .result {
  margin-top: 80px;
  flex-wrap: wrap;
}

body.product.detail .main_contents #sec_result .result dl {
  flex-direction: column;
  align-items: center;
  padding: 15px;
  border-radius: 12px;
  background: #ffedf0;
  text-align: center;
}

body.product.detail .main_contents #sec_result .result dl dt {
  display: inline-flex;
  position: relative;
  padding: 20px 0 20px 30px;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.44;
  text-align: left;
  box-sizing: content-box;
}
/*
body.product.detail .main_contents #sec_result .result dl dt::before {
  content: '！';
  display: inline-block;
  position: absolute;
  left: 0;
  top: 24px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #f04751;
  color: #fff;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 18px;
  text-align: center;
}
*/

body.product.detail .main_contents #sec_result .result .hop dt::before,
body.product.detail .main_contents #sec_result .result .step dt::before,
body.product.detail .main_contents #sec_result .result .jump dt::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 24px!important;
  width: 20px;
  height: 20px;
  background: url(../img/common/up.svg);
  background-size: contain;
}

body.product.detail .main_contents #sec_result .result .step dt::before {
  left: -20px;
  width: 40px;
}

body.product.detail .main_contents #sec_result .result .jump dt::before {
  left: -40px;
  width: 60px;
}


body.product.detail .main_contents #sec_result .result dl dt span {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 50%;
  top: -40px;
  top: -75px;
  z-index: 1;
  margin-left: -40px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  color: #fff;
  font-weight: 400;
  font-size: 1.3rem;
  line-height: 1;
  white-space: nowrap;
  text-align: center;
}

body.product.detail .main_contents #sec_result .result dl dt span i {
  display: block;
  margin-top: 5px;
  font: 400 2.3rem/1 'Oswald', sans-serif;
}

body.product.detail .main_contents #sec_result .result dl dd {
  flex-grow: 1;
  width: 100%;
  font-size: 1.5rem;
  text-align: left;
}

body.product.detail .main_contents #sec_result .result dl dd figure {
  margin-bottom: 20px;
  text-align: center;
}

body.product.detail .main_contents #sec_result .result dl dd figure.a-eye-img img {
  max-height: 250px;
}

body.product.detail .main_contents #sec_result .result dl dd ul.list, body.product.detail .main_contents #sec_result .result dl dd article.narrow ul, body.product.detail .main_contents article.narrow #sec_result .result dl dd ul {
  padding: 15px;
  background: #fff;
  line-height: 0;
}

body.product.detail .main_contents #sec_result .result dl dd ul.list li, body.product.detail .main_contents #sec_result .result dl dd article.narrow ul li, body.product.detail .main_contents article.narrow #sec_result .result dl dd ul li {
  font-size: 1.5rem;
  line-height: 1.66;
}

body.product.detail .main_contents #sec_result .result dl dd ul.list li + li, body.product.detail .main_contents #sec_result .result dl dd article.narrow ul li + li, body.product.detail .main_contents article.narrow #sec_result .result dl dd ul li + li {
  margin-top: 20px;
}

body.product.detail .main_contents #sec_result .result dl dd em {
  display: inline;
  font-weight: 700;
  background: url(../img/common/yellow.svg) repeat-x left bottom;
}

body.product.detail .main_contents #sec_result .result dl.hop, body.product.detail .main_contents #sec_result .result dl.step, body.product.detail .main_contents #sec_result .result dl.jump {
  margin-top: 40px;
}

body.product.detail .main_contents #sec_result .result dl.hop dt, body.product.detail .main_contents #sec_result .result dl.step dt, body.product.detail .main_contents #sec_result .result dl.jump dt {
  margin-top: 20px;
}

body.product.detail .main_contents #sec_result .result dl.hop dt::before, body.product.detail .main_contents #sec_result .result dl.step dt::before, body.product.detail .main_contents #sec_result .result dl.jump dt::before {
  top: 24px;
}

body.product.detail .main_contents #sec_result .result dl.hop dt span {
  background-color: #9eaed0;
}

body.product.detail .main_contents #sec_result .result dl.step dt span {
  background-color: #5172b7;
}

body.product.detail .main_contents #sec_result .result dl.jump dt span {
  background-color: #12347c;
}

body.product.detail .main_contents #sec_result .result.col2 dl {
  width: 100%;
  margin-bottom: 15px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_result .result.col2 dl {
    width: 48.3%;
    max-width: 580px;
    margin-bottom: 0;
  }
}

body.product.detail .main_contents #sec_result .result.col3 dl {
  width: 100%;
  margin-bottom: 20px;
}

body.product.detail .main_contents #sec_result .result.col3 dl:last-child {
  margin-bottom: 0;
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents #sec_result .result.col3 dl {
    width: 32%;
    max-width: 385px;
    margin-bottom: 0;
  }
}

body.product.detail .main_contents #sec_result .result.col3 dl dt {
  min-height: 2.8em;
}

body.product.detail .main_contents #sec_result .result.col3 dl dt.min_h_none {
  min-height: 0;
}

body.product.detail .main_contents #sec_result .result + strong {
  display: block;
  color: #12347c;
  font-size: 2rem;
  text-align: center;
}

body.product.detail .main_contents #sec_result h2 + .result {
  margin-top: 0;
}

body.product.detail .main_contents #sec_result p + .result {
  margin-top: 40px;
}

body.product.detail .main_contents #sec_result .product_list {
  background: #ffedf0;
  border: 0;
  border-radius: 16px;
  padding: 35px 20px 40px;
  text-align: left;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_result .product_list {
    padding: 35px 120px 40px;
  }
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents #sec_result .product_list {
    padding: 30px 17.5% 40px;
  }
}

body.product.detail .main_contents #sec_result .product_list li {
  position: relative;
  padding: 15px 15px 15px 32px;
  border-bottom: 1px solid #c8c8c8;
  line-height: 1.5;
  font-weight: bold;
}

body.product.detail .main_contents #sec_result .product_list li::before {
  content: '！';
  display: inline-block;
  position: absolute;
  left: 0;
  top: 20px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #f04751;
  color: #fff;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 18px;
  text-align: center;
}

body.product.detail .main_contents #sec_result .realization {
  margin-top: 30px;
  color: #12347c;
}

body.product.detail .main_contents #sec_result .realization strong {
  display: block;
  font-size: 2rem;
}

body.product.detail .main_contents #sec_result .realization ul {
  margin: 30px auto 0;
  font-weight: 700;
  font-size: 1.7rem;
  line-height: 0;
}

body.product.detail .main_contents #sec_result .realization ul li {
  padding: 15px;
  width: 32%;
  border: 1px solid #12347c;
  line-height: 1.2;
}

body.product.detail .main_contents #sec_result .realization ul li img {
  display: block;
  margin: 0 auto 10px;
}

body.product.detail .main_contents #sec_case {
  padding: 45px 0 30px;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_case {
    padding: 70px 0 80px;
  }
}

body.product.detail .main_contents #sec_case p {
  margin: -20px auto 30px;
  text-align: center;
}

body.product.detail .main_contents #sec_case .archives.case li {
  border: 0;
}

body.product.detail .main_contents #sec_case .btn {
  margin-top: 20px;
  min-width: 41.6%;
  max-width: 500px;
  min-height: 60px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_case .btn {
    margin-top: 40px;
  }
}

body.product.detail .main_contents #sec_flow {
  padding: 80px 0 50px;
}

body.product.detail .main_contents #sec_flow ol {
  flex-direction: column;
}

body.product.detail .main_contents #sec_flow ol li {
  position: relative;
  align-items: stretch;
  padding: 20px 5px 20px 70px;
  width: 100%;
  min-height: 65px;
  background: #f2f2f2;
  font-size: 1.6rem;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_flow ol li {
    padding: 18px 5px 18px 220px;
  }
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents #sec_flow ol li {
    padding: 18px 0 18px 237px;
    font-size: 2.2rem;
  }
}

body.product.detail .main_contents #sec_flow ol li + li {
  margin-top: 33px;
}

body.product.detail .main_contents #sec_flow ol li + li::before {
  content: '';
  display: inline;
  position: absolute;
  left: 50%;
  top: -22px;
  width: 32px;
  height: 13px;
  background: url(../img/common/arrows_down.svg) no-repeat center center/contain;
  transform: translateX(-50%);
}

body.product.detail .main_contents #sec_flow ol li span {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  top: 0;
  width: 60px;
  height: 100%;
  background: #12347c;
  color: #fff;
  font: normal 400 2rem/1 'Oswald', sans-serif;
  text-align: center;
  font-size: 1.8rem;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_flow ol li span {
    flex-direction: row;
    width: 200px;
    font-size: 2rem;
  }
}

body.product.detail .main_contents #sec_flow ol li span i {
  display: inline-block;
  font-size: 2.2rem;
  margin-top: 5px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_flow ol li span i {
    font-size: 3.2rem;
    margin-left: 0.8ex;
    margin-top: 0;
  }
}

body.product.detail .main_contents #sec_flow ol li dl {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  line-height: 0;
}

body.product.detail .main_contents #sec_flow ol li dl dt {
  color: #12347c;
  font-weight: 700;
  font-size: 1.9rem;
  line-height: 1.5;
}

body.product.detail .main_contents #sec_flow ol li dl dd {
  margin-top: 5px;
  line-height: 1.5;
  font-size: 1.4rem;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_flow ol li dl dd {
    margin-top: 10px;
    font-size: 1.6rem;
  }
}

body.product.detail .main_contents #sec_support {
  padding: 25px 0;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_support {
    padding: 50px 0;
  }
}

body.product.detail .main_contents #sec_support p {
  text-align: center;
}

body.product.detail .main_contents #sec_support p strong {
  font-size: 1.7rem;
}

body.product.detail .main_contents #sec_support .support_list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -1.5%;
  margin-right: -1.5%;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_support .support_list {
    margin-left: -2%;
    margin-right: -2%;
  }
}

body.product.detail .main_contents #sec_support .support_list .support_list_item {
  width: 50%;
  text-align: center;
  padding: 0 1.5%;
  margin-top: 3%;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_support .support_list .support_list_item {
    width: 33.3333333%;
    padding: 0 2%;
    margin-top: 4%;
  }
}

body.product.detail .main_contents #sec_support .support_list .support_list_item .box_in {
  border: 2px solid #95b1cd;
  padding: 15px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_support .support_list .support_list_item .box_in {
    padding: 30px 20px;
  }
}

body.product.detail .main_contents #sec_support .support_list .support_list_item .title {
  margin-top: 10px;
  font-weight: bold;
  color: #12347c;
}

body.product.detail .main_contents #sec_support .support {
  margin-top: 45px;
  display: inline-block;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_support .support {
    display: flex;
  }
}

body.product.detail .main_contents #sec_support .support dl {
  margin: 0;
  border: 1px solid #12347c;
  line-height: 0;
  margin-bottom: 15px;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_support .support dl {
    width: 32%;
    max-width: 385px;
    margin-bottom: 0;
  }
}

@media print, screen and (min-width: 768px) and (min-width: 768px) {
  body.product.detail .main_contents #sec_support .support dl:nth-child(n + 4) {
    margin-top: 15px;
  }
}

@media print, screen and (min-width: 768px) and (min-width: 920px) {
  body.product.detail .main_contents #sec_support .support dl:nth-child(n + 4) {
    margin-top: 50px;
  }
}

body.product.detail .main_contents #sec_support .support dl dt {
  padding: 15px 0;
  background: #12347c;
  color: #fff;
  font-weight: 700;
  font-size: 1.7rem;
  line-height: 1.5;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_support .support dl dt {
    height: 85px;
  }
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents #sec_support .support dl dt {
    height: auto;
  }
}

body.product.detail .main_contents #sec_support .support dl dd {
  padding: 25px;
  line-height: 1.75;
  text-align: left;
}

body.product.detail .main_contents #sec_support .support dl dd img {
  display: block;
  margin: 0 auto 30px;
}

body.product.detail .main_contents #sec_support .support dl dd .hours {
  display: block;
  margin: 20px 0 0;
  padding-left: 5.3em;
  font-size: 1.3rem;
  text-indent: -5.3em;
}

body.product.detail .main_contents #sec_support .support dl.green {
  border-color: #2fa74f;
}

body.product.detail .main_contents #sec_support .support dl.green dt {
  background-color: #2fa74f;
}

body.product.detail .main_contents #sec_support h2 + .support {
  margin-top: 0;
}

body.product.detail .main_contents #sec_support small.green {
  display: block;
  position: relative;
  font-size: 1.3rem;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_support small.green {
    margin-top: 15px;
  }
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents #sec_support small.green {
    margin-top: 50px;
  }
}

body.product.detail .main_contents #sec_support small.green::before {
  content: '';
  display: inline-block;
  margin: 0 1rem 0.2rem 0;
  width: 1.23em;
  height: 1.23em;
  background-color: #2fa74f;
  vertical-align: middle;
}

body.product.detail .main_contents #sec_support .btn {
  margin-top: 20px;
  border: 0;
  background-color: #fd9134;
  color: #fff;
  font-size: 1.7rem;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_support .btn {
    min-width: 340px;
    margin-top: 40px;
    min-height: 60px;
  }
}

body.product.detail .main_contents #sec_support.techs-s-noa .support_list {
  margin-bottom: 45px;
}

body.product.detail .main_contents #sec_support.techs-s-noa .support_list .support_list_item {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_support.techs-s-noa .support_list .support_list_item {
    width: 50%;
  }
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents #sec_support.techs-s-noa .support_list .support_list_item {
    width: 33.33%;
  }
}

body.product.detail .main_contents #sec_support.techs-s-noa .support_list .box_in {
  border: 1px solid #12347c;
  padding: 0;
}

body.product.detail .main_contents #sec_support.techs-s-noa .support_list .box_in .title {
  background-color: #12347c;
  color: #fff;
  padding: 18px 0;
  margin-top: 0;
}

body.product.detail .main_contents #sec_support.techs-s-noa .support_list .box_in.green {
  border: 1px solid #2fa74f;
}

body.product.detail .main_contents #sec_support.techs-s-noa .support_list .box_in.green .title {
  background-color: #2fa74f;
}

body.product.detail .main_contents #sec_support.techs-s-noa .support_list .box_in .inner {
  padding: 30px;
}

body.product.detail .main_contents #sec_support.techs-s-noa .support_list .box_in p {
  text-align: left;
}

body.product.detail .main_contents #sec_support.techs-s-noa .support_list .box_in .txt_small {
  font-size: 1.3rem;
  text-align: center;
}

body.product.detail .main_contents #sec_support.techs-s-noa .support_list .box_in .icon {
  margin-bottom: 30px;
  width: 120px;
}

body.product.detail .main_contents #sec_support.techs-s-noa .notes {
  color: #2fa74f;
  margin-right: 10px;
}

body.product.detail .main_contents #sec_corporation {
  padding: 45px 0 15px;
}

body.product.detail .main_contents #sec_corporation .corporation {
  flex-direction: column;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_corporation .corporation {
    flex-direction: row;
  }
}

body.product.detail .main_contents #sec_corporation .corporation > dl {
  padding: 30px 30px 40px;
  border: 2px solid #12347c;
  color: #3c485b;
  line-height: 0;
  margin-bottom: 15px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_corporation .corporation > dl {
    width: 48.75%;
    margin-bottom: 0;
  }
}

body.product.detail .main_contents #sec_corporation .corporation > dl dt {
  font-weight: 700;
  font-size: 2.3rem;
  line-height: 1.5;
  text-align: center;
}

body.product.detail .main_contents #sec_corporation .corporation > dl dt img {
  display: block;
  margin: 25px auto 0;
}

body.product.detail .main_contents #sec_corporation .corporation > dl dd {
  margin-top: 30px;
  line-height: 1.75;
}

body.product.detail .main_contents #sec_corporation .corporation > dl dd .ta-r {
  margin-top: 20px;
}

body.product.detail .main_contents #sec_corporation .corporation > dl dd .bg_skyblue {
  margin: 30px 0 0;
  padding: 18px 15px 20px;
  text-align: center;
}

body.product.detail .main_contents #sec_corporation .corporation > dl dd .bg_skyblue img {
  display: block;
  margin: 0 auto 10px;
}

body.product.detail .main_contents #sec_corporation .corporation > dl dd a {
  color: #0058bf;
  text-decoration: underline;
}

body.product.detail .main_contents #sec_corporation .corporation > dl dd a[target='_blank'] {
  display: inline-block;
  position: relative;
  padding-right: 1.2em;
  background: url(../img/common/icon_external.svg) no-repeat right center/auto 0.8em;
}

body.product.detail .main_contents #sec_corporation .corporation > dl dd a:hover {
  text-decoration: none;
}

body.product.detail .main_contents #sec_more {
  padding: 25px 0 0;
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents #sec_more {
    padding: 50px 0 70px;
  }
}

body.product.detail .main_contents #sec_more .inner {
  color: #fff;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_more .inner {
    padding-top: 20px;
    padding-bottom: 50px;
  }
}

body.product.detail .main_contents #sec_more .inner .bg_wrap {
  margin-left: -20px;
  margin-right: -20px;
  padding: 40px 20px 40px;
  background: #12347c;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_more .inner .bg_wrap {
    margin-left: 0;
    margin-right: 0;
    padding: 50px 0 60px;
  }
}

body.product.detail .main_contents #sec_more .inner strong {
  display: block;
  margin-bottom: 5px;
  font-size: 2.6rem;
}

body.product.detail .main_contents #sec_more .inner p {
  font-size: 1.5rem;
  text-align: center;
}

body.product.detail .main_contents #sec_more .inner .btn-wrap {
  padding: 0;
  margin-top: 25px;
}

body.product.detail .main_contents #sec_system {
  text-align: center;
  margin-bottom: 60px;
}

body.product.detail .main_contents #sec_system p {
  text-align: center;
  font-size: 1.7rem;
  font-weight: bold;
  margin-bottom: 40px;
}

body.product.detail .main_contents .seiryu_intro {
  text-align: center;
  padding: 70px 0;
  background-color: #f4f7ff;
}

body.product.detail .main_contents .seiryu_ttl {
  text-align: center;
  font-size: 2.7rem;
  color: #1c2232;
  font-weight: bold;
  padding-bottom: 0;
  margin-bottom: 15px;
}

body.product.detail .main_contents .seiryu_ttl::after {
  content: none;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .seiryu_ttl {
    margin-bottom: 40px;
  }
}

body.product.detail .main_contents .seiryu_ttl span {
  font-size: 3.7rem;
  color: #005bac;
}

body.product.detail .main_contents .seiryu_intro_img01 {
  width: 757px;
  margin-bottom: 40px;
  margin-top: 5px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .seiryu_intro_img01 {
    margin-top: 25px;
  }
}

body.product.detail .main_contents .seiryu_desc {
  text-align: center;
  background-color: #fff;
  padding: 20px 20px 30px;
  border-radius: 15px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .seiryu_desc {
    padding: 30px 100px 50px;
  }
}

body.product.detail .main_contents .seiryu_desc_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

body.product.detail .main_contents .seiryu_desc_box li {
  margin-bottom: 50px;
}

body.product.detail .main_contents .seiryu_desc_box li:last-child {
  margin-bottom: 0;
}

body.product.detail .main_contents .seiryu_desc_box li img {
  width: 80%;
}

body.product.detail .main_contents .seiryu_desc_box li p {
  margin-top: 0;
}

body.product.detail .main_contents .seiryu_desc_box li .btn {
  margin: 20px auto 0;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .seiryu_desc_box li {
    display: inline-block;
    width: 31%;
    margin-bottom: 30px;
  }
  body.product.detail .main_contents .seiryu_desc_box li:nth-child(4) {
    margin-left: 15.5%;
  }
  body.product.detail .main_contents .seiryu_desc_box li:nth-child(5) {
    margin-right: 15.5%;
  }
  body.product.detail .main_contents .seiryu_desc_box li img {
    width: 100%;
  }
  body.product.detail .main_contents .seiryu_desc_box li .btn {
    margin: 40px auto 0;
  }
}

body.product.detail .main_contents .seiryu_desc_catch {
  display: flex;
  border-bottom: 1px solid #c8c8c8;
  position: relative;
  margin-bottom: 10px;
  padding: 15px 15px 10px 25px;
  line-height: 1.5;
  background: url(../img/common/icon_checked.svg) no-repeat 0 16px;
  text-align: left;
  font-size: 1.4rem;
  color: #1c2232;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .seiryu_desc_catch {
    padding: 15px 15px 15px 45px;
    background: url(../img/common/icon_checked.svg) no-repeat 12px 19px;
    font-size: 1.6rem;
  }
}

body.product.detail .main_contents #sec_system {
  text-align: center;
  margin-bottom: 110px;
}

body.product.detail .main_contents #sec_system p {
  text-align: center;
  font-size: 1.7rem;
  font-weight: bold;
  margin-bottom: 40px;
}

body.product.detail .main_contents #sec_system.system_double {
  margin-top: 20px;
  margin-bottom: 60px;
}

body.product.detail .main_contents .product_list {
  background: #ffedf0;
  border-radius: 15px;
  padding: 35px 20px 40px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .product_list {
    padding: 35px 120px 40px;
  }
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents .product_list {
    padding: 35px 210px 40px;
  }
}

body.product.detail .main_contents .seiryu_list,
body.product.detail .main_contents .ez_list {
  padding: 40px 0 70px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .seiryu_list,
  body.product.detail .main_contents .ez_list {
    padding: 75px 0 100px;
  }
}

body.product.detail .main_contents .seiryu_list li,
body.product.detail .main_contents .ez_list li {
  display: flex;
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 15px;
}

body.product.detail .main_contents .seiryu_list li:last-child,
body.product.detail .main_contents .ez_list li:last-child {
  margin-bottom: 0;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .seiryu_list li,
  body.product.detail .main_contents .ez_list li {
    font-size: 1.8rem;
    margin-bottom: 30px;
  }
}

body.product.detail .main_contents .seiryu_list li .icon,
body.product.detail .main_contents .ez_list li .icon {
  width: 18px;
  height: 18px;
  margin-right: 10px;
  transform: translateY(4px);
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .seiryu_list li .icon,
  body.product.detail .main_contents .ez_list li .icon {
    transform: translateY(6px);
  }
}

body.product.detail .main_contents #sec_intro .ez_flow {
  margin-top: 70px;
  background-color: #fff;
  padding: 30px 20px 50px;
  border-radius: 16px;
}

body.product.detail .main_contents #sec_intro .ez_merit .flex_wrap {
  margin-top: 30px;
  margin-bottom: 15px;
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents #sec_intro .ez_merit .flex_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 30px;
    margin-top: 0;
  }
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents #sec_intro .ez_merit .flex_wrap .img_box {
    width: 47%;
    margin-right: 3%;
  }
}

body.product.detail .main_contents #sec_intro .ez_merit .flex_wrap .img_box img {
  max-width: 100%;
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents #sec_intro .ez_merit .flex_wrap .text_box {
    width: 50%;
  }
}

body.product.detail .main_contents #sec_intro .ez_merit .flex_wrap .text_box .ez_txt {
  margin-top: 15px;
}

body.product.detail .main_contents #sec_intro .ez_summary {
  margin-top: 30px;
  text-align: center;
}

body.product.detail .main_contents #sec_intro .ez_summary span {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  display: inline;
  background: linear-gradient(transparent 70%, #fbff9f 0%);
}

body.product.detail .main_contents .it-keiei_intro .catch {
  margin-bottom: 35px;
}

body.product.detail .main_contents .it-keiei_intro strong span {
  font-size: 2.7rem;
}

body.product.detail .main_contents #sec_intro .it-keiei_intro_box_wrap {
  margin-top: 40px;
  margin-bottom: 30px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro .it-keiei_intro_box_wrap {
    margin-bottom: 60px;
  }
}

body.product.detail .main_contents #sec_intro .btn.reversal {
  margin-top: 10px;
}

body.product.detail .main_contents .it-keiei_intro_box {
  width: 100%;
  margin-bottom: 15px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .it-keiei_intro_box {
    width: 48%;
    margin-bottom: 0;
  }
}

body.product.detail .main_contents .it-keiei_intro_box p {
  font-size: 1.3rem;
}

body.product.detail .main_contents #sec_seminar {
  margin-top: 30px;
}

body.product.detail .main_contents #sec_seminar .btn {
  margin-top: 25px;
  margin-bottom: 20px;
  color: #fff;
  background-color: #12347c;
  margin: 0 auto;
}

body.product.detail .main_contents #sec_seminar .btn:before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: #fff;
  transform: scaleX(0);
  transform-origin: 100% 50%;
  transition: transform 0.3s ease;
}

body.product.detail .main_contents #sec_seminar .btn:hover {
  color: #12347c;
  background-color: #fff;
}

body.product.detail .main_contents #sec_seminar .btn:hover:before {
  transform: scaleX(1);
  transform-origin: 0% 50%;
}

body.product.detail .main_contents .seminar_box {
  display: flex;
  flex-direction: column;
  width: 100%;
  border: 2px solid #12347c;
  margin-bottom: 15px;
  padding: 30px 20px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .seminar_box {
    padding: 30px 0 0;
    width: 48%;
    height: 320px;
    margin-bottom: 0;
  }
}

body.product.detail .main_contents .seminar_box p {
  text-align: center;
  font-size: 2.3rem;
  font-weight: 700;
  color: #3c485b;
}

body.product.detail .main_contents .seminar_box img {
  width: 80px;
  margin: 25px auto 20px;
}

body.product.detail .main_contents .seminar_box .link_txt {
  margin-top: 15px;
  font-size: 1.4rem;
}

body.product.detail .main_contents #sec_industry_list {
  padding: 40px 0 35px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_industry_list {
    padding: 100px 0 50px;
  }
}

body.product.detail .main_contents #sec_industry_list ul {
  display: flex;
  flex-wrap: wrap;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_industry_list ul {
    margin-left: -0.5%;
    margin-right: -0.5%;
  }
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents #sec_industry_list ul {
    margin-left: -5px;
    margin-right: -5px;
  }
}

body.product.detail .main_contents #sec_industry_list li {
  position: relative;
  width: 100%;
  margin-bottom: 7px;
  padding: 10px 5px 10px 30px;
  background-color: #f4f7ff;
  font-weight: bold;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_industry_list li {
    width: 49%;
    margin-right: 0.5%;
    margin-left: 0.5%;
  }
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents #sec_industry_list li {
    width: calc(33.333333% - 10px);
    margin-right: 5px;
    margin-left: 5px;
    margin-bottom: 10px;
    padding: 10px 0 10px 30px;
  }
}

body.product.detail .main_contents #sec_industry_list li:before {
  content: '';
  position: absolute;
  background-color: #12347c;
  width: 10px;
  height: 2px;
  display: inline-block;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
}

body.product.detail .main_contents #sec_industry_list p {
  color: #707070;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_industry_list p {
    margin-top: 15px;
  }
}

body.column.index .main_contents {
  padding-bottom: 0;
}

body.column.index .main_contents .bg_skyblue {
  margin-top: 50px;
  padding-top: 100px;
  padding-bottom: 80px;
}

body.column.index .main_contents .bg_skyblue .categories {
  margin-top: -10px;
}

@media print, screen and (min-width: 768px) {
  body.column.index .main_contents .bg_skyblue {
    margin-top: 75px;
    padding-top: 170px;
    padding-bottom: 120px;
  }
  body.column.index .main_contents .bg_skyblue .categories {
    margin-top: -15px;
  }
}

body.column.detail .main_contents {
  padding-bottom: 0;
}

body.column.detail .main_contents h5 {
  margin: 30px 0 10px;
}

body.column.detail .main_contents .profile {
  margin: 50px 0 60px;
  padding: 25px 20px;
}

body.column.detail .main_contents .profile strong {
  margin-bottom: 5px;
  font-size: 1.5rem;
  line-height: 1.4;
}

body.column.detail .main_contents .profile em {
  display: block;
  margin-bottom: 20px;
  font-weight: 700;
  line-height: 1.4;
}

body.column.detail .main_contents .profile p {
  font-size: 1.2rem;
  line-height: 1.9;
}

@media print, screen and (min-width: 768px) {
  body.column.detail .main_contents h5 {
    margin: 35px 0 15px;
  }
  body.column.detail .main_contents .profile {
    margin: 70px 0 100px;
    padding: 45px 40px;
  }
  body.column.detail .main_contents .profile figure {
    margin-right: 5.75%;
    width: 22.5%;
  }
  body.column.detail .main_contents .profile strong {
    margin-bottom: 10px;
    font-size: 1.8rem;
  }
  body.column.detail .main_contents .profile em {
    margin-bottom: 30px;
  }
  body.column.detail .main_contents .profile p {
    font-size: 1.3rem;
  }
}

body.case.index .main_contents {
  padding-bottom: 0;
}

body.case.index .main_contents .intro {
  line-height: 2;
  text-align: center;
}

body.case.index .main_contents .filtering {
  position: relative;
  overflow: hidden;
  margin: 30px auto 0;
  border: 1px solid #9eaed0;
  border-radius: 4px;
  box-shadow: 0 3px 0 rgba(21, 54, 122, 0.3);
  z-index: 2;
}

body.case.index .main_contents .filtering > div.no-anchor a {
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 15px 20px 15px 10px;
  width: calc(100% / 3);
  border-left: 1px solid #9eaed0;
  border-bottom: 1px solid #9eaed0;
  background: #f4f7ff;
  color: #12347c;
  text-align: center;
}

body.case.index .main_contents .filtering > div.no-anchor a:first-child {
  border-left: 0;
}

body.case.index .main_contents .filtering > div.no-anchor a.selected {
  padding-bottom: 16px;
  border-bottom: 0;
  background: #fff;
}

body.case.index .main_contents .filtering > div.no-anchor a:after {
  content: '';
  display: inline-block;
  position: absolute;
  right: 12px;
  top: 50%;
  width: 6px;
  height: 11px;
  background: url(../img/common/arrow.svg) no-repeat center center/contain;
  transform: translateY(-50%) rotate(90deg);
}

body.case.index .main_contents .filtering fieldset {
  display: none;
  padding: 25px 20px;
  text-align: center;
  background: #fff;
}

body.case.index .main_contents .filtering fieldset.selected {
  display: block;
}

body.case.index .main_contents .filtering fieldset ul {
  margin: -15px 0 0;
  line-height: 0;
}

body.case.index .main_contents .filtering fieldset ul li {
  position: relative;
  margin-top: 15px;
  width: 49%;
  line-height: 1.5;
  text-align: left;
}

body.case.index .main_contents .filtering fieldset ul li:nth-child(even) {
  margin-left: 2%;
}

body.case.index .main_contents .filtering fieldset ul input[type='radio'],
body.case.index .main_contents .filtering fieldset ul input[type='checkbox'] {
  visibility: hidden;
  position: absolute;
  left: 0;
  top: 0;
}

body.case.index .main_contents .filtering fieldset ul input[type='radio']:checked + label:before,
body.case.index .main_contents .filtering fieldset ul input[type='checkbox']:checked + label:before {
  background: #12347c;
}

body.case.index .main_contents .filtering fieldset ul label {
  display: inline-block;
  padding-left: 20px;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.3;
  cursor: pointer;
}

body.case.index .main_contents .filtering fieldset ul label:before {
  content: '';
  display: inline-block;
  position: absolute;
  left: 0;
  top: 3px;
  z-index: 1;
  width: 14px;
  height: 14px;
  border: 1px solid #9eaed0;
}

body.case.index .main_contents .filtering fieldset ul input:checked + label:after {
  content: '';
  display: inline-block;
  position: absolute;
  left: 3px;
  top: 6px;
  z-index: 2;
  width: 9px;
  height: 5px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}

body.case.index .main_contents .filtering fieldset .btn {
  display: block;
  margin-top: 25px;
  min-width: 220px;
}

body.case.index .main_contents .filtering fieldset .btn:not(.btn_clear) {
  text-indent: 34px;
}

body.case.index .main_contents .filtering fieldset .btn:not(.btn_clear):after {
  content: '';
  display: inline-block;
  position: absolute;
  left: 28%;
  top: 50%;
  margin-top: -10px;
  width: 23px;
  height: 23px;
  background: url(../img/common/icon_slider.svg) no-repeat center center/contain;
}

body.case.index .main_contents .filtering fieldset .btn:not(.btn_clear):hover:after {
  background: url(../img/common/icon_slider_w.svg);
}

body.case.index .main_contents .bg_skyblue {
  margin-top: 60px;
  padding-top: 60px;
  padding-bottom: 80px;
}

body.case.index .main_contents .bg_skyblue.case_archive {
  margin-top: -150px;
  padding-top: 200px;
}

body.case.index .main_contents .case_archive .results {
  margin-top: -20px;
  margin-bottom: 30px;
}

body.case.index .main_contents .case_archive .results .title {
  color: #12347c;
  font-size: 1.6rem;
  font-weight: bold;
  padding-bottom: 5px;
  margin-bottom: 10px;
  border-bottom: 1px solid #12347c;
}

body.case.index .main_contents .case_archive .results .text {
  color: #12347c;
}

body.case.index .main_contents .case_archive .results .text > span {
  margin-top: 5px;
  display: block;
}

body.case.index .main_contents .case_archive .results .text > span:first-of-type {
  margin-top: 0;
}

@media print, screen and (min-width: 768px) {
  body.case.index .main_contents .filtering {
    margin-top: 60px;
    border-radius: 6px;
  }
  body.case.index .main_contents .filtering > div.no-anchor a {
    padding: 20px 35px;
    font-weight: 700;
    font-size: 1.8rem;
  }
  body.case.index .main_contents .filtering > div.no-anchor a.selected {
    padding-bottom: 21px;
  }
  body.case.index .main_contents .filtering > div.no-anchor a:after {
    right: 20px;
    width: 8px;
    height: 14px;
  }
  body.case.index .main_contents .filtering fieldset {
    padding: 50px 1% 40px;
  }
  body.case.index .main_contents .filtering fieldset ul {
    margin-top: -25px;
  }
  body.case.index .main_contents .filtering fieldset ul li,
  body.case.index .main_contents .filtering fieldset ul li:nth-child(even) {
    margin-top: 25px;
    width: 30%;
    margin-left: 3.3%;
  }
  body.case.index .main_contents .filtering fieldset ul.col4 {
    width: 25%;
  }
  body.case.index .main_contents .filtering fieldset ul label {
    padding-left: 30px;
    font-size: 1.6rem;
  }
  body.case.index .main_contents .filtering fieldset ul label:before {
    top: 3px;
    width: 18px;
    height: 18px;
  }
  body.case.index .main_contents .filtering fieldset ul input:checked + label:after {
    left: 4px;
    top: 7px;
    width: 10px;
    height: 6px;
  }
  body.case.index .main_contents .filtering fieldset .btn_wrap {
    margin-top: 45px;
    display: flex;
    justify-content: center;
  }
  body.case.index .main_contents .filtering fieldset .btn {
    margin-left: 15px;
    margin-right: 15px;
    min-width: 300px;
  }
  body.case.index .main_contents .filtering fieldset .btn:not(.btn_clear) {
    text-indent: 34px;
  }
  body.case.index .main_contents .filtering fieldset .btn:not(.btn_clear):after {
    left: 100px;
    margin-right: 10px;
  }
  body.case.index .main_contents .bg_skyblue {
    margin-top: 90px;
    padding-top: 90px;
    padding-bottom: 120px;
  }
  body.case.index .main_contents .bg_skyblue.case_archive {
    padding-top: 220px;
  }
  body.case.index .main_contents .case_archive .results {
    display: flex;
    margin-top: -30px;
    margin-bottom: 40px;
  }
  body.case.index .main_contents .case_archive .results .title {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    font-size: 1.8rem;
    padding-right: 40px;
    margin-bottom: 0;
    border-right: 1px solid #b0b9d5;
    border-bottom: 0px solid #12347c;
  }
  body.case.index .main_contents .case_archive .results .text {
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding-left: 40px;
    font-size: 1.6rem;
  }
  body.case.index .main_contents .case_archive .results .text > span {
    margin-top: 8px;
  }
  body.case.index .main_contents .case_archive .results .text > span:first-of-type {
    margin-top: 0;
  }
}

body.case.detail .main_contents {
  padding-bottom: 0;
}

body.case.detail .main_contents .inner.narrow {
  padding-bottom: 80px;
}

body.case.detail .main_contents .photo {
  margin-bottom: 15px;
}

body.case.detail .main_contents .photo figcaption {
  margin-top: 15px;
  line-height: 1.8;
}

body.case.detail .main_contents .photo_twin {
  display: flex;
  justify-content: center;
  margin-left: -5px;
  margin-right: -5px;
  margin-bottom: 15px;
}

body.case.detail .main_contents .photo_twin .item {
  width: 50%;
  padding: 0 5px;
}

body.case.detail .main_contents .photo_twin .item:last-of-type {
  margin-bottom: 0;
}

body.case.detail .main_contents .photo_twin .item img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}

body.case.detail .main_contents .profile {
  margin: 25px 0 35px;
  padding: 25px 20px;
}

body.case.detail .main_contents .profile > div {
  width: 100%;
}

body.case.detail .main_contents .profile strong {
  font-size: 1.6rem;
  line-height: 1.2;
}

body.case.detail .main_contents .profile table {
  margin-top: 10px;
}

body.case.detail .main_contents .profile table th {
  background: transparent;
  color: #707070;
  vertical-align: top;
  padding-right: 10px;
  width: 7.8em;
}

body.case.detail .main_contents .name {
  display: inline-block;
  color: #12347c;
  font-weight: 700;
}

body.case.detail .main_contents .name.color1 {
  color: #2fa74f;
}

body.case.detail .main_contents .name.color2 {
  color: #f87200;
}

body.case.detail .main_contents .name.color3 {
  color: #e5494f;
}

@media print, screen and (min-width: 768px) {
  body.case.detail .main_contents .inner.narrow {
    padding-bottom: 130px;
  }
  body.case.detail .main_contents .photo {
    margin-bottom: 25px;
  }
  body.case.detail .main_contents .photo figcaption {
    margin-top: 25px;
  }
  body.case.detail .main_contents .photo_twin {
    margin-bottom: 25px;
    display: flex;
    justify-content: center;
    margin-left: -10px;
    margin-right: -10px;
  }
  body.case.detail .main_contents .photo_twin .item {
    width: 50%;
    padding: 0 10px;
    margin-bottom: 0;
  }
  body.case.detail .main_contents .profile {
    margin: 35px 0 55px;
    padding: 35px 30px 30px;
  }
  body.case.detail .main_contents .profile figure {
    margin-right: 4%;
    width: 39%;
  }
  body.case.detail .main_contents .profile strong {
    font-size: 2rem;
  }
  body.case.detail .main_contents .profile table {
    margin-top: 15px;
  }
}

@media print, screen and (min-width: 920px) {
  body.case.detail .main_contents .inner.narrow img {
    transition: 0.3s;
  }
}

body.material.index .main_contents .intro {
  line-height: 2;
  text-align: center;
  margin-bottom: 70px;
}

body.material.detail .main_contents .material_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 70px;
}

body.material.detail .main_contents .material_wrap .material_col {
  width: 100%;
}

body.material.detail .main_contents .material_wrap .material_col figure {
  margin-bottom: 30px;
}

@media print, screen and (min-width: 920px) {
  body.material.detail .main_contents .material_wrap .material_col figure {
    margin-bottom: 48px;
  }
}

body.material.detail .main_contents .material_wrap .material_col .text {
  font-size: 1.3rem;
  line-height: 1.9;
  margin-bottom: 30px;
}

@media print, screen and (min-width: 920px) {
  body.material.detail .main_contents .material_wrap .material_col .text {
    font-size: 1.6rem;
  }
}

@media print, screen and (min-width: 920px) {
  body.material.detail .main_contents .material_wrap .material_col {
    width: 60%;
  }
}

body.material.detail .main_contents .material_wrap .material_form {
  width: 100%;
  min-height: 500px;
}

@media print, screen and (min-width: 920px) {
  body.material.detail .main_contents .material_wrap .material_form {
    width: 36%;
    min-height: 720px;
  }
}

body.material.detail .main_contents .note {
  line-height: 2;
  text-align: center;
}

body.material.detail .main_contents .note .mail_link {
  text-decoration: underline;
  text-decoration-color: #2059b8;
}

body.magazine.detail .main_contents .contents {
  padding-top: 20px;
}

body.magazine.detail .main_contents .mail_send_form {
  margin: 40px 0;
  text-align: center;
}

body.magazine.detail .main_contents .mail_send_form a {
  display: inline-block;
  text-decoration: underline;
  text-decoration-color: #2059b8;
  color: #2059b8;
  position: relative;
  padding-left: 38px;
}

body.magazine.detail .main_contents .mail_send_form a:after {
  content: '';
  display: inline-block;
  position: absolute;
  left: 0;
  top: 50%;
  width: 30px;
  height: 28px;
  margin-top: -3px;
  background: url(../img/common/icon_mail_s.svg) no-repeat 9px 7px;
  color: #2059b8;
  background-size: 20px auto;
  transform: translateY(-50%);
}

body.magazine.detail .main_contents .mail_send_form a:hover {
  text-decoration: none;
}

body.company.index .main_contents .company_item {
  margin: 0 auto 80px;
  text-align: center;
}

body.company.index .main_contents .company_item .company_title {
  text-align: center;
  display: inline-block;
  margin: 0 auto 50px;
}

body.company.index .main_contents .company_item .company_title img {
  margin-bottom: 30px;
}

@media print, screen and (min-width: 321px) {
  body.company.index .main_contents .company_item .company_title img {
    height: 50px;
  }
}

body.company.index .main_contents .company_item .company_title h3,
body.company.index .main_contents .company_item .company_title h2 {
  position: relative;
  font-size: 2.1rem;
  padding-bottom: 0;
  margin-bottom: 0 !important;
  text-align: left;
}

@media print, screen and (min-width: 920px) {
  body.company.index .main_contents .company_item .company_title h3,
  body.company.index .main_contents .company_item .company_title h2 {
    text-align: center;
    font-size: 2.9rem;
    padding-bottom: 0;
    margin-bottom: 10px !important;
  }
}

body.company.index .main_contents .company_item .company_title h3::after,
body.company.index .main_contents .company_item .company_title h2::after {
  content: '';
  display: inline-block;
  position: absolute;
  left: 0 !important;
  right: 0;
  margin: auto;
  bottom: -24px;
  width: 80px;
  height: 5px;
  background-color: #2059b8;
  transform: translateX(0) !important;
}

body.company.index .main_contents .company_item .company_box li {
  width: 100%;
  margin-bottom: 20px;
}

body.company.index .main_contents .company_item .company_box li a {
  display: block;
  border: 1px solid #3c485b;
  transition: transform 1s opacity 1s;
  padding: 25px 45px 25px 30px;
}

@media print, screen and (min-width: 920px) {
  body.company.index .main_contents .company_item .company_box li a {
    padding: 25px 60px 25px 40px;
  }
}

body.company.index .main_contents .company_item .company_box li a:hover {
  text-decoration: none;
  transform: translate3d(0, 1px, 0);
  opacity: 0.7;
}

body.company.index .main_contents .company_item .company_box li h3 {
  margin-bottom: 12px;
}

body.company.index .main_contents .company_item .company_box li .detail .note {
  text-align: left;
  line-height: 1.4;
}

body.company.index .main_contents .company_item .company_box li .detail .note .sp_br {
  display: block;
}

@media print, screen and (min-width: 920px) {
  body.company.index .main_contents .company_item .company_box li .detail .note .sp_br {
    display: none;
  }
}

body.company.index .main_contents .company_item .company_box li .detail .pdf {
  text-align: right;
  font-size: 1.3rem;
  color: #e5494f;
  position: relative;
  margin-top: 0;
}

@media print, screen and (min-width: 920px) {
  body.company.index .main_contents .company_item .company_box li .detail .pdf {
    margin-top: 10px;
  }
}

body.company.index .main_contents .company_item .company_box li .detail .pdf:after {
  content: '';
  display: inline-block;
  position: absolute;
  right: -28px;
  bottom: -10px;
  width: 30px;
  height: 40px;
  background: url(../img/common/icon_pdf.svg) no-repeat 9px 7px;
  color: #e5494f;
  background-size: 20px auto;
}

body.term.index .main_contents .anker .anker_list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 50px;
}

body.term.index .main_contents .anker .anker_list li {
  width: 20%;
  padding: 0 18px;
  border-left: 1px solid #707070;
  font-weight: bold;
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 10px;
}

body.term.index .main_contents .anker .anker_list li:last-of-type, body.term.index .main_contents .anker .anker_list li:nth-of-type(5), body.term.index .main_contents .anker .anker_list li:nth-of-type(10) {
  border-right: 1px solid #707070;
}

@media print, screen and (min-width: 1180px) {
  body.term.index .main_contents .anker .anker_list {
    justify-content: center;
    flex-wrap: nowrap;
  }
  body.term.index .main_contents .anker .anker_list li:nth-of-type(5),
  body.term.index .main_contents .anker .anker_list li:nth-of-type(10) {
    border-right: none;
  }
}

body.term.index .main_contents .term_list .term_box {
  margin-bottom: 80px;
}

body.term.index .main_contents .term_list .term_box ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

body.term.index .main_contents .term_list .term_box ul li {
  width: 100%;
  padding-left: 24px;
  margin-bottom: 10px;
}

@media print, screen and (min-width: 920px) {
  body.term.index .main_contents .term_list .term_box ul li {
    width: 32%;
  }
}

body.term.index .main_contents .term_list .term_box ul li a {
  text-decoration: underline;
  color: #2059b8;
  position: relative;
}

body.term.index .main_contents .term_list .term_box ul li a::before {
  content: '';
  display: inline-block;
  position: absolute;
  left: -20px;
  top: 8px;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 8px solid #2059b8;
}

body.term.detail .main_contents {
  padding-top: 90px;
}

body.term.detail .main_contents .term_box .term_title {
  width: 100%;
  border: 1px solid #c8c8c8;
  background-color: #f4f7ff;
  padding: 30px 45px;
}

body.term.detail .main_contents .term_box .term_title .ttl_main {
  font-size: 1.4rem;
  margin-bottom: 10px;
}

body.term.detail .main_contents .term_box .term_title .ttl_main .ttl {
  display: block;
  font-size: 2.8rem;
  color: #2059b8;
  font-weight: bold;
  padding-right: 20px;
}

body.term.detail .main_contents .term_box .term_title .ttl_en {
  font-weight: bold;
  margin-top: 0;
  font-size: 1.4rem;
}

body.term.detail .main_contents .term_box .term_text {
  padding: 40px;
  border: 1px solid #c8c8c8;
  border-top: none;
}

body.term.detail .main_contents .term_box .term_text p {
  margin-bottom: 60px;
}

body.term.detail .main_contents .term_box .term_text .colum_link {
  margin-bottom: 60px;
}

body.term.detail .main_contents .term_box .term_text .colum_link li a {
  color: #2059b8;
  text-decoration: underline;
  text-decoration-color: #2059b8;
}

@media print, screen and (min-width: 768px) {
  body.term.detail .main_contents .term_box .term_title .ttl_main .ttl {
    display: inline-block;
  }
  body.term.detail .main_contents .term_box .term_title p {
    font-size: 1.6rem;
  }
}

body.sitemap .main_contents .wrapper {
  display: block;
  margin-bottom: 40px;
}

@media print, screen and (min-width: 920px) {
  body.sitemap .main_contents .wrapper {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 80px;
  }
}

body.sitemap .main_contents .wrapper:last-of-type {
  margin-bottom: 0;
}

@media print, screen and (min-width: 920px) {
  body.sitemap .main_contents .wrapper:last-of-type {
    margin-bottom: 0;
  }
}

body.sitemap .main_contents .wrapper .site_box {
  width: 100%;
}

@media print, screen and (min-width: 920px) {
  body.sitemap .main_contents .wrapper .site_box {
    width: 46%;
  }
}

body.sitemap .main_contents .wrapper .site_colum {
  width: 100%;
}

@media print, screen and (min-width: 920px) {
  body.sitemap .main_contents .wrapper .site_colum {
    width: 48%;
  }
}

body.sitemap .main_contents .wrapper .site_box h4,
body.sitemap .main_contents .wrapper .site_box .title_h4,
body.sitemap .main_contents .wrapper .site_colum h4,
body.sitemap .main_contents .wrapper .site_colum .title_h4 {
  margin: 0 0 25px 0;
  padding: 0;
}

body.sitemap .main_contents .wrapper .site_box h4 a,
body.sitemap .main_contents .wrapper .site_box .title_h4 a,
body.sitemap .main_contents .wrapper .site_colum h4 a,
body.sitemap .main_contents .wrapper .site_colum .title_h4 a {
  display: block;
  padding: 15px;
}

body.sitemap .main_contents .wrapper .site_box h4 a[target='_blank']:after,
body.sitemap .main_contents .wrapper .site_box .title_h4 a[target='_blank']:after,
body.sitemap .main_contents .wrapper .site_colum h4 a[target='_blank']:after,
body.sitemap .main_contents .wrapper .site_colum .title_h4 a[target='_blank']:after {
  content: '';
  display: inline-block;
  top: 1px;
  margin-left: 6px;
  margin-right: 4px;
  width: 14px;
  height: 14px;
  background: url(../img/common/icon_external.svg) no-repeat 0 0;
  background-size: 14px;
  transform: translateY(26%);
}

@media print, screen and (min-width: 768px) {
  body.sitemap .main_contents .wrapper .site_box h4 a[target='_blank']:after,
  body.sitemap .main_contents .wrapper .site_box .title_h4 a[target='_blank']:after,
  body.sitemap .main_contents .wrapper .site_colum h4 a[target='_blank']:after,
  body.sitemap .main_contents .wrapper .site_colum .title_h4 a[target='_blank']:after {
    width: 16px;
    height: 16px;
    background-size: 16px;
    transform: translateY(14%);
  }
}

@media print, screen and (min-width: 768px) {
  body.sitemap .main_contents .wrapper .site_box h4 a,
  body.sitemap .main_contents .wrapper .site_box .title_h4 a,
  body.sitemap .main_contents .wrapper .site_colum h4 a,
  body.sitemap .main_contents .wrapper .site_colum .title_h4 a {
    padding: 14px 15px;
  }
  body.sitemap .main_contents .wrapper .site_box h4 a:hover,
  body.sitemap .main_contents .wrapper .site_box .title_h4 a:hover,
  body.sitemap .main_contents .wrapper .site_colum h4 a:hover,
  body.sitemap .main_contents .wrapper .site_colum .title_h4 a:hover {
    opacity: 0.7;
    color: #1c2232;
    text-decoration: none;
  }
}

body.sitemap .main_contents .wrapper .site_box h5,
body.sitemap .main_contents .wrapper .site_box .title_h5,
body.sitemap .main_contents .wrapper .site_colum h5,
body.sitemap .main_contents .wrapper .site_colum .title_h5 {
  padding: 4px 0 6px 15px;
}

body.sitemap .main_contents .wrapper .site_box h5 a,
body.sitemap .main_contents .wrapper .site_box .title_h5 a,
body.sitemap .main_contents .wrapper .site_colum h5 a,
body.sitemap .main_contents .wrapper .site_colum .title_h5 a {
  display: block;
}

@media print, screen and (min-width: 768px) {
  body.sitemap .main_contents .wrapper .site_box h5 a:hover,
  body.sitemap .main_contents .wrapper .site_box .title_h5 a:hover,
  body.sitemap .main_contents .wrapper .site_colum h5 a:hover,
  body.sitemap .main_contents .wrapper .site_colum .title_h5 a:hover {
    opacity: 0.7;
    color: #1c2232;
    text-decoration: none;
  }
}

.box_404 {
  padding: 20px 0;
}

.text_404 {
  margin-bottom: 20px;
  text-align: center !important;
}

@media print, screen and (min-width: 768px) {
  .btn_404 {
    display: flex;
    justify-content: center;
  }
}

@media print, screen and (min-width: 768px) {
  .btn_404 > div {
    margin: 0 10px;
  }
}

.paragraph {
  margin-bottom: 45px;
}

@media print, screen and (min-width: 768px) {
  .paragraph {
    margin-bottom: 70px;
  }
}

.paragraph h3,
.paragraph h4,
.paragraph h5,
.paragraph h6 {
  text-align: left;
}

.paragraph figure.m30 {
  margin: 30px 0;
}

.paragraph figure.mb30 {
  margin-bottom: 30px;
}

.paragraph figure.mb60 {
  margin-bottom: 60px;
}

.paragraph figure img.width60 {
  width: 100%;
}

@media print, screen and (min-width: 920px) {
  .paragraph figure img.width60 {
    width: 60%;
  }
}

.paragraph.mb60 {
  margin-bottom: 60px;
}

.paragraph.mb30 {
  margin-bottom: 30px;
}

.paragraph .bdr {
  border: 2px solid #005bac;
  padding: 30px 30px 0;
}

@media print, screen and (min-width: 768px) {
  .paragraph .bdr {
    padding: 60px 60px 0 0;
    border-radius: 20px;
  }
}

.paragraph tbody td {
  border-right: 1px solid #c6c6c6;
  border-left: 1px solid #c6c6c6;
}

.paragraph tbody th {
  border-left: 1px solid #c6c6c6;
  border-right: 1px solid #c6c6c6;
}

.paragraph.techs_solution {
  margin-bottom: 0;
  padding-bottom: 70px;
}

@media print, screen and (min-width: 768px) {
  .box {
    margin-bottom: 60px;
  }
}

.products_detail {
  padding: 60px 0 0;
}

.seiryu .seiryu_intro {
  text-align: center;
  padding: 70px 0;
  background-color: #f4f7ff;
}

.seiryu .seiryu_ttl {
  text-align: center;
  font-size: 2.7rem;
  color: #1c2232;
  font-weight: bold;
  margin-bottom: 40px;
}

.seiryu .seiryu_ttl span {
  font-size: 3.7rem;
  color: #005bac;
}

.seiryu .seiryu_intro_img01 {
  width: 757px;
  margin-bottom: 40px;
}

.seiryu .seiryu_intro_movie {
  width: 1000px;
  margin-bottom: 100px;
}

.seiryu .seiryu_desc {
  text-align: center;
  background-color: #fff;
  padding: 40px 100px 70px;
}

.seiryu #sec_system {
  text-align: center;
  margin-bottom: 110px;
}

.seiryu #sec_system p {
  text-align: center;
  font-size: 1.7rem;
  font-weight: bold;
  margin-bottom: 40px;
}

.parts_banner {
  display: block;
  text-align: center;
  margin-top: 10px;
}

@media print, screen and (min-width: 920px) {
  .parts_banner {
    text-align: left;
  }
}

.parts_banner img {
  width: 320px;
  max-width: 100%;
  border: 1px solid #ccc;
}

.table_center tbody tr th {
  text-align: center;
}

.text_indent_two {
  padding-left: 2em;
  text-indent: -2em;
}

body.event .main_contents .tags em:hover {
  background-color: #12347c;
}

body.event .main_contents .tags em:hover a {
  color: #fff;
}

body.event .main_contents .tags em a {
  text-decoration: none;
}

body.event.detail .main_contents .material_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 70px;
}

body.event.detail .main_contents .material_wrap .material_col {
  width: 100%;
}

body.event.detail .main_contents .material_wrap .material_col figure {
  margin-bottom: 30px;
}

@media print, screen and (min-width: 920px) {
  body.event.detail .main_contents .material_wrap .material_col figure {
    margin-bottom: 48px;
  }
}

body.event.detail .main_contents .material_wrap .material_col .text {
  font-size: 1.3rem;
  line-height: 1.9;
  margin-bottom: 30px;
}

@media print, screen and (min-width: 920px) {
  body.event.detail .main_contents .material_wrap .material_col .text {
    font-size: 1.6rem;
  }
}

@media print, screen and (min-width: 920px) {
  body.event.detail .main_contents .material_wrap .material_col {
    width: 60%;
  }
}

body.event.detail .main_contents .material_wrap .material_form {
  width: 100%;
  margin-top: 40px;
  min-height: 500px;
}

@media print, screen and (min-width: 920px) {
  body.event.detail .main_contents .material_wrap .material_form {
    width: 36%;
    margin-top: 0;
    min-height: 720px;
  }
}

@media print, screen and (min-width: 920px) {
  body.event.detail .main_contents .material_wrap.hubspot_none .material_col {
    width: 100%;
  }
}

body.event.detail .main_contents .note {
  line-height: 2;
  text-align: center;
}

body.event.detail .main_contents .note .mail_link {
  text-decoration: underline;
  text-decoration-color: #2059b8;
}

#sec_seminar .seminar_box .link_txt a {
  color: #0058bf;
}

#sec_seminar .seminar_box .link_txt a[target='_blank']:after {
  content: '';
  display: inline-block;
  position: relative;
  top: 1px;
  margin-left: 3px;
  margin-right: 4px;
  width: 15px;
  height: 14px;
  background: url(../img/common/icon_external.svg) no-repeat 0 0;
  background-size: 15px;
}

.award_wrap {
  margin-top: 50px;
}

.award_wrap p {
  text-align: center;
}

.award_wrap .btn {
  padding: 0 50px;
}

body.product.detail .main_contents .column_box {
  margin-top: 15px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents .column_box {
    margin-top: 0;
  }
}

body.product.detail .main_contents #sec_intro .inner .catch_two {
  margin-top: 50px;
  text-align: center;
}

body.product.detail .main_contents #sec_intro .inner .catch_two + p {
  text-align: center;
}

body.product.detail .main_contents #sec_intro .inner .catch_two .catch {
  display: block;
  position: relative;
  background: #12347c;
  color: #fff;
  padding: 15px 10px;
  text-align: center;
  font-size: 1.7rem;
}

body.product.detail .main_contents #sec_intro .inner .catch_two .catch:before {
  content: '';
  position: absolute;
  bottom: -20px;
  left: 50%;
  margin-left: -15px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 15px 0 15px;
  border-color: #12347c transparent transparent transparent;
}

body.product.detail .main_contents #sec_intro .inner .catch_two .catch .sub {
  display: block;
  font-size: 1.3rem;
  margin-top: 6px;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro .inner .catch_two .catch {
    font-size: 2.5rem;
    padding: 0 100px;
    padding: 20px;
  }
  body.product.detail .main_contents #sec_intro .inner .catch_two .catch .sub {
    font-size: 1.5rem;
  }
}

body.product.detail .main_contents #sec_intro .merit .inner .list_normal {
  margin-top: 10px;
}

body.product.detail .main_contents #sec_intro .merit .inner .list_normal li {
  background: none;
  border-bottom: none;
  text-align: left;
  position: relative;
  padding: 5px 0 5px 16px;
  font-size: 1.4rem;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro .merit .inner .list_normal li {
    font-size: 1.6rem;
    padding-left: 20px;
  }
}

body.product.detail .main_contents #sec_intro .merit .inner .list_normal li:before {
  content: '';
  display: inline-block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #12347c;
}

@media print, screen and (min-width: 768px) {
  body.product.detail .main_contents #sec_intro .merit .inner .list_normal li:before {
    width: 10px;
    height: 10px;
  }
}

body.product.detail .main_contents .bottom_box {
  margin-top: 30px;
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents .bottom_box {
    margin-top: 60px;
  }
}

body.product.detail .main_contents .bottom_box figure {
  margin-bottom: 20px;
}

body.product.detail .main_contents .bottom_box_sp {
  margin-top: 20px;
}

body.product.detail .main_contents .bottom_box_sp figure {
  margin-bottom: 20px;
}

@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents .bottom_box_sp figure {
    margin-bottom: 0;
  }
}

.techs-bk_ipad_img {
  width: 60%;
}

@media print, screen and (min-width: 920px) {
  .techs-bk_ipad_img {
    width: 35%;
  }
}

.scroll-hint-icon {
  top: calc(50% - 40px);
}

.scroll-hint-icon:before {
  width: 30px;
  height: 30px;
}

/******            20230210   追記       *******/

.main_contents .clumn_wrap article.narrow_column h2:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6) {
  margin: 35px 0 20px;
  padding: 15px;
  border-bottom: 2px solid #12347c;
  background: #f4f7ff;
  font-size: 1.7rem;
  text-align: left;
}

.main_contents article.narrow_column h2:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6):after {
  content: none;
}

.main_contents article.narrow_column h3:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6) {
  position: relative;
  margin: 25px 0 15px;
  padding-top: 4px;
  padding-bottom: 6px;
  padding-left: 20px;
  border-bottom: 1px solid #12347c;
  font-size: 1.7rem;
}

.main_contents article.narrow_column h3:not(.title_h2):not(.title_h3):not(.title_h4):not(.title_h5):not(.title_h6):before {
  content: '';
  border-left: 6px solid #12347c;
  position: absolute;
  left: 0;
  top: 50%;
  height: 80%;
  transform: translateY(-50%);
}

.main_contents .intro_ {
	line-height: 2;
    text-align: center;
    margin-bottom: 70px;
}
/******-------------------------------*******/

/******        20230705 AIカメラ改修       *******/

@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
	body.product.detail img {
		image-rendering: -webkit-optimize-contrast;
    -webkit-backface-visibility: hidden;
	}
}

body.product.detail .main_contents #sec_mv .mv_wrap.bg_a-eye-camera{
  background: #fff;
}

.sp_ta_l{
  text-align: left !important;
}
@media print, screen and (min-width: 920px) {
  .sp_ta_l{
    text-align: center !important;
  }
}

#sec_intro2{
  padding: 45px 0 35px;
}
#sec_intro2 .sec_intro_title{
  color: #1C2232;
  padding-bottom: 0;
  margin-bottom: 20px;
}
#sec_intro2 .sec_intro_title:after{
  content: none;
}
#sec_intro2 .sec_intro_title span{
  color: #12347c;
}
#sec_intro2 .nayami_box{
  position: relative;
  background: #F7F7F7;
  border-radius: 20px;
  padding: 20px 20px 230px 20px;
}
#sec_intro2 .nayami_box .img{
  position: absolute;
  left: 50%;
  bottom: -25px;
  transform: translateX(-50%);
  width: 200px;
}
#sec_intro2 .nayami_box .nayami_list ul li{
  position: relative;
  padding: 10px 0 15px 35px;
  border: 0;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: bold;
  border-bottom: 1px solid #c8c8c8;
}
#sec_intro2 .nayami_box .nayami_list ul li:before{
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 100%;
  background: url(../img/common/icon_checked.svg) no-repeat center center/contain;
  margin-top: 1px;
}
#sec_intro2 .nayami_box .nayami_list ul li strong{
  font-size: 2.1rem;
  color: #12347c;
}
#sec_intro2 .intro_resolution{
  text-align: center;
  margin-top: 35px;
}
#sec_intro2 .intro_resolution strong{
  display: block;
  font-size: 3rem;
  color: #005BAC;
}
#sec_intro2 .intro_resolution strong span{
  background: url(../img/common/yellow.svg) repeat-x left bottom;
}
#sec_intro2 .intro_resolution img{
  display: inline-block;
  margin-top: 30px;
}
@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents #sec_mv .mv_wrap.bg_a-eye-camera .mv_in{
    width: 1560px;
  }
  #sec_intro2{
    padding: 75px 0 50px;
  }
  #sec_intro2 .sec_intro_title{
    margin-bottom: 50px;
  }
  #sec_intro2 .nayami_box{
    padding: 35px 347px 50px 50px;
  }
  #sec_intro2 .nayami_box .img{
    width: 294px;
    left: auto;
    right: 30px;
    bottom: -36px;
    transform: translateX(0);
  }
  #sec_intro2 .nayami_box .nayami_list ul li{
    font-size: 2rem;
    padding-left: 40px;
  }
  #sec_intro2 .nayami_box .nayami_list ul li strong{
    font-size: 2.5rem;
  }
  #sec_intro2 .nayami_box .nayami_list ul li:before{
    width: 28px;
    margin-top: -2px;
  }
  #sec_intro2 .intro_resolution{
    margin-top: 50px;
  }
  #sec_intro2 .intro_resolution strong{
    font-size: 5rem;
  }
  #sec_intro2 .intro_resolution img{
    margin-top: 55px;
  }
}
@media print, screen and (min-width: 1215px) {
  #sec_intro2 .nayami_box{
    padding-left: 100px;
    padding-right: 397px;
  }
  #sec_intro2 .nayami_box .img{
    right: 80px;
  }
}

#sec_intro .movie_title{
  text-align: center;
  margin-top: 30px;
}
#sec_intro .movie_title .in{
  position: relative;
  display: inline-block;
  font-size: 2rem;
  font-weight: bold;
  color: #12347c;
  border-bottom: 2px solid #12347c;
  padding-bottom: 10px;
}
#sec_intro .movie_title .in:before{
  content: "";
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 14px 0 14px;
  border-color: #12347c transparent transparent transparent;
}
#sec_intro .movie_title .in:after{
  content: "";
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 14px 0 14px;
  border-color: #EAF0F9 transparent transparent transparent;
}
#sec_intro .movie_title .in span{
  font-size: 2.5rem;
}
#sec_intro .movie_title .in .diagonal{
  display: inline-block;
  transform: rotate(20deg);
}
@media print, screen and (min-width: 768px){
  body.product.detail .main_contents #sec_intro .video-wrap{
    margin: 40px auto 50px;
  }
}
@media print, screen and (min-width: 920px) {
  #sec_intro .movie_title{
    margin-top: 55px;
    margin-bottom: 40px;
  }
  #sec_intro .movie_title .in{
    font-size: 2.8rem;
  }
  #sec_intro .movie_title .in span{
    font-size: 3.7rem;
  }
}

.conversion_area{
  background: #12347c;
  text-align: center;
  padding: 40px 0 30px;
  color: #fff;
}
.conversion_area strong{
  display: block;
  font-size: 2rem;
  margin-bottom: 8px;
}
.conversion_area p{
  text-align: center;
}
.conversion_area .btn-wrap{
  margin-top: 30px;
}
@media print, screen and (min-width: 920px) {
  .conversion_area{
    padding: 45px 0 45px;
  }
  .conversion_area strong{
    font-size: 2.6rem;
  }
}

#sec_feature{
  padding: 45px 0 55px;
}
#sec_feature .feature_title{
  display: block;
  padding-bottom: 0;
  margin-bottom: 30px;
  font-size: 2.2rem;
  line-height: 1.3;
  color: #1c2232;
}
#sec_feature .feature_title span{
  display: inline-block;
  margin-right: 0.2em;
  color: #005bac;
  font-size: 3.2rem;
}
#sec_feature .feature_title:after{
  content: none;
}
#sec_feature .merit_box{
  background: #fff;
  border-radius: 20px;
  padding: 30px 20px;
}
#sec_feature .merit_box + .merit_box{
  margin-top: 30px;
}
#sec_feature .merit_box_title{
  display: flex;
  align-items: center;
  border: 0;
  padding-bottom: 0;
}
#sec_feature .merit_box_title i{
  flex-shrink: 0;
  width: 34px;
  margin-right: 10px;
}
#sec_feature .merit_box_text_notes{
  font-size: 1.3rem;
}
#sec_feature .merit_box_flex{
  margin-top: 20px;
}
#sec_feature .merit_box_flex_item{
  margin-top: 20px;
  background: #F7F7F7;
  padding: 15px;
}
#sec_feature .merit_box_flex_item .title{
  position: relative;
  margin: 30px 0 10px;
  padding-top: 4px;
  padding-bottom: 8px;
  border-bottom: 1px solid #12347c;
  font-size: 1.7rem;
  font-weight: bold;
  color: #12347c;
  background: none;
}
#sec_feature .merit_box_flex_item .title{
  margin-top: 15px;
}
#sec_feature .merit_box_flex.colm1_wide_max .merit_box_flex_item{
  background: none;
  text-align: center;
  padding: 0;
  margin-top: 20px;
}
@media print, screen and (min-width: 920px) {
  #sec_feature{
    padding: 95px 0 95px;
  }
  #sec_feature .feature_title{
    margin-bottom: 45px;
  }
  #sec_feature .feature_title span{
    font-size: 3.7rem;
  }
  #sec_feature .merit_box{
    padding: 63px;
  }
  #sec_feature .merit_box + .merit_box{
    margin-top: 54px;
  }
  #sec_feature .merit_box_title i{
    width: 60px;
    margin-right: 20px;
  }
  #sec_feature .merit_box_text_notes{
    font-size: 1.4rem;
  }
  #sec_feature .merit_box_flex{
    margin-top: 35px;
  }
  #sec_feature .colm1 .merit_box_flex_item{
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    gap: 36px;
  }
  #sec_feature .colm1 .merit_box_flex_item figure{
    width: calc(50% - 18px);
  }
  #sec_feature .colm1 .merit_box_flex_item .text_box{
    width: calc(50% - 18px);
  }
  #sec_feature .colm1 .merit_box_flex_item .text_box .title{
    margin-top: 0;
  }
  #sec_feature .merit_box_flex_item .title{
    font-size: 2rem;
  }
  #sec_feature .merit_box_flex_item .text{
    margin-top: 10px;
    line-height: 1.8;
  }
  #sec_feature .merit_box_flex_item .list{
    margin-top: 10px;
  }
  #sec_feature .merit_box_flex.colm1_wide_max .merit_box_flex_item{
    margin-top: 35px;
  }
  #sec_feature .merit_box_flex.colm2,
  #sec_feature .merit_box_flex.colm3{
    display: flex;
    flex-wrap: wrap;
    gap: 36px;
  }
  #sec_feature .merit_box_flex.colm3{
    gap: 26px;
  }
  #sec_feature .merit_box_flex_item{
    margin-top: 0;
    padding: 30px;
  }
  #sec_feature .colm2 .merit_box_flex_item{
    width: calc(50% - 18px);
  }
  #sec_feature .colm3 .merit_box_flex_item{
    padding: 20px;
    width: calc(33.333333% - 18px);
  }
}


#sec_result .result_box{
  margin-top: 60px;
}
#sec_result .result_box_item{
  position: relative;
  margin-top: 50px;
  padding: 40px 20px 20px 20px;
  border-radius: 20px;
  background: #fff;
}
#sec_result .result_box_title{
  position: relative;
  left: 0;
  width: 100%;
  color: #fff;
  padding: 15px;
  margin-top: -65px;
  margin-bottom: 10px;
  background: #12347c;
  font-weight: bold;
  font-size: 1.6rem;
  z-index: 1;
}
#sec_result .result_box_title:before{
  position: absolute;
  content: "";
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 15px 0 15px;
  border-color: #12347c transparent transparent transparent;
}
#sec_result .result_box_item .list{
  margin-top: 20px;
}
#sec_result .result_box_item .list li{
  position: relative;
  text-align: left;
  font-size: 1.5rem;
  padding-left: 25px;
}
#sec_result .result_box_item .list li:before{
  content: '！';
  display: inline-block;
  position: absolute;
  left: 0;
  top: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #f04751;
  color: #fff;
  font-weight: 700;
  font-size: 1.3rem;
  line-height: 18px;
  text-align: center;
}
#sec_result .result_box_item .list li span{
  display: inline;
  font-weight: 700;
  background: url(../img/common/yellow.svg) repeat-x left bottom;
}

@media print, screen and (min-width: 920px) {
  #sec_result .result_box{
    display: flex;
    gap: 36px;
  }
  #sec_result .result_box_item{
    width: calc(50% - 18px);
    padding: 50px 40px 40px 40px;
  }
  #sec_result .result_box_title{
    font-size: 2rem;
    left: -10px;
    margin-top: -80px;
    margin-bottom: 15px;
    width: calc(100% + 20px);
  }
  #sec_result .result_box_item .list li{
    font-size: 1.8rem;
    padding-left: 28px;
  }
  #sec_result .result_box_item .list li:before{
    top: 5px;
    font-size: 1.4rem;
  }
}

body.product.detail .main_contents #sec_flow{
  padding: 80px 0 60px;
}
@media print, screen and (min-width: 920px) {
  body.product.detail .main_contents #sec_flow{
    padding: 80px 0 95px;
  }
}


/*
 * 　　　　イベント読み込み
 * */
.nearest_event_block {
	display: flex;
	font-size: 1.2em;
	align-items: center;
	flex-wrap: nowrap;
    background: #FFF;
	border-bottom: 1px solid #CCC;
}
.nearest_event_block .nearest_event {
	width: 30%;
	background: #E5494F;
	font-weight: bold;
	color: #FFF;
	padding: 40px 50px;
	text-align: right;
}
.nearest_event_block .nearest_event span {
	position: relative;
}
.nearest_event_block .nearest_event span:before {
	display: block;
	position: absolute;
	top: 0;
	left: -50px;
	content: "";
	background: url(https://www.techs-s.com/wp/wp-content/themes/technoa/img/top/seminar.svg);
	background-repeat: no-repeat;
	background-position: center;
	width: 40px;
	height: 40px;
}
.nearest_event_title {
   display: flex;
   padding-left: 50px;
   align-items: center;
}
.nearest_event_title span {
   font-size: 0.8em;
}
@media print, screen and (max-width: 768px) {
	.nearest_event_block {
		flex-wrap: wrap;
	}
	.nearest_event_block .nearest_event, .nearest_event_title {
		width: 100%;
	}
	.nearest_event_block .nearest_event {
		text-align: center;
	}
	.nearest_event_title {
		justify-content: center;
		padding: 30px 0;
	}
}

.wp-caption {
	width: 100%!important;
	text-align: center;
}
.wp-caption-text {
	text-align: center!important;
	padding: 10px;
}





