@charset "UTF-8";
html {
  scroll-behavior: smooth;
}
[id] {
  scroll-margin-top: calc(69px + 1em);
}
@media screen and (max-width:768px) {
  [id] {
    scroll-margin-top: calc(55px + 1em);
  }
}
.mainvisual {
  background: no-repeat url("../img/under/main_bg.png") center/cover;
  margin: 6.9rem 0 0;
  padding: 1.4rem 0 3.4rem;
  min-height: 30.0rem;
}
.mainvisual .section-wrap .breadcrumb {
  font-size: 1.2rem;
}
.mainvisual .section-wrap .breadcrumb ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1.0rem;
}
.mainvisual .section-wrap .breadcrumb ul li {
  display: flex;
  align-items: center;
}
.mainvisual .section-wrap .breadcrumb ul li:not(:last-child):after {
  content: ">";
  margin-left: 1.0rem;
  font-family: sans-serif;
}
.mainvisual .section-wrap .breadcrumb ul li a {
  color: #2F85C5;
}
.mainvisual .section-wrap .breadcrumb ul li a:hover {
  text-decoration: underline;
}
.mainvisual .section-wrap .page-header {
  padding: 3.1rem 0;
}
.mainvisual .section-wrap .page-header .sub-ttl {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: .03em;
  margin: 0 0 .9rem;
}
.mainvisual .section-wrap .page-header .sub-ttl:before {
  content: "●";
  font-size: .8rem;
  color: #2F85C5;
}
.mainvisual .section-wrap .page-header h1 {
  font-size: 3.8rem;
  font-weight: 600;
  letter-spacing: .03em;
  line-height: 1.5;
}
.mainvisual .section-wrap .page-header .txt {
  font-weight: 500;
  letter-spacing: .03em;
  margin: 1.0rem 0 0;
}
.mainvisual .section-wrap .page-header .notes {
  font-size: 1.4rem;
  letter-spacing: .03em;
  margin: 1.0rem 0 0;
}
.mainvisual .c-btn {
  display: flex;
  justify-content: flex-end;
}

.mainvisual .mvbtn {
  display: flex;
  gap:1.0rem 2.0rem;
}
.mainvisual .mvbtn a {
  width: 29.0rem;
}
@media screen and (max-width:768px) {
  .mainvisual .mvbtn {
    flex-direction:column;
    padding:2.0rem 0 0;
}
  .mainvisual .mvbtn .m-btn {
    justify-content: flex-start;
}
}

.section-wrap.sidenav {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 117rem;
  padding: 0 1.5rem 0 4.5rem;
  margin: 0 auto;
}
.page-container {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  padding: 8.0rem 0;
}
.main-content {
  width: 100%;
}
.main-content .introduction {
  margin: 0 0 8.0rem;
}
@media screen and (max-width: 768px) {
  .pageSlug-support_detail .main-content .introduction {
    margin: 0 0 4.0rem;
  }
}
.main-content .introduction p {
  font-size: 1.8rem;
  letter-spacing: .05em;
}
.main-content .introduction p:not(:last-child) {
  margin: 0 0 3.0rem;
}
.main-content .introduction.v2 {
  margin: 0 0 4.0rem;
}
.main-content .sec-ttl {
  margin: 0 0 4.0rem;
}
.main-content .sec-ttl h1 {
  display: flex;
  align-items: flex-start;
  gap: 2.4rem;
  font-size: 3.2rem;
  font-family: "I-OTF-UDゴ表示Pro B";
  font-weight: bold;
  letter-spacing: .03em;
  line-height: 1.5;
  display: flex;
  align-items: flex-start;
  gap: 2.4rem;
  font-size: 3.2rem;
  font-weight: 500;
  letter-spacing: .03em;
  line-height: 1.5;
}
.main-content .sec-ttl h1:before {
  content: "";
  width: .6rem;
  height: 3.4rem;
  background: #2F85C5;
  margin: .7rem 0 0;
  content: "";
  width: .6rem;
  height: 3.4rem;
  background: #2F85C5;
  margin: .7rem 0 0;
}
.main-content .sec-ttl h2 {
  display: flex;
  align-items: flex-start;
  gap: 2.4rem;
  font-size: 3.2rem;
  font-weight: 500;
  letter-spacing: .03em;
  line-height: 1.5;
}
.main-content .sec-ttl:not(:first-child) h2 {
  margin-top: 6.0rem;
}
.main-content .sec-ttl h2:before {
  content: "";
  width: .6rem;
  height: 3.4rem;
  background: #2F85C5;
  margin: .7rem 0 0;
}
.main-content .sec-ttl-sub {
  margin: 0 0 3.0rem;
}
@media screen and (max-width: 768px) {
  .main-content .quality-section .sec-ttl-sub {
    margin: 0 0 2.0rem;
  }
}
.main-content .seminar-section .sec-ttl-sub {
  margin: 3.0rem 0;
}
.main-content .sec-ttl-sub h3 {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem 1.6rem;
  font-size: 2.4rem;
  font-weight: 500;
  margin-bottom: 2.0rem;
}
.main-content .support-content-body .sec-ttl-sub h3 {
  flex-wrap: nowrap;
}
.main-content .sec-ttl-sub h3:before {
  content: "●";
  font-size: 1.0rem;
  color: #2F85C5;
  margin: 1.3rem 0 0;
}
/* セミナー・展示会詳細：h3の中身(テキスト+br)がflex項目化して●だけ浮くのを防ぐ（ぶら下げインデント） */
.main-content .seminar-section .sec-ttl-sub h3 {
  display: block;
  position: relative;
  padding-left: 2.6rem;
}
.main-content .seminar-section .sec-ttl-sub h3:before {
  position: absolute;
  left: 0;
  top: 1.3rem;
  margin: 0;
}
.main-content .president-img {
  margin-bottom: 4.0rem;
}
@media screen and (max-width:768px) {
  .main-content figure.president-img:not(:last-child) {
    margin-bottom: 4.0rem;
  }
}
.main-content .message-body .lead-txt {
  font-size: 2.8rem;
  font-weight: 500;
  letter-spacing: .03em;
  margin-bottom: 3.0rem;
}
@media screen and (max-width: 768px) {
  .main-content .message-body .lead-txt {
    font-size: 18px;
  }
}
.main-content .message-body .txt {
  margin-bottom: 3.0rem;
}
.main-content .message-body .signature {
  text-align: right;
}
.main-content .message-body .signature p {
  font-size: 1.9rem;
  font-weight: 500;
  line-height: 1.7;
}
.main-content .message-body .signature p span {
  font-size: 1.7rem;
}
.sidenav .main-content {
  width: 69.9%;
}
.side-nav {
  width: 21.62%;
}
.side-nav .side-ttl {
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: .03em;
  margin-bottom: 2.5rem;
  padding: 0 0 0 1.6rem;
  line-height: 1.5;
}
.side-nav .side-ttl:before {
  content: "●";
  font-size: .8rem;
  color: #2F85C5;
  margin: .8rem 0 0;
}
.side-nav .side-ttl a {
  transition: .3s;
}
.side-nav .side-ttl a:hover {
  color: #2F85C5;
}
.side-nav ul {
  border-top: 1px solid #D1D0D0;
  padding: 1.7rem 0 1.4rem;
}
.side-nav ul li a,
.side-nav ul li .accordion-trigger {
  display: block;
  padding: 1.2rem 3.4rem 1.2rem 1.4rem;
  font-size: 1.5rem;
  font-weight: 500;
  border-radius: .5rem;
  position: relative;
  transition: all 0.3s;
  cursor: pointer;
}
.side-nav ul li a:not([target]):after,
.side-nav ul li .accordion-trigger:after {
  content: "";
  width: 0.9rem;
  height: 0.9rem;
  border-top: .1rem solid #535353;
  border-right: .1rem solid #535353;
  transform: rotate(45deg);
  position: absolute;
  right: 1.4rem;
  top: 50%;
  margin-top: -0.5rem;
  transition: all 0.3s;
}
.side-nav ul li a:hover {
  color: #2F85C5;
  background-color: #f9f9f9;
}
.side-nav ul li a:hover:after {
  border-color: #2F85C5;
}
.side-nav ul li a[target="_blank"]:after {
  content: "";
  width: 1.6rem;
  height: 1.5rem;
  background: no-repeat url("../img/under/ic_external.svg") center/contain;
  position: absolute;
  right: 1.4rem;
  top: 50%;
  margin-top: -0.9rem;
  transition: all 0.3s;
}
.side-nav ul li a[target="_blank"]:hover:after {
  background: no-repeat url("../img/under/ic_external-blue.svg") center/contain;
}
.side-nav ul li.current a {
  background-color: #2F85C5;
  color: #FFF;
  border-color: #2F85C5;
}
.side-nav ul li.current a:after {
  border-color: #FFF;
}
.side-nav ul li.lv1 a,
.side-nav ul li.lv1 span {
  background: #535353;
  color: #FFF;
}
.side-nav ul li.lv1 a:after,
.side-nav ul li.lv1 span:after {
  border-color: #FFF;
}
.side-nav ul li.lv1 a:hover {
  background-color: #3b3b3b;
  color: #FFF;
}
.side-nav ul li.lv1 a:hover:after {
  border-color: #FFF;
}
.side-nav ul li.lv2 span {
  background: #FFF;
  color: #535353;
  display: flex;
  align-items: center;
  gap: 1.0rem;
}
.side-nav ul li.lv2 span::before,
.side-nav ul li.lv2 a::before {
  display: inline-block;
  content: "";
  width: 1.0rem;
  height: .2rem;
  background: #D1D0D0;
}
.side-nav ul li.lv2 a {
  display: flex;
  align-items: center;
  gap: 1.0rem;
}
.side-nav ul li.lv2-accordion > .accordion-trigger {
  background: #FFF;
  color: #535353;
  display: flex;
  align-items: center;
  gap: 1.0rem;
}
.side-nav ul li.lv2-accordion > .accordion-trigger::before {
  display: inline-block;
  content: "";
  width: 1.0rem;
  height: .2rem;
  background: #D1D0D0;
}
.side-nav ul li.lv2-accordion > .accordion-trigger:after {
  content: none;
}
.side-nav ul li.lv2-accordion > .accordion-trigger.is-open-lv2 {
  background: #e5f0fa;
}
.side-nav ul li.lv2-accordion > .accordion-trigger:hover {
  background-color: #e5f0fa;
}
.side-nav ul li.lv2-accordion .sub-menu .nav-item .accordion-trigger {
  background: transparent;
  color: #535353;
  display: block;
  padding: 1.2rem 3.4rem 1.2rem 3.4rem;
}
.side-nav ul li.lv2-accordion .sub-menu .nav-item .accordion-trigger.is-active {
  background: #F8F8F7;
}
.side-nav ul li.lv2-accordion .sub-menu .nav-item .accordion-trigger::before {
  display: none;
}
.side-nav ul li.lv2-accordion .sub-menu .nav-item .accordion-trigger:hover {
  color: #2F85C5;
  background-color: #f9f9f9;
}
.side-nav ul li.lv2-accordion .sub-menu .nav-item .accordion-trigger:hover:after {
  border-color: #2F85C5;
}
.side-nav ul li .accordion-trigger.is-active:after {
  transform: rotate(135deg);
  margin-top: -0.7rem;
}
.side-nav ul li .sub-menu {
  border-top: none;
  padding: 0.5rem 0;
}
.side-nav ul li.lv2-accordion > .sub-menu {
  padding-left: 2.0rem;
}
.side-nav ul li.lv2-accordion .sub-menu .nav-item > .sub-menu {
  padding-left: 1.4rem;
}
.side-nav .m-btn {
  margin-top: 1.6rem;
}
.side-nav .m-btn a {
  font-size: 1.4rem;
  padding: 1.2rem;
}
.side-nav .c-btn {
  margin-top: 1.6rem;
}
.side-nav .c-btn a {
  font-size: 1.6rem;
  font-weight: 500;
  padding: 1.0rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  border: 2px solid #2F85C5;
  color: #2F85C5;
  background: #fff;
  border-radius: 3rem;
  padding: 1.2rem;
  font-weight: bold;
  font-size: 1.4rem;
}
.side-nav .c-btn a:hover {
  color: #fff;
}
.side-nav .accordion-trigger {
  display: block;
  padding: 1.2rem 3.4rem 1.2rem 3.4rem;
  font-size: 1.4rem;
  border-radius: .5rem;
  position: relative;
  transition: all 0.3s;
  cursor: pointer;
  background-color: #fff;
  color: #333;
}
.side-nav .accordion-trigger:hover {
  color: #2F85C5;
  background-color: #f9f9f9;
}
.side-nav .accordion-trigger:hover::after {
  border-color: #2F85C5;
}
.side-nav .accordion-trigger::after {
  content: "";
  width: 0.9rem;
  height: 0.9rem;
  border-top: .1rem solid #535353;
  border-right: .1rem solid #535353;
  transform: rotate(135deg);
  position: absolute;
  right: 1.4rem;
  top: 50%;
  margin-top: -0.6rem;
  transition: all 0.3s;
}
.side-nav .accordion-trigger.is-active {
  color: #2F85C5;
  background-color: #f9f9f9;
}
.side-nav .accordion-trigger.is-active::after {
  border-color: #2F85C5;
  transform: rotate(315deg);
  margin-top: -0.3rem;
}
.side-nav .accordion-trigger.is-active + .sub-menu {
  display: block;
}
.side-nav .sub-menu {
  display: none;
  border-top: none !important;
  padding: 0 0 1.0rem !important;
}
.side-nav .sub-menu li {
  border-top: 1px dashed #eee !important;
  margin-top: 0;
}
.side-nav .sub-menu li:first-child {
  border-top: none !important;
}
.side-nav .sub-menu li a {
  font-size: 1.4rem;
  padding: 1.0rem 3.0rem 1.0rem 4.8rem;
  background: #fff;
}
.side-nav ul li > span {
  display: block;
  font-size: 1.4rem;
  padding: 1.0rem 3.0rem 1.0rem 4.8rem;
  font-weight: 500;
  border-radius: .5rem;
}
.side-nav .side-btn {
  margin-top: 2.0rem;
}
.signature figure img {
  width: 100%;
  max-width: 16.0rem;
  margin: 1.5rem 0 0;
}
.sec-company {
  margin-bottom: 8.0rem;
}
.company-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #D1D0D0;
  line-height: 1.8;
}
.company-table th {
  border-bottom: 1px solid #D1D0D0;
  padding: 2.0rem 2.4rem;
  width: 25%;
  background-color: #F0F0F0;
  font-weight: 600;
  letter-spacing: .1em;
  white-space: nowrap;
  border-right: 1px solid #D1D0D0;
  vertical-align: middle;
}
.company-table td {
  border-bottom: 1px solid #D1D0D0;
  padding: 2.0rem 2.4rem;
  vertical-align: top;
  width: 75%;
  background-color: #FFF;
}
.company-table .business-list {
  list-style-type: decimal;
  padding-left: 1.5em;
  margin: 0;
}
.company-table .business-list li {
  margin-bottom: 0.5em;
}
.company-table .business-list li:last-child {
  margin-bottom: 0;
}
.main-content .company-table a:not([class])[target=_blank]:not(:last-child) {
  margin-bottom: 0;
}
.sec-history {
  margin-bottom: 8.0rem;
}
.history-list dl {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}
.history-list dt {
  width: 10.8rem;
  font-weight: 600;
  letter-spacing: .1em;
  padding: 2rem 2.0rem 2rem 1rem;
  border-bottom: 1px solid #2F85C5;
}
.history-list dd {
  width: calc(100% - 10.8rem);
  margin: 0;
  padding: 2rem 0 2rem 1rem;
  border-bottom: 1px solid #D1D0D0;
}
.anchor-btns {
  display: flex;
  justify-content: center;
  gap: 2.0rem;
  margin-bottom: 6.0rem;
}
.anchor-btns .btn {
  display: block;
  width: 25.7rem;
  max-width: 45%;
  padding: 1.2rem;
  text-align: center;
  border: 1px solid #D1D0D0;
  border-radius: .5rem;
  font-weight: 500;
  background: #FFF;
  position: relative;
  transition: all 0.3s;
}
.anchor-btns .btn:hover {
  background: #f9f9f9;
  color: #2F85C5;
}
.anchor-btns .btn:hover:after {
  border-top: .1rem solid #2F85C5;
  border-right: .1rem solid #2F85C5;
}
.anchor-btns .btn:after {
  content: "";
  right: 1.4rem;
  top: calc(50% - .4rem);
  width: .8rem;
  height: .8rem;
  border-top: .1rem solid #535353;
  border-right: .1rem solid #535353;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
}
#domestic.sec-office {
  margin-bottom: 8.0rem;
  scroll-margin-top: 100px;
}
.office-map-visual {
  margin-bottom: 5.0rem;
  display: flex;
  justify-content: space-between;
  gap: 2.0rem;
  width: 100%;
  margin-bottom: 5.0rem;
}
.office-map-visual .map-nav {
  width: 30.0rem;
}
.office-map-visual .map-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.office-map-visual .map-nav li:not(:last-child) {
  margin-bottom: .8rem;
}
.office-map-visual .map-nav li a {
  display: flex;
  align-items: center;
  gap: 1.8rem;
  padding: 0.8rem 2.0rem;
  font-size: 2.0rem;
  font-weight: 500;
  color: #333;
  border-radius: .5rem;
  position: relative;
  background: #F8F8F7;
  transition: all 0.3s;
}
.office-map-visual .map-nav li a:hover {
  color: #FFF;
  background: #2F85C5;
}
.office-map-visual .map-nav li a:hover:before {
  color: #FFF;
}
.office-map-visual .map-nav li a:hover:after {
  content: "";
  right: 2.0rem;
  top: calc(50% - .4rem);
  width: .8rem;
  height: .8rem;
  border-top: .1rem solid #FFF;
  border-right: .1rem solid #FFF;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
}
.office-map-visual .map-nav li a:before {
  content: "●";
  font-size: .8rem;
  color: #2F85C5;
}
.office-map-visual .map-img {
  flex: 1;
  background: #F8F8F7;
}
.office-category-ttl {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  font-size: 2.4rem;
  font-weight: 500;
  margin-bottom: 2.0rem;
}
.office-category-ttl:before {
  content: "●";
  font-size: 1.0rem;
  color: #2F85C5;
}
.office-group:not(:last-child) {
  margin-bottom: 6.0rem;
}
.office-group-img {
  display: flex;
  gap: .5rem;
  margin: 0 0 3.0rem;
}
.office-group-img img {
  border-radius: .5rem;
}
.office-group-img-main {
  display: flex;
  gap: .5rem;
}
.office-group-img-sub {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.office-card {
  display: flex;
  gap: 3rem 4.0rem;
  margin-bottom: 2.0rem;
}
.office-card:last-child {
  margin-bottom: 0;
}
.office-card .office-img {
  width: 40.0rem;
  flex-shrink: 0;
}
.office-card .office-img img {
  width: 100%;
  height: auto;
  display: block;
}
.office-card .office-img iframe {
  width: 100%;
  max-width: 100%;
  display: block;
}
.office-card .office-info {
  width: 100%;
}
.office-card .office-info h4 {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
  color: #333;
}
.office-card .office-info .address {
  font-size: 1.5rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.office-card .office-info .contact {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
}
.office-card .office-info .contact dt {
  font-weight: 600;
  margin-right: 0.5em;
}
.office-card .office-info .contact dd {
  margin-right: 2.0rem;
  margin-left: 0;
}
.office-card .btn-map a {
  display: inline-block;
  padding: 0.6rem 2.0rem 0.6rem 2.5rem;
  border: 1px solid #2F85C5;
  color: #2F85C5;
  border-radius: 2rem;
  font-size: 1.4rem;
  font-weight: 500;
  position: relative;
  transition: all 0.3s;
  background: #FFF;
}
.office-card .btn-map a:before {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  background: url("../img/common/ic_map.svg") no-repeat center/contain;
  position: absolute;
  left: 1.0rem;
  top: 50%;
  transform: translateY(-50%);
}
.office-card .btn-map a:hover {
  background: #2F85C5;
  color: #FFF;
}
.office-card .btn-map a:hover:before {
  filter: brightness(0) invert(1);
}
.office-card .btn-web a {
  display: inline-block;
  padding: 0.6rem 2.0rem 0.6rem 2.5rem;
  border: 1px solid #2F85C5;
  color: #2F85C5;
  border-radius: 2rem;
  font-size: 1.4rem;
  font-weight: 500;
  position: relative;
  transition: all 0.3s;
  background: #FFF;
}
.office-card .btn-web a:before {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  background: url("../img/common/ic_external.svg") no-repeat center/contain;
  position: absolute;
  left: 1.0rem;
  top: 50%;
  transform: translateY(-50%);
}
.office-card .btn-web a:hover {
  background: #2F85C5;
  color: #FFF;
}
.office-card .c-btn {
  padding: 1.0rem 0 0;
}
.office-card .c-btn a {
  max-width: 24.0rem;
  font-size: 1.4rem;
  font-weight: 500;
  -webkit-box-pack: space-between;
  -ms-flex-pack: space-between;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 1.5rem 1.5rem 2rem;
  border-radius: 3em;
  background-color: #FFF;
  border: .2rem solid #2F85C5;
  color: #2F85C5;
}
.office-card a.hover-win:hover span {
  color: #FFF;
  z-index: 1;
}
.quality-section {
  margin-bottom: 6.0rem;
}
.quality-heading {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.4;
  border-left: 4px solid #2F85C5;
  padding-left: 1.2rem;
  margin-bottom: 2.5rem;
  color: #333;
}
.quality-text {
  font-size: 1.6rem;
  line-height: 1.8;
  margin-bottom: 2.0rem;
}
.quality-list {
  margin-bottom: 2.0rem;
  padding-left: 2.0rem;
}
.quality-list li {
  font-size: 1.6rem;
  line-height: 1.8;
  margin-bottom: 1.0rem;
  list-style-type: decimal;
}
.certificate-images {
  margin-top: 3.0rem;
}
.certificate-images figure {
  width: 100%;
  max-width: 50.9rem;
}
.sub-sec-ttl {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.4;
  border-left: 4px solid #2F85C5;
  padding-left: 1.2rem;
  margin-bottom: 2.5rem;
  color: #333;
}
.sec-quality {
  margin-bottom: 6.0rem;
}
.sec-quality .txt {
  font-size: 1.6rem;
  line-height: 1.8;
  margin-bottom: 2.0rem;
}
.sec-quality .txt.note {
  font-size: 1.4rem;
  color: #666;
}
.sec-quality .txt.small {
  font-size: 1.4rem;
  margin-bottom: 1.0rem;
}
.ordered-list {
  margin: 0 0 2.0rem;
  padding-left: 2.0rem;
}
.ordered-list li {
  font-size: 1.6rem;
  line-height: 1.8;
  margin-bottom: 1.0rem;
  list-style-type: decimal;
}
.cert-images {
  display: flex;
  flex-wrap: wrap;
  gap: 2.0rem;
  margin-top: 3.0rem;
}
.cert-images figure {
  width: calc(50% - 1.0rem);
  border: 1px solid #ddd;
  padding: 1.0rem;
  background: #fff;
}
.cert-images figure img {
  width: 100%;
  height: auto;
  display: block;
}
.sec-environment {
  margin-bottom: 8.0rem;
}
.sec-environment .txt {
  font-size: 1.6rem;
  line-height: 1.8;
  margin-bottom: 3.0rem;
}
.env-signature {
  text-align: right;
  margin-top: 4.0rem;
}
.env-signature p {
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .env-signature p {
    font-size: 1.6rem;
  }
}
.env-signature p span {
  font-size: 1.6rem;
}
.sec-health {
  text-align: center;
  margin-bottom: 8.0rem;
}
.health-lead {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: .05em;
  margin-bottom: 3.8rem;
}
.health-logo {
  margin-bottom: 5.8rem;
}
.health-logo img {
  width: 100%;
  max-width: 34.0rem;
}
.health-body {
  text-align: left;
  max-width: 720px;
  margin: 0 auto 4.0rem;
}
.health-body .txt {
  font-size: 1.6rem;
  line-height: 2.0;
}
.health-signature {
  text-align: right;
}
.health-signature p {
  text-align: right;
}
.health-signature p span {
  font-size: 1.4rem;
}
.privacy-nav-list {
  display: flex;
  justify-content: center;
  margin-bottom: 5.8rem;
}
.privacy-nav-list ul {
  width: 100%;
  max-width: 78.0rem;
}
.privacy-nav-list li {
  border-bottom: .1rem solid #D1D0D0;
}
.privacy-nav-list li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 2.4rem;
  font-weight: 500;
  padding: 3.0rem 0 3.0rem 1.0rem;
  transition: all 0.3s ease;
}
.privacy-nav-list li a:hover {
  color: #2F85C5;
}
.privacy-nav-list li a:hover:after {
  background: url("../img/common/link_ic02_b.svg") no-repeat center/contain;
}
.privacy-nav-list li a:after {
  content: "";
  width: 3.6rem;
  height: 3.6rem;
  background: url("../img/common/link_ic02_w.svg") no-repeat center/contain;
  transition: all 0.3s ease;
}
.privacy-nav-list li:first-child a {
  padding: 0 0 3.0rem 1.0rem;
}
.privacy-pdf-link {
  text-align: center;
}
.privacy-pdf-link a {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  text-decoration: underline;
}
.privacy-pdf-link a:hover {
  color: #2F85C5;
  text-decoration: none;
}
.privacy-pdf-link a::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.5px 0px 3.5px 6px;
  border-color: transparent transparent transparent #2F85C5;
}
.privacy-pdf-link span {
  background: #2F85C5;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .15em;
  color: #FFF;
  padding: .2rem 1.0rem;
  border-radius: 3rem;
  margin: 0 0 0 1.0rem;
}
.sitemap-container-group {
  column-count: 2;
  column-gap: 8rem;
}
.sitemap-group {
  break-inside: avoid;
  margin-bottom: 3rem;
}
.sitemap-group.top {
  margin-bottom: 5.6rem;
}
.sitemap-heading {
  margin-bottom: 3rem;
  border-bottom: .1rem solid #E5E5E5;
  padding-bottom: 2.8rem;
}
.sitemap-heading a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.8rem;
  font-weight: 500;
  transition: color 0.3s;
}
.sitemap-heading a:hover {
  color: #2F85C5;
}
.sitemap-heading .icon {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  background: url("../img/common/link_ic08.svg") no-repeat center/contain;
}
.top .sitemap-heading a {
  font-size: 2.4rem;
}
.sitemap-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.sitemap-list li {
  margin-bottom: 1.8rem;
}
.sitemap-list li.heading {
  display: flex;
  gap: .4rem;
}
.sitemap-list li.heading::before {
  content: "■";
  color: #2F85C5;
}
.sitemap-list li.heading-sub {
  position: relative;
  padding: 0 0 0 2.0rem;
}
.sitemap-list li.heading-sub::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.4rem;
  width: 1.0rem;
  height: 0.2rem;
  background: #2F85C5;
}
.sitemap-list li a {
  display: inline-block;
  position: relative;
  padding: 0 1.6rem 0 1.9rem;
  text-indent: -1.6rem;
}
.sitemap-list li a::after {
  content: "";
  position: absolute;
  right: 0;
  top: 1.2rem;
  width: .6rem;
  height: .6rem;
  border-top: .1rem solid #2F86C5;
  border-right: .1rem solid #2F86C5;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.sitemap-list li a:hover {
  color: #2F85C5;
}
.sitemap-list > li:last-child {
  padding-bottom: 1.2rem;
}
.sitemap-list > li > a::before {
  content: "・";
  color: #2F85C5;
}
.sitemap-list ul {
  margin-top: 1.6rem;
  margin-bottom: 1rem;
  padding-left: 1.5rem;
}
.sitemap-list ul li a::before {
  content: "・";
  position: absolute;
  left: .3rem;
}
/* ======================================================================
   サイトマップ：製品カテゴリ項目のみ、既存の矢印アイコンの代わりに
   テキストサイズに合わせた＋／×の開閉アイコンを表示する
   ====================================================================== */
.sitemap-list__accordion-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.sitemap-list__accordion-item > a::after {
  content: none;
}
.sitemap-list__accordion-item > ul {
  flex-basis: 100%;
}
.sitemap-accordion-icon {
  position: relative;
  display: inline-block;
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: .4rem;
  background-color: #2F85C5;
  vertical-align: middle;
  margin-left: .6rem;
  cursor: pointer;
}
.sitemap-accordion-icon::before,
.sitemap-accordion-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #fff;
  transition: transform 0.3s ease;
}
.sitemap-accordion-icon::before {
  width: 1.2rem;
  height: .2rem;
  transform: translate(-50%, -50%);
}
.sitemap-accordion-icon::after {
  width: .2rem;
  height: 1.2rem;
  transform: translate(-50%, -50%) rotate(0deg);
}
.sitemap-accordion-icon.is-open::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
/* カテゴリ内の製品リンク：先頭の「・」を消し、カテゴリ配下と分かるようインデントする */
.sitemap-list__accordion-item > ul.js-sitemap-accordion-target {
  padding-left: 2em;
}
.sitemap-list__accordion-item > ul.js-sitemap-accordion-target li a::before {
  content: none;
}
/* 2行になった際に左端がずれないよう、ぶら下げインデントを解除する */
.sitemap-list__accordion-item > ul.js-sitemap-accordion-target li a {
  padding-left: 0;
  text-indent: 0;
}
/* 初期状態は閉じる（JS実行前からCSSで非表示にしておき、チラつきを防ぐ） */
.js-sitemap-accordion-target {
  display: none;
}
.declaration-intro {
  margin-bottom: 6rem;
  font-size: 1.6rem;
  line-height: 2;
}
.declaration-body {
  margin-bottom: 4rem;
}
.declaration-body p {
  margin-bottom: 2.6rem;
}
.declaration-body p a {
  color: #2F85C5;
}
.declaration-body p a[target="_blank"] {
  display: inline;
}
.declaration-body p a[target="_blank"]::after {
  content: "";
  display: inline-block;
  width: 1.6rem;
  height: 1.5rem;
  background: no-repeat url(../img/under/ic_external-blue.svg) center / contain;
  vertical-align: middle;
  transition: all 0.3s;
  margin: -3px 8px 0 0;
}
.declaration-sign {
  text-align: right;
  margin-bottom: 6.0rem;
}
.declaration-contact {
  background: #F8F8F7;
  padding: 6.0rem;
  border-radius: .5rem;
  margin: 0 7.2rem;
  text-align: center;
}
.declaration-contact h3 {
  font-weight: 600;
  padding: 0 0 2.0rem;
  margin-bottom: 2rem;
  border-bottom: .1rem dashed #535353;
}
.declaration-contact .address {
  display: inline-block;
  margin-bottom: 3rem;
  font-size: 1.5rem;
  padding-left: 1.6rem;
  text-align: left;
}
.declaration-contact .label {
  background: #2F85C5;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 600;
  padding: .4rem 1.5rem;
  border-radius: 2rem;
  margin-right: 1.5rem;
  min-width: 10rem;
  text-align: center;
}
.tel-row {
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
}
.time-row {
  display: flex;
  align-items: flex-start;
}
.tel-num {
  font-size: 3.3rem;
  font-weight: 700;
  letter-spacing: .03em;
  line-height: 1;
  color: #2F85C5;
}
.tel-num a {
  color: #2F85C5;
}
.time-desc {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: .03em;
  line-height: 1.6;
  text-align: left;
}
.time-desc small {
  display: block;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0;
  margin-top: .5rem;
}
.main-content .sec-announcement .sec-ttl h2.ind {
  gap: 8.0rem;
  text-indent: -5.5rem;
}
.sec-announcement .sec-body:not(:last-child) {
  margin: 0 0 7.4rem;
}
.sec-announcement .sec-body p:not(:last-child) {
  margin: 0 0 3.0rem;
}
.sec-announcement .sec-ttl-sub {
  margin: 6.0rem 0 0;
}
.sec-announcement .table-wrap {
  margin: 3.0rem 0 0;
}
.sec-announcement .text-link {
  margin: 2.6rem 0 0;
}
.sec-announcement .text-link a {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  text-decoration: underline;
}
.sec-announcement .text-link a:before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.5px 0px 3.5px 6px;
  border-color: transparent transparent transparent #2F85C5;
}
.sec-announcement .text-link small {
  font-size: 1.4rem;
  padding: 0 0 0 1.7rem;
}
.sec-announcement .ordered-list {
  margin: 3.0rem 0 0;
}
.sec-announcement .declaration-contact {
  margin-top: 4.0rem;
}
.sec-consultation .sec-body:not(:last-child) {
  margin: 0 0 7.4rem;
}
.sec-consultation .sec-body p:not(:last-child) {
  margin: 0 0 3.0rem;
}
.sec-consultation .text-link a {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  text-decoration: underline;
}
.sec-consultation .text-link a:before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.5px 0px 3.5px 6px;
  border-color: transparent transparent transparent #2F85C5;
}
.sec-guide .sec-body:not(:last-child) {
  margin: 0 0 7.4rem;
}
.sec-guide .sec-body p:not(:last-child) {
  margin: 0 0 3.0rem;
}
.sec-guide .h4-ttl {
  font-size: 2.0rem;
  font-weight: 600;
  color: #2F85C5;
  margin: 0 0 .6rem;
}
.sec-guide .table-wrap {
  margin: 0 0 3.6rem;
}
.announcement-table th {
  border: .1rem solid #D1D0D0;
  padding: 1.6rem 2.0rem;
  vertical-align: baseline;
  font-weight: 600;
  background: rgba(149, 189, 219, 0.5);
}
.announcement-table td {
  border: .1rem solid #D1D0D0;
  padding: 1.6rem 2.0rem;
  vertical-align: baseline;
}
.announcement-table td:first-child {
  background: #F0F0F0;
  width: 25%;
}
.announcement-table td li {
  padding: 0 0 0 1em;
  text-indent: -1em;
}
.announcement-table td li:before {
  content: "・";
  color: #95BDDB;
}
.announcement-table.style02 td {
  width: 25%;
}
.introduction .text-link a {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  text-decoration: underline;
}
.introduction .text-link a:before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.5px 0px 3.5px 6px;
  border-color: transparent transparent transparent #2F85C5;
}
.gray-box {
  background: #F8F8F7;
  padding: 2.6rem 3.0rem;
  border-radius: 0.5rem;
}
.gray-box:not(:last-child) {
  margin: 0 0 5.0rem;
}
.gray-box ol {
  margin: 0;
  padding-left: 1.5em;
  font-size: 1.6rem;
  line-height: 1.8;
}
.gray-box ul {
  margin: 0;
  padding-left: 1.5em;
  font-size: 1.6rem;
  line-height: 1.8;
}
.gray-box li {
  font-weight: 500;
  margin-bottom: 1.0rem;
}
.gray-box li:last-child {
  margin-bottom: 0;
}
.gray-box ol.list-decimal {
  list-style-type: decimal;
}
.gray-box ol.list-alpha {
  list-style-type: upper-alpha;
}
.gray-box ul.list-disc {
  list-style: none;
  padding-left: 1em;
}
.gray-box ul.list-disc li {
  text-indent: -1em;
}
.gray-box ul.list-disc li::before {
  content: "・";
}
.gray-box .note {
  display: block;
  font-weight: 400;
}
.gray-box .list-none {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.8;
}
.text-link a {
  display: inline-flex;
  align-items: center;
  gap: 1.0rem;
  text-decoration: underline;
  color: #333;
  transition: color 0.3s;
}
.text-link a:hover {
  color: #2F85C5;
  text-decoration: none;
}
.text-link a::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.5px 0px 3.5px 6px;
  border-color: transparent transparent transparent #2F85C5;
}
.guide-table {
  width: 100%;
  border-collapse: collapse;
}
.guide-table th {
  border: 1px solid #D1D0D0;
  padding: 2.0rem;
  vertical-align: middle;
  background-color: #F0F0F0;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
}
.guide-table th:nth-child(1) {
  width: 20%;
}
.guide-table th:nth-child(2) {
  width: 25%;
}
.guide-table th:nth-child(3) {
  width: 25%;
}
.guide-table th:nth-child(4) {
  width: 30%;
}
.guide-table td {
  border: 1px solid #D1D0D0;
  padding: 2.0rem;
  vertical-align: middle;
  background-color: #FFF;
  word-break: break-all;
}
.guide-table td:nth-child(1) {
  width: 20%;
}
.guide-table td:nth-child(2) {
  width: 25%;
}
.guide-table td:nth-child(3) {
  width: 25%;
}
.guide-table td:nth-child(4) {
  width: 30%;
}
.text-link-inline {
  color: #2F85C5;
  transition: opacity 0.3s;
}
.text-link-inline:hover {
  text-decoration: none;
  opacity: 0.8;
}
.text-link-cell {
  text-decoration: underline;
}
.text-link-cell:hover {
  text-decoration: none;
}
.glossary-nav {
  margin-bottom: 8.0rem;
}
.glossary-nav .nav-row {
  display: flex;
  flex-wrap: wrap;
  gap: 2.0rem 1.5rem;
  margin-bottom: 2.0rem;
}
.glossary-nav .nav-row:last-child {
  margin-bottom: 0;
}
.glossary-nav .nav-row li {
  flex: 1;
  max-width: 12.1rem;
}
.glossary-nav .nav-row li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.6rem;
  border: 1px solid #D1D0D0;
  border-radius: 0.5rem;
  font-weight: 500;
  color: #535353;
  transition: all 0.3s;
  background: #fff;
}
.glossary-nav .nav-row li a::after {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-bottom: 1px solid #535353;
  border-right: 1px solid #535353;
  transform: rotate(45deg);
  margin-top: -0.3rem;
}
.glossary-nav .nav-row li a:hover {
  border-color: #2F85C5;
  color: #2F85C5;
}
.glossary-nav .nav-row li a:hover::after {
  border-color: #2F85C5;
}
.glossary-block:not(:last-child) {
  margin-bottom: 8.0rem;
}
.glossary-ttl {
  display: flex;
  align-items: center;
  font-size: 3.2rem;
  font-weight: 500;
  letter-spacing: .03em;
  margin-bottom: 3.0rem;
}
.glossary-ttl::before {
  content: "";
  display: block;
  width: 0.5rem;
  height: 3.0rem;
  background: #2F85C5;
  margin-right: 1.5rem;
}
.sec-ttl.glossary {
  background: #F8F8F7;
  padding: 1.0rem 0 1.3rem;
}
.glossary-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 4.0rem;
  row-gap: 1.5rem;
}
.glossary-list li a {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  padding-left: 1.5rem;
  font-size: 1.8rem;
  text-decoration: underline;
  color: #333;
  transition: .3s;
}
.glossary-list li a::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.5px 0px 3.5px 6px;
  border-color: transparent transparent transparent #2F85C5;
}
.glossary-list li a:hover {
  text-decoration: none;
  color: #2F85C5;
}
.movie-intro {
  font-size: 2.2rem;
  letter-spacing: .05em;
  text-align: center;
  margin: 0 0 3.6rem;
}
.recommend-movie-section {
  background: #E7F2F8;
  padding: 8.0rem 0;
}
.introduce-movie-section,
.interview-movie-section,
.member-movie-section {
  padding: 8.0rem 0 0;
}
.recommend-movie-section .recommend-grid,
.introduce-movie-section .recommend-grid,
.interview-movie-section .recommend-grid,
.member-movie-section .recommend-grid {
  margin: 0;
}
.recommend-movie-section .card-img,
.introduce-movie-section .card-img,
.interview-movie-section .card-img,
.member-movie-section .card-img,
.related-movie .card-img {
  display: flex;
  justify-content: center;
  align-items: center;
  height: auto;
  aspect-ratio: 16/9;
}
.recommend-movie-section .card-img::before,
.introduce-movie-section .card-img::before,
.interview-movie-section .card-img::before,
.member-movie-section .card-img::before,
.related-movie .card-img::before {
  content: "";
  width: 5.0rem;
  height: 5.0rem;
  background: no-repeat url("../img/under/movie/icon_movie_play.png")center / contain;
}
.member-movie-section p {
  text-align: center;
  margin: 0 0 3.6rem;
}
.member-movie-section .btn {
  display: flex;
  justify-content: center;
  gap: 2.0rem 4.0rem;
  margin: 0 0 6.0rem;
}
@media screen and (max-width: 768px) {
  .member-movie-section .btn {
    flex-direction: column;
    align-items: center;
  }
}
.member-movie-section .btn li {
  width: 33.0rem;
}
.member-movie-section .btn li a {
  display: flex;
  width: 100%;
  font-weight: 700;
  justify-content: center;
  padding: 1.0rem;
  border-radius: 10.0rem;
}
.member-movie-section .btn li a span {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.8rem;
}
.member-movie-section .btn li a.login {
  background-color: #fff;
  border: 2px solid #2F85C5;
  color: #2F85C5;
}
.member-movie-section .btn li a.login span::before {
  content: "";
  width: 2.2rem;
  height: 2.2rem;
  display: block;
  background: no-repeat url("../img/common/member_ic4.svg")center / contain;
}
.member-movie-section .btn li a.login:hover span::before {
  background: no-repeat url("../img/common/member_ic4-w.svg")center / contain;
}
.member-movie-section .btn li a.login::after {
  background-color: #2F85C5;
}
.member-movie-section .btn li a.login:hover span {
  color: #fff;
  z-index: 1;
}
.member-movie-section .btn li a.regist {
  background-color: #25406C;
  border: 2px solid #25406C;
  color: #fff;
}
.member-movie-section .btn li a.regist::after {
  background-color: #fff;
}
.member-movie-section .btn li a.regist span::before {
  content: "";
  width: 1.7rem;
  height: 2.1rem;
  display: block;
  background: no-repeat url("../img/common/member_ic5.svg")center / contain;
}
.member-movie-section .btn li a.regist:hover span::before {
  background: no-repeat url("../img/common/member_ic5-db.svg")center / contain;
}
.member-movie-section .btn li a.regist:hover span {
  color: #25406C;
  z-index: 1;
}
.main-movie {
  position: relative;
  max-width: 78.0rem;
  padding-bottom: 56.25%;
  margin-bottom: 8.0rem;
  overflow: hidden;
}
.main-movie > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: scale(1.01);
}
.sec-movie .sec-body:not(:last-child) {
  padding: 0 0 8.0rem;
}
.related-movie {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2.0rem 4.0rem;
}
.related-movie .related-movie-box {
  width: 100%;
  max-width: 33.4rem;
  border-radius: .5rem;
  overflow: hidden;
}
.related-movie .related-movie-box .body {
  background: #F8F8F7;
  padding: 2.4rem 3.0rem;
}
.related-movie .related-movie-box .body .category {
  display: flex;
  flex-wrap: wrap;
  gap: 1.0rem;
  text-align: center;
  margin: 0 0 2.0rem;
  align-self: start;
}
.related-movie .related-movie-box .body .category .cat-label {
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1.2;
  color: #FFF;
  padding: 0.2rem;
  border-radius: .5rem;
  width: 10.6rem;
  white-space: nowrap;
  border: 1px solid #2F85C5;
  background-color: #2F85C5;
}
.related-movie .related-movie-box .body .category .tab-label {
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1.2;
  color: #535353;
  padding: 0.2rem 1.0rem;
  border-radius: .5rem;
  min-width: 10.6rem;
  white-space: nowrap;
  border: 1px solid #D1D0D0;
  background-color: #FFF;
}
.related-movie .related-movie-box .body p {
  font-size: 1.8rem;
  font-weight: 600;
}
.related-product {
  background: #F8F8F7;
  padding: 3.0rem;
  border-radius: .5rem;
  margin: 0 0 4.0rem;
}
.related-product .upper {
  display: flex;
  align-items: flex-start;
  gap: 3.0rem;
}
.related-product .upper figure {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #FFF;
  padding: 2.2rem 0;
  border-radius: .5rem;
  width: 100%;
  min-height: 20.0rem;
  max-width: 24.0rem;
}
@media screen and (max-width: 768px) {
  .main-content .related-product .upper figure {
    margin-bottom: 2rem;
  }
}
.related-product .upper .body {
  flex: 1;
}
.related-product .upper .body .name {
  display: flex;
  align-items: center;
  gap: 1.8rem;
  margin: 0 0 1.4rem;
}
.related-product .upper .body .name h3 {
  font-size: 2.4rem;
}
.sec-movie .related-product .upper .body .name h3 {
  font-size: 3.0rem;
}
.related-product .upper .body .name h3 span {
  display: block;
  font-size: 1.4rem;
}
.sec-movie .related-product .upper .body .name h3 span {
  font-size: 1.8rem;
}
.related-product .upper .body .name > span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 5.2rem;
  height: 5.2rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #FFF;
  padding: 2.0rem 1.0rem;
  border-radius: 50%;
  background: #C5304C;
  white-space: nowrap;
}
.related-product .upper .body .box.list ul {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  margin-top: 1em;
}
.related-product .upper .body .box.list ul li {
  width: auto !important;
  border: none;
  background: #F8F8F7;
  padding: 0 0 0 1em;
  text-indent: -1em;
  font-weight: 500;
}
.related-product .upper .body .box.list ul li:before {
  content: "・";
}
.related-product .upper .box .ttl {
  font-size: 1.7rem;
}
.related-product .box {
  margin: 2.0rem 0 0;
}
.related-product .box .ttl {
  display: flex;
  align-items: center;
  width: 100%;
  font-weight: 600;
  background: repeat-x url("../img/under/movie/dot_line.svg") left 20px center;
}
.related-product .box .ttl > span {
  font-family: "I-OTF-UDゴ表示Pro B";
  font-weight: bold;
  display: inline-block;
  background: #F8F8F7;
  padding-right: .6rem;
}
.related-product .box .ttl:before {
  content: "■";
  font-size: 8px;
  color: #2F85C5;
  padding-right: 8px;
  background: #F8F8F7;
}
.related-product .lower {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.related-product .lower .box {
  width: 100%;
  max-width: 32.5rem;
}
.related-product .lower .box ul {
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  gap: 0.5em 2%;
  margin-top: 1em;
}
.related-product .lower .box li {
  width: 49%;
  font-size: 1.3rem;
  font-weight: 500;
  border: 1px solid #D1D0D0;
  background: #FFF;
  border-radius: 3em;
  padding: 0.3em 1.0em;
  text-align: center;
}
.related-product .btns {
  display: flex;
  justify-content: center;
  gap: 1.0rem 2.0rem;
  margin: 3.0rem 0 0;
}
.related-product .btns .c-btn a span {
  padding: 0 3.0rem;
}
.related-product .btns .m-btn a {
  font-size: 1.4rem;
  padding: 1.5rem 5rem;
}
.btn-std {
  display: flex;
  justify-content: center;
  gap: 2.0rem 4.0rem;
  padding: 4.0rem 0 0;
}
.btn-std.event {
  padding: 0;
}
.btn-std.event:has(+ .related-section) {
  padding: 0 0 8em;
}
.btn-std .c-btn {
  text-align: center;
  max-width: 40.0rem;
}
.btn-std .c-btn a {
  margin: 0 auto;
}
.btn-std .c-btn a::before {
  width: 2.0rem;
  height: 2.0rem;
}
.btn-std .c-btn a span {
  font-size: 1.6rem;
  justify-content: center;
  width: calc(100% - 2.0rem);
}
html body #minuk .btn-std .c-btn a.sub span {
  color: #C5304C;
}
html body #minuk .btn-std .c-btn a.sub:hover span {
  color: #FFF;
}
.c-btn a.sub {
  border: .2rem solid #C5304C;
  color: #C5304C;
}
.c-btn a.sub::before {
  background: url(../img/common/link_ic06_r.svg) no-repeat center / contain;
}
html body #minuk .btn-std.under a.sub.hover-win::after {
  background-color: #C5304C;
}
.btn-std.under {
  width: 100%;
  padding: 0 0 8.0rem;
}
.btn-std.under .c-btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.0rem 4.0rem;
  width: 100%;
  max-width: 100%;
}
.btn-std.under .c-btn a {
  margin: 0;
}
html body #minuk .btn-std.under a.hover-win::after {
  background-color: #2F85C5;
}
.casestudy .page-container {
  padding: 8.0rem 0 0;
}
.case-intro {
  margin-bottom: 8.0rem;
}
.case-intro p {
  text-align: center;
  font-size: 2.2rem;
  letter-spacing: .05em;
  margin-bottom: 4.0rem;
}
.case-nav-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.0rem;
  margin-bottom: 8.0rem;
  list-style: none;
  padding: 0;
}
.case-nav-list li {
  width: calc(50% - 1.0rem);
}
.case-nav-list li a {
  display: flex;
  align-items: center;
  border: 1px solid #D1D0D0;
  border-radius: 5px;
  padding: 2.0rem 2.4rem;
  background: #FFF;
  height: 100%;
  transition: all 0.3s;
  position: relative;
}
.case-nav-list li a:hover {
  border-color: #2F85C5;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
}
.case-nav-list li a:hover:after {
  border-color: #2F85C5;
}
.case-nav-list li a:hover .txt {
  color: #2F85C5;
}
.case-nav-list li a:after {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  border-top: .1rem solid #999;
  border-right: .1rem solid #999;
  transform: rotate(135deg);
  position: absolute;
  right: 2.0rem;
  top: 50%;
  margin-top: -0.6rem;
  transition: all 0.3s;
}
.case-nav-list .label {
  background: #2F85C5;
  color: #FFF;
  font-size: 1.4rem;
  font-weight: 600;
  padding: 0.2rem 1.2rem;
  border-radius: 3rem;
  margin-right: 1.6rem;
  white-space: nowrap;
}
.case-nav-list .txt {
  font-size: 1.8rem;
  font-weight: 500;
  color: #333;
  padding-right: 2.0rem;
  transition: .3s;
}
.case-unit {
  background: #F8F8F7;
  padding: 8.0rem 0;
}
.case-body:not(:last-child) {
  margin-bottom: 8.0rem;
}
.case-ttl {
  display: flex;
  align-items: flex-start;
  margin-bottom: 2.5rem;
}
.case-ttl .label {
  background: #2F85C5;
  color: #FFF;
  font-size: 1.4rem;
  font-weight: 600;
  padding: 0.5rem 1.5rem;
  border-radius: 2rem;
  margin-right: 1.5rem;
  white-space: nowrap;
}
.case-ttl .num {
  font-size: 3.6rem;
  letter-spacing: .05em;
  color: #2F85C5;
  padding-right: 1.5rem;
  border-right: 1px solid #2F85C5;
  margin-right: 1.5rem;
  line-height: 1;
  white-space: nowrap;
}
.case-ttl .txt {
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.2;
}
.case-problem {
  background: #2F85C5;
  color: #FFF;
  border-radius: 5px;
  display: flex;
  align-items: center;
  gap: 4.4rem;
  position: relative;
  padding: 3.0rem 4.0rem;
  margin: 0 0 5.0rem;
}
.case-problem .icon {
  background: #FFF;
  color: #2F85C5;
  font-size: 1.8rem;
  font-weight: 600;
  padding: .2rem 0;
  width: 7.6rem;
  text-align: center;
  border-radius: 3rem;
  flex-shrink: 0;
}
.case-problem .desc {
  font-weight: 500;
}
.case-problem:after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.9rem 2.3rem 0 2.3rem;
  border-color: #2F85C5 transparent transparent transparent;
  position: absolute;
  bottom: -3.9rem;
  left: calc(50% - 2.3rem);
}
.case-solution {
  display: flex;
  flex-direction: column;
  align-items: center;
  border: .1rem solid #2F85C5;
  background: #FFF;
  border-radius: .5rem;
  padding: 0 0 4.0rem;
}
.case-solution .sol-ttl {
  font-size: 2.8rem;
  font-weight: 500;
  text-align: center;
  padding: 3.0rem 4.0rem;
  border-bottom: .1rem solid #2F85C5;
  width: 100%;
}
.case-solution .sol-desc {
  padding: 3.0rem 4.0rem;
}
.product-info-box {
  width: 100%;
  max-width: 79.5rem;
  background: #F8F8F7;
  padding: 3.0rem;
  display: flex;
  gap: 3.0rem;
  align-items: flex-start;
}
.product-info-box .ph {
  width: 35%;
  max-width: 25.5rem;
  flex-shrink: 0;
  background: #FFF;
  padding: 2.0rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.product-info-box .ph img {
  width: 100%;
  height: auto;
}
.product-info-box .info {
  width: 100%;
}
.product-info-box .cat {
  font-size: 1.4rem;
}
.product-info-box .name {
  font-size: 2.4rem;
  margin-bottom: 1.0rem;
}
.product-info-box .btns {
  display: flex;
  justify-content: center;
  gap: 1.0rem 2.0rem;
  margin: 1.5rem 0 0;
}
@media screen and (max-width: 400px) {
  .product-info-box .btns {
    flex-direction: column;
    align-items: center;
  }
}
.product-info-box .btns .m-btn a {
  font-size: 1.4rem;
  padding: 1.5rem 5rem;
}
@media screen and (max-width: 400px) {
  .product-info-box .btns .c-btn,
  .product-info-box .btns .m-btn {
    width: 100%;
    max-width: 20.0rem;
  }
}
.download-intro {
  text-align: center;
  margin-bottom: 5.0rem;
  font-size: 2.2rem;
  letter-spacing: .05em;
}
.category-nav-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2.0rem;
  margin-bottom: 8.0rem;
}
.category-nav-grid.btm {
  margin-top: 8.0rem;
  margin-bottom: 0;
}
.category-nav-grid .cat-btn {
  width: calc(25% - 1.5rem);
  background: #FFF;
  border: 1px solid #E5E5E5;
  padding: 1.5rem 2.0rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: #333;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 4px;
  transition: all 0.3s;
  position: relative;
}
.category-nav-grid.movie .cat-btn {
  width: calc((100% - 4.0rem)/3);
  justify-content: center;
  position: relative;
}
.targetList.year {
  display: flex;
  flex-wrap: wrap;
  gap: 2.0rem;
  margin-bottom: 8.0rem;
}
.targetList.year .cat-btn {
  width: calc(25% - 1.5rem);
  background: #FFF;
  border: 1px solid #E5E5E5;
  padding: 1.5rem 2.0rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: #333;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 4px;
  transition: all 0.3s;
  position: relative;
}
.targetList.year .cat-btn {
  width: calc((100% - 8rem)/5);
  min-width: 12.0rem;
  justify-content: center;
}
.targetList.year .cat-btn:hover {
  border-color: #2F85C5;
  color: #2F85C5;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05);
}
.targetList.year .cat-btn::after {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  transform: rotate(135deg);
  margin-top: -0.4rem;
  transition: all 0.3s;
  position: absolute;
  right: 2.0rem;
  top: 50%;
}
.targetList.year .cat-btn.active {
  background-color: #333333;
  color: #ffffff;
  border-color: #333333;
}
@media screen and (max-width: 420px) {
  .targetList.year .cat-btn {
    width: calc((100% - 2rem)/2);
  }
}
.category-nav-grid .cat-btn:hover {
  border-color: #2F85C5;
  color: #2F85C5;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05);
}
.category-nav-grid .cat-btn::after {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  transform: rotate(135deg);
  margin-top: -0.4rem;
  transition: all 0.3s;
}
.category-nav-grid.movie .cat-btn::after {
  position: absolute;
  right: 2.0rem;
  top: 50%;
}
.category-nav-grid .cat-btn:hover:after {
  border-color: #2F85C5;
}
.category-nav-grid .cat-btn.current {
  background: #535353;
  border: 1px solid #535353;
  color: #FFF;
}
.category-nav-grid .cat-btn.current::after {
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
}
.category-nav-grid.center .cat-btn {
  justify-content: center;
}
.category-nav-grid.center .cat-btn::after {
  position: absolute;
  right: 2.0rem;
  top: 50%;
}
.download-section {
  margin-bottom: 8.0rem;
  scroll-margin-top: 100px;
}
.product-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 3.9rem;
}
.product-card {
  width: calc((100% - 7.8rem)/ 3);
  background: #FFF;
}
.product-card .ph {
  background: #F8F8F7;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 2.0rem;
  padding: 4rem;
  position: relative;
  border-radius: .5rem;
  height: 29.6rem;
}
.product-card .ph img {
  width: 100%;
  height: 100%;
  max-width: 30.0rem;
  max-height: 19rem;
  object-fit: contain;
  /*filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.2));*/
}
.product-card .card-body {
  text-align: center;
  padding: 0 1.0rem;
}
.product-card .name {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 2.0rem;
  transition: .3s;
}
.product-card a:hover .name {
  color: #2F85C5;
}
.product-card .m-btn {
  display: flex;
  justify-content: center;
}
.product-card .m-btn p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 24.0rem;
  font-size: 1.4rem;
  padding: 1.0rem 1.6rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 10rem;
  background-color: #2F85C5;
  border: 2px solid #2F85C5;
  color: #FFF;
}
a:hover .m-btn p {
  color: #2F85C5;
  position: relative;
}
a:hover .m-btn span::before {
  background: url(../img/common/ic_download-blue.svg) no-repeat center/contain;
}
.m-btn span::before {
  content: "";
  width: 1.8rem;
  height: 1.6rem;
  display: block;
  background: url(../img/common/ic_download.svg) no-repeat center/contain;
}
.m-btn p.hover-win span {
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
.m-btn p.hover-win::after {
  background-color: #FFF;
}
.member-promo-box {
  border: 1px solid #2F85C5;
  padding: 4.0rem;
  text-align: center;
  margin: 6.0rem 0 0;
  font-size: 2.4rem;
  font-weight: 500;
}
.page-container.form-type {
  padding: 14.0rem 0 10.0rem;
}
@media screen and (max-width: 768px) {
  .page-container.form-type {
    padding: 5.0rem 0 7.0rem;
  }
}
.download-form {
  display: flex;
  justify-content: space-between;
  gap: 4.0rem 2.0rem;
  padding: 6.0rem 0;
}
@media screen and (max-width: 980px) {
  .download-form {
    flex-direction: column;
  }
}
.download-form .main-content {
  width: 47.0rem;
}
@media screen and (max-width: 980px) {
  .download-form .main-content {
    width: 100%;
  }
}
.download-form .main-content .form-container .dl-ttl {
  font-weight: 600;
  letter-spacing: .03em;
}
.download-form .main-content .form-container .dl-ttl .sub-ttl {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: .03em;
  margin: 0 0 .9rem;
}
.download-form .main-content .form-container .dl-ttl .sub-ttl::before {
  content: "●";
  font-size: .8rem;
  color: #2F85C5;
}
.download-form .main-content .form-container .dl-ttl h1 {
  font-size: 3.8rem;
  line-height: 1.4;
}
.download-form .main-content .form-container figure {
  padding: 4.0rem 0;
}
@media screen and (max-width: 980px) {
  .download-form .main-content .form-container figure {
    text-align: center;
  }
}
.download-form .main-content .form-container figure img {
  object-fit: contain;
  width: 47.0rem;
  max-height: 35.6rem;
  filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.2));
}
.download-form .main-content .form-container .point {
  margin: 4.0rem 0 0;
}
.download-form .main-content .form-container .point p {
  font-size: 1.8rem;
  font-weight: 600;
  color: #2F85C5;
  margin: 0 0 .6rem;
}
.download-form .form-body {
  width: 54.0rem;
  background: #E7F2F8;
  border-radius: .5rem;
  padding: 4.0rem;
}
@media screen and (max-width: 980px) {
  .download-form .form-body {
    width: 100%;
  }
}
.download-form .form-body p .red {
  color: #C5304C;
}
.download-form .form-body .note {
  margin: 1.0rem 0 0;
}
.download-form .form-body .note li {
  display: flex;
  gap: .4rem;
  font-size: 1.4rem;
}
.download-form .form-body .note li:before {
  content: "※";
}
.download-form .form-body dt {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
}
.download-form .form-body dl.dl_pp dt {
  text-align: center;
}
.download-form .form-body dt label {
  display: flex;
  align-items: center;
}
.download-form .form-body dl dt a {
  color: #2F85C5;
}
.download-form .form-body dt a img {
  margin: 0 0 0 10px;
}
.aform-required {
  font-size: 1px !important;
  color: transparent !important;
  display: inline-block !important;
  width: 0 !important;
  white-space: nowrap !important;
  padding: 0 !important;
  background: transparent !important;
  margin-left: 2px !important;
}
.aform-required::after {
  font-size: 1.8rem;
  content: "*";
  color: #C5304C;
}
.download-form .form-body dd {
  padding: 2.0rem 0 0;
}
.form-body .aform-header {
  display: none;
}
.form-body .aform-button-area {
  background: transparent;
}
form[name="aform-confirm-form"] {
  margin-top: 2.0rem;
}
.download-form .form-body dd input[type=text],
.download-form .form-body dd input[type=email],
.download-form .form-body dd input[type=tel],
.download-form .form-body dd textarea {
  font-size: 1.6rem;
  background: #FFF;
  padding: 1.6rem;
  border: none;
  border-radius: .5rem;
  width: 100%;
}
.download-form .form-body dd input.half[type=text] {
  width: 85%;
}
.form-body dd textarea::placeholder {
  color: #BCBCBC;
}
.form-body dd input::placeholder {
  color: #BCBCBC;
}
.download-form .aform-checkbox-ul li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.download-form .form-body .agreement {
  font-size: 1.6rem;
}
.download-form .form-body .aform-button-area,
form[name=aform-confirm-form] .aform-button-area {
  display: flex;
  justify-content: center;
  gap: 2.0rem 4.0rem;
  margin: 2.4rem 0 0;
  padding: 0;
}
form[name=aform-confirm-form] .aform-button-area {
  background: transparent;
}
@media screen and (max-width: 560px) {
  form[name=aform-confirm-form] .aform-button-area {
    flex-direction: column;
  }
}
.form-body .aform-button-area input {
  font-size: 1.6rem;
  border: .2rem solid #2F85C5;
  padding: 2.0rem 8.0rem 2.0rem 5.0rem;
  position: relative;
  background-image: url(../img/common/link_ic02_w.svg), linear-gradient(to right, #FFF 50%, #2F85C5 50%);
  background-size: 3.6rem 3.6rem, 200% 100%;
  background-position: top 1.3rem right 1.8rem, 100% 0;
  background-repeat: no-repeat;
  cursor: pointer;
  transition: color .3s, background-position .3s, background-image .3s;
  width: 100%;
  border-radius: 9999px;
  color: transparent !important;
  line-height: normal;
}
.form-body .aform-button-area input:hover {
  background-image: url("../img/common/link_ic02_b.svg"), linear-gradient(to right, #FFF 50%, #2F85C5 50%);
  background-position: top 1.3rem right 1.8rem, 0 0;
}
form[name="aform-confirm-form"] .aform-button-area input:hover {
  background-image: url("../img/common/link_ic02_r-rev.svg"), linear-gradient(to right, #FFF 50%, #C5304C 50%);
  background-position: top 2.6rem right 1.8rem, 0 0;
  color: #C5304C;
}
.form-body .aform-button-area {
  position: relative;
}
.form-body .aform-button-area::after {
  font-family: "I-OTF-UDゴ表示Pro B";
  content: "個人情報保護方針に同意し送信する";
  position: absolute;
  top: 50%;
  left: calc(50% - 1.5rem);
  transform: translate(-50%, -50%);
  font-size: 1.6rem;
  font-weight: 600;
  color: #FFF;
  pointer-events: none;
  z-index: 10;
  transition: color .3s;
  white-space: nowrap;
}
.form-body .aform-button-area:hover::after {
  color: #2F85C5;
}
.form-body.nml dl {
  display: flex;
  flex-direction: column;
  border-bottom: .1rem solid #D1D0D0;
  padding: 0;
  margin: 0;
}
.form-body.nml dl.dl_first_name,
.form-body.nml dl.dl_last_name {
  display: inline-flex;
  flex-direction: row;
  vertical-align: top;
  box-sizing: border-box;
  width: calc(50% - 4px);
}
.form-body.nml dl.dl_first_name dt,
.form-body.nml dl.dl_last_name dt {
  white-space: nowrap;
  padding: 0 3rem 0 0;
}
@media screen and (max-width: 560px) {
  .form-body.nml dl.dl_first_name,
  .form-body.nml dl.dl_last_name {
    display: block;
    width: 100%;
  }
  .form-body.nml dl.dl_first_name dt,
  .form-body.nml dl.dl_last_name dt {
    white-space: nowrap;
    padding: 2.0rem 0 0;
  }
}
.form-body.nml dl dt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: left;
  padding: 2.0rem 0 0;
}
.form-body.nml dl dd {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 1.0rem 0 2.0rem;
  margin: 0;
}
.form-body.nml dl dd .aform-input-example {
  width: 100%;
}
.form-body.nml dd input[type=text],
.form-body.nml dd input[type=email],
.form-body.nml dd input[type=tel],
.form-body.nml dd textarea,
.form-body.nml dd select {
  font-size: 1.6rem;
  background: rgba(244, 244, 244, 0.8);
  padding: 1.6rem;
  border: none;
  border-radius: .5rem;
  width: 100%;
}
.form-body.nml dd input.half[type=text] {
  width: 85%;
}
.form-body.nml dd input.half2[type=text],
.form-body.nml dd input.half2[type=tel] {
  width: 50%;
}
.form-body.nml dd input.half3[type=text] {
  width: 65%;
}
.form-body.nml dd select.half {
  width: 50%;
}
.form-body.nml dd select.date_select {
  width: 20%;
}
.form-body.nml dd .aform-calendar + label {
  margin-right: 0 5px;
}
.form-body.nml .aform-button-area input {
  font-size: 1.6rem;
  border: .2rem solid #C5304C;
  padding: 3.0rem 10.0rem;
  position: relative;
  background-image: url(../img/common/link_ic02_r.svg), linear-gradient(to right, #FFF 50%, #C5304C 50%);
  background-size: 3.6rem 3.6rem, 200% 100%;
  background-position: top 2.6rem right 1.8rem, 100% 0;
  background-repeat: no-repeat;
  cursor: pointer;
  transition: color .3s, background-position .3s, background-image .3s;
  width: 100%;
  border-radius: 9999px;
  color: transparent !important;
  line-height: normal;
  margin: 0;
}
.form-body.nml .aform-button-area input:hover {
  background-image: url("../img/common/link_ic02_r-rev.svg"), linear-gradient(to right, #FFF 50%, #C5304C 50%);
  background-position: top 2.6rem right 1.8rem, 0 0;
}
form[name="aform-confirm-form"] .aform-button-area input {
  font-family: "I-OTF-UDゴ表示Pro B";
  font-size: 2.0rem;
  border: .2rem solid #C5304C;
  padding: 3.0rem 10.0rem;
  position: relative;
  background-image: url(../img/common/link_ic02_r.svg), linear-gradient(to right, #FFF 50%, #C5304C 50%);
  background-size: 3.6rem 3.6rem, 200% 100%;
  background-position: top 2.6rem right 1.8rem, 100% 0;
  background-repeat: no-repeat;
  cursor: pointer;
  transition: color .3s, background-position .3s, background-image .3s;
  width: 100%;
  border-radius: 9999px;
  color: #FFF;
  line-height: normal;
  margin: 0;
}
form[name="aform-confirm-form"]l .aform-button-area input:hover {
  background-image: url("../img/common/link_ic02_r-rev.svg"), linear-gradient(to right, #FFF 50%, #C5304C 50%);
  background-position: top 2.6rem right 1.8rem, 0 0;
}
.form-body.nml .aform-button-area {
  position: relative;
  padding: 0;
  max-width: 52.4rem;
  margin: 4.0rem auto 0;
}
.form-body.nml .aform-button-area::after {
  font-family: "I-OTF-UDゴ表示Pro B";
  content: "個人情報保護方針に同意し送信する";
  position: absolute;
  top: 50%;
  left: calc(50% - 1.5rem);
  transform: translate(-50%, -50%);
  font-size: 2.0rem;
  font-weight: bold;
  color: #FFF;
  pointer-events: none;
  z-index: 10;
  transition: color .3s;
  white-space: nowrap;
}
.form-body.nml .aform-button-area:hover::after {
  color: #C5304C;
}
.aform-name-ul,
.aform-kana-ul {
  display: flex;
}
.form-body.nml dl.dl_pp {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-bottom: none;
  padding: 3rem 0 0;
  margin: 0;
}
.form-body.nml dl.dl_pp dt .aform-label.pp {
  display: flex;
}
.form-body.nml dl.dl_pp dt a {
  display: flex;
  color: #2F85C5;
  align-items: center;
  gap: 1.0rem;
}
.form-body.nml dl.dl_pp dd {
  padding: 0;
}
.aform-hdln {
  font-family: "I-OTF-UDゴ表示Pro B";
  font-weight: bold;
}
.copyright.form {
  font-size: 1.2rem;
  text-align: center;
}
.form-type .section-wrap {
  max-width: 93.2rem;
}
.form-type .form-container .sec-ttl span {
  display: inline-block;
  font-family: "I-OTF-UDゴ表示Pro B";
  font-weight: bold;
  font-size: 2.0rem;
  padding: 0 0 0 3.0rem;
}
.form-type .form-container p .red {
  color: #C5304C;
}
.form-type .form-container p a {
  color: #2F85C5;
}
.form-type .form-container .note {
  margin: 1.0rem 0 0;
}
.form-type .form-container .note li {
  display: flex;
  gap: .4rem;
  font-size: 1.4rem;
}
.form-type .form-container .note li:before {
  content: "※";
}
.form-type .form-body {
  padding: 4.0rem 0 0;
}
.form-body table {
  width: 100%;
}
.form-body table tr {
  border-bottom: .1rem solid #D1D0D0;
}
.form-body table tr th {
  font-size: 1.8rem;
  font-weight: 500;
  text-align: left;
  padding: 2.0rem 0;
  width: 23.0rem;
}
.form-body table tr th .required {
  display: inline-block;
  position: relative;
}
.form-body table tr th .required:after {
  content: "*";
  color: #C5304C;
  position: absolute;
  top: 0;
  right: -1.2rem;
}
.form-body table tr td {
  font-size: 1.8rem;
  padding: 2.0rem 0;
}
.form-body table tr td ul {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem 5.0rem;
}
.form-body table tr td span {
  display: inline-block;
  padding: 0 1.0rem 0 3.0rem;
}
.form-body table tr td span:first-child {
  padding: 0 1.0rem 0 0;
}
.form-body table tr td input[type=text] {
  font-size: 1.6rem;
  background: rgba(244, 244, 244, 0.8);
  padding: 1.6rem;
  border: none;
  border-radius: .5rem;
  width: 100%;
}
.form-body table tr td input[type=email] {
  font-size: 1.6rem;
  background: rgba(244, 244, 244, 0.8);
  padding: 1.6rem;
  border: none;
  border-radius: .5rem;
  width: 100%;
}
.form-body table tr td input[type=tel] {
  font-size: 1.6rem;
  background: rgba(244, 244, 244, 0.8);
  padding: 1.6rem;
  border: none;
  border-radius: .5rem;
  width: 100%;
}
.form-body table tr td textarea {
  font-size: 1.6rem;
  background: rgba(244, 244, 244, 0.8);
  padding: 1.6rem;
  border: none;
  border-radius: .5rem;
  width: 100%;
  height: 15.6rem;
}
.form-body table tr td textarea::placeholder {
  color: #BCBCBC;
}
.form-body table tr td input.half {
  width: 42%;
}
.form-body table tr td input::placeholder {
  color: #BCBCBC;
}
.form-body input[type=checkbox] {
  margin: 0 .6rem 0 0;
}
.form-body .agreement {
  font-size: 1.8rem;
  text-align: center;
  margin: 4.0rem 0 0;
}
.form-body .agreement a {
  color: #2F85C5;
}
.form-body .submit {
  display: flex;
  justify-content: center;
  gap: 4.0rem;
  margin: 4.0rem 0 0;
}
.form-body .submit input {
  font-size: 2.0rem;
  font-weight: 600;
  color: #FFF;
  border: .2rem solid #C5304C;
  border-radius: 100rem;
  padding: 3.0rem 10.0rem;
  position: relative;
  background-image: url("../img/common/link_ic02_r.svg"), linear-gradient(to right, #FFF 50%, #C5304C 50%);
  background-size: 3.6rem 3.6rem, 200% 100%;
  background-position: top 2.6rem right 1.8rem, 100% 0;
  background-repeat: no-repeat;
  cursor: pointer;
  transition: color .3s, background-position .3s, background-image .3s;
}
.form-body .submit input:hover {
  color: #C5304C;
  background-image: url("../img/common/link_ic02_r-rev.svg"), linear-gradient(to right, #FFF 50%, #C5304C 50%);
  background-position: top 2.6rem right 1.8rem, 0 0;
}
.form-container.confirm {
}
.form-container.confirm .aform-header {
  display: flex;
  align-items: flex-start;
  gap: 2.4rem;
  font-size: 3.2rem;
  font-family: "I-OTF-UDゴ表示Pro B";
  font-weight: bold;
  letter-spacing: .03em;
  line-height: 1.5;
  display: flex;
  align-items: flex-start;
  gap: 2.4rem;
  font-size: 3.2rem;
  font-weight: 500;
  letter-spacing: .03em;
  line-height: 1.5;
  margin-top: 0;
}
.form-container.confirm .aform-header:before {
  content: "";
  width: .6rem;
  height: 3.4rem;
  background: #2F85C5;
  margin: .7rem 0 0;
  content: "";
  width: .6rem;
  height: 3.4rem;
  background: #2F85C5;
  margin: .7rem 0 0;
}
.form-container.confirm dl {
  display: flex;
  gap: 1rem 4.0rem;
  border-bottom: 1px dotted #ccc;
}
.form-container.confirm .aform-hdln {
  border-bottom: 1px solid #ccc;
}
.form-container.confirm dl dt {
  width: 25%;
}
.form-container.confirm dl dt a {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.form-container.confirm dl dt .aform-label.pp {
  display: flex;
}
.form-container.confirm dl dd {
  flex: 1;
}
.form-container.confirm #aform_confirm_msg {
  margin-top: 4.0rem;
  text-align: center;
}
.form-container.confirm .aform-button-area {
  margin-top: 4.0rem;
}
@media only screen and (max-width: 768px) {
  .form-container.confirm dl {
    flex-direction: column;
  }
  .form-container.confirm dl dt {
    width: 100%;
  }
  .form-container.confirm dl dd {
    padding: 0 2rem;
  }
}
.faq-anchor-nav {
  display: flex;
  gap: 2.0rem;
  margin-bottom: 8.0rem;
}
.faq-anchor-nav li {
  width: calc(25% - 1.5rem);
}
.faq-anchor-nav li a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: 100%;
  min-height: 6.0rem;
  background: #FFF;
  border: 1px solid #E5E5E5;
  border-radius: 4px;
  color: #333;
  line-height: 1.4;
  padding: 1.0rem 3.0rem 1.0rem 1.0rem;
  position: relative;
  text-decoration: none;
  transition: all 0.3s;
}
.faq-anchor-nav li a::after {
  content: "";
  position: absolute;
  right: 1.5rem;
  top: 45%;
  width: 0.7rem;
  height: 0.7rem;
  border-bottom: 1px solid #999;
  border-right: 1px solid #999;
  transform: rotate(45deg);
  transition: border-color 0.3s;
}
.faq-anchor-nav li a:hover {
  border-color: #2F85C5;
  color: #2F85C5;
}
.faq-anchor-nav li a:hover::after {
  border-color: #2F85C5;
}
.faq-list {
  width: 100%;
  margin-bottom: 8.0rem;
}
.faq-list:last-child {
  margin-bottom: 0;
}
.faq-list li {
  border-bottom: 1px solid #D1D0D0;
}
.faq-list a {
  display: flex;
  align-items: flex-start;
  padding: 2.5rem 0 2.5rem 1.0rem;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.faq-list a:hover {
  color: #2F85C5;
}
.faq-list a:hover:after {
  background: url("../img/common/link_ic02_b.svg") no-repeat center/contain;
}
.faq-list a:after {
  content: "";
  width: 3.6rem;
  height: 3.6rem;
  background: url(../img/common/link_ic02_w.svg) no-repeat center/contain;
  transition: all 0.3s ease;
}
.faq-list .q-mark {
  display: block;
  font-size: 2.8rem;
  font-weight: 700;
  color: #2F85C5;
  margin: .3rem 2.5rem 0 0;
  line-height: 1;
  font-family: Arial, Helvetica, sans-serif;
  flex-shrink: 0;
}
.faq-list .txt {
  flex: 1;
  font-size: 1.8rem;
  padding: 0 1.5rem 0 0;
}
.about-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.2rem;
}
.about-card {
  position: relative;
  display: block;
  width: 100%;
  border-radius: 0.5rem;
  border: .1rem solid #D1D0D0;
  overflow: hidden;
  background: #F8F8F7;
  text-decoration: none;
  transition: opacity 0.3s;
}
.about-card .bg-img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.about-card .bg-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}
.about-card .card-content {
  position: relative;
  z-index: 5;
  padding: 2.6rem 2.0rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.about-card .ttl {
  font-size: 2.6rem;
  font-weight: 500;
  letter-spacing: .03em;
  line-height: 1.4;
  color: #25406C;
  text-shadow: 3px 3px 5px rgba(255, 255, 255, 0.8), -3px 3px 5px rgba(255, 255, 255, 0.8), 3px -3px 5px rgba(255, 255, 255, 0.8), -3px -3px 5px rgba(255, 255, 255, 0.8);
  transition: .2s;
}
.about-card .icon-arrow {
  display: block;
  width: 3.6rem;
  height: 3.6rem;
  background: no-repeat url("../img/common/link_ic02_w.svg") center/contain;
  position: absolute;
  bottom: 2.0rem;
  right: 2.0rem;
  transition: background 0.3s;
}
a.about-card.hover-win::after {
  z-index: 3;
}
a.about-card:hover .ttl {
  color: #FFF;
  text-shadow: none;
}
.about-card.area-sustainability .ttl {
  letter-spacing: -.05em;
}
.area-business {
  grid-column: span 2;
  grid-row: span 2;
  min-height: 32.0rem;
}
.area-philosophy {
  grid-column: span 2;
  min-height: 20.0rem;
}
.area-message {
  grid-column: span 2;
  min-height: 20.0rem;
}
.area-quality {
  grid-column: span 1;
  aspect-ratio: 1 / 0.75;
  min-height: 20.0rem;
}
.area-health {
  grid-column: span 1;
  aspect-ratio: 1 / 0.75;
  min-height: 20.0rem;
}
.area-environment {
  grid-column: span 1;
  aspect-ratio: 1 / 0.75;
  min-height: 20.0rem;
}
.area-sustainability {
  grid-column: span 1;
  aspect-ratio: 1 / 0.75;
  min-height: 20.0rem;
}
.area-locations {
  grid-column: span 1;
  grid-row: span 2;
}
.area-profile {
  grid-column: span 1;
  grid-row: span 2;
}
.about-sub-links {
  padding: 8.0rem 0 0;
}
.about-sub-list {
  display: flex;
  justify-content: center;
  gap: 4.0rem 8.0rem;
}
.sub-link-item {
  width: 100%;
  max-width: 35.2rem;
  text-align: center;
  text-decoration: none;
  color: #333;
}
.sub-link-item a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.0rem;
  font-weight: 600;
  letter-spacing: .03em;
  color: #FFF;
  height: 14.1rem;
  border-radius: .5rem;
}
.sub-link-item span {
  z-index: 1;
}
.sub-link-item p {
  margin: 1.0rem 0 0;
}
.sub-link-item.whats a {
  background: url("../img/common/bg_external02.png") center/cover;
}
.sub-link-item.recruit a {
  background: url("../img/common/bg_external04.png") center/cover;
}
.term-description {
  margin-bottom: 11.0rem;
}
.term-description p {
  font-size: 1.8rem;
  line-height: 2.0;
}
.related-products-area {
  margin-bottom: 8.0rem;
}
.product-grid.glossary-products {
  display: flex;
  flex-wrap: wrap;
  gap: 5.0rem;
  justify-content: flex-start;
}
.product-grid.glossary-products .product-card {
  width: calc((100% - 10.0rem) / 3);
}
.product-grid.glossary-products .product-card a {
  display: flex;
  align-items: center;
  gap: 2.0rem;
}
.product-grid.glossary-products .product-card a:hover .ph {
  border: 1px solid #2F85C5;
}
.product-grid.glossary-products .product-card a:hover .name {
  color: #2F85C5;
  text-decoration: underline;
}
.product-grid.glossary-products .product-card a:hover .sub {
  color: #2F85C5;
  text-decoration: underline;
}
.product-grid.glossary-products .product-card .ph {
  height: 14.0rem;
  width: 14.0rem;
  background: #FFF;
  border: 1px solid #D1D0D0;
  border-radius: .5rem;
  margin: 0;
  padding: 2rem;
  transition: .3s;
}
.product-grid.glossary-products .product-card .ph img {
  width: auto;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
}
.product-grid.glossary-products .product-card .card-body {
  flex: 1;
  text-align: left;
  padding: 0;
}
.product-grid.glossary-products .product-card .name {
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 1.6;
  margin: 0;
}
.product-grid.glossary-products .product-card .name span {
  display: block;
  font-size: 1.4rem;
}
.product-grid.glossary-products .product-card .sub {
  font-size: 1.0rem;
  margin: .2rem 0 0;
}
.category-lead {
  padding: 0 0 8.0rem;
}
.main-content .category-lead .introduction.v2 {
  margin: 0;
}
.category-lead .category-lead-img {
  display: block;
  margin: 8.0rem 0 4.0rem;
}
.search-category .c-btn {
  display: flex;
  justify-content: center;
  margin: 4.0rem 0 0;
  gap: 2.0rem 4.0rem;
}
.category-lead-btn .c-btn {
  display: flex;
  justify-content: center;
  margin: 0;
  gap: 2.0rem 4.0rem;
}
@media screen and (max-width: 460px) {
  .search-category .c-btn,
  .category-lead-btn .c-btn {
    flex-direction: column;
    align-items: center;
  }
}
.search-category .c-btn a,
.category-lead-btn .c-btn a,
.discontinued .c-btn a {
  display: inline-flex;
  width: auto;
  padding: 1.5rem 2.5rem 1.5rem 3.0rem;
}
.search-category {
  margin: 0 0 5.8rem;
}
.search-category-accordion {
  width: 100%;
  padding: 0 0 4.0rem;
}
.lower .search-category-accordion:last-child {
  padding: 0;
}
.accordion-header {
  background-color: #E7F2F8;
  padding: 1.5rem 2.0rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background-color 0.3s;
  cursor: pointer;
}
.accordion-header:hover {
  background-color: #e1f0f8;
}
.search-category-header {
  background-color: #E7F2F8;
  padding: 1.5rem 2.0rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background-color 0.3s;
}
.accordion-title {
  font-size: 2.0rem;
  color: #2F85C5;
  font-weight: 600;
  margin: 0;
}
.search-category-title {
  font-size: 2.0rem;
  color: #2F85C5;
  font-weight: 600;
  margin: 0;
}
.inquiry .accordion-title {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  font-size: min(3.6vw, 2.4rem);
  font-weight: 500;
  color: #535353;
}
.inquiry .accordion-title::before {
  content: "●";
  font-size: 1.0rem;
  color: #2F85C5;
}
.inquiry .accordion-inner {
  padding: 2.6rem 3.0rem;
  border-left: 1.0rem solid #E7F2F8;
  border-right: 1.0rem solid #E7F2F8;
}
.inquiry .category-link-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem 1.0rem;
}
.pageSlug-support_inquiry_index .inquiry .category-link-list {
  flex-direction: column;
}
.inquiry .category-link-list li {
  width: calc((100% - 1rem) / 2);
}
.pageSlug-support_inquiry_index .inquiry .category-link-list li {
  width: 100%;
}
.inquiry .category-link-list a {
  display: inline-flex;
  align-items: flex-start;
  gap: 1.0rem;
  transition: color 0.3s;
}
.inquiry .category-link-list a:hover {
  color: #2F85C5;
}
.inquiry .category-link-list a::before {
  content: "・";
}
.inquiry .category-link-list a::after {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 1px solid #2F85C5;
  border-right: 1px solid #2F85C5;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin: 1.1rem 0 0;
}
.accordion-icon {
  position: relative;
  width: 2.4rem;
  height: 2.4rem;
  display: block;
}
.accordion-icon::before {
  content: "";
  position: absolute;
  background-color: #2F85C5;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease;
  width: 2.4rem;
  height: .4rem;
}
.accordion-icon::after {
  content: "";
  position: absolute;
  background-color: #2F85C5;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease;
  width: .4rem;
  height: 2.4rem;
  opacity: 1;
  transform: translate(-50%, -50%) rotate(90deg);
}
.accordion-header.is-open .accordion-icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
  opacity: 1;
}
.accordion-body {
  display: none;
}
.accordion-inner {
  border-bottom: 1.0rem solid #E7F2F8;
}
.industry .accordion-inner {
  padding: 2.6rem 3.0rem;
}
.industry .category-link-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.0rem 4.0rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.industry .category-link-list a {
  display: inline-flex;
  align-items: center;
  color: #555;
  font-size: 1.8rem;
  text-decoration: none;
  transition: color 0.3s;
}
.industry .category-link-list a:hover {
  color: #2F85C5;
  text-decoration: underline;
}
.industry .category-link-list a::before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background: url("../img/common/link_ic06.svg") no-repeat center/contain;
  display: inline-flex;
  margin-right: .8rem;
  font-size: 1.2rem;
  flex-shrink: 0;
  padding-left: 1px;
}
.search-category-link-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.0rem;
  padding: 3.0rem 0 0;
}
.btm .search-category-link-list {
  padding: 8.0rem 0 0;
}
.search-category-link-list li {
  width: 20.0rem;
}
@media screen and (max-width: 460px) {
  .search-category-link-list li {
    width: calc((100% - 2.0rem)/2);
  }
}
.search-category-link-list li a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.8rem;
  font-weight: 500;
  color: #FFF;
  border: 1px solid #2F85C5;
  border-radius: .5rem;
  background: #2F85C5;
  padding: .6rem;
  transition: .3s;
}
.search-category-link-list li a:hover {
  color: #2F85C5;
  background: #FFF;
}
.search-category-link-list li a:hover.discontinued {
  color: #F0F0F0;
  background: #2F85C5;
  border: 1px solid #2F85C5;
}
.search-category-link-list li a.discontinued {
  color: #2F85C5;
  background: #F0F0F0;
  border: 1px solid #F0F0F0;
}
.measurement .category-link-list-body {
  padding: 3.0rem;
}
.measurement .category-link-list-body:not(:last-child) {
  border-bottom: 1px solid #D1D0D0;
}
.measurement .category-link-list-body dl {
  display: flex;
  align-items: center;
}
.measurement .category-link-list-body dl dt {
  display: flex;
  align-items: center;
  gap: 1.8rem;
  width: 30.0rem;
}
.measurement .category-link-list-body dl dt img {
  width: 100%;
  max-width: 6.4rem;
}
.measurement .category-link-list-body dl dd {
  flex: 1;
}
.measurement .category-link-list-body dl dd ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1.0rem 4.0rem;
}
.measurement .category-link-list-body dl dd ul li {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.measurement .category-link-list-body dl dd ul li::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.5px 0px 3.5px 6px;
  border-color: transparent transparent transparent #2F85C5;
}
.measurement .category-link-list-body dl dd ul li a {
  text-decoration: underline;
}
.measurement .category-link-list-body dl dd ul li a:hover {
  color: #2F85C5;
  text-decoration: none;
}
.related-product.single .lower {
  gap: 1rem 4rem;
}
.related-product.single .lower .box {
  width: calc((100% - 4rem) / 2);
  flex: 0 1 auto;
}
.related-product.single .lower .box li {
  width: auto;
}
.related-product.single .upper .body .box.list ul li {
  width: auto;
}
.product-ttl {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  font-size: 2.4rem;
  font-weight: 500;
  margin-bottom: 2.0rem;
  padding: 0 0 1.0rem;
  border-bottom: 1px solid #D1D0D0;
}
.product-ttl::before {
  content: "●";
  font-size: 1.0rem;
  color: #2F85C5;
}
.search-filter-box.lower {
  padding: 8.0rem 0 0;
}
.search-filter-box .related-product {
  margin: 4.0rem 0 0;
}
.search-filter-box .sec-body {
  padding: 2.0rem 0 8.0rem;
}
.sec-body.discontinued .c-btn {
  text-align: center;
  padding: 2.0rem 0 0;
}
.sec-body.discontinued .c-btn a {
  margin: 0 auto;
}
.sec-body.discontinued .c-btn a span {
  font-size: 1.6rem;
}
.cta-inquiry {
  padding: 4.0rem 0 2.0rem;
}
.cta-inquiry .btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.cta-inquiry .btn li {
  width: 48%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 1.8rem;
  text-align: center;
}
.cta-inquiry .btn li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  font-weight: bold;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 1.5em 2em;
  border-radius: 3em;
  margin: 0 0 2.2rem;
}
.cta-inquiry .btn li a::after {
  background-color: #fff;
}
.cta-inquiry .btn li a span {
  display: flex;
  align-items: center;
  gap: 2.0rem;
  font-size: 2.0rem;
  z-index: 1;
}
.cta-inquiry .btn .suppot-btn a {
  background-color: #25406C;
  border: 2px solid #25406C;
  color: #fff;
}
.cta-inquiry .btn .suppot-btn a:hover span {
  color: #25406C;
  z-index: 1;
}
.cta-inquiry .btn .suppot-btn a:hover span::before {
  background: url(../img/common/ic_support-db.svg) no-repeat center/contain;
}
.cta-inquiry .btn .suppot-btn a span::before {
  content: "";
  width: 2.8rem;
  height: 2.9rem;
  display: block;
  background: url(../img/common/ic_support.svg) no-repeat center/contain;
}
.cta-inquiry .btn .contact-btn a {
  background-color: #C5304C;
  border: 2px solid #C5304C;
  color: #FFF;
}
.cta-inquiry .btn .contact-btn a:hover span {
  color: #C5304C;
  z-index: 1;
}
.cta-inquiry .btn .contact-btn a:hover span::before {
  background: url(../img/common/ic_contact-r.svg) no-repeat center/contain;
}
.cta-inquiry .btn .contact-btn a span::before {
  content: "";
  width: 2.8rem;
  height: 2.2rem;
  display: block;
  background: url(../img/common/ic_contact.svg) no-repeat center/contain;
}
.member-lead-box {
  background: url("../img/under/member/member_lead-bg.svg") center/cover;
  padding: 5.8rem;
  border-radius: .5rem;
  text-align: center;
  margin-top: 8.0rem;
}
.member-lead-box .lead-txt {
  font-size: 2.2rem;
  letter-spacing: .05em;
}
.member-lead-box .member-btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 3.8rem;
  gap: 4%;
}
.member-lead-box .member-btns li {
  width: 48%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.member-lead-box .member-btns li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  font-size: 2.0rem;
  font-weight: bold;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 1.5em 2em;
  border-radius: 3em;
}
.member-lead-box .member-btns li a span {
  position: relative;
  padding-left: 2.5em;
}
.member-lead-box .member-btns li a.login {
  background-color: #fff;
  border: 2px solid #2F85C5;
  color: #2F85C5;
}
.member-lead-box .member-btns li a.login span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 1.5em;
  height: 1.5em;
  display: block;
  -webkit-mask: url(../img/common/member_ic4.svg) no-repeat center/contain;
  mask: url(../img/common/member_ic4.svg) no-repeat center/contain;
  background-color: #2F85C5;
}
.member-lead-box .member-btns li a.login::after {
  background-color: #2F85C5;
}
.member-lead-box .member-btns li a.login:hover span {
  color: #fff;
  z-index: 1;
}
.member-lead-box .member-btns li a.login:hover span::before {
  background-color: #fff;
}
.member-lead-box .member-btns li a.regist {
  background-color: #25406C;
  border: 2px solid #25406C;
  color: #fff;
}
.member-lead-box .member-btns li a.regist::after {
  background-color: #fff;
}
.member-lead-box .member-btns li a.regist span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 1.5em;
  height: 1.5em;
  display: block;
  -webkit-mask: url(../img/common/member_ic5.svg) no-repeat center/contain;
  mask: url(../img/common/member_ic5.svg) no-repeat center/contain;
  background-color: #fff;
}
.member-lead-box .member-btns li a.regist:hover span {
  color: #25406C;
  z-index: 1;
}
.member-lead-box .member-btns li a.regist:hover span::before {
  background-color: #25406C;
}
.member-contents-sec {
  margin-bottom: 8.0rem;
}
.member-image-sec {
  margin-bottom: 2.0rem;
}
.sec-desc {
  margin-bottom: 6.0rem;
}
.service-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 4.0rem 4.5rem;
}
.service-item {
  width: calc((100% - 9.0rem) / 3);
}
.service-item .ph {
  width: 100%;
  margin-bottom: 2.0rem;
  border-radius: 0.5rem;
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .service-item figure:not(:last-child).ph {
    margin-bottom: 2rem;
  }
  .site-image-grid .image-item figure:not(:last-child) {
    display: inline-block;
    margin-bottom: 1.4rem;
  }
}
.service-item .ph img {
  width: 100%;
  height: auto;
  display: block;
}
.service-item .ph span {
  display: inline-block;
  font-size: 2.6rem;
  font-family: "I-OTF-UDゴ表示Pro B";
  font-weight: bold;
  line-height: 1.6;
  color: #FFF;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  white-space: nowrap;
  text-shadow: 0px 0px 14px black, 0px 0px 8px black;
}
.site-image-grid {
  display: flex;
  justify-content: space-between;
  gap: 3.0rem 3.9rem;
}
.image-item {
  width: calc((100% - 7.8rem) / 3);
  text-align: center;
}
.image-item figure {
  margin-bottom: 2.0rem;
}
.image-item figure img {
  width: 100%;
  height: auto;
  display: block;
}
.image-item .caption {
  font-size: 2.0rem;
  font-weight: 600;
}
.mainvisual.exhibition {
  background: no-repeat url("../img/under/event/exhibition_main_bg.png") center/cover;
}
.mainvisual.seminar {
  background: no-repeat url("../img/under/event/seminar_main_bg.png") center/cover;
}
.mainvisual.conference {
  background: no-repeat url("../img/under/event/conference_main_bg.png") center/cover;
}
.page-header.event-header {
  padding-bottom: 2.0rem;
}
.page-header.event-header .tags {
  display: flex;
  align-items: center;
  gap: 1.0rem;
  margin-top: 2.0rem;
}
.page-header.event-header .label-cat {
  color: #FFF;
  display: inline-block;
  font-size: 1.4rem;
  padding: 0.2rem 1.0rem;
  border-radius: 0.5rem;
  width: 10.6rem;
  text-align: center;
}
.page-header.event-header .label-cat.exhibition {
  background-color: #009E96;
}
.page-header.event-header .label-cat.seminar {
  background-color: #2F85C5;
}
.page-header.event-header .label-cat.conference {
  background-color: #8D54A7;
}
.page-header.event-header .label-status {
  background-color: #FFF;
  border: 1px solid #333;
  color: #333;
}
.page-header.event-header .date {
  font-weight: 600;
  letter-spacing: .03em;
}
.event-intro {
  padding: 0 0 8.0rem;
}
@media only screen and (max-width: 768px) {
  .event-intro {
    padding: 0 0 4.0rem;
  }
}
.event-summary-top {
  display: flex;
  gap: 5.0rem;
  align-items: flex-start;
}
.event-summary-top .event-logo {
  max-width: 42.0rem;
  flex-shrink: 0;
}
.event-summary-top .event-logo img {
  width: 100%;
  height: auto;
}
.event-summary-top .summary-txt {
  flex: 1;
  font-size: 1.6rem;
  line-height: 1.8;
}
.event-summary-top .summary-txt p:not(:last-child) {
  margin: 0 0 1.4rem;
}
.event-summary-top .summary-txt .m-btn {
  padding: 2.6rem 0 0;
}
.event-btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.0rem 4.0rem;
  margin: 4.0rem 0 0;
}
.event-btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 29.0rem;
  font-size: 1.6rem;
  font-weight: 500;
  color: #FFF;
  background-color: #C5304C;
  border: 2px solid #C5304C;
  padding: 1.6rem 4.0rem 1.6rem 1.6rem;
  border-radius: 10rem;
  position: relative;
}
.event-btn a.external {
  padding: 1.6rem 5.6rem 1.6rem 1.6rem;
}
.event-btn a:hover {
  color: #C5304C;
}
.event-btn a::before {
  content: "";
  width: 1.8rem;
  height: 1.6rem;
  display: block;
  background: url(../img/common/link_ic06_r-rev.svg) no-repeat center/contain;
  position: absolute;
  right: 1.6rem;
  top: calc(50% - .8rem);
  z-index: 2;
}
.event-btn a:hover::before {
  background: url(../img/common/link_ic06_r.svg) no-repeat center/contain;
}
.event-btn a.external::before {
  content: "";
  width: 3.2rem;
  height: 3.2rem;
  display: block;
  background: url(../img/common/link_ic09.svg) no-repeat center/contain;
  position: absolute;
  right: 1.6rem;
  top: calc(50% - 1.6rem);
  z-index: 2;
}
.event-btn a.external:hover::before {
  background: url(../img/common/link_ic09_r.svg) no-repeat center/contain;
}
.event-btn a.hover-win span {
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
.event-btn a.hover-win::after {
  background-color: #FFF;
}
.event-section {
  margin-bottom: 8.0rem;
  padding: 8.0rem 0;
  background: #E7F2F8;
}
@media only screen and (max-width: 768px) {
  .event-section {
    padding: 4.0rem 0;
    margin-bottom: 0;
  }
}
.event-section .main-content > p {
  margin: 0 0 4.0rem;
}
.event-info-table {
  width: 100%;
}
.event-info-table th {
  padding: 2.0rem;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.6;
  background: #FFF;
  width: 20%;
  font-weight: 600;
  letter-spacing: .1em;
  white-space: nowrap;
  border-right: .4rem solid #E7F2F8;
}
.event-info-table td {
  padding: 2.0rem;
  text-align: left;
  font-size: 1.6rem;
  line-height: 1.6;
  background: #FFF;
  background-color: #FFF;
}
.event-info-table tr:nth-child(even) th {
  background: #F5F9FC;
}
.event-info-table tr:nth-child(even) td {
  background: #F5F9FC;
}
.event-info-table td .remarks {
  font-size: 1.5rem;
  color: #8E5C2A;
  padding-left: 1em;
}
.event-info-table td .remarks li {
  text-indent: -1em;
}
.event-info-table a {
  position: relative;
  color: #2F85C5;
}
.event-info-table a[target="_blank"] {
  margin-right: 0;
}
.event-info-table a[target="_blank"]:after {
  content: "";
  display: inline-block;
  width: 1.6rem;
  height: 1.5rem;
  background: no-repeat url("../img/under/ic_external-blue.svg") center/contain;
  vertical-align: middle;
  margin-left: 0.6rem;
  margin-top: -0.4rem;
  transition: all 0.3s;
}
.event-info-table a[target="_blank"]:hover:after {
  background: no-repeat url("../img/under/ic_external-blue.svg") center/contain;
}
.event-info-table a.pdf-link[target="_blank"]:after {
  content: "PDF";
  width: auto;
  height: auto;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.0;
  color: #FFF;
  letter-spacing: .15em;
  background: #2F85C5;
  padding: .2rem .8rem;
  border-radius: 30rem;
  position: static;
  margin: 0 0 0 1.0rem;
}
.event-section .main-content .m-btn {
  margin: 4.0rem 0 0;
}
.exhibit-section {
  margin: 0;
}
.exhibit-section .sec-ttl {
  margin-top: 8rem;
}
.exhibit-section p + p {
  margin-top: 1em;
}
.exhibit-list {
  display: flex;
  flex-direction: column;
  gap: 3.0rem;
  margin-bottom: 4.0rem;
}
.exhibit-item {
  border-radius: 0.5rem;
  padding: 0 0 3.0rem;
}
.exhibit-item:not(:first-child) {
  border-bottom: 1px solid #D1D0D0;
}
.exhibit-item .item-main {
  display: flex;
  gap: 4.0rem;
  align-items: flex-start;
}
.exhibit-item .prod-img {
  display: flex;
  flex-direction: column;
  width: 31.5rem;
}
.exhibit-item .prod-img a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: .1rem solid #FFF;
  border-radius: .5rem;
  position: relative;
  transition: .3s;
  flex-grow: 1;
}
.exhibit-item .prod-img a:not(.nolink):hover {
  border: .1rem solid #2F85C5;
  background: #E5F0FA;
}
.exhibit-item .prod-img a:not(.nolink):hover figure {
  background: #E5F0FA;
}
.exhibit-item .prod-img a:not(.nolink):hover::after {
  content: "";
  width: 2.0rem;
  height: 1.8rem;
  background: no-repeat url("../img/common/link_ic03.svg") center/contain;
  position: absolute;
  right: 1.6rem;
  bottom: 1.4rem;
}
.exhibit-item .prod-img a p {
  display: block;
  font-size: 1.4rem;
  padding: 1.6rem 2.0rem;
  line-height: 1.6;
}
.exhibit-item .prod-img a p .p-name {
  display: flex;
  align-items: center;
  gap: 1.0rem;
  font-size: 2.4rem;
  font-weight: 400;
}
.exhibit-item .prod-img a figure {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 18.7rem;
  border-radius: .5rem;
  padding: 1.0rem;
  background: #F8F8F7;
  transition: .3s;
}
.exhibit-item .prod-img a figure img {
  width: 29.3rem;
  height: 16.7rem;
  object-fit: contain;
}
.exhibit-item .prod-info {
  flex: 1;
}
.exhibit-item .prod-info h3 {
  display: flex;
  align-items: flex-start;
  gap: 1.4rem;
  font-size: 2.2rem;
  font-weight: 500;
  margin: 0 0 1.0rem;
}
@media only screen and (max-width: 768px) {
  .exhibit-item .prod-info:not(.sp) h3 {
    display: none;
  }
}
.exhibit-item .prod-info h3::before {
  content: "●";
  font-size: 1.0rem;
  color: #2F85C5;
  padding-top: .9rem;
}
.exhibit-item .prod-info .desc {
  margin-bottom: 2.2rem;
}
.exhibit-item .prod-info .feat-list {
  padding-left: 0;
}
.exhibit-item .prod-info .feat-list li {
  font-weight: 600;
  margin-bottom: 0.5rem;
  padding-left: 2.2rem;
  text-indent: -2.2rem;
}
.exhibit-item .prod-info .feat-list li::before {
  content: "・";
  color: #95BDDB;
  margin: 0 .6rem 0 0;
}
.exhibit-item .prod-info .content-img {
  display: flex;
  gap: 3.0rem;
  margin: 2.0rem 0 0;
  justify-content: flex-start;
}
.exhibit-item .prod-info .content-img figure {
  max-width: calc((100% - 3.0rem) / 2);
  width: auto;
}
.exhibit-item .prod-info .content-img figure:only-child {
  max-width: 100%;
  width: auto;
}
.exhibit-item .prod-info .content-img figure img {
  max-width: 100%;
  width: 100%;
  height: auto;
}
.exhibit-item .prod-info .content-img figure.content-img-fixed,
.exhibit-item .prod-info .content-img figure.content-img-fixed:only-child {
  max-width: 25.0rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .exhibit-item .prod-info .content-img {
    flex-direction: column;
    align-items: center;
  }
  .exhibit-item .prod-info .content-img figure {
    max-width: 100%;
    text-align: center;
  }
}
.recommend-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 3.9rem;
  row-gap: 0;
  margin-bottom: 4.0rem;
}
@media screen and (max-width: 768px) {
  .recommend-grid {
    grid-template-columns: 1fr;
  }
  .recommend-card .division {
    flex-direction: row;
  }
}
.recommend-card {
  width: 100%;
  border-radius: 5px;
  overflow: hidden;
  transition: all 0.3s;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 6;
  margin-bottom: 3.9rem;
}
.recommend-card a {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 6;
  border-radius: .5rem;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
}
.recommend-card a.cover-btn::before,
.related-movie a.cover-btn::before {
  background-color: rgba(0, 0, 0, 0.2);
}
.recommend-card .card-img {
  display: flex;
  align-items: center;
  margin: 0;
  height: 100%;
}
.recommend-card .card-body {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 5;
  padding: 2.4rem 3.0rem;
  background: #F8F8F7;
}
.recommend-card .division {
  display: flex;
  flex-wrap: wrap;
  gap: 1.0rem;
  text-align: center;
  margin: 0 0 2.0rem;
  align-self: start;
}
.recommend-card .cat-label {
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1.2;
  color: #FFF;
  padding: 0.2rem;
  border-radius: .5rem;
  width: 10.6rem;
  white-space: nowrap;
}
.recommend-card .tab-label {
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1.2;
  color: #535353;
  padding: 0.2rem 1.0rem;
  border-radius: .5rem;
  min-width: 10.6rem;
  white-space: nowrap;
}
.recommend-card .cat-label.exhibition {
  border: 1px solid #1C8464;
  background: #1C8464;
}
.recommend-card .cat-label.seminar {
  border: 1px solid #2F85C5;
  background-color: #2F85C5;
}
.recommend-card .cat-label.event {
  border: 1px solid #8D54A7;
  background-color: #8D54A7;
}
.recommend-card .cat-label.conference {
  border: 1px solid #8D54A7;
  background-color: #8D54A7;
}
.recommend-card .cat-label.interview,
.recommend-card .cat-label.introduce {
  color: #2F85C5;
  border: 1px solid #2F85C5;
  background-color: #FFF;
}
.recommend-card .cat-label.webseminar {
  border: 1px solid #2F85C5;
  background-color: #2F85C5;
}
.recommend-card .tab-label {
  border: 1px solid #D1D0D0;
  background-color: #FFF;
}
.recommend-card .status {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.2;
  padding: 0.2rem 1.0rem;
  border-radius: .5rem;
  border: 1px solid #C5304C;
  width: 100%;
  max-width: 15.8rem;
  flex: 1;
  white-space: nowrap;
}
.recommend-card .status.currently {
  color: #FFF;
  background: #C5304C;
}
.recommend-card .status.scheduled {
  color: #C5304C;
  background: #FFF;
}
.recommend-card .status.closed {
  color: #535353;
  background: #FFF;
  border: 1px solid #535353;
}
.recommend-card .ttl {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.6;
  padding: 0 0 2.0rem;
  margin: 0;
}
.recommend-card .outline {
  padding: 2.0rem 0;
  border-top: 1px dotted #535353;
  border-bottom: 1px dotted #535353;
  margin: 0;
}
.recommend-card .outline li {
  display: flex;
  font-weight: 600;
}
.recommend-card .outline li span:first-child {
  white-space: nowrap;
  font-weight: 400;
}
.recommend-card .outline li span:not(:first-child) {
  flex: 1;
}
.recommend-card .txt {
  padding: 2.0rem 0;
  margin: 0;
}
.recommend-card .more {
  display: flex;
  align-items: center;
  gap: 1.0rem;
  font-size: 1.2rem;
  font-weight: 600;
  align-self: end;
  margin-top: 1.0rem;
}
.recommend-card .more::before {
  content: "";
  width: 3.6rem;
  height: 3.6rem;
  background: no-repeat url(../img/common/link_ic02.svg) center/contain;
}
.seminar-list-section:not(:last-child) {
  padding: 0 0 8.0rem;
}
.seminar-list-section .recommend-grid {
  margin-bottom: 0;
}
.seminar-section {
  padding: 0 0 4.0rem;
}
.seminar-section > p:not(:last-child) {
  margin: 0 0 4.0rem;
}
.seminar-section .seminar-img {
  display: flex;
  justify-content: center;
  gap: 4.0rem;
}
.seminar-section .list-dot {
  padding: 0 0 0 2rem;
  list-style: disc;
}
.seminar-section .border-textbox {
  margin: 0 0 2.0rem;
}
@media screen and (max-width: 768px) {
  .seminar-section .seminar-img {
    flex-direction: column;
  }
}
.seminar-section .seminar-img:not(:last-child) {
  margin: 0 0 4.0rem;
}
.seminar-section .seminar-img figure {
  width: calc((100% - 4.0rem)/2);
}
@media screen and (max-width: 768px) {
  .seminar-section .seminar-img figure {
    width: 100%;
  }
}
.pageSlug-seminarSearchDetail .c-btn {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
}
.pageSlug-seminarSearchDetail .c-btn a {
  width: auto;
  max-width: initial;
}
@media screen and (max-width: 768px) {
  .pageSlug-seminarSearchDetail .c-btn {
    flex-direction: column;
    align-items: center;
  }
  .pageSlug-seminarSearchDetail .c-btn a {
    width: 100%;
    max-width: 40rem;
  }
}
.program-section .sec-ttl-sub {
  margin: 6.0rem 0 0;
}
.program-section .sec-ttl + .sec-ttl-sub {
  margin: 4.0rem 0 0;
}
.program-section .sec-ttl-sub2 {
  margin: 4.0rem 0 1.2rem;
}
.program-section .sec-ttl-sub + .sec-ttl-sub2 {
  margin: 3.0rem 0 1.2rem;
}
.seminar-section .sec-ttl-sub h4,
.program-section .sec-ttl-sub2 h4 {
  font-size: 2.0rem;
  font-weight: 600;
  color: #2F85C5;
}
.service_system-section,
.program-section,
.precautions-section {
  padding: 0 0 8.0rem;
}
.program-table {
  width: 100%;
}
.program-table tr:not(:last-child) {
  border-bottom: 4.0rem solid #FFF;
}
@media only screen and (max-width: 768px) {
  .program-table tr:not(:last-child) {
    border-bottom: 1.0rem solid #FFF;
  }
}
table.program-table + table.program-table {
  margin-top: 1.0rem;
}
table.program-table {
  margin-bottom: 2.0rem;
}
table.program-table + table.program-table {
  margin-top: 0.4rem;
}
table.program-table:has(+ table.program-table) {
  margin-bottom: 0;
}
table.program-table:has(+ .sec-ttl-sub) {
  margin-bottom: 4.0rem;
}
.program-table th {
  font-weight: 600;
  width: 20.0rem;
  background: #F0F0F0;
  border-right: .4rem solid #FFF;
  padding: 1.3rem 1.0rem;
}
.program-table tr > th:first-child:last-child {
  display: inline-block;
}
.program-table td {
  font-weight: 600;
  background: #F8F8F7;
  padding: 1.3rem 2.0rem;
}
@media only screen and (max-width: 480px) {
  .program-table th {
    display: block;
    width: 100%;
    text-align: left;
    padding: 1.3rem 2.0rem;
    border-right: none;
    border-bottom: .4rem solid #FFF;
  }
  .program-table td {
    display: block;
  }
}
.program-section .program-table + p {
  margin: 2.0rem 0 0;
}
.program-section p + .program-table {
  margin: 4.0rem 0 0;
}
.precautions-section ul {
  padding: 0 0 0 2rem;
  list-style: disc;
}
.support-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #D1D0D0;
  line-height: 1.8;
}
.support-table th {
  font-weight: 400;
  border-bottom: 1px solid #D1D0D0;
  padding: 2.0rem 2.4rem;
  width: 25%;
  background-color: #F0F0F0;
  white-space: nowrap;
  border-right: 1px solid #D1D0D0;
  vertical-align: top;
  text-align: left;
}
.support-table td {
  border-bottom: 1px solid #D1D0D0;
  padding: 2.0rem 2.4rem;
  vertical-align: top;
  width: 75%;
  background-color: #FFF;
}
.maintenance-endlist {
  margin: 0 0 6.0rem;
}
.maintenance-endlist ol li {
  display: flex;
  gap: 1.6rem;
}
.maintenance-endlist ol li span {
  white-space: nowrap;
}
.maintenance-endlist ol li:not(:last-child) {
  margin: 0 0 1.0rem;
}
.maintenance-endlist p {
  margin: 2.0rem 0 0;
}
.sec-ttl-sub.bdr {
  border-bottom: 1px solid #D1D0D0;
}
.pdf-btn {
  text-align: center;
  margin: 0 0 6.0rem;
}
.pdf-btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .8rem;
  width: 100%;
  max-width: 30.0rem;
  font-size: 1.4rem;
  font-weight: 500;
  margin: 0 auto;
  padding: 1.5rem 1.5rem 1.5rem 2rem;
  border-radius: 3em;
  background-color: #FFF;
  border: 1px solid #535353;
  color: #535353;
  transition: .3s;
}
.pdf-btn a:hover {
  border: 1px solid #2F85C5;
  font-weight: 500;
}
.pdf-btn a:hover .pdf-btn__badge {
  color: #2F85C5;
  background: #FFF;
}
.pdf-btn a:hover span {
  z-index: 1;
  color: #FFF;
}
.pdf-btn a::before {
  content: "PDF";
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.0;
  color: #FFF;
  letter-spacing: .15em;
  background: #2F85C5;
  padding: .4rem .8rem;
  border-radius: 30rem;
  order: 2;
  z-index: 1;
}
.pdf-btn a:hover::before {
  color: #2F85C5;
  background: #FFF;
}
.pdf-btn__badge {
  font-size: 1.1rem;
  line-height: 1.0;
  color: #FFF;
  letter-spacing: .15em;
  background: #2F85C5;
  padding: .4rem .8rem;
  border-radius: 30rem;
  order: 2;
  z-index: 1;
}
.support-content-body {
  margin: 0 0 8.0rem;
}
.support-content-body a {
  color: #2F85C5;
}
.support-content-body h4 {
  font-size: 2.0rem;
  font-weight: 600;
  color: #2F85C5;
  margin: 0 0 1.2rem;
}
.table-of-contents {
  background: #F8F8F7;
  border-radius: .5rem;
  padding: 3.0rem 4.0rem 4.0rem;
  margin: 0 0 8.0rem;
}
.table-of-contents .toc {
  font-size: 2.0rem;
  font-weight: 500;
  text-align: center;
  margin: 0 0 2.0rem;
}
.table-of-contents ol li {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.table-of-contents ol li::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.5px 0px 3.5px 6px;
  border-color: transparent transparent transparent #2F85C5;
}
.table-of-contents ol li:not(:last-child) {
  margin: 0 0 1.0rem;
}
.table-of-contents ol li a {
  text-decoration: underline;
  transition: .3s;
}
.table-of-contents ol li a:hover {
  color: #2F85C5;
}
.support-content-body table td {
  padding: 1rem 1.0rem 1rem;
}
.support-content-body table td p {
  font-size: 1.4rem;
}
.dot-list01 {
  margin: 0 0 6.0rem;
}
.dot-list01 li {
  padding: 0 0 0 1em;
  text-indent: -1em;
}
.dot-list01 li:before {
  content: "・";
  color: #95BDDB;
}
.list-dot {
  list-style: disc;
  margin: 0 0 6.0rem;
  padding: 0 0 0 2rem;
}
.support-content-body .flex-wrap.image .img {
  display: flex;
  gap: 3.0rem;
}
.support-content-body .flex-wrap.image .img figure {
  width: calc((100% - 3.0rem) / 2);
}
.mcpd-inspection {
  display: flex;
}
.mcpd-inspection .check-side {
  width: calc(50% - 25px);
}
.mcpd-inspection .check-side .step {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.2;
  background: #E7F2F8;
  color: #2F85C5;
  text-align: center;
  position: relative;
  height: 6.0rem;
  margin: 0 0 2.0rem;
}
.mcpd-inspection .check-side li:not(:last-child) {
  margin: 0 0 .5rem;
}
.mcpd-inspection .check-side li::before {
  content: "";
  display: inline-block;
  width: 1.3rem;
  height: .9rem;
  background: no-repeat url("../img/common/ic_check.svg") center/contain;
  margin: 0 1.2rem 0 0;
}
.mcpd-inspection .center-block {
  width: 50px;
  position: relative;
}
.mcpd-inspection .center-block::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.35rem 0px 2.35rem 2.4rem;
  border-color: transparent transparent transparent #2F85C5;
  position: absolute;
  left: 2.0rem;
  top: 50%;
}
.mcpd-inspection .issue-side {
  width: calc(50% - 25px);
}
.mcpd-inspection .issue-side .step {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.2;
  background: #2F85C5;
  color: #FFF;
  text-align: center;
  position: relative;
  height: 6.0rem;
  width: calc(100% - 3.0rem);
  margin: 0 0 2.0rem;
}
.mcpd-inspection .issue-side .step::after {
  display: inline-block;
  content: "";
  width: 3.0rem;
  height: 6.0rem;
  border-style: solid;
  border-width: 3.0rem 0px 3.0rem 3.0rem;
  border-color: transparent transparent transparent #2F85C5;
  position: absolute;
  top: 0;
  right: -3.0rem;
  z-index: 20;
}
.download-pdf {
  text-align: center;
}
.download-pdf:has(+ .btn-std.under) {
  margin: 0 0 8.0rem;
}
.download-pdf p {
  font-size: 1.8rem;
  font-weight: 600;
  margin: 0 0 1.6rem;
}
.download-pdf .pdf-btn {
  display: flex;
  justify-content: center;
  gap: 1.0rem 2.0rem;
  margin: 0;
}
.download-pdf .pdf-btn a {
  margin: 0;
}
.news-list ul {
  width: 100%;
}
.news-list li {
  border-bottom: .1rem solid #D1D0D0;
}
.news-list li a {
  display: flex !important;
  align-items: flex-start;
  padding: 1.5rem 0 !important;
  transition: all 0.3s ease;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .news-list li a {
    flex-wrap: wrap;
  }
}
.news-list li a:hover:after {
  background: url("../img/common/link_ic02_b.svg") no-repeat center/contain;
}
.news-list li a:hover .title {
  color: #2F85C5;
}
.news-list li a:after {
  display: inline-block;
  content: "";
  width: 3.6rem;
  height: 3.6rem;
  background: url("../img/common/link_ic02_w.svg") no-repeat center/contain;
  transition: all 0.3s ease;
}
.news-list li a::before {
  display: none;
}
.news-list li a .date {
  width: 12.0rem;
}
.news-list li a .cat {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  width: 10.6rem;
  border-radius: .5rem;
  text-align: center;
  padding: .6rem;
  margin: .4rem 0 0;
}
.news-list li a .cat.news {
  color: #C5304C;
  background: rgba(197, 48, 76, 0.05);
}
.news-list li a .cat.product {
  color: #1C8464;
  background: rgba(11,179,101,0.07);
}
.news-list li a .cat.other {
  color: #2F85C5;
  background: rgba(231, 242, 248, 0.5);
}
.news-list li a .title {
  flex: 1;
  font-weight: 500;
  padding: 0 1.0rem 0 3.0rem;
}
.news-list li:first-child a {
  padding: 0 0 3.0rem 0;
}
.appcase-outline {
  margin: 0 0 4.0rem;
}
.appcase-outline .body {
  display: flex;
  gap: 3.0rem 4.0rem;
}
.appcase-outline .body .text {
  flex: 1;
}
.appcase-outline .body .text a {
  color: #2F85C5;
}
.appcase-outline .body .text a:hover {
  text-decoration: underline;
}
.appcase-outline .body .text .sec-ttl-sub {
  margin: 0;
}
.appcase-outline .body figure {
  width: calc((100% - 4.0rem)/2);
  border: 1px solid #D1D0D0;
  border-radius: .5rem;
  padding: 3.0rem 5.0rem;
}
.appcase .parts {
  margin: 0 0 8.0rem;
}
.appcase .parts .img_center {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 0 4.0rem;
}
.appcase .parts .img_center .caption {
  font-size: 1.4rem;
  margin: 1.0rem 0 0;
}
.appcase .parts .ttl-point {
  margin: 0 0 4.0rem;
}
.appcase .parts .text-box--bg {
  margin: 0 0 4.0rem;
}
.appcase-data {
  margin: 0 0 8.0rem;
}
.appcase-data figure {
  width: min(100%, 700px);
}
.appcase-data figure .caption {
  display: block;
  font-size: 1.4rem;
  text-align: center;
  margin: 1.0rem 0 0;
}
.appcase-download {
  margin: 0 0 8.0rem;
}
.appcase-download .sec-ttl:has(+ .list) {
  margin: 0 0 2.0rem;
}
.appcase-download .list {
  margin: 0 0 2.0rem;
}
.appcase-download .list ul {
  list-style: disc;
  padding-left: 2em;
}
.appcase-download .list ul li::marker {
  color: #2F85C5;
}
.appcase-download .pdf-btn {
  margin: 0 0 3.4rem;
}
.appcase-download .notes {
  color: #C5304C;
  text-align: center;
  margin: 0 0 1.0rem;
}
.appcase-download .text-link {
  text-align: center;
}
.appcase-related {
  margin: 0 0 8.0rem;
}
.appcase-related .body {
  display: flex;
  flex-wrap: wrap;
  gap: 3.0rem 6.0rem;
}
.appcase-related .body .card {
  width: calc((100% - 6.0rem)/2);
}
.appcase-related .body .card a {
  display: flex;
  align-items: center;
  gap: 2.0rem;
}
.appcase-related .body .card a figure {
  width: 14.0rem;
  border: 1px solid #D1D0D0;
  border-radius: .5rem;
  padding: 2.0rem;
  transition: .3s;
}
.appcase-related .body .card a:hover figure {
  border: 1px solid #2F85C5;
}
.appcase-related .body .card a:hover p {
  text-decoration: underline;
  color: #2F85C5;
}
.appcase-related .body .card a p {
  flex: 1;
  font-size: 2.4rem;
  line-height: 1.5;
  transition: .3s;
}
.appcase-related .body .card a p span {
  display: block;
}
.appcase-related .body .card a p .cat {
  font-size: 1.4rem;
}
.appcase-related .body .card a p .sub {
  font-size: 1.0rem;
  line-height: 1.8;
}
.appcase-consul {
  background: url("../img/under/appcase/consul_bg.png") center/cover;
  border-radius: .5rem;
  padding: 5.0rem 2.0rem;
  text-align: center;
  margin: 0 0 4.0rem;
}
.appcase-consul h2 {
  font-size: 2.8rem;
  font-weight: 600;
}
.appcase-consul .contact-btn {
  margin: 3.6rem 0;
}
.appcase-consul .contact-btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 47.0rem;
  font-size: 2.0rem;
  font-weight: bold;
  letter-spacing: .05em;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 1.5em 2em;
  border-radius: 3em;
  background-color: #C5304C;
  border: 2px solid #C5304C;
  color: #FFF;
  margin: 0 auto;
}
.appcase-consul .contact-btn a:hover {
  color: #C5304C;
}
.appcase-consul .contact-btn a:hover span::before {
  background: no-repeat url(../img/common/ic_contact-r.svg) center/contain;
}
.appcase-consul .contact-btn a span {
  display: flex;
  align-items: center;
  gap: 2.0rem;
  z-index: 1;
}
.appcase-consul .contact-btn a span::before {
  display: inline-block;
  content: "";
  width: 2.8rem;
  height: 2.2rem;
  background: no-repeat url(../img/common/ic_contact.svg) center/contain;
}
.appcase-consul .contact-btn a::after {
  background: #FFF;
}
.appcase-consul .telnumber {
  display: flex;
  justify-content: center;
  gap: 0 3.0rem;
}
.appcase-consul .telnumber .body {
  display: flex;
  align-items: center;
  gap: 1.0rem;
}
.appcase-consul .telnumber .body span {
  display: inline-block;
  font-size: 1.5rem;
  font-weight: 500;
  background: #C5304C;
  border-radius: 1.5rem;
  color: #FFF;
  padding: 0 1.6rem;
  white-space: nowrap;
}
.appcase-consul .telnumber .body a {
  font-size: 2.6rem;
  font-weight: 800;
  letter-spacing: .03em;
  white-space: nowrap;
}
.jcss .introduction {
  text-align: center;
}
.jcss .page-container {
  padding: 8.0rem 0 10.0rem;
}
.jcss .range {
  margin: 0 0 8.0rem;
}
.jcss0270 {
  display: flex;
  gap: 4.0rem 4.0rem;
  margin: 4.0rem 0 0;
}
.jcss0270 figure {
  border: 1px solid #D1D0D0;
  border-radius: .5rem;
  padding: 3.0rem 8.0rem;
  text-align: center;
}
.jcss0270 figure img {
  max-width: 23.5rem;
}
.jcss0270 p {
  flex: 1;
}
.busines-content {
  margin: 0 0 8.0rem;
}
.jcss-table {
  width: 100%;
}
.jcss-table caption {
  font-size: 2.0rem;
  font-weight: 600;
  text-align: left;
  margin: 0 0 2.0rem;
}
.jcss-table th {
  font-weight: 600;
  line-height: 1.6;
  background: #F0F0F0;
  border: 1px solid #D1D0D0;
  padding: 2.0rem;
  white-space: nowrap;
}
.jcss-table td {
  border: 1px solid #D1D0D0;
  padding: 2.0rem;
}
.jcss-table td:last-child {
  text-align: center;
}
.jcss-table td:nth-last-child(2) {
  text-align: right;
}
.flow-list {
  padding: 0 9.0rem;
  margin: 0 0 8.0rem;
}
.flow-list-card {
  border: 1px solid #2F85C5;
  border-radius: .5rem;
  padding: 2.0rem 4.0rem;
}
.flow-list-card:not(:last-child) {
  margin: 0 0 4.0rem;
  position: relative;
}
.flow-list-card:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: 2.4rem;
  height: 2.6rem;
  background: no-repeat url("../img/under/support/ic_flow.svg") center/contain;
  position: absolute;
  bottom: -3.4rem;
  left: calc(50% - 1.2rem);
}
.flow-list-card .body {
  display: flex;
  align-items: flex-start;
}
.flow-list-card .body .step {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: .03em;
  color: #2F85C5;
  background: #E7F2F8;
  border-radius: 5.0rem;
  padding: 0 1.4rem;
  margin: 1.8rem 0 0;
  white-space: nowrap;
}
.flow-list-card .body figure {
  margin: 0 3.0rem 0 4.0rem;
}
.main-content .flow-list-card figure:not(:last-child) {
  margin-bottom: 0;
}
.flow-list-card .body .text {
  flex: 1;
}
.flow-list-card .body .text h3 {
  font-size: 2.0rem;
  font-weight: 500;
}
.main-content .flow-list-card .body .text p:not(:has(~ .note)):not(:last-child) {
  margin-bottom: 1rem;
}
.flow-list-card .body .text p a {
  color: #2F85C5;
}
.flow-list-card .body .text p a:hover {
  text-decoration: underline;
}
.flow-list-card .body .text p a:not([class])[target=_blank]:not(:last-child) {
  margin-bottom: 0;
}
.flow-list-card .body .text .pdf-btn {
  margin: 1.6rem 0 0;
}
@media screen and (max-width: 480px) {
  .flow-list-card .body .text .pdf-btn {
    display: flex;
    justify-content: center;
  }
}
.flow-list-card .body .text .pdf-btn a {
  max-width: 22.4rem;
  margin: 0;
}
.main-cta {
  background: no-repeat url("../img/under/support/bg_cta.png") center/cover;
  padding: 5.6rem 5.8rem 6.0rem;
  text-align: center;
}
.main-cta h2 {
  font-size: 2.8rem;
  font-weight: 600;
  margin: 0 0 3.6rem;
  color: #25406C;
}
.main-cta .cta-btns {
  display: flex;
  justify-content: space-between;
}
.main-cta .cta-btns .r-btn {
  width: 47.0rem;
}
.main-cta .cta-btns .r-btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 47.0rem;
  font-size: 2.0rem;
  font-weight: bold;
  letter-spacing: .05em;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 1.5em 2em;
  border-radius: 3em;
  background-color: #25406C;
  border: 2px solid #25406C;
  color: #FFF;
  margin: 0 auto;
}
.main-cta .cta-btns .r-btn a:hover {
  color: #25406C;
  position: relative;
}
.main-cta .cta-btns .r-btn a:hover span::before {
  background: url(../img/common/ic_request-db.svg) no-repeat center/contain;
}
.main-cta .cta-btns .r-btn a span::before {
  content: "";
  width: 2.3rem;
  height: 2.8rem;
  display: block;
  background: url(../img/common/ic_request.svg) no-repeat center/contain;
}
.main-cta .cta-btns .m-btn.v2 a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 47.0rem;
  font-size: 2.0rem;
  font-weight: bold;
  letter-spacing: .05em;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 1.5em 2em;
  border-radius: 3em;
  background-color: #C5304C;
  border: 2px solid #C5304C;
  color: #FFF;
  margin: 0 auto;
}
.main-cta .cta-btns .m-btn.v2 a:hover {
  color: #C5304C;
  position: relative;
}
.main-cta .cta-btns .m-btn.v2 a:hover span::before {
  background: url(../img/common/ic_contact-r.svg) no-repeat center/contain;
}
.main-cta .cta-btns .m-btn.v2 a span::before {
  content: "";
  width: 2.8rem;
  height: 2.2rem;
  display: block;
  background: url(../img/common/ic_contact.svg) no-repeat center/contain;
}
.cta-consultation {
  background: #E7F2F8;
  padding: 7.6rem 0;
  border-bottom: 4px solid #FFF;
}
.cta-consultation h2 {
  font-size: 2.8rem;
  font-weight: 600;
  margin: 0 0 4.6rem;
  color: #25406C;
  text-align: center;
}
.cta-consultation .consul-body {
  display: flex;
  padding: 0 6.0rem;
}
.cta-consultation .section-wrap .consul-body .tel {
  width: 50%;
}
.cta-consultation .section-wrap .consul-body .tel h3 span {
  display: block;
  font-size: 1.6rem;
  font-weight: 400;
}
.cta-consultation .section-wrap .consul-body .tel .telnumber {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 1.0rem 0 0;
}
.cta-consultation .section-wrap .consul-body .tel .telnumber .body {
  display: flex;
  align-items: center;
  gap: 1.0rem;
  line-height: 1.6;
}
.cta-consultation .section-wrap .consul-body .tel .telnumber .body span {
  display: inline-block;
  font-weight: 500;
  background: #C5304C;
  border-radius: 1.5rem;
  color: #FFF;
  padding: 0 1.6rem;
}
.cta-consultation .section-wrap .consul-body .tel .telnumber .body img {
  width: 2.5rem;
}
.cta-consultation .section-wrap .consul-body .tel .telnumber .body a {
  font-size: 3.6rem;
  font-weight: 800;
  letter-spacing: .03em;
}
.cta-consultation .section-wrap .consul-body h3 {
  font-size: 2.0rem;
  font-weight: 600;
  text-align: center;
}
.cta-consultation .section-wrap .consul-body .form {
  width: 50%;
}
.cta-consultation .section-wrap .consul-body .form .contact-btn {
  margin: 1.8rem 0 0;
}
.cta-consultation .section-wrap .consul-body .form .contact-btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 47.0rem;
  font-size: 2.0rem;
  font-weight: bold;
  letter-spacing: .05em;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 1.5em 2em;
  border-radius: 3em;
  background-color: #C5304C;
  border: 2px solid #C5304C;
  color: #FFF;
  margin: 0 auto;
}
.cta-consultation .section-wrap .consul-body .form .contact-btn a:hover {
  color: #C5304C;
  position: relative;
}
.cta-consultation .section-wrap .consul-body .form .contact-btn a:hover span::before {
  background: url(../img/common/ic_contact-r.svg) no-repeat center/contain;
}
.cta-consultation .section-wrap .consul-body .form .contact-btn a span {
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
.cta-consultation .section-wrap .consul-body .form .contact-btn a span::before {
  content: "";
  width: 2.8rem;
  height: 2.2rem;
  display: block;
  background: url(../img/common/ic_contact.svg) no-repeat center/contain;
}
.cta-consultation .section-wrap .consul-body .form .contact-btn a.hover-win::after {
  background-color: #FFF;
}
@media screen and (max-width: 460px) {
  .related-product .btns {
    flex-direction: column;
    align-items: center;
  }
  .related-product .btns .c-btn a,
  .related-product .btns .m-btn a {
    padding: 1.5rem 3.5rem;
  }
  .main-cta .cta-btns .r-btn a {
    font-size: 1.6rem;
  }
  .main-cta .cta-btns .m-btn.v2 a {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 840px) {
  .product-info-box .btns .m-btn a {
    padding: 1.5rem;
  }
}
@media only screen and (max-width: 1180px) {
  .section-wrap.sidenav {
    padding: 0 1.5rem;
  }
}
@media only screen and (max-width: 900px) {
  .about-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .about-card {
    height: 14.0rem;
  }
  .about-card .icon-arrow {
    width: 3.0rem;
    height: 3.0rem;
    bottom: 1.2rem;
    right: 1.2rem;
  }
  .area-business {
    grid-column: span 2;
    min-height: 14.0rem;
  }
  .area-philosophy {
    grid-column: span 1;
    min-height: 14.0rem;
  }
  .area-message {
    grid-column: span 1;
    min-height: 14.0rem;
  }
  .area-locations {
    grid-column: span 1;
    grid-row: span 2;
  }
  .area-profile {
    grid-column: span 1;
    grid-row: span 2;
  }
  .area-quality {
    min-height: 14.0rem;
  }
  .area-health {
    min-height: 14.0rem;
  }
  .area-environment {
    min-height: 14.0rem;
  }
  .area-sustainability {
    min-height: 14.0rem;
  }
  .about-card.area-profile .bg-img img {
    object-position: bottom center;
  }
  .about-sub-list {
    gap: 1.2rem;
  }
  .sub-link-item {
    width: calc((100% - 1.2rem)/ 2);
    max-width: initial;
  }
}
@media screen and (max-width: 768px) {
  .related-product.single .lower .box {
    width: 100%;
  }
  .measurement .category-link-list-body dl {
    flex-direction: column;
    align-items: flex-start;
    gap: 2.0rem;
  }
  .news-list li a {
    display: block;
  }
  .news-list li a .title {
    display: inline-block;
    width: calc(100% - 3.6rem);
    padding: 1.0rem 1.0rem 0 0;
    vertical-align: middle;
    flex: initial;
  }
  .appcase-outline .body {
    flex-direction: column;
    align-items: center;
  }
  .appcase-outline .body .text {
    width: 100%;
  }
  .appcase-outline .body figure {
    width: 100%;
    max-width: 37.0rem;
  }
  .appcase-related .body {
    flex-direction: column;
  }
  .appcase-related .body .card {
    width: 100%;
  }
  .jcss0270 {
    flex-direction: column;
    align-items: center;
    margin: 4.0rem 0;
  }
  .jcss-table-wrap {
    overflow-x: auto;
  }
  .jcss-table {
    min-width: 100.0rem;
  }
  .flow-list-card .body {
    flex-wrap: wrap;
  }
  .main-cta {
    padding: 5.6rem 2.0rem 6.0rem;
  }
  .main-cta .cta-btns .r-btn {
    width: 100%;
  }
  .main-cta .cta-btns .m-btn.v2 {
    width: 100%;
  }
  .cta-consultation .consul-body {
    padding: 0;
  }
}
@media only screen and (max-width: 768px) {
  .page-container {
    padding: 4.0rem 0;
  }
  .mainvisual {
    margin: 0;
    padding: 1.4rem 0 4.0rem;
    min-height: auto;
  }
  .mainvisual .section-wrap .page-header {
    padding: 3.1rem 0 1.0rem;
  }
  .mainvisual .m-btn {
    display: flex;
    justify-content: center;
    width: 100%;
  }
  .mainvisual .m-btn a {
    max-width: 36.0rem;
  }
  .mainvisual .c-btn {
    justify-content: flex-start;
  }
  .section-wrap.sidenav {
    flex-direction: column;
  }
  .main-content {
    width: 100%;
  }
  .main-content .sec-ttl {
    margin: 8.0rem 0 3.0rem;
  }
  .main-content .sec-ttl:first-child {
    margin: 0 0 3.0rem;
  }
  .main-content .seminar-section {
    padding: 0 0 4.0rem;
  }
  .main-content .seminar-section .sec-ttl {
    margin: 4.0rem 0 3.0rem;
  }
  .main-content .seminar-section .sec-ttl:not(:first-child) h2 {
    margin-top: 4.0rem;
  }
  .sidenav .main-content {
    width: 100%;
  }
  .side-nav {
    width: 100%;
    padding: 5.8rem 0 0;
  }
  .side-nav .side-ttl {
    font-size: 2.4rem;
  }
  .side-nav ul li:not(:first-child) {
    border-top: 1px solid #D1D0D0;
  }
  .side-nav .m-btn {
    display: flex;
    justify-content: center;
    width: 100%;
  }
  .side-nav .m-btn a {
    font-size: 1.6rem;
    max-width: 36.0rem;
    padding: 1.3em;
  }
  .company-table th {
    display: block;
    width: 100%;
    border-bottom: none;
    padding: 1.5rem;
    border-right: none;
  }
  .company-table td {
    display: block;
    width: 100%;
    padding: 1.5rem;
    border-bottom: 1px solid #D1D0D0;
  }
  .history-list dl {
    padding: 0;
  }
  .history-list dt {
    width: 10rem;
  }
  .history-list dd {
    width: calc(100% - 10rem);
  }
  .sec-company {
    margin-bottom: 6.0rem;
  }
  .sec-history {
    margin-bottom: 6.0rem;
  }
  .anchor-btns {
    flex-direction: column;
    align-items: center;
    gap: 1.0rem;
  }
  .anchor-btns .btn {
    width: 100%;
    max-width: 100%;
  }
  .office-map-visual {
    flex-direction: column-reverse;
  }
  .office-map-visual .map-nav {
    width: 100%;
    margin-top: 2.0rem;
  }
  .office-map-visual .map-img {
    width: 100%;
  }
  .office-group-img {
    flex-direction: column;
  }
  .office-group-img-main {
    display: flex;
    gap: .5rem;
  }
  .office-group-img-sub {
    flex-direction: row;
  }
  .office-group-img-sub img {
    width: calc((100% - .5rem)/ 2);
  }
  .office-card {
    flex-direction: column;
  }
  .office-card .office-img {
    width: 100%;
  }
  .quality-heading {
    font-size: 2.0rem;
    margin-bottom: 2.0rem;
  }
  .certificate-images {
    flex-direction: column;
    gap: 1.5rem;
  }
  .certificate-images figure {
    width: 100%;
  }
  .sub-sec-ttl {
    font-size: 2.0rem;
    margin-bottom: 2.0rem;
  }
  .cert-images {
    flex-direction: column;
    gap: 1.5rem;
  }
  .cert-images figure {
    width: 100%;
  }
  .env-signature {
    margin-top: 3.0rem;
  }
  .health-lead {
    font-size: 3.2rem;
    text-align: left;
  }
  .health-logo img {
    width: 240px;
  }
  .health-body {
    width: 100%;
  }
  .health-signature {
    width: 100%;
    text-align: right;
  }
  .privacy-nav-list li a {
    font-size: 2.0rem;
  }
  .gray-box {
    padding: 2.0rem;
  }
  .sec-consultation .sec-body:not(:last-child) {
    margin-bottom: 6.0rem;
  }
  .sec-guide .table-wrap {
    overflow-x: auto;
  }
  .guide-table {
    min-width: 80.0rem;
  }
  .guide-table th {
    width: auto !important;
    white-space: normal;
  }
  .guide-table td {
    width: auto !important;
    white-space: normal;
  }
  .glossary-nav .nav-row li {
    flex: 0 0 calc(50% - 0.5rem);
  }
  .glossary-list {
    grid-template-columns: 1fr;
  }
  .sitemap-container-group {
    column-count: 1;
  }
  .declaration-contact {
    padding: 4.0rem;
    margin: 0;
  }
  .tel-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  .time-row {
    flex-direction: column;
    gap: 1rem;
  }
  .sec-announcement .table-wrap {
    overflow-x: auto;
  }
  .announcement-table {
    width: 100%;
    min-width: 80rem;
  }
  .related-product .upper {
    flex-direction: column;
    align-items: center;
  }
  .related-product .upper .body {
    width: 100%;
  }
  .related-product .lower {
    flex-direction: column;
  }
  .related-product .lower .box {
    max-width: 100%;
  }
  .related-product .lower .box li {
    width: calc(94% / 3);
  }
  .case-nav-list {
    flex-direction: column;
  }
  .case-nav-list li {
    width: 100%;
  }
  .case-ttl {
    flex-wrap: wrap;
  }
  .case-ttl .txt {
    width: 100%;
    margin-top: 1.0rem;
    line-height: 1.4;
  }
  .case-problem {
    flex-direction: column;
    gap: 1.0rem;
    padding: 2.0rem;
  }
  .case-problem .icon {
    width: auto;
    padding: 0.5rem 3.0rem;
  }
  .case-solution .sol-ttl {
    padding: 3.0rem 2.0rem;
  }
  .case-solution .sol-desc {
    padding: 3.0rem 2.0rem;
  }
  .product-info-box {
    flex-direction: column;
    align-items: center;
    margin: 0 2.0rem;
    padding: 2.0rem;
    gap: 2.0rem;
    width: calc(100% - 4.0rem);
  }
  .product-info-box .ph {
    width: 100%;
  }
  .category-nav-grid .cat-btn,
  .category-nav-grid.movie .cat-btn {
    font-size: 2.08rem;
    width: calc(50% - 1.0rem);
  }
  .product-card {
    width: 100%;
    max-width: 36.0rem;
    margin: 0 auto 3.0rem;
  }
  .product-grid {
    justify-content: center;
  }
  .form-body table tr th {
    padding: 2.0rem 0 0;
    display: block;
  }
  .form-body table tr td {
    display: block;
  }
  .form-body .submit input {
    padding: 3.0rem 8.0rem;
  }
  .faq-anchor-nav {
    flex-wrap: wrap;
  }
  .faq-anchor-nav li {
    width: calc(50% - 1.0rem);
  }
  .faq-list a {
    padding: 2.0rem 0;
  }
  .faq-list .q-mark {
    margin-right: 1.5rem;
    font-size: 2.4rem;
  }
  .faq-list .txt {
    font-size: 1.8rem;
  }
  .faq-list .arrow {
    width: 3.2rem;
    height: 3.2rem;
    margin-left: 1.0rem;
  }
  .product-grid.glossary-products {
    gap: 2.0rem;
  }
  .product-grid.glossary-products .product-card {
    width: 100%;
    max-width: 50.0rem;
    margin: 0 auto;
  }
  .term-description {
    margin-bottom: 6.0rem;
  }
  .inquiry .category-link-list li {
    width: 100%;
  }
  .member-lead-box {
    padding: 5.0rem 3.0rem;
    background: url("../img/under/member/member_lead-bg.svg") center left/cover;
  }
  .member-lead-box .member-btns {
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
  }
  .member-lead-box .member-btns li {
    width: 100%;
  }
  .member-lead-box .member-btns a {
    width: 100%;
  }
  .service-grid {
    gap: 5.0rem 3.0rem;
  }
  .service-item {
    width: calc((100% - 3.0rem) / 2);
  }
  .site-image-grid {
    flex-direction: column;
    gap: 4.0rem;
  }
  .image-item {
    width: 100%;
    max-width: 40.0rem;
    margin: 0 auto;
  }
  .event-info-table th {
    font-size: 1.8rem;
    border-right: none;
    display: block;
    width: 100%;
    border-bottom: none;
    padding-bottom: 0.5rem;
    text-align: left;
  }
  .event-info-table td {
    display: block;
    width: 100%;
    padding-top: 0.5rem;
    padding-left: 2.0rem;
  }
  .event-summary-top {
    flex-direction: column;
    align-items: center;
    gap: 2.0rem;
  }
  .exhibit-item .item-main {
    flex-direction: column;
    gap: 2.0rem;
  }
  .exhibit-item .prod-img {
    width: 100%;
  }
  .recommend-card {
    width: 100%;
  }
  .recommend-card img {
    width: 100%;
  }
  .support-content-body .flex-wrap.image .img {
    flex-direction: column;
  }
  .support-content-body .flex-wrap.image .img figure {
    width: 100%;
  }
  .appcase-consul {
    margin: 0;
  }
}
@media only screen and (max-width: 480px) {
  .btn-std {
    align-items: center;
    flex-direction: column;
  }
  .form-body table tr td input.half {
    width: 38%;
  }
  .related-product .upper .body .box.list ul li {
    width: 100%;
  }
  .related-product .lower .box li {
    width: calc(94% / 2);
  }
  .category-nav-grid .cat-btn,
  .category-nav-grid.movie .cat-btn {
    width: 100%;
  }
  .about-grid {
    grid-template-columns: 1fr;
  }
  .area-business {
    grid-column: span 1;
    grid-row: auto;
    min-height: 14.0rem;
  }
  .area-philosophy {
    grid-column: span 1;
    grid-row: auto;
  }
  .area-message {
    grid-column: span 1;
    grid-row: auto;
  }
  .area-locations {
    grid-column: span 1;
    grid-row: auto;
    min-height: 14.0rem;
  }
  .area-profile {
    grid-column: span 1;
    grid-row: auto;
    min-height: 14.0rem;
  }
  .about-sub-list {
    flex-direction: column;
    gap: 2.0rem;
  }
  .sub-link-item {
    width: 100%;
    max-width: 100%;
  }
  .sub-link-item {
    width: 100%;
  }
  .service-item {
    width: 100%;
  }
  .exhibit-item .prod-info .content-img {
    flex-direction: column;
    gap: 3.0rem;
  }
}
@media only screen and (max-width: 390px) {
  .form-body .submit input {
    font-size: 1.4rem;
    padding: 3.0rem 6.5rem 3rem 3.0rem;
  }
}
@media screen and (max-width: 480px) {
  .related-product.single .upper .body .box.list ul li {
    width: 100%;
  }
  .flow-list-card .body {
    flex-direction: column;
    align-items: center;
    gap: 1.0rem;
  }
  .flow-list-card .body figure {
    margin: 0;
  }
  .flow-list-card .body .text {
    width: 100%;
    flex: none;
  }
}
@media screen and (max-width: 900px) {
  .cta-inquiry .btn {
    flex-direction: column;
    align-items: center;
    gap: 2.0rem;
  }
  .cta-inquiry .btn li {
    width: 100%;
    max-width: 52.0rem;
  }
}
@media screen and (max-width: 940px) {
  .mcpd-inspection {
    flex-direction: column;
  }
  .mcpd-inspection .check-side {
    width: 100%;
    display: flex;
    gap: 4rem;
  }
  .mcpd-inspection .check-side .step {
    line-height: 1.2;
    letter-spacing: .05em;
    width: 6.0rem;
    height: auto;
    margin: 0;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    padding: 2rem 0;
  }
  .mcpd-inspection .center-block {
    width: 100%;
    height: 5.0rem;
  }
  .mcpd-inspection .center-block .step {
    width: 6.0rem;
    height: 5.0rem;
    background: no-repeat url("../img/under/support/step-bg-reg90.png") center/contain;
  }
  .mcpd-inspection .center-block .step img {
    display: none;
  }
  .mcpd-inspection .center-block::before {
    transform: rotate(90deg);
    left: calc(50% + 3.8rem);
    top: 0;
  }
  .mcpd-inspection .issue-side {
    width: 100%;
    display: flex;
    gap: 4rem;
  }
  .mcpd-inspection .issue-side .step {
    line-height: 1.2;
    letter-spacing: .05em;
    width: 6.0rem;
    height: auto;
    margin: 0;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    padding: 2rem 0;
  }
  .mcpd-inspection .issue-side figure {
    flex: 1;
  }
  .mcpd-inspection .issue-side .step::after {
    width: 6.0rem;
    height: 3.0rem;
    border-style: solid;
    border-width: 3.0rem 3.0rem 0 3.0rem;
    border-color: #2F85C5 transparent transparent transparent;
    top: auto;
    right: 0;
    bottom: -3.0rem;
  }
}
@media screen and (max-width: 1086px) {
  .appcase-consul .telnumber {
    flex-direction: column;
    align-items: center;
  }
}
@media screen and (max-width: 1120px) {
  .flow-list {
    padding: 0;
  }
}
@media screen and (max-width: 1080px) {
  .main-cta .cta-btns {
    flex-direction: column;
    align-items: center;
    gap: 2.0rem;
  }
}
@media screen and (max-width: 1000px) {
  .cta-consultation .consul-body {
    align-items: center;
    flex-direction: column;
    gap: 2.0rem;
  }
  .cta-consultation .section-wrap .consul-body .tel {
    width: 100%;
  }
  .cta-consultation .section-wrap .consul-body .form {
    width: 100%;
  }
}
.chart .mainvisual {
  background: no-repeat url("../img/under/chart/main_bg.png") center bottom / cover;
}
.chart .page-container {
  background: url("../img/under/chart/chart_bg_top.png") no-repeat center top/100% auto, url("../img/under/chart/chart_bg_bottom.svg") no-repeat center bottom/100% auto, linear-gradient(to bottom, rgba(47,133,197,0.15) 0%,rgba(47,133,197,0.6) 100%);
}
.chart .section-wrap {
  max-width: 121rem;
}
.chart-intro {
  font-size: 1.8rem;
  letter-spacing: .05em;
  text-align: center;
  margin: 0 0 5.0rem;
}
.step-block {
  background: #FFF;
  border-radius: 2.0rem;
  padding: 5.0rem;
  box-shadow: 0px 3px 20px 0px rgba(47, 133, 197, 0.2);
}
@media screen and (max-width: 768px) {
  .step-block {
    padding: 3.0rem;
  }
}
.step-block:not(:first-child) {
  margin: 14.0rem 0 0;
  position: relative;
}
.step-block:not(:first-child)::before {
  content: "";
  width: 6.2rem;
  height: 6.4rem;
  background: no-repeat url("../img/under/chart/next-arrow.svg")center / contain;
  position: absolute;
  left: calc(50% - 3.1rem);
  top: -10.0rem;
}
.step-block p,
.step-block.restart .recommend .body p {
  font-size: 3.0rem;
  font-weight: 500;
  letter-spacing: .03em;
  text-align: center;
  margin: 0 0 5.0rem;
}
.step-block p span {
  font-weight: 500;
  color: #2F85C5;
}
.step-block .options {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.8rem;
}
.step-block .options button {
  font-size: 2.2rem;
  font-weight: 600;
  color: #2F85C5;
  border: 2px solid #2F85C5;
  background: #FFF;
  border-radius: 9999px;
  min-width: 25.6rem;
  padding: 2.8rem 1.0rem;
  cursor: pointer;
  transition: .3s;
}
@media screen and (max-width: 520px) {
  .step-block .options button {
    padding: 1.8rem 1.0rem;
  }
}
.step-block .options button.selected {
  background: #2F85C5;
  color: #FFF;
}
.step-block .options button:not(.selected):hover {
  background: #D4E6F4;
}
.step-block.is-reset-wrapper {
  margin: 4.0rem 0 0;
}
.step-block.is-reset-wrapper::before {
  display: none;
}
.result-block {
}
.result-block h2 {
  text-align: center;
  margin: 0 0 3.0rem;
}
.result-block.restart h2,
.result-block.contact h2,
.result-block.glossary h2 {
  display: none;
}
.result-block h2 span {
  display: inline-flex;
  align-items: center;
  gap: 2.0rem;
  font-size: 2.0rem;
  font-weight: 500;
  letter-spacing: .03em;
  color: #2F85C5;
}
.result-block h2 span::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 2.6rem;
  border-left: 1px solid #2F85C5;
  transform: rotate(-35deg);
}
.result-block h2 span::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 2.6rem;
  border-left: 1px solid #2F85C5;
  transform: rotate(35deg);
}
.result-block .recommend {
  display: flex;
  align-items: flex-start;
  gap: 3.0rem;
}
@media screen and (max-width: 768px) {
  .result-block .recommend {
    flex-direction: column;
    align-items: center;
  }
}
.result-block .recommend figure {
  width: 22.0rem;
  border: 1px solid #D1D0D0;
  border-radius: .5rem;
  overflow: hidden;
}
.result-block .recommend .body {
  flex: 1;
}
.result-block .recommend .body .name h3 {
  font-size: 3.2rem;
  font-weight: 400;
}
.result-block.glossary .recommend .body .name h3 {
  font-size: 3.0rem;
  font-weight: 500;
  text-align: center;
}
.result-block .recommend .body .name h3 span {
  font-size: 2.0rem;
}
.result-block .recommend .body .coverage {
  display: inline-block;
  font-weight: 500;
  color: #2F85C5;
  background: #E7F2F8;
  border-radius: 2.0rem;
  padding: 0 3.0rem;
  margin: 1.0rem 0 2.0rem;
}
.result-block .recommend .body p {
  font-size: 1.6rem;
  text-align: left;
  letter-spacing: 0;
  margin: 0 0 3.4rem;
}
.result-block .recommend .body .c-btn {
  display: flex;
  justify-content: flex-end;
  margin: 4.0rem 0 0;
}
.result-block .recommend .body .c-btn a {
  max-width: 30.0rem;
}
.result-block.contact .recommend .body .name h3 {
  font-size: 2.2rem;
  font-weight: 500;
  text-align: center;
}
.result-block.contact .m-btn {
  display: flex;
  justify-content: center;
  margin: 4.0rem 0 0;
}
.result-block.restart .desc-text {
  font-size: 2.2rem;
  font-weight: 500;
  text-align: center;
}
.c-btn.retry {
  display: flex;
  justify-content: center;
  margin: 4.0rem 0 0;
}
.c-btn.retry a {
  max-width: 32.8rem;
}
.result_glossary {
  display: flex;
  gap: 2.0rem 4.0rem;
}
@media screen and (max-width: 900px) {
  .result_glossary {
    flex-direction: column;
  }
}
.result_glossary .gbody {
  display: flex;
  flex-direction: column;
  flex: 1;
  width: calc((100%-8.0rem)/3);
  padding: 3.0rem;
  border-radius: 2.0rem;
  border: .2rem solid #2F85C5;
  background: #FFF;
}
.result_glossary .gbody p {
  flex-grow: 1;
}
.result_glossary .more-btn a {
  display: flex;
  align-items: center;
  gap: .8rem;
  max-width: 16.0rem;
  font-size: 1.4rem;
  justify-content: center;
  border-radius: 3em;
  background-color: #FFF;
  border: .1rem solid #2F85C5;
  color: #2F85C5;
  padding: .8rem 1.0rem;
  margin: 0 auto;
}
.result_glossary .more-btn a:hover {
  color: #FFF;
}
.result_glossary .more-btn a:hover:before {
  background: no-repeat url("../img/top/weblearn_link_ic-w.svg") center/contain;
}
.result_glossary .more-btn a:before {
  content: "";
  width: 2.1rem;
  height: 1.5rem;
  background: no-repeat url("../img/top/weblearn_link_ic.svg") center/contain;
  z-index: 1;
}
.result_glossary .more-btn a span {
  z-index: 1;
}
.targetList__item {
  cursor: pointer;
  transition: all 0.3s ease;
}
.search-category .targetList__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: .6rem;
  color: #FFF;
  border: 1px solid #2F85C5;
  background: #2F85C5;
  border-radius: .5rem;
}
.search-category .targetList__item.current {
  background-color: #ffffff;
  color: #2F85C5;
}
.related-product .support_level {
  background: linear-gradient(to right, #25406c 1%,#6dbefa 100%);
  padding: 1.0rem 2.0rem;
  margin: 0 0 2.0rem;
}
.related-product .support_level p {
  display: flex;
  gap: 2.0rem;
  color: #FFF;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.4;
}
.related-product .support_level p::before {
  display: inline-block;
  content: "";
  width: 8px;
  background: #9f9f9f;
}
.nolink {
  cursor: default;
}
.edit-content h2 {
  font-family: "I-OTF-UDゴ表示Pro B";
  font-size: 2.0rem;
  text-align: center;
}
.edit-content h3 {
  display: flex;
  gap: 1.0rem;
  font-size: 1.8rem;
  font-weight: 500 !important;
  margin: 3.0rem 0 0;
}
.edit-content h3:before {
  content: "●";
  font-size: 1.0rem;
  color: #2F85C5;
  margin: .7rem 0 0;
}
.edit-content h4 {
  font-size: 1.6rem;
  font-weight: 600 !important;
  color: #2F85C5;
  margin: 2.0rem 0 0;
}
.news-detail .edit-content table {
  margin-top: 1em;
}
.news-detail .edit-content table tr th {
  border: 1px solid #D1D0D0;
  font-size: 1.6rem;
  padding: 0.25em 1.0em;
  background-color: #F0F0F0;
  font-weight: 600;
  text-align: center;
}
.news-detail .edit-content table tr td {
  border: 1px solid #D1D0D0;
  font-size: 1.6rem;
  padding: 0.25em 1.0em;
  background-color: #fff;
}
.news-detail .edit-content p + p {
  margin-top: 1em;
}
.news-detail .edit-content ul {
  list-style-type: disc;
  padding-left: 3rem;
  margin-top: 1em;
}
.news-detail .edit-content ol {
  list-style-type: decimal;
  padding-left: 3rem;
  margin-top: 1em;
}
.news-detail .edit-content a {
  display: inline-block;
  color: #2f85c2;
  position: relative;
}
.news-detail .edit-content a[target=_blank]:not(:has(img)) {
  display: inline-block;
  padding-right: 3.4rem;
  color: #2f85c2;
  position: relative;
}
.news-detail .edit-content a[target=_blank]:not(:has(img))::before {
  content: "";
  width: 1em;
  aspect-ratio: 16 / 15;
  -webkit-mask: url(../img/common/icon_blank.svg) center no-repeat;
  mask: url(../img/common/icon_blank.svg) center no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background: currentColor;
  position: absolute;
  top: .4rem;
  right: .9rem;
}
.tagNew {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 0.8rem;
  border-radius: 4rem;
  background: #EE4779;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.8333333333;
  color: #FFF;
  text-decoration: none;
  margin-left: 1.5rem;
  margin-bottom: .3rem;
  vertical-align: middle;
}
.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.6rem;
  padding: 8rem 0 0;
}
.pagination:not(:last-child) {
  margin-bottom: 8rem;
}
@media screen and (max-width:768px) {
  .pagination {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
.pagination__pager {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
.pagination__pager .c-btn a {
  gap: 1rem;
  padding: 1.75rem 2.8rem;
}
.pagination__pager .c-btn a::before {
  width: 1.5rem;
  height: 1.1rem;
  background: currentColor;
  -webkit-mask: url(../img/common/arrow_prev.svg) center no-repeat;
  mask: url(../img/common/arrow_prev.svg) center no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.pagination__pager .c-btn a.--prev {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
.pagination__pager .c-btn a.--next::before {
  -webkit-mask-image: url(../img/common/arrow_next.svg);
  mask-image: url(../img/common/arrow_next.svg);
}
.pagination__pager .c-btn a.hover-win span {
  padding: 0;
}
@media screen and (max-width:768px) {
  .pagination__pager {
    width: min(50% - 1.6rem, 113px);
  }
}
@media screen and (max-width:768px) {
  .pagination__back {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    width: 100%;
  }
  .pagination__back .c-btn a {
    margin: 0 auto;
  }
}
.group-banner {
  display: flex;
  margin: 0 0 8.0rem;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
  border-radius: 5px;
}
@media screen and (max-width:1140px) {
  .group-banner {
    flex-direction: column;
    align-items: center;
    box-shadow: 0px 0px 0 0px rgba(0, 0, 0, 0);
  }
}
@media screen and (max-width:768px) {
  .group-banner {
    margin: 0 0 6.0rem;
  }
}
.group-banner .pic {
  width: 50%;
}
@media screen and (max-width:1140px) {
  .group-banner .pic {
    width: 100%;
  }
}
.group-banner .pic figure {
  display: block;
}
@media screen and (max-width:1140px) {
  .group-banner .pic figure {
    text-align: center;
  }
}
.group-banner .pic figure img {
  width: 100%;
  max-width: 387px;
  height: auto;
  margin: 0 auto;
}
@media screen and (max-width:1140px) {
  .group-banner .pic figure img {
    border-radius: 5px;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
  }
}
.group-banner .txt {
  flex: 1;
  padding: 2.0rem 3.0rem;
}
@media screen and (max-width:1140px) {
  .group-banner .txt {
    flex: 1;
    padding: 2.0rem 0 0;
    text-align: center;
  }
}
.group-banner .txt a {
  font-size: 2.0rem;
  margin: 0 0 1.0rem !important;
}
.main-content .group-banner a:not([class])[target=_blank] {
  padding-right: 2.4rem;
}
.main-content .group-banner a:not([class])[target=_blank]::before {
  top: 0.6rem;
  right: 0;
}
.group-banner .txt span {
  font-size: 1.4rem;
  display: block;
}
/* ---------- 製品お問い合わせ一覧：カテゴリ全体開閉ボタン ---------- */
.inquiry-header-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 2rem;
  margin: 0 0 5rem;
}
.inquiry-header-row .introduction {
  margin: 0;
}
.inquiry-category-toggle-wrap {
  text-align: right;
  margin: 0;
  flex-shrink: 0 0 1.8rem;
}
@media screen and (max-width:990px) {
  .inquiry-category-toggle-wrap {
    margin-left: auto;
  }
}
.inquiry-category-toggle {
  display: inline-flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.8rem 4.0rem;
  border: none;
  border-radius: 3em;
  background-color: #2F85C5;
  color: #FFF;
  font-size: 1.4rem;
  cursor: pointer;
}
.inquiry-category-toggle-icon {
  position: relative;
  width: 1.6rem;
  height: 1.6rem;
  display: block;
  flex-shrink: 0;
}
.inquiry-category-toggle-icon::before,
.inquiry-category-toggle-icon::after {
  content: "";
  position: absolute;
  background-color: #FFF;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease;
}
.inquiry-category-toggle-icon::before {
  width: 1.6rem;
  height: .2rem;
}
.inquiry-category-toggle-icon::after {
  width: .2rem;
  height: 1.6rem;
  transform: translate(-50%, -50%) rotate(0deg);
}
.inquiry-category-toggle.is-open .inquiry-category-toggle-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.inquiry-category-list {
  display: none;
}
/* ---------- 製品以外のお問い合わせ（cta-inquiry） ---------- */
.cta-inquiry .inquiry-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.cta-inquiry .inquiry-list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
  padding: 3rem 0;
}
.cta-inquiry .inquiry-list li:first-child {
  padding-top: 0;
}
.cta-inquiry .inquiry-list .sec-ttl {
  margin: 0 0 1.2rem;
}
.inquiry-list__txt {
  font-size: 1.5rem;
  line-height: 1.6;
  margin: 0;
}
.cta-inquiry .contact-btn {
  flex-shrink: 0;
}
.cta-inquiry .contact-btn a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 1.0rem;
  min-width: 24.0rem;
  padding: 1.6rem 3.2rem;
  border-radius: 3em;
  background-color: #C5304C;
  border: 2px solid #C5304C;
  color: #FFF;
  font-size: 1.4rem;
  font-weight: 600;
}
@media screen and (max-width:990px) {
  .cta-inquiry .contact-btn {
    margin-left: auto;
  }
}
.cta-inquiry .contact-btn a::after {
  background: #FFF;
}
.cta-inquiry .contact-btn a:hover {
  color: #C5304C;
}
.cta-inquiry .contact-btn a span {
  display: flex;
  align-items: center;
  gap: 1.0rem;
  z-index: 1;
}
.cta-inquiry .contact-btn a span::before {
  content: "";
  display: inline-block;
  width: 1.8rem;
  height: 1.6rem;
  background-color: #FFF;
  -webkit-mask: url(../img/under/recruit/top/icon-mail.svg) no-repeat center/contain;
  mask: url(../img/under/recruit/top/icon-mail.svg) no-repeat center/contain;
  transition: background-color 0.3s;
}
.cta-inquiry .contact-btn a:hover span::before {
  background-color: #C5304C;
}
@media screen and (max-width:768px) {
  .cta-inquiry .inquiry-list li {
    flex-direction: column;
    align-items: flex-start;
  }
  .cta-inquiry .contact-btn {
    width: 100%;
  }
  .cta-inquiry .contact-btn a {
    width: 100%;
    justify-content: center;
  }
}
