@charset "UTF-8";
/* =======================================

  SIDENAV

======================================= */
.sidenav {
  width: 22.5%;
  max-height: calc(100svh - 144px);
  overflow: auto;
  position: sticky;
  top: 128px;
  -ms-flex-item-align: start;
      align-self: flex-start;
  background: #fff;
  border-radius: 0 0 8px 8px;
  -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.14);
          box-shadow: 0 0 4px rgba(0, 0, 0, 0.14);
}
.sidenav::-webkit-scrollbar {
  width: 3px;
  background-color: #F3F6F7;
}
.sidenav::-webkit-scrollbar-thumb {
  background-color: #DDDDDD;
}
@media only screen and (max-width: 767px) {
  .sidenav {
    width: 100%;
    max-height: none;
  }
}
.sidenav a {
  color: #1F1D20;
  text-decoration: none;
}
.sidenav nav {
  border-top: 4px solid #1F1D20;
}
.sidenav .sidenav_heading_wrap {
  padding: 24px 16px;
}
.sidenav .sidenav_heading_wrap .sidenav_title_ja {
  color: #1F1D20;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.01em;
}
.sidenav .sidenav_heading_wrap .sidenav_title_en {
  margin-top: 8px;
  color: #DDDDDD;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.01em;
  font-family: "Roboto", sans-serif;
}
.sidenav .primary_list .primary_list_item {
  position: relative;
  border-top: 1px solid #D7E1E4;
  -webkit-transition: background 0.3s, border-radius 0.3s ease-out;
  transition: background 0.3s, border-radius 0.3s ease-out;
}
.sidenav .primary_list .primary_list_item.parent .primary_list_link::before {
  content: "\e90b";
  -webkit-transition: none;
  transition: none;
}
@media (hover: hover) and (pointer: fine) {
  .sidenav .primary_list .primary_list_item.parent .primary_list_link:hover::before {
    right: 20px;
  }
}
.sidenav .primary_list .primary_list_item.parent.open {
  border-radius: 8px;
  background: #F3F6F7;
  border-top: 1px solid #fff;
}
.sidenav .primary_list .primary_list_item.parent.open + li {
  border-top: 1px solid #fff;
}
.sidenav .primary_list .primary_list_item.parent.open .primary_list_link::before {
  content: "\e90c";
  width: 20px;
  height: 20px;
  display: block;
  text-align: center;
  line-height: 19px;
  background: #D7E1E4;
  color: #1F1D20;
  border-radius: 2px;
  right: 15px;
}
.sidenav .primary_list .primary_list_item.current {
  border-top: 1px solid #fff;
  background: #F3F6F7;
}
.sidenav .primary_list .primary_list_item.current .primary_list_link {
  color: #1F1D20;
}
.sidenav .primary_list .primary_list_item.current:not(.parent) .primary_list_link::before {
  content: none;
}
.sidenav .primary_list .primary_list_item.no_article span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 24px 36px 24px 16px;
  font-size: 1.5rem;
  line-height: 1.4;
  font-weight: 700;
  color: rgba(31, 29, 32, 0.5);
}
.sidenav .primary_list .primary_list_item .primary_list_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 24px 36px 24px 16px;
  font-size: 1.5rem;
  line-height: 1.4;
  font-weight: 700;
  position: relative;
}
.sidenav .primary_list .primary_list_item .primary_list_link::before {
  content: "\e901";
  font-family: "wacom";
  font-weight: 400;
  font-size: 1rem;
  line-height: 1;
  color: #1F1D20;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 20px;
  -webkit-transition: right 0.2s ease-out;
  transition: right 0.2s ease-out;
}
.sidenav .primary_list .primary_list_item .primary_list_link[target=_blank]::before {
  content: "\e904";
  font-size: 1.3rem;
  line-height: 1;
  right: 19px;
}
@media (hover: hover) and (pointer: fine) {
  .sidenav .primary_list .primary_list_item .primary_list_link:hover::before {
    right: 16px;
  }
}
.sidenav .secondary_list {
  padding: 0 8px 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}
.sidenav .secondary_list .secondary_list_item {
  position: relative;
  background: #fff;
  border-radius: 4px;
}
.sidenav .secondary_list .secondary_list_item.parent .secondary_list_link::before {
  content: "\e90b";
  -webkit-transition: none;
  transition: none;
}
@media (hover: hover) and (pointer: fine) {
  .sidenav .secondary_list .secondary_list_item.parent .secondary_list_link:hover::before {
    right: 16px;
  }
}
.sidenav .secondary_list .secondary_list_item.parent.open {
  border-radius: 8px;
}
.sidenav .secondary_list .secondary_list_item.parent.open .secondary_list_link::before {
  content: "\e90c";
  width: 20px;
  height: 20px;
  display: block;
  text-align: center;
  line-height: 19px;
  background: #D7E1E4;
  color: #1F1D20;
  border-radius: 2px;
  right: 8px;
}
.sidenav .secondary_list .secondary_list_item.current .secondary_list_link {
  color: #1F1D20;
  background: #D7E1E4;
}
.sidenav .secondary_list .secondary_list_item.current:not(.parent) .secondary_list_link::before {
  content: none;
}
.sidenav .secondary_list .secondary_list_item.current:has(ul) .secondary_list_link {
  background: #fff;
}
.sidenav .secondary_list .secondary_list_item .secondary_list_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 16px 36px 16px 8px;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 600;
  position: relative;
  background: #fff;
  border-radius: 4px;
}
.sidenav .secondary_list .secondary_list_item .secondary_list_link::before {
  content: "\e901";
  font-family: "wacom";
  font-weight: 400;
  font-size: 1rem;
  line-height: 1;
  color: #1F1D20;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 12px;
  -webkit-transition: right 0.2s ease-out;
  transition: right 0.2s ease-out;
}
.sidenav .secondary_list .secondary_list_item .secondary_list_link[target=_blank]::before {
  content: "\e904";
  font-size: 1.3rem;
  line-height: 1;
  right: 11px;
}
@media (hover: hover) and (pointer: fine) {
  .sidenav .secondary_list .secondary_list_item .secondary_list_link:hover::before {
    right: 8px;
  }
}
.sidenav .tertiary_list {
  margin: 8px 8px 16px;
  padding: 8px 0;
  border-left: 1px solid #D7E1E4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
.sidenav .tertiary_list .tertiary_list_item {
  position: relative;
  background: #fff;
}
.sidenav .tertiary_list .tertiary_list_item.current .tertiary_list_link {
  color: #1F1D20;
}
.sidenav .tertiary_list .tertiary_list_item .tertiary_list_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 24px 0 8px;
  font-size: 1.3rem;
  line-height: 1.6153846154;
  font-weight: 500;
  position: relative;
  background: #fff;
}
.sidenav .tertiary_list .tertiary_list_item .tertiary_list_link::before {
  content: "\e901";
  font-family: "wacom";
  font-weight: 400;
  font-size: 1rem;
  line-height: 1;
  color: #1F1D20;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 4px;
  -webkit-transition: right 0.2s ease-out;
  transition: right 0.2s ease-out;
}
.sidenav .tertiary_list .tertiary_list_item .tertiary_list_link[target=_blank]::before {
  content: "\e904";
  font-size: 1.3rem;
  line-height: 1;
  right: 3px;
}
@media (hover: hover) and (pointer: fine) {
  .sidenav .tertiary_list .tertiary_list_item .tertiary_list_link:hover::before {
    right: 0;
  }
}
.sidenav .link_wrap {
  position: relative;
}
.sidenav .link_wrap:not(:has(a)) .toggle_btn {
  width: 100%;
}
.sidenav .toggle_btn {
  display: block !important;
  width: 50px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
}
.sidenav .active > a {
  color: #1F1D20;
}

.search_filter_area .search_filter_item {
  padding: 24px 8px 16px;
  border-top: 1px solid #D7E1E4;
}
.search_filter_area .filter_title {
  margin: 0 0 20px 8px;
  font-size: 1.5rem;
  line-height: 1.6;
  font-weight: 700;
  color: #1F1D20;
}
.search_filter_area .select_wrap {
  display: block;
  position: relative;
}
.search_filter_area .select_wrap select {
  padding: 15px 32px 16px 8px;
  font-size: 1.4rem;
  line-height: 1.3571428571;
  border: 1px solid #D7E1E4;
  border-radius: 4px;
}

/*-----------------------------------------
  PC
-----------------------------------------*/
/* =======================================

  CONTENTS

======================================= */
/*-----------------------------------------
  title_field
-----------------------------------------*/
.title_field {
  margin-bottom: 80px;
  background: #F3F6F7 url(/ja-jp/img/common/title_field_bg.png) right center no-repeat;
  background-size: auto 100%;
}
@media only screen and (max-width: 767px) {
  .title_field {
    margin-bottom: 56px;
    background-position: right -80px center;
  }
}
.title_field .cont_inner {
  min-height: 240px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media only screen and (max-width: 767px) {
  .title_field .cont_inner {
    min-height: 144px;
    padding-block: 40px;
  }
}
.title_field .parent_link {
  margin-bottom: 24px;
  display: block;
  color: #697478;
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .title_field .parent_link {
    margin-bottom: 16px;
    font-size: 1.4rem;
  }
}
.title_field .parent_link::before {
  content: "\e907";
  font-family: "wacom";
  font-size: 75%;
  margin-right: 0.3em;
}
.title_field h1 {
  font-size: 3.2rem;
  line-height: 1.2;
}
.title_field h1 small {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .title_field h1 {
    font-size: 2.8rem;
  }
}

/*-----------------------------------------
  entry_field
  common elements
-----------------------------------------*/
main {
  margin-bottom: 120px;
}
@media only screen and (max-width: 767px) {
  main {
    margin-bottom: 80px;
  }
}

.margin_base {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .margin_base {
    margin-bottom: 24px;
  }
}

.entry_field > section:not(:last-of-type) {
  padding-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .entry_field > section:not(:last-of-type) {
    padding-bottom: 24px;
  }
}
.entry_field {
  /*title*/
}
.entry_field h2, .entry_field h3, .entry_field h4, .entry_field h5, .entry_field h6 {
  margin-bottom: 40px;
  line-height: 1.2;
}
@media only screen and (max-width: 767px) {
  .entry_field h2, .entry_field h3, .entry_field h4, .entry_field h5, .entry_field h6 {
    margin-bottom: 24px;
  }
}
.entry_field h2 {
  padding-bottom: 40px;
  position: relative;
  font-size: 2.6rem;
  border-bottom: 3px solid #F3F6F7;
}
@media only screen and (max-width: 767px) {
  .entry_field h2 {
    padding-bottom: 24px;
    font-size: 2.4rem;
  }
}
.entry_field h2::after {
  content: "";
  display: block;
  width: 80px;
  height: 3px;
  background: -webkit-gradient(linear, left top, right top, from(#1F1D20), color-stop(50%, #F3F6F7));
  background: linear-gradient(90deg, #1F1D20 0%, #F3F6F7 50%);
  position: absolute;
  bottom: -3px;
  left: 0;
}
.entry_field h3 {
  font-size: 2.2rem;
}
@media only screen and (max-width: 767px) {
  .entry_field h3 {
    font-size: 2rem;
  }
}
.entry_field h4 {
  padding-left: 1em;
  font-size: 2rem;
  border-left: 3px solid #D7E1E4;
}
@media only screen and (max-width: 767px) {
  .entry_field h4 {
    font-size: 1.8rem;
  }
}
.entry_field h2.num,
.entry_field h3.num,
.entry_field h4.num {
  padding: 0;
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
.entry_field h2.num::before,
.entry_field h3.num::before,
.entry_field h4.num::before {
  display: none;
}
.entry_field h2.num .number,
.entry_field h3.num .number,
.entry_field h4.num .number {
  width: 36px;
  height: 36px;
  color: #fff;
  font-size: 1.8rem;
  font-family: "Roboto", sans-serif;
  letter-spacing: 0;
  background: #1F1D20;
  border-radius: 50%;
  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;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.entry_field {
  /*text*/
}
.entry_field p {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .entry_field p {
    margin-bottom: 24px;
  }
}
.entry_field .sign {
  font-size: 1.4rem;
  line-height: 1.6;
}
.entry_field .sign_set {
  text-align: right;
}
.entry_field .sign_set > p {
  text-align: right;
}
.entry_field strong {
  font-weight: 700;
}
.entry_field strong.large {
  font-size: 2.2rem;
}
.entry_field {
  /*list*/
}
.entry_field ul, .entry_field ol {
  margin-bottom: 40px;
  padding-left: 1.5em;
}
@media only screen and (max-width: 767px) {
  .entry_field ul, .entry_field ol {
    margin-bottom: 24px;
  }
}
.entry_field ul li, .entry_field ol li {
  line-height: 1.6;
}
.entry_field ul li:not(:last-of-type), .entry_field ol li:not(:last-of-type) {
  margin-bottom: 16px;
}
.entry_field ul li {
  list-style-type: disc;
}
.entry_field {
  /*table*/
}
.entry_field table {
  width: 100%;
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .entry_field table {
    margin-bottom: 24px;
  }
}
.entry_field table th, .entry_field table td {
  padding: 1em;
  line-height: 1.6;
  vertical-align: middle;
  border: 1px solid #D7E1E4;
}
@media only screen and (max-width: 767px) {
  .entry_field table th, .entry_field table td {
    padding: 0.6em 0.8em;
  }
}
.entry_field table th {
  background: #F3F6F7;
}
.entry_field table td {
  background: #fff;
}
.entry_field table thead th, .entry_field table thead td {
  background: #D7E1E4;
}
.entry_field table tfoot {
  border-top: 2px solid #D7E1E4;
}
.entry_field table tfoot th, .entry_field table tfoot td {
  background: #F3F6F7;
}
.entry_field table:has(+ .attention) {
  margin-bottom: 16px;
}
.entry_field table.text_small th, .entry_field table.text_small td {
  font-size: 1.5rem;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  .entry_field table.sp_text_small th, .entry_field table.sp_text_small td {
    font-size: 1.4rem;
    line-height: 1.4;
  }
}
.entry_field table th.text_small,
.entry_field table td.text_small {
  font-size: 1.5rem !important;
  line-height: 1.4;
}
.entry_field table th.text_ss,
.entry_field table td.text_ss {
  padding-inline: 0.5em;
  font-size: 1.2rem !important;
  line-height: 1.4;
  letter-spacing: 0;
}
@media only screen and (max-width: 767px) {
  .entry_field table.sp_block th, .entry_field table.sp_block td {
    width: 100% !important;
    display: block;
  }
  .entry_field table.sp_block th:not(tr:last-of-type > *:last-child), .entry_field table.sp_block td:not(tr:last-of-type > *:last-child) {
    border-bottom: none;
  }
  .entry_field table.sp_head_none thead {
    display: none;
  }
}
.entry_field .sp_scroll:has(+ .attention) table {
  margin-bottom: 16px;
}
@media only screen and (max-width: 767px) {
  .entry_field .sp_scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 40px;
  }
  .entry_field .sp_scroll table {
    width: 900px;
    margin-bottom: 0;
  }
  .entry_field .sp_scroll:has(+ .attention) {
    margin-bottom: 16px;
  }
}
.entry_field {
  /*figure*/
}
.entry_field a img {
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
@media (hover: hover) and (pointer: fine) {
  .entry_field a img:hover {
    opacity: 0.7;
  }
}
.entry_field figure {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .entry_field figure {
    margin-bottom: 24px;
  }
}
.entry_field figure.center {
  text-align: center;
}
.entry_field figure.center img {
  margin-inline: auto;
}
.entry_field .img_left, .entry_field .img_right {
  padding-top: 0.6em;
}
@media only screen and (max-width: 767px) {
  .entry_field .img_left.sp_block figure, .entry_field .img_right.sp_block figure {
    margin: 0 0 40px;
    padding-top: 0;
    float: none;
    text-align: center;
  }
}
.entry_field .img_left figure {
  margin: 0 40px 40px 0;
  float: left;
}
.entry_field .img_right figure {
  margin: 0 0 40px 40px;
  float: right;
}
.entry_field {
  /*movie YouTube*/
}
.entry_field .movie_set {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
@media only screen and (max-width: 767px) {
  .entry_field .movie_set {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.entry_field .movie_set .movie_item {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
  .entry_field .movie_set .movie_item {
    width: 100%;
  }
}
.entry_field .movie_set .movie_item iframe {
  width: 560px;
  height: auto;
  aspect-ratio: 16/9;
}
@media only screen and (max-width: 767px) {
  .entry_field .movie_set .movie_item iframe {
    width: 100%;
  }
}
.entry_field .movie_set .info_item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.entry_field .movie_set .info_item > * {
  margin-bottom: 24px;
}
.entry_field .movie_set .info_item h2, .entry_field .movie_set .info_item h3, .entry_field .movie_set .info_item h4 {
  padding: 0;
  font-size: 1.8rem;
  font-weight: 700;
  border: none;
}
.entry_field {
  /*news_set*/
}
.entry_field .news_set {
  margin-top: -24px;
}
@media only screen and (max-width: 767px) {
  .entry_field .news_set {
    margin-top: -16px;
  }
}
.entry_field .youtube_wrap {
  width: 100%;
  margin-bottom: 40px;
  padding: 40px;
  aspect-ratio: 16/9;
  background: #F3F6F7;
  border: 1px solid #D7E1E4;
  border-radius: 8px;
}
@media only screen and (max-width: 767px) {
  .entry_field .youtube_wrap {
    margin-bottom: 24px;
    padding: 16px;
  }
}
.entry_field .youtube_wrap iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}
.entry_field {
  /*point_box*/
}
.entry_field .point_box {
  margin-bottom: 40px;
  padding: 16px;
  background: #F3F6F7;
}
@media only screen and (max-width: 767px) {
  .entry_field .point_box {
    margin-bottom: 16px;
  }
}
.entry_field .point_box > * {
  margin-bottom: 16px;
}
.entry_field .point_box > *:last-child {
  margin-bottom: 0 !important;
}

.attention {
  display: block;
  padding-left: 1.2em;
  position: relative;
  color: #697478;
  line-height: 1.6;
  font-size: 1.4rem;
}
.attention::before {
  content: "※";
  width: 1em;
  height: 1em;
  background: transparent;
  position: absolute;
  top: 0;
  left: 0;
}
.attention.small {
  font-size: 14px;
}
.attention.num {
  display: inline-block;
}
.attention:has(+ .attention) {
  margin-bottom: 16px;
}

ul.attention {
  padding-left: 0 !important;
}
ul.attention::before {
  display: none;
}
ul.attention li {
  list-style-type: none !important;
  padding-left: 1.2em;
  position: relative;
}
ul.attention li:not(:last-of-type) {
  margin-bottom: 8px !important;
}
ul.attention li::before {
  content: "※";
  width: auto;
  height: auto;
  background: transparent;
  position: absolute;
  top: 0;
  left: 0;
}

ol.attention {
  padding-left: 2.5em !important;
}
ol.attention::before {
  display: none;
}
ol.attention li {
  position: relative;
}
ol.attention li:not(:last-of-type) {
  margin-bottom: 8px !important;
}
ol.attention li::before {
  content: "※";
  width: auto;
  height: auto;
  background: transparent;
  position: absolute;
  top: 0;
  left: -2.5em;
}

/*-----------------------------------------
  index_nav
-----------------------------------------*/
.index_nav ul li a {
  height: 100%;
  position: relative;
  padding: 40px 48px 40px 40px;
  background-color: #fff;
  border: 1px solid #D7E1E4;
  border-radius: 8px;
  -webkit-box-shadow: 0 48px 20px -40px rgba(0, 98, 130, 0.1);
          box-shadow: 0 48px 20px -40px rgba(0, 98, 130, 0.1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
@media only screen and (max-width: 767px) {
  .index_nav ul li a {
    padding: 24px 40px 24px 24px;
  }
}
.index_nav ul li a::after {
  content: "\e908";
  font-family: "wacom";
  line-height: 2;
  margin-top: 0.3em;
  color: #1F1D20;
  display: inline-block;
  position: relative;
  right: 0;
  font-size: 65%;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 24px;
}
.index_nav ul li a[target=_blank]::after {
  content: "\e901";
}
.index_nav ul li a figure img {
  border-radius: 8px;
}
.index_nav ul li a .ttl {
  line-height: 1.2;
  font-size: 2rem;
  color: #1F1D20;
}
.index_nav ul li a .ttl small {
  font-size: 1.4rem;
}
.index_nav ul li a p {
  width: 96%;
  position: relative;
  margin-top: 32px;
  font-size: 1.4rem;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .index_nav ul li a p {
    margin-top: 16px;
  }
}
.index_nav ul li a:has(p)::after {
  display: none;
}
.index_nav ul li a:has(p) p::after {
  content: "\e908";
  font-family: "wacom";
  line-height: 2;
  margin-top: 0.3em;
  color: #1F1D20;
  display: inline-block;
  position: relative;
  font-size: 80%;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: -3em;
}
.index_nav ul li a:has(p)[target=_blank] p::after {
  content: "\e901";
}
@media (hover: hover) and (pointer: fine) {
  .index_nav ul li a:hover {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
    text-decoration: none;
  }
}

/*-----------------------------------------
  anchor_nav
-----------------------------------------*/
.anchor_nav {
  margin-top: calc(-1 * (80px + 1.7em));
  margin-bottom: 64px;
}
@media only screen and (max-width: 767px) {
  .anchor_nav {
    margin-top: 0;
    margin-bottom: 40px;
  }
}
.anchor_nav ul {
  padding: 0 !important;
}
@media only screen and (max-width: 767px) {
  .anchor_nav ul {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
    gap: 4px;
  }
}
.anchor_nav ul li {
  margin-bottom: 0 !important;
  list-style-type: none !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.anchor_nav ul li a {
  width: 100%;
  min-width: 0;
  padding-block: 0.7em;
  padding-left: 0.5em;
  padding-right: 0.2em;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  text-align: center;
  gap: 4px;
}
.anchor_nav ul li a::after {
  content: "\e906";
}
@media (hover: hover) and (pointer: fine) {
  .anchor_nav ul li a:hover::after {
    right: 0 !important;
  }
}

/*-----------------------------------------
  inner_nav
-----------------------------------------*/
#inner_nav {
  padding-top: 40px;
}
#inner_nav h2 {
  margin-bottom: 32px;
  font-size: 2rem;
}
#inner_nav h2::before {
  content: "\e904";
  font-family: "wacom";
  margin-right: 0.3em;
  font-size: 75%;
}
#inner_nav .is_inactive {
  display: none !important;
}
#inner_nav ul li a {
  position: relative;
  display: block;
  overflow: hidden;
  min-width: 0;
  min-height: 4.5em;
  padding-inline: 1em;
  color: #1F1D20;
  font-size: 1.6rem;
  background: #F3F6F7;
  border-color: #F3F6F7;
  border-radius: 8px;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
@media only screen and (max-width: 767px) {
  #inner_nav ul li a {
    padding: 1em;
    min-height: 0;
    font-size: 1.4rem;
  }
}
#inner_nav ul li a::before {
  content: "";
  width: 220%;
  height: 100%;
  display: block;
  background: linear-gradient(75deg, #D7E1E4 0%, #F0F3F7 49%);
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
#inner_nav ul li a::after {
  content: "\e908";
  font-family: "wacom";
  line-height: 2;
  margin-top: 0.5em;
  display: inline-block;
  font-size: 65%;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
@media only screen and (max-width: 767px) {
  #inner_nav ul li a::after {
    margin-top: 0.3em;
  }
}
#inner_nav ul li a[target=_blank]::after {
  content: "\e901";
  font-family: "wacom";
  margin-top: 0.3em;
}
@media (hover: hover) and (pointer: fine) {
  #inner_nav ul li a:hover {
    text-decoration: none;
  }
  #inner_nav ul li a:hover::before {
    right: -100%;
  }
}
#inner_nav ul li.current a {
  color: #697478;
}

/*-----------------------------------------
  accordion_content
-----------------------------------------*/
.accordion_content {
  margin-bottom: 40px;
}

dl.accordion_set {
  margin-bottom: 16px;
  line-height: 1.4;
  background: #F3F6F7;
  border-radius: 8px;
}
dl.accordion_set dt {
  position: relative;
}
dl.accordion_set dt button {
  width: 100%;
  padding: 32px 80px 32px 40px;
  font-size: 2.2rem;
  cursor: pointer;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  dl.accordion_set dt button {
    padding: 16px 48px 16px 16px;
    font-size: 2rem;
  }
}
dl.accordion_set dt small {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  dl.accordion_set dt small {
    display: block;
    font-size: 1.4rem;
  }
}
dl.accordion_set dt::after {
  font-family: "wacom";
  content: "\f0fe";
  font-size: 1.8rem;
  pointer-events: none;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 40px;
}
@media only screen and (max-width: 767px) {
  dl.accordion_set dt::after {
    right: 16px;
  }
}
dl.accordion_set dd {
  display: none;
  padding: 24px 40px 40px;
}
@media only screen and (max-width: 767px) {
  dl.accordion_set dd {
    padding: 16px;
  }
}
dl.accordion_set dd > * {
  margin-bottom: 24px;
}
dl.accordion_set dd > *:last-child {
  margin-bottom: 0;
}
dl.accordion_set dd .news_set ul {
  margin-bottom: 0;
}
dl.accordion_set dd .img_left p, dl.accordion_set dd .img_right p {
  margin-bottom: 0;
}
dl.accordion_set dd table th {
  background: #D7E1E4;
}
dl.accordion_set.is_open dt::after {
  content: "\f146";
}
dl.accordion_set.is_open dd {
  display: block;
}

/*-----------------------------------------
  form
-----------------------------------------*/
/*select*/
.select_outer,
.year_nav,
.xj-sel-year {
  margin-bottom: 40px;
  position: relative;
  display: inline-block;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .select_outer,
  .year_nav,
  .xj-sel-year {
    width: 100%;
  }
}
.select_outer::before,
.year_nav::before,
.xj-sel-year::before {
  content: "\f107";
  font-family: "wacom";
  font-size: 140%;
  pointer-events: none;
  color: #1F1D20;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 1em;
}
.select_outer select,
.year_nav select,
.xj-sel-year select {
  min-width: 18em;
  padding: 1em 2.5em 1em 1.5em;
  letter-spacing: 0.08em;
  border: 1px solid #D7E1E4;
  border-radius: 8px;
}
@media only screen and (max-width: 767px) {
  .select_outer select,
  .year_nav select,
  .xj-sel-year select {
    width: 100%;
    min-width: 0;
    padding: 0.8em 2em 0.8em 1em;
  }
}

/*text*/
input[type=text],
input[type=email],
input[type=tel],
input[type=url],
input[type=password] {
  padding: 0.6em 1em;
  font: inherit;
  letter-spacing: 0.08em;
  background: #fff;
  border: 1px solid #D7E1E4;
  border-radius: 8px;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

input::-webkit-input-placeholder {
  color: #697478;
  opacity: 0.5;
  letter-spacing: 0.08em;
}

input::-moz-placeholder {
  color: #697478;
  opacity: 0.5;
  letter-spacing: 0.08em;
}

input:-ms-input-placeholder {
  color: #697478;
  opacity: 0.5;
  letter-spacing: 0.08em;
}

input::-ms-input-placeholder {
  color: #697478;
  opacity: 0.5;
  letter-spacing: 0.08em;
}

input::placeholder {
  color: #697478;
  opacity: 0.5;
  letter-spacing: 0.08em;
}

/*checkbox*/
input[type=checkbox] {
  position: relative;
  width: 18px;
  height: 18px;
  border: 1px solid #697478;
  border-radius: 4px;
  background: #fff;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  cursor: pointer;
}
input[type=checkbox]:checked {
  background-color: #1F1D20;
  border-color: #1F1D20;
}
input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 2px;
  left: 5px;
}

.form_set {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .form_set {
    margin-bottom: 24px;
  }
}

.form_item {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
@media only screen and (max-width: 767px) {
  .form_item {
    display: block;
  }
}
.form_item:not(:last-child) {
  margin-bottom: 16px;
}
@media only screen and (max-width: 767px) {
  .form_item:not(:last-child) {
    margin-bottom: 24px;
  }
}
.form_item dt {
  padding-top: 0.6em;
  padding-right: 4.5em;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .form_item dt {
    width: 100% !important;
    margin-bottom: 1em;
    padding-top: 0;
  }
}
.form_item dt .required {
  position: absolute;
  right: 0;
  top: 0.6em;
}
@media only screen and (max-width: 767px) {
  .form_item dt .required {
    top: -0.3em;
  }
}
.form_item dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.form_item dd input[type=text],
.form_item dd input[type=email],
.form_item dd input[type=tel],
.form_item dd input[type=url],
.form_item dd input[type=password] {
  width: 100%;
}

.form_list {
  padding-left: 0 !important;
}
.form_list li {
  list-style-type: none !important;
}
.form_list li > label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
}
.form_list li > label > input {
  margin-top: 0.4em;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.form_list li > label p {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  line-height: 1.6;
  margin-bottom: 0;
}

/*label*/
.required {
  margin-top: 0.4em;
  padding: 0 1em;
  display: inline-block;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.6;
  white-space: nowrap;
  background: #DB005B;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-item-align: start;
      align-self: flex-start;
}

/*alert*/
.alert {
  padding-bottom: 8px;
  display: block;
  color: #DB005B;
  font-size: 1.4rem;
}
.alert::before {
  content: "\f071";
  font-family: "wacom";
  margin-right: 0.2em;
}

/*submit*/
input[type=submit] {
  color: #fff;
  background: #1F1D20;
  border: none;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}
@media (hover: hover) and (pointer: fine) {
  input[type=submit]:hover {
    opacity: 0.7;
  }
}

/*request_sent*/
.request_sent {
  text-align: center;
  color: #697478;
}
.request_sent > div {
  margin-bottom: 40px;
  font-family: "Roboto", sans-serif;
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .request_sent > div {
    margin-bottom: 24px;
  }
}
.request_sent > div::before {
  content: "\f00c";
  font-family: "wacom";
  width: 64px;
  height: 64px;
  margin-inline: auto;
  margin-bottom: 16px;
  font-size: 25px;
  border: 5px solid #697478;
  border-radius: 50%;
  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;
}

/*wpcf7*/
.btn-wrapper {
  display: inline-block;
}

.wpcf7 ul,
.wpcf7 p {
  margin-bottom: 0;
}

#ml-register,
#ml-unregister,
form input[type=submit].btn {
  padding: 1.05em 2.2em !important;
}

.wpcf7-spinner,
.wpcf7-response-output {
  display: none !important;
}

@media only screen and (max-width: 767px) {
  .wpcf7, .btn-wrapper {
    width: 100%;
  }
}
/*-----------------------------------------
  management
-----------------------------------------*/
.management .index_nav ul {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: auto auto;
  gap: 16px;
}
@media (max-width: 1200px) {
  .management .index_nav ul {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
  }
}
@media only screen and (max-width: 767px) {
  .management .index_nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.management .index_nav ul li {
  height: 100%;
}
.management .index_nav ul a {
  height: 100%;
  display: block;
  text-decoration: none;
}
.management .index_nav ul .thumb_l {
  grid-column: 1;
  grid-row: 1/span 2;
}
@media (max-width: 1200px) {
  .management .index_nav ul .thumb_l {
    grid-column: 1/-1;
    grid-row: 1;
  }
}
.management .index_nav ul .thumb_l a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 40px;
  padding: 8px 48px 8px 8px;
}
@media only screen and (max-width: 767px) {
  .management .index_nav ul .thumb_l a {
    padding: 8px 8px 24px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24px;
  }
}
.management .index_nav ul .thumb_l .text_set {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media only screen and (max-width: 767px) {
  .management .index_nav ul .thumb_l .text_set {
    width: 100%;
    padding: 0 32px 0 16px;
  }
}
.management .index_nav ul .thumb_l figure {
  width: 52%;
  aspect-ratio: 1/1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
  .management .index_nav ul .thumb_l figure {
    width: 100%;
    aspect-ratio: auto;
  }
}
.management .index_nav ul .thumb_l img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.management .index_nav ul li:not(.thumb_l) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.management .index_nav ul li:not(.thumb_l) a {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.management .index_nav ul li:nth-child(2) {
  grid-column: 2;
  grid-row: 1;
}
@media (max-width: 1200px) {
  .management .index_nav ul li:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
  }
}
.management .index_nav ul li:nth-child(3) {
  grid-column: 2;
  grid-row: 2;
}
@media (max-width: 1200px) {
  .management .index_nav ul li:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
  }
}

/*-----------------------------------------
  ir-schedule
-----------------------------------------*/
.ir-schedule .schedule_img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2px;
}
@media only screen and (max-width: 767px) {
  .ir-schedule .schedule_img {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.ir-schedule .schedule_img img {
  width: calc((100% - 2px) / 2);
}
@media only screen and (max-width: 767px) {
  .ir-schedule .schedule_img img {
    width: 100%;
  }
}

/*-----------------------------------------
  wacom-at-a-glance
-----------------------------------------*/
.entry_field ul.facts {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(3, 1fr);
  gap: 40px;
}
@media only screen and (max-width: 767px) {
  .entry_field ul.facts {
    display: block;
  }
}
.entry_field ul.facts .fact_item {
  padding: 32px 0;
  list-style-type: none;
  text-align: center;
  background: -webkit-gradient(linear, left top, left bottom, from(#DDEAEE), color-stop(57.69%, #F3F6F7), color-stop(88%, #FFF));
  background: linear-gradient(180deg, #DDEAEE 0%, #F3F6F7 57.69%, #FFF 88%);
  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: 40px;
}
.entry_field ul.facts .fact_item h3 {
  margin: 0 auto 8px;
  padding: 0.3em 1em;
  display: inline-block;
  color: #fff;
  font-size: 1.6rem;
  background: #1F1D20;
}
.entry_field ul.facts .fact_item .ico {
  margin: 0 auto;
  display: block;
}
@media only screen and (max-width: 767px) {
  .entry_field ul.facts .fact_item .ico {
    width: auto;
    height: 100px;
  }
}
.entry_field ul.facts .fact_item .num_set {
  margin-top: -16px;
  padding-inline: 16px;
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .entry_field ul.facts .fact_item .num_set {
    margin-top: 0;
  }
}
.entry_field ul.facts .fact_item .num_set > span {
  margin-inline: 4px;
}
.entry_field ul.facts .fact_item .num {
  font-size: 8rem;
  font-family: "Roboto", sans-serif;
  font-weight: 200;
  line-height: 1;
  letter-spacing: 0;
}
.entry_field ul.facts .fact_item .attention {
  margin-top: 1em;
  display: inline-block;
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .entry_field ul.facts .fact_item .attention {
    margin-top: 0;
  }
}
.entry_field ul.facts .fact_item .history {
  text-align: left;
  font-size: 1.3rem;
  letter-spacing: 0;
  display: grid;
  grid-template-columns: 5em 290px;
  row-gap: 0.2em;
}
@media only screen and (max-width: 767px) {
  .entry_field ul.facts .fact_item .history {
    padding: 24px 6%;
    grid-template-columns: 5em auto;
  }
}
.entry_field ul.facts .fact_item .history dt {
  grid-column: 1;
}
.entry_field ul.facts .fact_item .history dt::before {
  content: "・";
  color: #6BA5B3;
}
.entry_field ul.facts .fact_item .history dd {
  grid-column: 2;
}
.entry_field ul.facts .establishment {
  grid-area: 1/1/2/5;
}
@media only screen and (max-width: 767px) {
  .entry_field ul.facts .establishment {
    display: block;
  }
}
.entry_field ul.facts .establishment .num {
  font-size: 4.2rem;
}
.entry_field ul.facts .establishment .num.year {
  font-size: 6rem;
}
.entry_field ul.facts .employees {
  grid-area: 1/5/2/7;
}
.entry_field ul.facts .revenue {
  grid-area: 2/1/3/3;
}
.entry_field ul.facts .roe {
  grid-area: 2/3/3/5;
}
.entry_field ul.facts .core_technology {
  grid-area: 2/5/3/7;
}
.entry_field ul.facts .business_model {
  grid-area: 3/1/4/4;
}
.entry_field ul.facts .business_model .attention:first-of-type {
  margin-top: 1em;
}
.entry_field ul.facts .annie_award {
  grid-area: 3/4/4/7;
}

/*-----------------------------------------
  breadcrumbs
-----------------------------------------*/
#breadcrumbs {
  color: #697478;
  position: relative;
  font-size: 1.4rem;
  background: #F3F6F7;
  border-top: 1px solid #D7E1E4;
}
#breadcrumbs .cont_outer {
  padding-block: 32px;
}
@media only screen and (max-width: 767px) {
  #breadcrumbs .cont_outer {
    padding-block: 16px;
    overflow-x: scroll;
  }
  #breadcrumbs .cont_outer::after {
    content: "";
    width: 48px;
    height: 100%;
    display: block;
    background: rgb(243, 246, 247);
    background: -webkit-gradient(linear, left top, right top, from(rgba(243, 246, 247, 0)), color-stop(80%, rgb(243, 246, 247)));
    background: linear-gradient(90deg, rgba(243, 246, 247, 0) 0%, rgb(243, 246, 247) 80%);
    position: absolute;
    right: 0;
    top: 0;
  }
}
#breadcrumbs .breadcrumbs_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 767px) {
  #breadcrumbs .breadcrumbs_list {
    width: auto;
  }
}
#breadcrumbs .breadcrumbs_list li {
  padding-right: 12px;
  display: inline-block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 767px) {
  #breadcrumbs .breadcrumbs_list li {
    white-space: nowrap;
  }
}
#breadcrumbs .breadcrumbs_list li:not(:first-of-type)::before {
  content: "/";
  margin-right: 12px;
  font-size: 10px;
  display: inline-block;
}
#breadcrumbs .breadcrumbs_list li a {
  color: #697478;
  display: inline-block;
}
#breadcrumbs .breadcrumbs_list li a::after {
  display: none;
}
@media (hover: hover) and (pointer: fine) {
  #breadcrumbs .breadcrumbs_list li a:hover {
    text-decoration: underline;
  }
}
#breadcrumbs .breadcrumbs_list li.home::before {
  content: "\f015";
  font-family: "wacom";
  margin-right: 0.3em;
  font-size: 110%;
}