

.sub_ttl {
  padding: 60px 0;
}
.sub_ttl01 {
  background: url("../img/common/sub_bg.jpg") no-repeat center;
  background-size: cover;
}
.sub_ttl02 {
  background: url("../img/common/sub_bg02.jpg") no-repeat center;
  background-size: cover;
}
.sub_ttl03 {
  background: url("../img/common/sub_bg03.jpg") no-repeat center;
  background-size: cover;
}
.sub_ttl04 {
  background: url("../img/common/sub_bg04.jpg") no-repeat center;
  background-size: cover;
}
.sub_ttl05 {
  background: url("../img/common/sub_bg.jpg") no-repeat center;
  background-size: cover;
}
.sub_ttl06 {
  background: url("../img/common/sub_bg06.jpg") no-repeat center;
  background-size: cover;
}
.sub_ttl07 {
  background: url("../img/common/sub_bg07.jpg") no-repeat center;
  background-size: cover;
}
.sub_ttl08 {
  background: url("../img/common/sub_bg08.jpg") no-repeat center;
  background-size: cover;
}
.sub_ttl09 {
  background: url("../img/common/sub_bg09.jpg") no-repeat center;
  background-size: cover;
}
.sub_ttl10 {
  background: url("../img/common/sub_bg10.jpg") no-repeat center;
  background-size: cover;
}
.sub_ttl11 {
  background: url("../img/common/sub_bg11.jpg") no-repeat center;
  background-size: cover;
}
.sub_ttl12 {
  background: url("../img/common/sub_bg12.jpg") no-repeat center;
  background-size: cover;
}
/*---------------------cont/---------------------*/
.bg01 {
  background: url("../img/innovation/innovation08.jpg") no-repeat center;
  background-size: cover;
  background-attachment: fixed;
  padding: 120px 0;
}
.bg02 {
  background: url("../img/top/top01.jpg") no-repeat center;
  background-size: cover;
  background-attachment: fixed;
  padding: 120px 0;
}
.news_box_wap {
  width: 70%;
}
.news_box {
  padding-bottom: 8px;
  margin-bottom: 20px;
  padding-left: 20px;
  position: relative;
  z-index: 0;
}
.news_box:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  z-index: -2;
  background: #ccc;
}
.news_box:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: #00063b;
  z-index: -1;
  -webkit-transform-origin: 0 50% 0;
  transform-origin: 0 50% 0;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition: -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition: transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, -webkit-transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}
.news_box i {
  position: absolute;
  top: 20%;
  right: 20px;
  -webkit-transition: color 0.35s ease-out 0s, -webkit-transform 0.45s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition: color 0.35s ease-out 0s, -webkit-transform 0.45s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition: transform 0.45s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, color 0.35s ease-out 0s;
  transition: transform 0.45s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, color 0.35s ease-out 0s, -webkit-transform 0.45s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}
.news_box_wap .news_box_ttl {
  padding-right: 80px;
}
.news_s_box {
  margin-bottom: 300px;
  width: 100%;
  max-width: 900px;
  margin: auto;
}
.table01 {
  margin-left: auto;
  margin-right: auto;
  max-width: 700px;
  width: 100%;
}
.table01 th {
  padding: 20px 30px;
  border-right: 1px solid #ccc;
  width: 40%;
}
.table01 td {
  padding-left: 30px;
  line-height: 1.5;
}
table.contact_form {
  width: 90%;
  margin: 40px auto 40px auto;
}
table.contact_form th {
  padding: 2% 1%;
  text-align: center;
  border-right: 1px solid #B5B3BB;
  width: 27%;
  vertical-align: top;
}
table.contact_form td {
  width: 69%;
  text-align: left;
  padding: 2% 2% 2% 6%;
  font-weight: 200;
}
table.contact_form td a {
  color: #716A8A;
}
.con_frame01 {
  height: 30px;
  width: 100%;
  border: 1px solid #CCCCCC;
}
.con_frame06 {
  height: 150px;
  width: 100%;
  border: 1px solid #CCCCCC;
}
.con_frame01:focus,
.con_frame06:focus {
  outline: none;
}
input[type=button],
input[type=submit] {
  font-family: "Noto Sans JP", sans-serif;
  cursor: pointer;
  transition: 0.3s;
  width: 200px;
}
/*::       ::*/
/* Chrome */
::-webkit-input-placeholder {
  color: #D6D6D6;
  padding-left: 5px;
  padding-top: 5px;
  font-family: "Noto Sans JP", sans-serif;
}
/* Firefox */
::-moz-placeholder {
  color: #D6D6D6;
  padding-left: 5px;
  padding-top: 5px;
  font-family: "Noto Sans JP", sans-serif;
}
/* IE */
:-ms-input-placeholder {
  color: #D6D6D6;
  padding-left: 5px;
  padding-top: 5px;
  font-family: "Noto Sans JP", sans-serif;
}
.contact.form_link {
  width: 310px;
  margin: 40px auto 0;
}
.cont02 > img {
  position: relative;
  left: 50px;
}
.cont02 .cont02_txt_box {
  position: relative;
  z-index: 10;
  margin-top: 50px;
}
.cont04 {
  background: url("../img/about/about02.jpg") no-repeat;
  background-size: cover;
  background-attachment: fixed;
  padding: 120px 0;
}
.cont05 .cont05_box {
  margin: 30px 0 0;
}
.cont06 .cont06-row img,
.cont06 .cont06-row p {
  width: 47%;
}
.cont08 .cont08_box_txt02 i {
  font-size: 36px;
}
.cont09 {
  display: block;
  height: auto;
  overflow: hidden;
  width: 100%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
.cont09_box {
  display: block;
  height: auto;
  overflow: hidden;
  width: 100%;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.cont09 .cont09_box figure {
  position: relative;
}
.cont09 .cont09_box figure img {
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  height: 230px;
}
.cont09 .cont09_box figure h5 {
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  color: #fff;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.cont09 .cont09_box figure .material-icons-outlined {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 70%;
  color: #FFFFFF;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #FFFFFF;
  border-radius: 100%;
  transition: .3s;
}
.cont09 .cont09_box figure:hover img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  opacity: 1;
}
.cont09 .cont09_box figure:hover .material-icons-outlined {
  background-color: #FFFFFF;
  color: #00063b;
}
.cont11 .cont11-box table {
  max-width: 800px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid #ccc;
}
.cont11 .cont11-box table tr {
  border-bottom: 1px solid #ccc;
}
.cont11 .cont11-box table tr:last-child {
  border-bottom: none;
}
.cont11 .cont11-box .table-ptn02 thead tr:last-child {
  border-bottom: 1px solid #ccc;
}
.cont11 .cont11-box table tr th,
.cont11 .cont11-box table tr td {
  padding: 20px;
}
.cont11 .cont11-box table tr th {
  width: 25%;
  vertical-align: middle;
}
.cont11 .cont11-box .table-ptn02 tr th,
.cont11 .cont11-box .table-ptn02 tr td {
  border-right: 1px solid #ccc;
}
.cont11 .cont11-box .table-ptn02 tr th:last-child,
.cont11 .cont11-box .table-ptn02 tr td:last-child {
  border-right: none;
}
.cont12 .cont12-wrap {
  max-width: 900px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.cont12 .cont12-wrap .cont12-item {
  background-color: #f5f5f5;
  padding: 20px 20px 20px 0;
}
.cont12 .cont12-wrap .cont12-item img {
  max-width: 250px;
  width: 30%;
}
.cont12 .cont12-wrap .material-icons {
  font-size: 50px !important;
}
.cont12 .cont12-wrap .cont12-item p:first-child {
  width: 100px;
  text-align: center;
  flex-shrink: 0;
}
.cont12.cont12-1 .cont12-wrap .cont12-item p:first-child {
  border-right: 1px solid #00063b;
}
.cont12 .cont12-wrap .cont12-item p:last-child {
  padding-left: 20px;
}
.anchor-point {
  transform: translateY(-120px);
}
.anchor-link a {
  border: 1px solid #00063b;
  padding: 10px 40px;
  transition: .3s;
}
.anchor-link a:nth-child(2) {
  margin: 0 20px;
}
.anchor-link a::after {
  content: "\e5cf";
  font-family: 'Material Icons';
  font-size: 30px;
  margin-left: 20px;
}
.anchor-link a:hover {
  background-color: #00063b;
  color: #FFFFFF;
  opacity: 1;
}
.cont13 .cont13-wrap .cont13-item {
  background-color: #ffffff;
  border: 1px solid #00063b;
  padding: 20px;
}
.cont13 .cont13-wrap .cont13-item .switch {
  display: none;
  border-top: 1px solid #00063b;
  padding-top: 20px;
  margin-top: 20px;
}
.cont13 .cont13-wrap .cont13-item .cont13-item-q {
  cursor: pointer;
}
.cont13 .cont13-wrap .cont13-item .cont13-item-q .material-icons-outlined {
  margin-left: 20px;
  font-size: 30px;
  transition: .4s;
}
.cont13 .cont13-wrap .cont13-item .cont13-item-q .material-icons-outlined.open {
  transform: rotate(180deg);
}
.cont13 .cont13-wrap .cont13-item p:first-child {
  border-right: none;
  width: 10vw;
}
.cont13 .cont13-wrap .cont13-item p:last-child {
  padding-left: 0;
}
.cont14 .cont14-row-wrap .cont14-row {
  gap: 40px;
}
.cont14 .cont14-row-wrap .cont14-row:nth-child(even) {
  flex-direction: row-reverse;
}
.cont14 .cont14-row-wrap .cont14-row .cont14-row-image {
  width: 50%;
}
.cont14 .cont14-row-wrap .cont14-row .cont14-row-image img {
  max-width: 100%;
}
.cont14 .cont14-row-wrap .cont14-row .cont14-row-text {
  width: 50%;
}
/*---------------------cont/---------------------*/
.table_policy_link {
  text-decoration: underline;
  color: #333333 !important;
}
/*------------------------------------------*/
.entry_btn {
  border: #00063b solid 1px;
  background-color: #C8CFDB;
  color: #00063b;
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
  text-decoration: none;
  outline: none;
  padding: 15px 30px;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  min-width: 269px;
  margin-top: 60px;
}
.entry_btn:hover {
  border: #00063b solid 1px;
  background-color: #00063b;
  color: #fff;
  opacity: 1.0;
}
.entry_btn span {
  font-size: 36px;
}
.table02 {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
}
.table02 thead th {
  background-color: rgb(109, 122, 155);
  /*  */
  color: white;
  padding: 10px;
  text-align: left;
  border: 1px solid #ddd;
}
.table02 tbody td {
  border: 1px solid #ddd;
  padding: 10px;
}
.table02tbody tr:nth-child(even) {
  background-color: #f9f9f9;
}
.table02 tbody td:first-child {
  background-color: rgb(215, 219, 230);
  /*  */
  border: 1px solid #bbbbbb;
}
/* -------  250116  ------- */
.personal_information {
  width: 640px;
  height: 500px;
  overflow: scroll;
  border: 1px solid #CCCCCC;
}
.personal_information .container_800 td {
  width: 46%;
}
.personal_information p,
.personal_information span,
.personal_information table td {
  font-size: 12px;
}
/* -------  250407 X  ------- */
.logo_area {
  display: flex;
  gap: 20px;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
/* -------  250407   ------- */
.btn_main i {
  top: 1px!important;
}
/* -------  250407   ------- */
.btn_main.recruit_banner {
  border: rgba(89, 192, 210, .75) solid 1px;
  background-color: rgba(89, 192, 210, .75);
  padding: 15px 18px;
  margin: 0 1vw;
}
.btn_main.recruit_banner:hover {
  border: #00063b solid 1px;
  background-color: rgba(255, 255, 255, 0);
  color: #00063b;
}
footer ul li {
  margin-bottom: 10px;
}
.side_nav nav {
  padding: 30px 5% 30px;
}
/* -------  250527  ------- */
.footer_box01 .logo_area ul {
  display: flex;
  gap: 15px;
}
/* -------  250527    ------- */
/* .cont06 table td .certification li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 20px;
} */
.table01 {
  max-width: 1100px;
}
.table01 th {
  width: 26%;
}
/* -------  250718SECURITY ACTION ------- */
/* .declaration {
  width: 60%;
 } */
.declaration .inner {
  padding: 45px 0;
  gap: 50px;
  border: 1px solid #9dacb2;
}
/* -------  260106  ------- */
.anchor {
  scroll-margin-top: 120px;
}
#innovation div {
  display: flex;
  justify-content: center;
}
#innovation img {
  width: 450px;
}
#law_verybest div {
  display: flex;
  justify-content: center;
}
#law_verybest img {
  width: 450px;
}
.w30 {
  width: 30% !important;
}
/*  */
.partner_inner {
  position: relative;
  padding-right: 50px;
  /*  */
  display: block;
  /* a */
}
/*  */
.partner_inner::after {
  /*  */
  font-family: 'Material Icons Outlined';
  content: '\e5c8';
  /* arrow_forward  */
  /*  */
  position: absolute;
  right: 5%;
  top: 50%;
  transform: translateY(-50%);
  /*  */
  /*  */
  font-size: 50px;
  color: #ffffff;
  /*  */
  transition: all 0.3s;
}
/*  */
.partner_banner a:hover .partner_inner::after {
  right: 3%;
  color: #ffffff;
}
/* 1.  */
.chart-section {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  padding: 40px;
}
/* 2.  */
.txt01 {
  line-height: 1.5;
}
/* 3.  */
.count-group {
  font-family: 'Arial Black', 'Inter', sans-serif;
  /*  */
  font-weight: 900;
  font-size: 32px;
  /* 32px */
  color: #333;
  letter-spacing: -0.02em;
  /*  */
  font-feature-settings: "tnum";
  /*  */
  display: inline-flex;
  /*  */
  align-items: baseline;
  /*  */
  gap: 2px;
  /*  */
  margin-left: 10px;
}
/* 4.  */
.unit {
  font-size: 1em;
  /* 32px */
}
/*  */
.count-group {
  font-family: 'Arial Black', sans-serif !important;
  font-weight: 900 !important;
  font-size: 36px !important;
  /* 32px36px */
  color: #333 !important;
  font-feature-settings: "tnum" !important;
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 2px !important;
  margin-left: 10px !important;
  line-height: 1 !important;
  /*  */
}
/*  */
.unit {
  font-size: 1em !important;
  font-weight: 900 !important;
  font-family: 'Arial Black', sans-serif !important;
}
/* 1 */
.txt01 {
  line-height: 2.5 !important;
}
/* .count-up */
.count-up {
  font-size: 40px !important;
  /*  */
  font-weight: 900 !important;
  /*  */
  font-family: 'Arial Black', sans-serif !important;
  display: inline-block !important;
}
/*  */
.count-group {
  display: inline-flex !important;
  align-items: baseline !important;
  font-size: 36px !important;
}
.unit {
  font-size: 30px !important;
  /* px */
  font-weight: 900 !important;
}
.count-group {
  display: inline-flex !important;
  align-items: baseline !important;
  font-family: 'Arial Black', sans-serif !important;
  font-size: 30px !important;
  font-weight: 900 !important;
  margin-left: 10px;
}
.unit {
  font-size: 1em !important;
}
.chart-wrapper {
  margin-bottom: 50px;
}
/* 12 */
.chart-column {
  flex: 0 1 calc(50% - 20px);
  /* 50% */
  min-width: 320px;
  /*  */
  background: #fff;
  padding: 20px;
  box-sizing: border-box;
}
/*  */
.chart-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
/*  */
.canvas-container {
  width: 100%;
  height: 300px;
  /* 350pxHTML */
}
/*  */
.text-list {
  margin: 0;
  line-height: 2.2 !important;
  width: 100%;
  max-width: 350px;
  /*  */
}
.text-center {
  text-align: center;
  width: 100%;
  margin-bottom: 20px;
}
/*  */
.text-list-grid {
  display: flex;
  flex-wrap: wrap;
  /*  */
  width: 100%;
  max-width: 600px;
  /* 2 */
  margin: 20px auto 0 !important;
  padding: 0 10px;
  line-height: 2.5 !important;
}
/*  */
.grid-item {
  flex: 0 0 50%;
  /* 2 */
  display: flex;
  align-items: center;
  justify-content: flex-start;
  /*  */
  box-sizing: border-box;
  white-space: nowrap;
  /*  */
}
/*  */
.count-group {
  font-size: 30px !important;
  margin-left: 8px !important;
}
/* 1 */
@media (max-width: 600px) {
  .grid-item {
    flex: 0 0 100%;
  }
}
/* 2 */
.text-list-grid {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 500px;
  margin: 20px auto 0 !important;
}
/* 1 */
.grid-item {
  flex: 0 0 50%;
  /* 2 */
  display: flex;
  flex-direction: column;
  /*  */
  align-items: flex-start;
  /*  */
  box-sizing: border-box;
  padding: 12px 15px;
  /*  */
}
/*  */
.grid-item .label {
  font-size: 15px;
  color: #666;
  font-weight: bold;
  margin-bottom: 2px;
  /*  */
}
/*  */
.count-group {
  display: inline-flex !important;
  align-items: baseline !important;
  font-family: 'Arial Black', sans-serif !important;
  font-size: 32px !important;
  font-weight: 900 !important;
  margin-left: 0 !important;
  /*  */
  line-height: 1 !important;
}
.unit {
  font-size: 0.6em !important;
  margin-left: 2px;
}
/*  */
@media (max-width: 600px) {
  .grid-item {
    flex: 0 0 100%;
    /* 1 */
  }
}
/*  */
.text-list-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
  /*  */
  width: 100%;
  max-width: 500px;
  margin: 20px auto 0 !important;
}
/* 1 */
.grid-item {
  flex: 0 0 50%;
  /* 2 */
  display: flex;
  flex-direction: column;
  align-items: center;
  /*  */
  text-align: center;
  /*  */
  box-sizing: border-box;
  padding: 12px 5px;
}
/*  */
.grid-item .label {
  font-size: 15px;
  color: #666;
  font-weight: bold;
  margin-bottom: 2px;
}
/*  */
.count-group {
  display: inline-flex !important;
  align-items: baseline !important;
  font-family: 'Arial Black', sans-serif !important;
  font-size: 32px !important;
  font-weight: 900 !important;
  margin-left: 0 !important;
  line-height: 1.1 !important;
}
/* ============================================================
   product/
    .product_page
============================================================ */
/*  */
.product_page .product_anchor_nav {
  max-width: 1100px;
  margin: 60px auto 0;
  padding: 30px 24px;
  border: 1px solid #d7dbe6;
  background: #f7f8fb;
  border-radius: 6px;
}
.product_page .product_anchor_nav h4 {
  text-align: center;
  font-size: 20px;
  color: #00063b;
  margin-bottom: 20px;
  letter-spacing: 0.08em;
}
.product_page .product_anchor_list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0;
}
.product_page .product_anchor_list li a {
  display: inline-flex;
  align-items: center;
  padding: 10px 20px;
  background: #fff;
  border: 1px solid #00063b;
  color: #00063b;
  font-size: 14px;
  font-weight: 600;
  transition: all .3s;
}
.product_page .product_anchor_list li a:hover {
  background: #00063b;
  color: #fff;
  opacity: 1;
}
.product_page .product_anchor_list li a::before {
  content: "#";
  margin-right: 6px;
  color: #6d7a9b;
  font-weight: 700;
}
.product_page .product_anchor_list li a:hover::before {
  color: #fff;
}
/*  */
.product_page .product_item {
  scroll-margin-top: 120px;
}
.product_page .product_item_inner {
  max-width: 1140px;
  width: 92%;
  margin: 0 auto;
}
.product_page .product_head {
  text-align: center;
}
.product_page .product_name {
  display: inline-block;
  font-size: 32px;
  font-weight: 700;
  color: #00063b;
  letter-spacing: 0.04em;
  line-height: 1.3;
}
.product_page .product_lead {
  max-width: 900px;
  margin: 30px auto 0;
  font-size: 18px;
  line-height: 1.5;
  text-align: center;
  color: #333;
}
.product_page .product_gray {
  background: #f4f5f8;
  padding: 100px 0 110px;
}
.product_page .product_white {
  padding: 100px 0 110px;
}
.product_page .product_sub_ttl {
  font-size: 26px;
  font-weight: 700;
  color: #00063b;
  text-align: center;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
}
/*  */
.product_page .product_overview {
  display: flex;
  align-items: stretch;
  gap: 48px;
  margin-top: 20px;
}
.product_page .product_overview .product_overview_img {
  width: 50%;
}
.product_page .product_overview .product_overview_img img {
  width: 100%;
  height: auto;
  max-height: 460px;
  object-fit: cover;
  display: block;
  border: 1px solid #e5e5e5;
}
.product_page .product_overview .product_overview_text {
  width: 50%;
}
.product_page .product_overview .product_overview_text p {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 18px;
  color: #333;
}
/* 3 */
.product_page .product_features {
  margin-top: 80px;
}
.product_page .product_feature_grid {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  justify-content: center;
  margin-top: 40px;
}
.product_page .product_feature_card {
  flex: 1 1 calc((100% - 56px) / 3);
  min-width: 260px;
  background: #fff;
  border: 1px solid #e5e5e5;
  padding: 0 0 28px;
  display: flex;
  flex-direction: column;
}
.product_page .product_feature_card .product_feature_img {
  width: 100%;
  /* aspect-ratio: 16 / 10; */
  overflow: hidden;
  background: #eef1f7;
}
.product_page .product_feature_card .product_feature_img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}
.product_page .product_feature_card h4 {
  font-size: 17px;
  font-weight: 700;
  color: #00063b;
  line-height: 1.55;
  margin: 24px 24px 14px;
  letter-spacing: 0.03em;
}
.product_page .product_feature_card p {
  font-size: 14.5px;
  line-height: 1.9;
  color: #444;
  margin: 0 24px;
}
/*  */
.product_page .product_usecase {
  margin-top: 80px;
  background: #fff;
  border: 1px solid #dce0eb;
  border-top: 4px solid #00063b;
  padding: 36px 44px 40px;
}
.product_page .product_usecase_ttl {
  font-size: 20px;
  font-weight: 700;
  color: #00063b;
  text-align: center;
  margin-bottom: 24px;
  letter-spacing: 0.05em;
}
.product_page .product_usecase_cols {
  display: flex;
  flex-wrap: wrap;
  gap: 0 40px;
}
.product_page .product_usecase_col {
  flex: 1 1 calc(50% - 20px);
  min-width: 260px;
}
.product_page .product_usecase_col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.product_page .product_usecase_col li {
  position: relative;
  padding: 10px 0 10px 26px;
  font-size: 15px;
  line-height: 1.7;
  color: #333;
  border-bottom: 1px dashed #d0d4df;
}
.product_page .product_usecase_col li:last-child {
  border-bottom: none;
}
.product_page .product_usecase_col li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #00063b;
}
.product_page .product_usecase_col li::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 22px;
  width: 8px;
  height: 4px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}
/* mediaquery.css  767px  991px  */
@media (max-width: 991px) {
  .product_page .product_overview {
    flex-direction: column;
    gap: 30px;
  }
  .product_page .product_overview .product_overview_img,
  .product_page .product_overview .product_overview_text {
    width: 100%;
  }
  .product_page .product_feature_card {
    flex: 1 1 calc((100% - 28px) / 2);
  }
}
/* ===== Number Cont (renewal)  scoped styles ===== */
.number_cont {
  --nc-pink: #FF6384;
  --nc-blue: #36A2EB;
  --nc-yellow: #FFCE56;
  --nc-yellow-light: #FFE082;
  --nc-orange: #FF9F40;
  --nc-purple: #9966FF;
  --nc-teal: #4BC0C0;
  --nc-gray: #C9CBCF;
  --nc-text: #333;
  --nc-border: #D9D9D9;
  --nc-bg-web: rgba(75, 192, 192, 0.18);
  --nc-bg-ai: rgba(153, 102, 255, 0.18);
  --nc-bg-emb: rgba(255, 159, 64, 0.20);
  --nc-bg-other: rgba(201, 203, 207, 0.45);
  padding: 60px 16px 0;
}
.number_cont .number_cont_inner {
  max-width: 960px;
  margin: 0 auto;
}
.number_cont .nc-section-ttl {
  text-align: center;
  font-size: 36px;
  margin: 0 0 48px;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  color: var(--nc-text);
}
.number_cont .nc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid var(--nc-border);
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
}
.number_cont .nc-card {
  padding: 32px 28px;
  border-right: 1px solid var(--nc-border);
  border-bottom: 1px solid var(--nc-border);
  position: relative;
}
.number_cont .nc-card:nth-child(2n) {
  border-right: none;
}
.number_cont .nc-card-language {
  grid-column: 1 / span 2;
  border-right: none;
  border-bottom: none;
}
.number_cont .nc-card-head {
  text-align: center;
  margin-bottom: 24px;
}
.number_cont .nc-en {
  display: inline-block;
  color: #0071BC;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: .02em;
  margin-bottom: 6px;
}
.number_cont .nc-title {
  /* font-family:"Noto Serif JP",serif; */
  font-weight: 600;
  font-size: 24px;
  color: var(--nc-text);
  margin: 0;
  line-height: 1.2;
}
/* ===== Age ===== */
.number_cont .nc-age-body {
  position: relative;
  width: 100%;
  max-width: 460px;
  margin: 0 auto;
  aspect-ratio: 1/1;
}
.number_cont .nc-age-chart {
  position: absolute;
  inset: 6%;
}
.number_cont .nc-age-chart canvas {
  width: 100% !important;
  height: 100% !important;
}
.number_cont .nc-age-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  pointer-events: none;
}
.number_cont .nc-age-center-label {
  font-size: 24px;
  color: #0071BC;
  margin: 0 0 4px;
  font-weight: 700;
}
.number_cont .nc-age-center-value {
  margin: 0;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  color: #0071BC;
  line-height: 1;
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
}
.number_cont .nc-age-center-value .nc-age-center-int {
  font-size: 64px !important;
  line-height: 1.0;
}
.number_cont .nc-age-center-value .nc-age-center-dec {
  font-size: 64px;
  margin-left: 1px;
  line-height: 1.2;
}
.number_cont .nc-age-center-value .nc-age-center-unit {
  font-size: 20px;
  margin-left: 3px;
  line-height: 1.2;
  font-weight: 700;
}
.number_cont .nc-age-leg {
  position: absolute;
  font-weight: 700;
  white-space: nowrap;
  font-family: "Lato", sans-serif;
  display: flex;
  line-height: 1.2;
  flex-direction: column;
  gap: 2px;
}
.number_cont .nc-age-leg .nc-age-leg-label {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .02em;
  text-shadow: 1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff, 1px 0 0 #fff, -1px 0 0 #fff, 0 1px 0 #fff, 0 -1px 0 #fff;
}
.number_cont .nc-age-leg .nc-age-leg-line {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
}
.number_cont .nc-age-leg.is-1 {
  top: 6%;
  right: 2%;
  align-items: flex-start;
  color: var(--nc-pink);
}
.number_cont .nc-age-leg.is-2 {
  bottom: 12%;
  right: 9%;
  align-items: flex-start;
  color: var(--nc-blue);
}
.number_cont .nc-age-leg.is-3 {
  bottom: 14%;
  left: 2%;
  align-items: flex-end;
  color: var(--nc-yellow);
}
.number_cont .nc-age-leg.is-4 {
  top: 25%;
  left: -6%;
  align-items: flex-end;
  color: var(--nc-teal);
}
.number_cont .nc-age-leg.is-5 {
  top: 6%;
  left: 5%;
  align-items: flex-end;
  color: var(--nc-purple);
  ;
}
/* ===== Gender ===== */
.number_cont .nc-gender-body {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 30px;
  padding: 10px 0 20px;
}
.number_cont .nc-gender-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.number_cont .nc-gender-item img {
  width: auto;
  height: 240px;
  display: block;
}
.number_cont .nc-gender-num {
  margin: 0;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  line-height: 1;
}
.number_cont .nc-gender-num .count-up {
  font-size: 62px !important;
  letter-spacing: 0.01em;
}
.number_cont .nc-gender-num .nc-unit {
  font-size: 18px;
  margin-left: 2px;
}
.number_cont .nc-gender-item--man .nc-gender-num {
  color: var(--nc-blue);
}
.number_cont .nc-gender-item--woman .nc-gender-num {
  color: var(--nc-pink);
}
/* ===== Category ===== */
.number_cont .nc-cat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  max-width: 380px;
  margin: 0 auto;
}
.number_cont .nc-cat-item {
  border-radius: 8px;
  padding: 14px 14px 12px;
  text-align: center;
}
.number_cont .nc-cat-item--web {
  background: var(--nc-bg-web);
}
.number_cont .nc-cat-item--ai {
  background: var(--nc-bg-ai);
}
.number_cont .nc-cat-item--emb {
  background: var(--nc-bg-emb);
}
.number_cont .nc-cat-item--other {
  background: var(--nc-bg-other);
}
.number_cont .nc-cat-label {
  margin: 0 0 8px;
  font-size: 20px;
  font-weight: 700;
  color: var(--nc-text);
}
.number_cont .nc-cat-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.number_cont .nc-cat-row img {
  width: 50px;
  height: 50px;
  display: block;
}
.number_cont .nc-cat-num {
  margin: 0;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  line-height: 1;
}
.number_cont .nc-cat-num .count-up {
  font-size: 26px;
}
.number_cont .nc-cat-num .nc-unit {
  font-size: 12px;
  margin-left: 1px;
}
.number_cont .nc-cat-num {
  color: var(--nc-text);
}
/* ===== Position ===== */
.number_cont .nc-pos-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.number_cont .nc-pos-item {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  column-gap: 50px;
  row-gap: 4px;
}
.number_cont .nc-pos-label {
  grid-column: 1 / 2;
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--nc-text);
}
.number_cont .nc-pos-bar {
  grid-column: 1 / 2;
  width: 100%;
  height: 40px;
  /* background:#F2F2F2; */
  border-radius: 2px;
  overflow: hidden;
}
.number_cont .nc-pos-fill {
  display: block;
  height: 100%;
  width: 0;
  border-radius: 2px;
  /* count-up  2s linear  */
  transition: width 2s linear;
}
.number_cont .nc-pos-num {
  grid-column: 2 / 3;
  grid-row: 1 / 3;
  align-self: center;
  margin: 0;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  color: var(--nc-text);
}
.number_cont .nc-pos-num .count-up {
  font-size: 24px;
}
.number_cont .nc-pos-num .nc-unit {
  font-size: 12px;
  margin-left: 1px;
}
.number_cont .nc-pos-item--m .nc-pos-label {
  color: var(--nc-yellow);
}
.number_cont .nc-pos-item--se .nc-pos-label {
  color: var(--nc-blue);
}
.number_cont .nc-pos-item--pg .nc-pos-label {
  color: var(--nc-pink);
}
.number_cont .nc-pos-item--sp .nc-pos-label {
  color: var(--nc-teal);
}
/* ===== Language ===== */
.number_cont .nc-lang-body {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 80px;
  flex-wrap: wrap;
  padding: 8px 0;
}
.number_cont .nc-lang-chart {
  position: relative;
  width: 320px;
  height: 320px;
  flex: 0 0 auto;
}
.number_cont .nc-lang-chart .lang_pc {
  position: absolute;
  width: 83px;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.number_cont .nc-lang-chart canvas {
  width: 100% !important;
  height: 100% !important;
}
.number_cont .nc-lang-chart .nc-lang-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: auto;
  pointer-events: none;
}
.number_cont .nc-lang-legend {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: auto auto;
  column-gap: 36px;
  row-gap: 14px;
}
.number_cont .nc-lang-legend li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 20px;
  color: var(--nc-text);
  font-weight: 600;
}
.number_cont .nc-lang-legend .nc-lang-dot {
  width: 29px;
  height: 29px;
  border-radius: 50%;
  display: inline-block;
}
/*  */
.table01 {
  width: 100%;
  table-layout: fixed;
  /*  */
  border-collapse: collapse;
  margin-top: 40px;
  font-family: sans-serif;
}
/*  */
.table01 th {
  background-color: #f2f2f2;
  border: 1px solid #ccc;
  padding: 12px;
  text-align: left;
}
/* 30% */
.table01 th:first-child,
.table01 td:first-child {
  width: 30%;
  background-color: #fafafa;
  /*  */
  font-weight: bold;
  word-break: break-all;
  /*  */
}
/* 70% */
.table01 th:last-child,
.table01 td:last-child {
  width: 70%;
}
/*  */
.table01 td {
  border: 1px solid #ccc;
  background-color: #fff;
  padding: 15px;
  vertical-align: top;
  /*  */
  line-height: 1.8;
  /*  */
}
.pc_none {
  display: none;
}
.pl20 {
  padding-left: 20px;
}
.pr20 {
  padding-right: 20px;
}
/* ============================================================
   NEWS
============================================================ */
.news_s_box {
  max-width: 960px;
}
.news_area {
  display: flex;
  align-items: center;
  padding: 20px 0;
  border-bottom: 1px solid #e0e0e0;
  text-decoration: none;
  color: #333;
  transition: 0.3s;
  gap: 20px;
}
.news_area:hover {
  background-color: #f8f8f8;
  color: #00063b;
  text-decoration: none;
}
.news_s_box_day {
  white-space: nowrap;
  min-width: 110px;
}
.news_s_box_ttl {
  flex: 1;
  line-height: 1.6;
}
/*  NEWS  */
.top_news_area {
  max-width: 960px;
  margin: 0 auto;
}
.top_news_area .news_area:first-child {
  border-top: 1px solid #e0e0e0;
}
/* ============================================================

============================================================ */
.wp-pagenavi {
  display: flex;
  justify-content: center;
  padding: 60px 0 100px;
  flex-wrap: wrap;
  width: 100%;
  gap: 5px;
}
.wp-pagenavi a,
.wp-pagenavi span,
.page-numbers {
  border: 1px solid #00063b;
  background-color: #00063b;
  padding: 10px 15px;
  color: #fff;
  font-size: 16px;
  line-height: 16px;
  font-weight: bold;
  font-family: "Lato", sans-serif;
  text-decoration: none;
  transition: 0.3s;
}
.page-numbers:hover,
.wp-pagenavi a:hover {
  background: #fff;
  border: 1px solid #00063b;
  color: #00063b;
  text-decoration: none;
}
.page-numbers.current,
.wp-pagenavi .current {
  background: #fff;
  color: #00063b;
  border: 1px solid #00063b;
}
.page-numbers.dots {
  background: transparent;
  border-color: transparent;
  color: #00063b;
}
/* ============================================================
   SINGLE
============================================================ */
.news_single {
  max-width: 960px;
}
.news_single_nav {
  gap: 15px;
  flex-wrap: wrap;
}
.news_single_nav_btn {
  color: #00063b;
  text-decoration: none;
  font-weight: bold;
  transition: 0.3s;
  gap: 4px;
}
.news_single_nav_btn:hover {
  opacity: 0.6;
  text-decoration: none;
  color: #00063b;
}
.news_single_nav_btn--list {
  border: #00063b solid 1px;
  background-color: #00063b;
  color: #fff;
  padding: 10px 30px;
}
.news_single_nav_btn--list:hover {
  background-color: #fff;
  color: #00063b;
}
.news_single_nav_btn i {
  top: 0;
}
/*  */
.news_s_box_txt p {
  padding: 5px 0;
  word-break: break-all;
}
.news_s_box_txt p::after {
  content: "";
  display: block;
  clear: both;
}
.news_s_box_txt img {
  max-width: 100%;
  height: auto;
  margin: 20px 0;
}
.blocks-gallery-item img {
  margin: 0;
}
.news_s_box_txt a {
  color: #00063b;
  transition: 0.3s;
  font-weight: bold;
}
.news_s_box_txt a:hover {
  opacity: 0.6;
  transition: 0.3s;
}
.news_s_box_txt p strong span,
.news_s_box_txt p strong {
  font-weight: bold;
}
.news_s_box_txt .alignleft {
  float: left;
  margin: 20px 20px 20px 0;
}
.news_s_box_txt .alignright {
  float: right;
  margin: 20px 0px 20px 20px;
}
.news_s_box_txt img.aligncenter {
  display: block;
  margin: auto;
}
.news_s_box_txt img.alignnone {
  display: block;
}
.news_s_box_txt ul li {
  list-style-type: disc;
  margin-left: 1.5em;
}
.news_s_box_txt ol li {
  list-style-type: decimal;
  margin-left: 1.5em;
}
.news_s_box_txt iframe {
  max-width: 100%;
}
.news_s_box_txt p.has-text-align-center {
  text-align: center;
}
.news_s_box_txt p.has-text-align-right {
  text-align: right;
}
.news_s_box_txt h1 {
  font-size: 28px;
  margin: 30px 0 15px;
  font-weight: 700;
}
.news_s_box_txt h2 {
  font-size: 24px;
  margin: 30px 0 15px;
  font-weight: 700;
  border-bottom: solid 2px #ccc;
  padding-bottom: 10px;
  position: relative;
}
.news_s_box_txt h2::after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 2px #00063b;
  bottom: -2px;
  width: 20%;
}
.news_s_box_txt h3 {
  font-size: 22px;
  margin: 25px 0 15px;
  font-weight: 700;
  border-left: solid 5px #00063b;
  background: #f0f2f8;
  padding: 8px 12px;
}
.news_s_box_txt h4 {
  font-size: 20px;
  margin: 20px 0 15px;
  font-weight: 700;
  position: relative;
  padding-left: 23px;
}
.news_s_box_txt h4::after {
  position: absolute;
  content: "\25CF";
  top: 50%;
  transform: translate(0, -50%);
  left: 0;
  font-size: 14px;
  color: #00063b;
}
.news_s_box_txt h5 {
  font-size: 18px;
  margin: 15px 0;
  font-weight: 700;
}
.news_s_box_txt h6 {
  font-size: 16px;
  margin: 15px 0;
  font-weight: 700;
}
.top_news_area i {
  top: 0;
}
/*  NEWS  */
.news_tabs {
  list-style: none;
  padding: 0;
  margin: 0 0 0;
  width: 100%;
  border-bottom: 1px solid #e0e0e0;
}
.news_tabs .news_tab {
  width: 50%;
  text-align: center;
  padding: 16px 10px;
  cursor: pointer;
  color: #888;
  background-color: #fff;
  border-top: 1px solid #e0e0e0;
  border-left: 1px solid #e0e0e0;
  border-right: 1px solid #e0e0e0;
  border-bottom: 2px solid transparent;
  transition: 0.3s;
  user-select: none;
}
.news_tabs .news_tab:hover {
  color: #00063b;
}
.news_tabs .news_tab.active {
  color: #ffffff;
  background-color: #00063b;
  border-bottom: 2px solid #00063b;
}
.news_tab_content {
  display: none;
}
.news_tab_content.active {
  display: block;
}
.news_tab_content .news_area:first-child {
  border-top: none;
}