@charset "utf-8";

/* btn */
a.btn_b,
a.btn_o,
a.btn_dl,
a.btn_map {
  display: block;
  position: relative;
  width: 90%;
  height: 60px;
  margin: 1% auto;
  line-height: 60px;
  color: var(--ff);
  font-size: 1.15rem;
  font-weight: var(--t4);
  text-align: center;
  background: var(--co_mc);
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
a.btn_o {
  background: var(--co_or);
}
a.btn_dl {
  width: 100%;
  background: var(--co_or);
}
a.btn_b::after,
a.btn_o::after {
  position: absolute;
  content: '';
  top: 24px;
  right: 15px;
  background: var(--ff);
  width: 7px;
  height: 12px;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
a.pdf_link {
  position: relative;
  padding: 0 0 0 1.8em;
  color: var(--tc);
  font-size: 1rem;
  font-weight: var(--t4);
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
a.pdf_link::before {
  position: absolute;
  display: inline-block;
  content: url(../images/common/icon_pdf.svg);
  top: 2px;
  left: 0;
  width: 17px;
  height: 20px;
}
a.btn_dl::before {
  display: inline-block;
  content: url(../images/common/icon_dl.svg);
  width: 28px;
  height: 28px;
  transform: translate(-11px, 4px);
}
a.btn_b_multiple {
  display: block;
  position: relative;
  width: 90%;
  margin: 1% auto;
  font-size: 1.1rem;
  text-align: center;
  background: var(--co_mc);
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
a.btn_b_multiple span {
  display: block;
  padding: .5em 0;
  color: var(--ff);
  font-weight: var(--t4);
  line-height: 1.2;
}
a.btn_b_multiple::after {
  position: absolute;
  content: '';
  top: calc((100% - 12px) / 2);
  right: 15px;
  background: var(--ff);
  width: 7px;
  height: 12px;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
a.btn_map::before {
  position: absolute;
  content: '';
  top: 24px;
  left: 15px;
  background: var(--ff);
  width: 7px;
  height: 12px;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
a.btn_map::after {
  position: absolute;
  top: 0;
  right: calc(50% - 2.5em);
  content: url(../images/common/icon_link_w.svg);
  width: 15px;
  height: 15px;
}
.page_btn_erea {
  margin: 0 0 10%;
}
/* table */
table.basic {
  width: 100%;
  border-collapse: collapse;
}
table.fixed {
  width:100%;
  table-layout: fixed;
  word-break: break-word;
}
table.basic tr,
table.fixed tr {
  border-top: 1px solid var(--line);
}
table.basic tr:last-child,
table.fixed tr:last-child {
  border-bottom: 1px solid var(--line);
}
table.basic tr th,
table.basic tr td,
table.fixed tr th,
table.fixed tr td {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--tc);
}
table.basic tr th {
  width: 25%;
  padding: 1.5em 1em;
  white-space: nowrap;
  font-weight: var(--t7);
  text-align: left;
  background: var(--bg);
}
table.fixed tr th {
  padding: .5em;
  font-weight: var(--t4);
  text-align: center;
  background: var(--bg);
  vertical-align: middle;
}
table.fixed tr th.r_line {
  border-right: 1px solid var(--line);
}
table.fixed tr th.w30 {
  width: 30%;
}
table.basic tr td,
table.fixed tr td {
  font-weight: var(--t4);
  padding: 1.5em 1em 1.5em 1.5em;
  vertical-align: middle;
}
table.fixed tr td {
  padding: 1em;
  border-right: 1px solid var(--line);
}
table.fixed tr td:last-child {
  border-right: none;
}
table.basic tr th a,
table.basic tr td a:not(.pdf_link),
table.fixed tr th a,
table.fixed tr td a {
  color: var(--co_bl);
  text-decoration: underline;
  -webkit-transition: all .3s cubic-bezier(.33, 1, .68, 1);
  transition: all .3s cubic-bezier(.33, 1, .68, 1);
}
/* boxbloc */
div.box_01,
div.box_02,
div.box_03,
div.box_04 {
  width: 100%;
  margin: 1.5em 0;
  padding: 30px;
}
div.box_01 {
  background: var(--bg_02);
  border: 1px solid var(--line_02);
}
div.box_02 {
  border: 1px solid var(--line);
}
div.box_01 p:last-child,
div.box_02 p:last-child,
div.box_03 p:last-child,
div.box_04 p:last-child {
  padding: 0 !important;
}
div.box_03 {
  background: var(--bg_02);
  border: 5px solid var(--line_02);
}
div.box_04 {
  background: var(--line_02);
}
/* error */
#error {
  width: min(96%, 800px);
  margin: 5% auto 8%;
}
#error h1 {
  position: relative;
  display: block;
  margin: 0 auto 10%;
  color: var(--tc);
  font-size: 2rem;
  text-align: center;
  font-weight: var(--t7);
  line-height: 1.4;
}
#error h1::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: -2em;
  margin: auto;
  content: '';
  width: 100px;
  height: 3px;
  background: var(--co_mc);
}
#error p {
  color: var(--tc);
  font-size: 1rem;
  font-weight: var(--t4);
  text-align: center;
  line-height: 1.8;
}
/* post */
.archives_bloc {
  margin: 1.25em 0 5%;
}
h2 + dl.archives {
  margin: 60px 0 0;
}
dl.archives {
  border-top: 1px solid var(--line);
  width: 100%;
}
dl.archives dt {
  padding: 1.3em 0 0;
}
dl.archives dd {
  padding: .3em 0 1.3em;
  border-bottom: 1px solid var(--line);
}
p.day,
dl.archives dt,
dl.archives dd a {
  color: var(--tc);
  font-size: 1rem;
  font-weight: var(--t4);
}
dl.archives dd a {
  line-height: 1.8;
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
.newslabel01,
.newslabel02,
.newslabel03,
.newslabel04,
.newslabel05,
.newslabel06 {
  display: inline-block;
  width: 140px;
  margin: 0 1em;
  padding: .4em 0;
  color: var(--ff);
  font-size: 1rem;
  text-align: center;
  background: var(--la_n01);
}
.newslabel02 {
  background: var(--la_n02);
}
.newslabel03 {
  background: var(--la_n03);
}
.newslabel04 {
  background: var(--la_n04);
}
.newslabel05 {
  background: var(--la_n05);
}
.newslabel06 {
  background: var(--co_mc);
}
/* post_erea */
.post_erea {
  width: 100%;
  overflow-x: hidden;
}
.post_erea .inside_bloc {
  margin: 60px 0;
}
h1.single_title,
h1.single_bloc_title {
  display: block;
  margin: 1em 0 .5em;
  padding: 0 0 .1em;
  color: var(--tc);
  font-size: 1.8rem;
  font-weight: var(--t7);
  line-height: 1.6;
  border-bottom: 1px solid var(--line);
}
h1.single_bloc_title {
  font-size: 1.65rem;
}
.post_erea h2 {
  display: block;
  margin: 1em 0;
  padding: 0 0 .3em;
  color: var(--tc);
  font-size: 1.5rem;
  font-weight: var(--t7);
  line-height: 1.6;
  border-bottom: 1px solid var(--line);
}
.post_erea h3 {
  display: block;
  margin: 1em 0;
  padding: 0 .3em 0 30px;
  color: var(--tc);
  font-size: 1.4rem;
  font-weight: var(--t7);
  line-height: 1.6;
  border-left: 5px solid var(--co_bl);
}
.post_erea h4 {
  display: block;
  margin: 1em 0;
  color: var(--tc);
  font-size: 1.2rem;
  font-weight: var(--t7);
  line-height: 1.6;
}
.post_erea h5 {
  display: block;
  position: relative;
  margin: 1em 0;
  padding-left: 2em;
  color: var(--tc);
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
}
.post_erea h5::before {
  display: block;
  position: absolute;
  top: 3px;
  left: 0;
  content: url(../images/common/icon_cheack.svg);
  width: 28px;
  padding: 0 .3em 0 0;
}
.post_erea table {
  width:100%;
  margin: 1em 0;
  table-layout: fixed;
  word-break: break-word;
}
.post_erea table tr th,
.post_erea table tr td {
  padding: .6em;
  vertical-align: middle;
  border: 1px solid var(--line);
}
.post_erea table tr th,
.post_erea table tr td,
.post_erea table tr th a,
.post_erea table tr td a,
.post_erea p,
.post_erea p a,
.post_erea ul li,
.post_erea ul li a {
  color: var(--tc);
  font-size: 1rem;
  font-weight: var(--t4);
  line-height: 1.8;
}
.post_erea p {
  padding: 0 0 1.5em;
}
.post_erea ul {
  margin: 1em 0;
}
.post_erea ul li {
  position: relative;
  padding: .5em 0 .5em 1em;
  font-size: 1.2rem;
  font-weight: var(--t7);
  line-height: 1.6;
}
.post_erea ul li::before {
  position: absolute;
  display: block;
  content: '';
  top: 1.15em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 100%;
  background: var(--tc);
}
.post_erea ul li a {
  font-size: 1.15rem;
  font-weight: var(--t7);
}
.marker {
  padding: 0 .1em;
  background: linear-gradient(transparent 65%, var(--co_ye) 65%);
}
.post_erea hr {
  margin: 3% 0;
  border-top: 1px solid #DCDCDC;
}
.post_erea table tr th a,
.post_erea table tr td a,
.post_erea p a,
.post_erea ul li a,
.post_erea h5 a {
  color: var(--co_bl);
  text-decoration: underline;
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
/*post image*/
.aligncenter {
  display: block;
  margin: 0 auto;
}
.alignleft {
  display: block;
  margin: 0 auto 0 0;
}
.alignright {
  display: block;
  margin: 0 0 0 auto;
}
.wp-caption {
  max-width: 100%;
  margin: auto;
  text-align: center;
}
p.wp-caption-text {
  padding: 0;
}
/* page */
.page,
.serv_point_bloc,
#serv_content {
  counter-reset: number 0;
}
h1.page_title {
  display: block;
  margin: 60px 0;
  color: var(--tc);
  font-size: 2.2rem;
  font-weight: var(--t7);
  line-height: 1.6;
}
h1.page_title.line {
  border-bottom: 1px solid var(--line);
}
section.page_inside_bloc {
  margin: 0 0 10%;
}
section.page_inside_bloc  {
  margin: 0 0 10%;
}
section.page_inside_bloc article {
  margin: 0 0 5%;
}
.page h2,
h2.case_cat_title {
  position: relative;
  display: block;
  padding: 0 0 0 1em;
  color: var(--tc);
  font-size: 2rem;
  font-weight: var(--t7);
}
.page h2::before,
h2.case_cat_title::before {
  position: absolute;
  top: 50%;
  left:0;
  content: '';
  width: 22px;
  height:2px;
  background: var(--tc);
  transform:translateY(-50%);
}
.page h3,
h3.bloc_title {
  color: var(--tc);
  font-size: 1.5rem;
  font-weight: var(--t7);
  line-height: 1.6;
}
h3.bloc_title {
  font-size: 1.85rem;
}
h3.topics_txt {
  font-size: 2.1rem;
}
.page h4,
h2.trouble_cat_title,
h2.case_single_bloc_title {
  display: block;
  margin: 0 0 1.5em;
  padding: 0 .3em 0 1.3em;
  color: var(--tc);
  font-size: 1.4rem;
  font-weight: var(--t7);
  line-height: 1.6;
  border-left: 5px solid var(--co_bl);
}
.page h5 {
  display: block;
  margin: 0 0 .5em;
  color: var(--tc);
  font-size: 1.35rem;
  font-weight: var(--t7);
  line-height: 1.6;
}
.page h5.line {
  margin: 0;
  padding: 0 0 .2em;
  border-bottom: 1px solid var(--line);
}
.page p,
.page p a,
ul.basic li,
ul.basic li a,
ol.count li,
ol.count li a,
ol.basic li,
ol.basic li a {
  color: var(--tc);
  font-size: 1rem;
  font-weight: var(--t4);
  line-height: 1.8;
}
.page p:not(.nopb):not(.topics01_process_title) {
  padding: 0 0 1.5em;
}
ul.basic li {
  position: relative;
  line-height: 1.6;
  padding: .5em 0 .5em 1em;
}
ul.basic li::before {
  position: absolute;
  display: block;
  content: '';
  top: 1.1em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 100%;
  background: var(--tc);
}
ol.count {
  list-style-type: none;
  margin-left: 2.5em;
}
ol.count > li::before {
  counter-increment: number 1;
  content: "（" counter(number)"）";
  display:inline-block;
  margin-left: -2.5em;
}
ol.count li {
  margin: .5em 0;
}
ol.basic {
  width: 96%;
  list-style: outside;
  list-style-type: decimal;
  margin: 0 0 0 3%;
}
ol.basic li,
ol.basic li a {
  margin: 1em 0;
}
.page p a,
ul.basic li a,
ol.count li a,
ol.basic li a {
  color: var(--co_bl);
  text-decoration: underline;
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
/* L2 pagehead */
#pagehead_service,
#pagehead_case,
#pagehead_news,
#pagehead_download,
#pagehead_company {
  display: grid;
  place-items: center;
  width: 100%;
  height: 350px;
}
#pagehead_service {
  background: url(../images/pagehead/service.jpg) center center / cover no-repeat;
}
#pagehead_case {
  background: url(../images/pagehead/case.jpg) center center / cover no-repeat;
}
#pagehead_news {
  background: url(../images/pagehead/news.jpg) center center / cover no-repeat;
}
#pagehead_download {
  background: url(../images/pagehead/download.jpg) center center / cover no-repeat;
}
#pagehead_company {
  background: url(../images/pagehead/company.jpg) center center / cover no-repeat;
}
.pagehead {
  width: min(96%, 1200px);
}
.pagehead h1 {
  position: relative;
  font-family: 'Noto Serif JP', serif;
  color: var(--ff);
  font-size: 3.35rem;
  font-weight: var(--t5);
}
.pagehead h1::after {
  position: absolute;
  content: '';
  bottom: -35px;
  left: 0;
  width: 70px;
  height: 2px;
  background: var(--ff);
}
/* service index */
ul.service_topic {
  width: 100%;
}
ul.service_topic li {
  position: relative;
  line-height: 70px;
  border-bottom: 1px solid var(--line);
}
ul.service_topic li::before {
  position: absolute;
  content: '';
  top: 27px;
  left: .8em;
  background: var(--co_bl);
  width: 9px;
  height: 16px;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
ul.service_topic li a {
  padding-left: 1.6em;
  color: var(--tc);
  font-size: 1.2rem;
  font-weight: var(--t7);
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
/* L2 nav */
ul.service_l2_nav,
ul.company_l2_nav {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
}
ul.service_l2_nav {
  margin: 2.5em 0 0;
}
ul.service_l2_nav li a figure,
ul.company_l2_nav li a figure {
  position: relative;
  overflow: hidden;
}
ul.service_l2_nav li:last-child a figure {
  border: 1px solid var(--line);
}
ul.service_l2_nav li a figure img,
ul.company_l2_nav li a figure img {
  opacity: 1;
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
ul.service_l2_nav li a span,
ul.company_l2_nav li a span {
  position: relative;
  display: block;
  margin: .7em 0 0;
  color: var(--tc);
  font-size: 1.25rem;
  font-weight: var(--t7);
  text-indent: 1.5rem;
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
ul.service_l2_nav li a span::before,
ul.company_l2_nav li a span::before {
  position: absolute;
  content: '';
  top: 2px;
  left: 0;
  background: var(--co_bl);
  width: 9px;
  height: 16px;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.service_search_bloc {
  width: 100%;
}
/* ADD service_bnr_erea 2024-10-05 */
.service_bnr_erea {
  width: min(96%, 850px);
  margin: 60px auto;
}
.service_bnr_erea a img {
  display: block;
  max-width: 100%;
  aspect-ratio: 85 / 16;
  opacity: 1;
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
/* service l3 */
#service_l3_bloc {
  width: 100%;
  padding: 60px 0;
  background: var(--bg);
  border-top: 1px solid var(--line);
}
#service_l3_nav {
  width: min(96%, 1200px);
  margin: 60px auto 0;
}
#service_l3_nav ul {
  display: flex;
  justify-content: space-between;
}
#service_l3_nav ul li {
  position: relative;
  flex-basis: calc(100% / 3);
  background: var(--ff);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
#service_l3_nav ul li:last-child {
  border-right: 1px solid var(--line);
}
#service_l3_nav ul li::after {
  position: absolute;
  content: '';
  top: 50%;
  right: 1em;
  background: var(--co_mc);
  width: 12px;
  height: 7px;
  -webkit-clip-path: polygon(0 0, 100% 0%, 50% 100%);
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
#service_l3_nav ul li a {
  display: block;
  width: 100%;
  height: 60px;
  line-height: 60px;
  color: var(--co_mc);
  font-size: 1rem;
  font-weight: var(--t7);
  text-align: center;
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
#service_l3_nav ul li.active {
  background: var(--co_mc);
}
#service_l3_nav ul li.active::after {
  background: var(--ff);
}
#service_l3_nav ul li.active a {
  color: var(--ff);
}
/* service list */
#sortlist {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 3% auto;
  border: 1px solid var(--line);
}
#sortlist li {
  flex-basis: 25%;
  height: 60px;
  line-height: 60px;
  color: var(--co_mc);
  font-size: 1rem;
  font-weight: var(--t7);
  text-align: center;
  cursor: pointer;
  border-left: 1px solid var(--line);
  background: var(--ff);
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
#sortlist li#all.active {
  color: var(--ff);
  background: var(--co_mc);
}
#sortlist li#serv01.active {
  color: var(--ff);
  background: var(--s_cat01);
}
#sortlist li#serv02.active {
  color: var(--ff);
  background: var(--s_cat02);
}
#sortlist li#serv03.active {
  color: var(--ff);
  background: var(--s_cat03);
}
#servlist_inside,
.trouble_inside,
.related_serv_inside {
  display: flex;
  flex-wrap: wrap;
  width: min(96%, 1200px);
  margin: 0 auto;
}
.related_serv_inside {
  width: 100%;
}
.servlist_inner {
  background: var(--ff);
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
.servlist_inner img,
a img.servbnr {
  opacity: 1;
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
.servlist_inner p {
  padding: 1.2em 1em 0;
}
.serv01_label,
.serv02_label,
.serv03_label {
  padding: .2em 1.2em;
  color: var(--s_cat01);
  font-size: .85rem;
  font-weight: var(--t5);
  border: 1px solid var(--s_cat01);
}
.serv02_label {
  color: var(--s_cat02);
  border: 1px solid var(--s_cat02);
}
.serv03_label {
  color: var(--s_cat03);
  border: 1px solid var(--s_cat03);
}
.servlist_inner h3 {
  padding: 1.2em 1em 1em;
  color: var(--tc);
  font-size: 1.2rem;
  font-weight: var(--t7);
  line-height: 1.4;
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
/* service trouble download network */
#trouble_erea section:nth-child(even),
#dl_erea section:nth-child(odd) {
  background: var(--bg);
}
#trouble_erea section,
#dl_erea section {
  width: 100%;
  padding: 60px 0;
}
ul#trouble_list,
ul#dl_nav,
ul#network_list {
  width: 100%;
}
ul#trouble_list {
  margin: 3% 0 0;
}
ul#trouble_list li,
ul#dl_nav li,
ul#network_list li {
  position: relative;
  height: 60px;
  margin: 0 0 2%;
  border: 1px solid var(--line);
  background: var(--ff);
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
ul#trouble_list li::after,
ul#dl_nav li::after,
ul#network_list li::after {
  position: absolute;
  content: '';
  top: 25.5px;
  right: .8em;
  background: var(--co_bl);
  width: 16px;
  height: 9px;
  -webkit-clip-path: polygon(0 0, 100% 0%, 50% 100%);
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
ul#trouble_list li a,
ul#dl_nav li a,
ul#network_list li a {
  display: block;
  height: 60px;
  line-height: 60px;
  color: var(--tc);
  font-size: 1.2rem;
  font-weight: var(--t7);
  text-indent: 1em;
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
dl.trouble_sub_list dt,
dl.trouble_sub_list dt.active {
  position: relative;
  margin: 1em 0;
  padding: .75em 1em;
  background: var(--ff);
  cursor: pointer;
  border: 1px solid var(--line);
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
dl.trouble_sub_list dt.active {
  background: var(--co_bl);
  border: 1px solid var(--co_bl);
}
dl.trouble_sub_list dt span,
dl.trouble_sub_list dt.active span {
  color: var(--tc);
  font-size: 1.2rem;
  font-weight: var(--t7);
  line-height: 1.8;
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
dl.trouble_sub_list dt.active span {
  color: var(--ff);
}
dl.trouble_sub_list dt::before,
dl.trouble_sub_list dt::after,
dl.trouble_sub_list dt.active::before,
dl.trouble_sub_list dt.active::after {
  position: absolute;
  content: '';
  top: 50%;
  right: 16px;
  width: 22px;
  height: 22px;
  border-top: 2px solid var(--co_bl);
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
dl.trouble_sub_list dt::after,
dl.trouble_sub_list dt.active::after {
  top: calc(50% - 10px);
  right: 26px;
  transform: rotate(90deg);
}
dl.trouble_sub_list dt.active::before {
  border-top: 2px solid var(--ff);
}
dl.trouble_sub_list dt.active::after {
  opacity: 0;
}
dl.trouble_sub_list dd {
  display: none;
}
.trouble_inside {
  width: 100%;
}
.trouble_inside > .servlist_inner,
.related_serv_inside > .servlist_inner {
  border: 1px solid var(--line);
}
/* service single */
#serv_erea {
  width: 100%;
  margin: 5% 0;
}
h1.serv01_title,
h1.serv02_title,
h1.serv03_title {
  display: block;
  margin: 1em 0 .6em;
  padding: 0 0 .15em;
  color: var(--tc);
  font-size: 1.8rem;
  font-weight: var(--t7);
  line-height: 1.6;
}
h1.serv01_title {
  border-bottom: 2px solid var(--s_cat01);
}
h1.serv02_title {
  border-bottom: 2px solid var(--s_cat02);
}
h1.serv03_title {
  border-bottom: 2px solid var(--s_cat03);
}
h2.serv_bloc_title {
  display: block;
  margin: 0 0 .5em;
  padding: 0 0 .1em;
  color: var(--tc);
  font-size: 1.6rem;
  font-weight: var(--t7);
  line-height: 1.6;
  border-bottom: 1px solid var(--line);
}
h3.serv01_bloc_title,
h3.serv02_bloc_title,
h3.serv03_bloc_title {
  display: block;
  margin: 0 0 .5em;
  padding: 0 .3em 0 1.3em;
  color: var(--tc);
  font-size: 1.4rem;
  font-weight: var(--t7);
  line-height: 1.6;
}
h3.serv01_bloc_title span,
h3.serv02_bloc_title span,
h3.serv03_bloc_title span {
  padding-left: 1em;
  font-size: .8rem;
  font-weight: var(--t4);
}
#serv_erea p,
#serv_erea p a,
.serv_point_bloc ul li,
.serv_point_bloc ul li a,
#serv_erea figure figcaption {
  color: var(--tc);
  font-size: 1rem;
  font-weight: var(--t4);
  line-height: 1.8;
}
#serv_erea p:not(.nopb) {
  padding: 0 0 1.5em;
}
#serv_erea figure figcaption {
  padding: .35em 0 0;
  line-height: 1.2;
  text-align: center;
}
#serv_erea figure figcaption span {
  display: block;
  margin: .3em 0 0;
}
#serv_content h4 {
  padding: 0 0 .2em;
  color: var(--tc);
  font-size: 1.2rem;
  font-weight: var(--t5);
  line-height: 1.8;
}
#serv_content > section > ol.count {
  margin: 0 0 1.5em 2.5em;
}
.serv_answer_bloc {
  width: 100%;
  margin: 60px 0;
  padding: 1.5em;
  background: var(--bg_02);
  border: 5px solid var(--line_02);
}
.serv_answer_bloc ul li,
.serv_answer_bloc ul li a {
  color: var(--tc);
  font-size: 1rem;
  font-weight: var(--t4);
  line-height: 1.8;
}
.serv_answer_bloc ul li {
  position: relative;
  line-height: 1.6;
  padding: .5em 0 .5em 1em;
}
.serv_answer_bloc ul li::before {
  position: absolute;
  display: block;
  content: '';
  top: 1.1em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 100%;
  background: var(--tc);
}
.serv_point_bloc {
  width: 100%;
  margin: 60px 0;
}
.serv_point_bloc ul li {
  position: relative;
  padding: .5em 0 .5em 1em;
  font-size: 1.2rem;
  font-weight: var(--t7);
  line-height: 1.6;
}
.serv_point_bloc ul > li::before {
  position: absolute;
  display: block;
  content: '';
  top: 1.15em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 100%;
  background: var(--tc);
}
.serv_point_bloc ul li ol.count {
  margin-left: 1em;
}
.serv_point_bloc ul li ol.count li::before {
  counter-increment: number 1;
  content: "（" counter(number)"）";
  display:inline-block;
  margin-left: -2.5em;
}
.serv_point_bloc ul li a {
  font-size: 1.15rem;
  font-weight: var(--t7);
}
.serv_point_bloc > .serv_inner_flex {
  margin: 1.5em 0 0;
}
#serv_erea p a,
.serv_answer_bloc ul li a,
.serv_point_bloc ul li a {
  color: var(--co_bl);
  text-decoration: underline;
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
#serv_content h2.serv_bloc_title {
  margin: 0 0 1em;
}
#serv_content section:not(:last-child) {
  margin: 0 0 8%;
}
.serv_inner_bloc02 img {
  display: block;
  max-width: 100%;
  margin: 1.5em auto 0;
}
.serv_inner_flex02 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.related_case_bloc {
  width: 100%;
  margin: 5% 0;
  padding: 1.5em;
  border: 5px solid var(--co_mc);
}
.related_case_bloc ul {
  width: 100%;
  margin: 1em 0 0;
}
.related_case_bloc ul li {
  position: relative;
  padding: .5em 0 .5em 1.3em;
  line-height: 1.6;
}
.related_case_bloc ul li::before {
  position: absolute;
  content: '';
  top: 1em;
  left: 0;
  background: var(--co_bl);
  width: 7px;
  height: 12px;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.related_case_bloc ul li a {
  color: var(--tc);
  font-size: 1rem;
  font-weight: var(--t4);
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
.related_serv_bloc {
  width: 100%;
  margin: 8% auto;
}
/* sub_nav */
.sub_nav_bloc {
  width: 100%;
  padding: 3% 0;
  background: var(--bg);
}
.sub_nav_bloc_inside {
  width: min(96%, 1200px);
  margin: 0 auto;
}
.sub_nav_bloc_inside dl dt,
.sub_nav_bloc_inside dl dt.active {
  position: relative;
  padding: 1em;
  color: var(--tc);
  font-size: 1.15rem;
  font-weight: var(--t7);
  background: var(--ff);
  cursor: pointer;
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
.sub_nav_bloc_inside dl dt {
  border-top: 1px solid var(--line);
  border-right: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.sub_nav_bloc_inside dl dt.serv03_nav,
.sub_nav_bloc_inside dl dd:last-child {
  border-bottom: 1px solid var(--line);
}
.sub_nav_bloc_inside dl dt.serv01_nav.active {
  color: var(--ff);
  background: var(--s_cat01);
}
.sub_nav_bloc_inside dl dt.serv02_nav.active {
  color: var(--ff);
  background: var(--s_cat02);
}
.sub_nav_bloc_inside dl dt.serv03_nav.active {
  color: var(--ff);
  background: var(--s_cat03);
  border-bottom: none;
}
.sub_nav_bloc_inside dl dt::before,
.sub_nav_bloc_inside dl dt::after,
.sub_nav_bloc_inside dl dt.active::before,
.sub_nav_bloc_inside dl dt.active::after {
  position: absolute;
  content: '';
  top: 50%;
  right: 16px;
  width: 20px;
  height: 20px;
  border-top: 2px solid var(--co_bl);
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
.sub_nav_bloc_inside dl dt::after,
.sub_nav_bloc_inside dl dt.active::after {
  top: calc(50% - 8px);
  right: 24.5px;
  transform: rotate(90deg);
}
.sub_nav_bloc_inside dl dt.active::before {
  border-top: 2px solid var(--ff);
}
.sub_nav_bloc_inside dl dt.active::after {
  opacity: 0;
}
.sub_nav_bloc_inside dl dd {
  display: none;
  padding: 1em;
  background: var(--ff);
  border-right: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.sub_nav_bloc_inner {
  width: 100%;
  padding: 1em 1em 1.5em;
  background: var(--ff);
}
.sub_nav_bloc_inside dl dd ul,
.sub_nav_bloc_inner ul {
  width: 100%;
}
.sub_nav_bloc_inside dl dd ul li,
.sub_nav_bloc_inner ul li {
  position: relative;
  line-height: 45px;
  border-bottom: 1px solid var(--line);
}
.sub_nav_bloc_inside dl dd ul li::before,
.sub_nav_bloc_inner ul li::before {
  position: absolute;
  content: '';
  top: 16.5px;
  left: .3em;
  background: var(--co_bl);
  width: 7px;
  height: 12px;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.sub_nav_bloc_inside dl dd ul li a,
.sub_nav_bloc_inner ul li a {
  padding-left: 1.4em;
  color: var(--tc);
  font-size: 1.1rem;
  font-weight: var(--t7);
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
.related_case_bloc h4,
.related_serv_bloc h4,
.sub_nav_bloc h4 {
  display: block;
  margin: 0 0 1.5em;
  padding: 0 .3em 0 1.3em;
  color: var(--tc);
  font-size: 1.4rem;
  font-weight: var(--t7);
  line-height: 1.6;
}
.related_case_bloc h4 {
  margin: 0;
}
h3.serv01_bloc_title,
.related_case_bloc h4.serv01_bloc_title,
.related_serv_bloc h4.serv01_bloc_title,
.sub_nav_bloc h4.serv01_bloc_title {
  border-left: 5px solid var(--s_cat01);
}
h3.serv02_bloc_title,
.related_case_bloc h4.serv02_bloc_title,
.related_serv_bloc h4.serv02_bloc_title,
.sub_nav_bloc h4.serv02_bloc_title {
  border-left: 5px solid var(--s_cat02);
}
h3.serv03_bloc_title,
.related_case_bloc h4.serv03_bloc_title,
.related_serv_bloc h4.serv03_bloc_title,
.sub_nav_bloc h4.serv03_bloc_title {
  border-left: 5px solid var(--s_cat03);
}
.sub_nav_bloc h4.topics_bloc_title,
.sub_nav_bloc h4.sub_nav_bloc_title {
  border-left: 5px solid var(--co_bl);
}
/* service topics */
.topics_first_bloc {
  position: relative;
  margin: 60px 0;
}
img.topics_page_bg {
  width: 100%;
  height: 250px;
  object-fit: cover;
}
.topics_page_title {
  position: absolute;
  top: 38%;
  left: 0;
  width: 100%;
}
.topics_page_title img {
  display: block;
  width: min(96%, 800px);
  margin: 0 auto;
}
section.topics_inside_bloc {
  padding: 5% 0;
  border-top: 1px solid var(--line);
}
section.topics_inside_bloc.nobt {
  border-top: none;
}
section.topics_inside_bloc article:not(.topics_inner_first) {
  margin: 5% 0;
}
section.topics_inside_bloc p a {
  text-decoration: none;
}
section.topics_inside_bloc > div.box_03 {
  margin: 5% 0 0;
}
section.topics_inside_bloc > div.box_04 ul.basic li {
  font-size: 1.2rem;
  padding: .3em 0 .3em 1em;
}
section.topics_inside_bloc > div.box_04 ul.basic li::before {
  top: .9em;
}
/* service topics01 */
#topics01_bloc {
  position: relative;
  width: 100%;
}
#topics01_bg {
  position: absolute;
  top: -40px;
  left: 0;
  width: 100%;
  z-index: 2;
}
#topics01_bg img {
  width: 100%;
  height: 500px;
  object-fit: cover;
}
#topics01_inside {
  z-index: 5;
}
#topics01_inner {
  width: min(90%, 900px);
  margin: 0 auto 5%;
  padding: 0 1em;
  background: linear-gradient(to right,rgba(255,255,255,0) 0%, var(--ff) 18%, var(--ff) 82%, rgba(255,255,255,0) 100%);
}
#topics01_inner h3,
#topics01_inner p {
  text-align: center;
}
#topics01_inner p {
  margin-top: 2em;
}
ul.topics01_networklist {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
ul.topics01_networklist li figure figcaption {
  padding: .3em;
  color: var(--tc);
  font-size: 1rem;
  font-weight: var(--t4);
}
ul.topics01_tel_list {
  width: min(100%, 480px);
  margin: .5em auto 2em;
}
ul.topics01_tel_list li {
  margin: 0 0 1.5em;
}
ul.topics01_tel_list li a {
  display: block;
  width: 100%;
}
ul.topics01_tel_list li a img {
  max-height: 46px;
}
ul.topics01_link_list {
  width: 100%;
  margin-top: 1.5em;
}
ul.topics01_link_list li a.btn_o,
ul.topics01_link_list li a.btn_b {
  width: 100%;
}
section.topics01_step_bloc,
section.topics01_step2_subbloc {
  position: relative;
  margin: 0 0 6em;
}
section.topics01_step_bloc p a {
  text-decoration: none;
}
section.topics01_step_bloc:not(.last_step)::after,
section.topics01_step2_subbloc::after {
  position: absolute;
  content: '';
  bottom: -4em;
  left: calc((100% - 48px) / 2);
  background: var(--co_mc);
  width: 48px;
  height: 28px;
  -webkit-clip-path: polygon(0 0, 100% 0%, 50% 100%);
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
h5.topics01_step_title {
  width: 100%;
  margin: 0;
  padding: .4em 0;
  color: var(--ff);
  text-align: center;
  background: var(--co_mc);
}
div.topics01_step_inner {
  padding: 20px 30px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
div.topics01_step_inner .flexarea_02 div:last-child p,
div.topics01_step_inner .flexarea_03 div:last-child p {
  padding: 0;
}
section.topics01_step2_subbloc div.box_03 h5,
section.topics01_step2_subbloc div.box_03 p {
  text-align: center;
}
section.topics01_step2_subbloc aside {
  margin: 1em 0;
}
.page section.topics01_step2_subbloc aside p {
  padding: 0 !important;
  font-size: .85rem;
}
p.topics01_process_title {
  display: block;
  margin: 1em 0 0;
  font-weight: var(--t7);
}
a.topics01_manual {
  display: block;
  width: 270px;
  margin: 0 auto;
}
a.topics01_manual img {
  display: block;
  margin: 0 auto;
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
a.topics01_manual p {
  margin: 1em 0 0;
  text-align: center;
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
a.topics01_manual p span {
  padding: 0 .5em 0 0;
}
/* service topics03 */
ul.topics03_link_list li:first-child {
  margin: 0 0 1.5em;
}
ul.topics03_link_list li a.btn_b,
ul.topics03_link_list li a.btn_b_multiple {
  width: 100%;
}
ul.topics03_inner_list {
  width: 100%;
}
ul.topics03_inner_list li {
  padding: .8em .2em;
  color: var(--tc);
  font-size: 1rem;
  font-weight: var(--t7);
  text-align: center;
  background: var(--ff);
  border: 1px solid var(--co_mc);
}
ul.topics03_inner_list li:not(:last-child) {
  margin: 0 0 1.2em;
}
ul.topics03_inner_list li span {
  display: block;
  margin-top: .4em;
  font-size: .8rem;
  font-weight: var(--t4);
  line-height: 1.2;
}
div.topics03_caselink_box {
  margin: 0 0 5%;
  padding: 1em 0;
  text-align: center;
  border: 5px solid var(--co_mc);
}
div.topics03_caselink_box h5 {
  margin: 0;
}
div.topics03_caselink_box h5 a {
  color: var(--co_bl);
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
ul.topics03_photolist {
  display: flex;
  justify-content: space-between;
}
ul.topics03_photolist li {
  flex-basis: calc(96% / 3);
}
ul.topics03_photolist li figure figcaption {
  padding: .3em;
  color: var(--tc);
  font-size: 1rem;
  font-weight: var(--t4);
}
/* case index */
.case_search_bloc {
  margin: 20px 0 60px;
}
#case_l2_erea {
  width: 100%;
  margin: 60px 0;
  padding: 3% 0 calc(1% + 20px);
  background: var(--bg);
}
#case_l2_erea_inside {
  margin: 3% 0 0;
}
section.case_l2_erea_inner {
  position: relative;
  margin: 0 0 1em;
  padding: 1em 1em 56px;
  background: var(--ff);
  border: 1px solid var(--line);
}
section.case_l2_erea_inner h3 {
  display: block;
  margin: 0 0 .8em;
  color: var(--tc);
  font-size: 1.35rem;
  font-weight: var(--t7);
  line-height: 1.4;
}
section.case_l2_erea_inner ul {
  width: 100%;
}
section.case_l2_erea_inner ul li {
  display: block;
  position: relative;
  padding: 0 0 .5em 1em;
}
section.case_l2_erea_inner ul li::before {
  display: block;
  position: absolute;
  top: 6px;
  left: 2px;
  content: '';
  background: var(--co_bl);
  width: 7px;
  height: 12px;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
section.case_l2_erea_inner ul li a {
  color: var(--tc);
  font-size: 1rem;
  font-weight: var(--t4);
  line-height: 1.4;
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
.case_l2_erea_inner_btn {
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: min(50%, 160px);
}
.case_l2_erea_inner_btn a {
  display: block;
  position: relative;
  width: 100%;
  height: 32px;
  line-height: 32px;
  color: var(--ff);
  font-size: 1rem;
  text-align: center;
  font-weight: var(--t4);
  letter-spacing: .3em;
  background: var(--co_mc);
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
.case_l2_erea_inner_btn a::after {
  position: absolute;
  content: '';
  top: 10px;
  right: 10px;
  background: var(--ff);
  width: 7px;
  height: 12px;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
/* case category */
#case_link_box_erea {
  margin: 5% 0;
}
section.case_link_box {
  position: relative;
  border-top: 1px solid var(--line);
}
#case_link_box_erea section.case_link_box:last-child {
  border-bottom: 1px solid var(--line);
}
section.case_link_box a {
  display: block;
  width: 100%;
  padding: 1em;
}
section.case_link_box a h3,
section.search_link_box a h3 {
  position: relative;
  padding-left: .8em;
}
section.case_link_box a h3,
section.search_link_box a h3,
section.search_nolink_box h3 {
  display: block;
  margin: 0 0 .3em;
  color: var(--tc);
  font-size: 1.35rem;
  font-weight: var(--t7);
  line-height: 1.4;
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
section.case_link_box a h3::before,
section.search_link_box a h3::before {
  position: absolute;
  content: '';
  top: 8px;
  left: 0;
  background: var(--co_bl);
  width: 9px;
  height: 16px;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
section.case_link_box a p.excerpt,
section.search_link_box a p.excerpt {
  color: var(--tc_02);
  font-size: 1rem;
  font-weight: var(--t4);
  line-height: 1.8;
}
/* case single */
#case_single_bloc01 {
  padding: 0 0 5%;
}
ul.single_cat_label {
  display: flex;
  flex-wrap: wrap;
}
ul.single_cat_label li a {
  display: block;
  margin: 0 .5em .5em 0;
  padding: .4em 1em;
  color: var(--co_bl);
  font-size: .875em;
  font-weight: var(--t7);
  text-align: center;
  border: 1px solid var(--co_bl);
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
#case_single_bloc02,
#case_single_bloc04 {
  background: var(--bg);
}
#case_single_bloc02 {
  padding: 5% 0;
}
#case_single_bloc03 {
  margin: 5% auto;
}
#case_single_bloc04 {
  margin: 0 0 5%;
  padding: 3% 0;
}
#case_task {
  position: relative;
  width: 100%;
  margin: 0 0 4em;
  padding: calc(50px + 1em) 1em 1em;
  background: var(--ff);
  border: 1px solid var(--line);
}
#case_task::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 300px;
  height: 50px;
  line-height: 50px;
  content: '課　題';
  color: var(--ff);
  font-size: 1.4rem;
  font-weight: var(--t7);
  text-align: center;
  background: var(--co_mc);
}
#case_task::after {
  position: absolute;
  content: '';
  bottom: -3em;
  left: calc((100% - 36px) / 2);
  background: var(--co_mc);
  width: 36px;
  height: 21px;
  -webkit-clip-path: polygon(0 0, 100% 0%, 50% 100%);
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
#case_support {
  width: 100%;
  padding: 1em;
  background: var(--bg_02);
  border: 1px solid var(--line);
}
#case_status,
#case_work {
  width: 100%;
  margin: 1em 0;
}
#case_work {
  margin: 3em 0;
}
#case_status > h2.case_single_bloc_title,
#case_work > h2.case_single_bloc_title {
  margin: 0 0 .8em;
}
#case_task p,
#case_support p,
#case_status p,
#case_work p {
  color: var(--tc);
  font-size: 1rem;
  font-weight: var(--t4);
  line-height: 1.8;
}
/* search */
.search_first_bloc {
  margin: 0 0 2.5em;
}
.search_first_bloc + h1.single_title {
  margin: 1em 0 2.5em;
}
#search_data div {
  padding: .3em 1em;
  border: 1px solid var(--line);
}
#search_data div p {
  color: var(--tc);
  font-size: 1rem;
  font-weight: var(--t4);
  line-height: 1.4;
}
#search_data h1 {
  display: block;
  margin: 1.25em 0;
  color: var(--tc);
  font-size: 1.35rem;
  font-weight: var(--t7);
  line-height: 1.4;
}
.search_link_box_erea {
  width: 100%;
  margin: 0 0 2.5em;
  padding: 3% 0;
  background: var(--bg);
}
section.search_link_box,
section.search_nolink_box {
  background: var(--ff);
  border: 1px solid var(--line);
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
section.search_nolink_box {
  padding: 1.25em 0;
}
section.search_link_box a {
  display: block;
  width: 100%;
  padding: 1em;
}
.searchlabel0,
.searchlabel1 {
  display: inline-block;
  width: 140px;
  margin: 0 0 .6em;
  padding: .4em 0;
  color: var(--ff);
  font-size: 1rem;
  font-weight: var(--t4);
  text-align: center;
  background: var(--la_c);
}
.searchlabel1 {
  background: var(--la_s);
}
section.search_nolink_box h3 {
  margin: 0;
  text-align: center;
}
.search_link_box_erea_inside section:not(:last-child) {
  margin: 0 0 1.25em;
}
.search_link_box_erea + ul.pagenavi {
  margin: 0 auto 2.5em;
}
/* download */
#download_l2_first_bloc {
  width: 100%;
  padding: 20px 0 40px;
}
h1.catlg_page_title,
h2.download_cat_title {
  display: block;
  margin: 60px 0 30px;
  color: var(--tc);
  font-size: 2.2rem;
  font-weight: var(--t7);
  line-height: 1.6;
  border-bottom: 1px solid var(--line);
}
h2.download_cat_title {
  margin: 0 0 50px;
  font-size: 1.85rem;
}
.catlg_tmb {
  grid-area: catlg_tmb;
  max-width: 270px;
}
.catlg_txt {
  grid-area: catlg_txt;
}
.catlg_btn {
  grid-area: catlg_btn;
}
.catlg_txt h2 {
  display: block;
  margin: 0 0 .6em;
  padding: 0 0 .2em;
  color: var(--tc);
  font-size: 1.25rem;
  font-weight: var(--t5);
  line-height: 1.6;
  border-bottom: 1px solid var(--line);
}
.catlg_txt p,
.catlg_txt ul li {
  color: var(--tc);
  font-size: .95rem;
  font-weight: var(--t4);
  line-height: 1.6;
}
.catlg_txt ul {
  margin: .3em .3em .6em;
}
.catlg_txt ul li {
  position: relative;
  padding: 0 0 0 .8em;
}
.catlg_txt ul li::before {
  position: absolute;
  display: block;
  content: '';
  top: .7em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 100%;
  background: var(--tc);
}
.catlg_form_tmb {
  width: 100%;
  margin: 0 auto 60px;
}
.catlg_form_tmb img {
  display: block;
  margin: 0 auto 20px;
}
.catlg_form_tmb p,
p.dl_caption {
  color: var(--tc);
  font-size: .95rem;
  font-weight: var(--t4);
  line-height: 1.4;
}
h1.catlg_page_title + p {
  margin-top: -20px;
}
.dl_thx {
  width: 100%;
  margin: 60px 0;
}
.dl_thx p {
  color: var(--tc);
  font-size: 1.25rem;
  font-weight: var(--t7);
  line-height: 1.6;
}
.dl_bloc {
  margin: 8% 0;
}
.dl_bloc ul {
  max-width: 335px;
}
.dl_bloc ul.one_catlg {
  display: block;
  width: min(90%, 335px);
  margin: 0 auto;
}
.dl_bloc ul li:first-child {
  color: var(--tc);
  font-size: 1.15rem;
  font-weight: var(--t7);
  line-height: 1.4;
}
.dl_bloc ul li:nth-child(2) {
  margin: .4em 0 1em;
}
/* summary */
.summary_erea section {
  margin: 0 0 8%;
}
.summary_erea h2 {
  display: block;
  margin: 0 0 .5em;
  padding: 0 0 .1em;
  color: var(--tc);
  font-size: 1.6rem;
  font-weight: var(--t7);
  line-height: 1.6;
}
.summary_erea h2.line {
  border-bottom: 1px solid var(--line);
}
.summary_erea p {
  color: var(--tc);
  font-size: 1rem;
  font-weight: var(--t4);
  line-height: 1.8;
}
h3.summary_bloc_title {
  width: 100%;
  padding: .8em 0;
  color: var(--ff);
  font-size: 1.4rem;
  font-weight: var(--t7);
  text-align: center;
}
h3.summary_bloc_title.serv01 {
  background: var(--s_cat01);
}
h3.summary_bloc_title.serv02 {
  background: var(--s_cat02);
}
h3.summary_bloc_title.serv03 {
  background: var(--s_cat03);
}
div.summary_bloc_inner {
  padding: 1.5em .5em 0;
  border-right: 1px solid var(--line);
  border-left: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
div.summary_bloc_inner h5 {
  color: var(--tc);
  font-size: 1.1rem;
  font-weight: var(--t5);
}
div.summary_bloc_inner ul {
  width: 85%;
  margin: .5em auto 2.5em;
}
div.summary_bloc_inner ul li {
  position: relative;
  color: var(--tc);
  font-size: 1.1rem;
  font-weight: var(--t4);
  line-height: 1.6;
  padding: 0 0 0 1em;
}
div.summary_bloc_inner ul li::before {
  position: absolute;
  display: block;
  content: '';
  top: .6em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 100%;
  background: var(--tc);
}
/* policy */
#policys_first_bloc {
  margin: 0 0 2.5em;
}
#policys_first_bloc h2 {
  display: block;
  color: var(--s_cat01);
  font-size: 1.875rem;
  font-weight: var(--t7);
  line-height: 1.5;
}
#policys_first_bloc + section {
  margin: 0 0 3.75em;
}
/* network */
#network_erea {
  margin: 0 0 8%;
}
#network_erea section {
  padding: 50px 0;
}
h2.network_bloc_title {
  display: block;
  margin: 0 0 .5em;
  padding: 0 0 .1em;
  color: var(--tc);
  font-size: 1.6rem;
  font-weight: var(--t7);
  line-height: 1.6;
  border-bottom: 1px solid var(--line);
}
.network_bloc_inside p {
  color: var(--tc);
  font-size: 1.1rem;
  font-weight: var(--t5);
  line-height: 1.8;
}
/* history */
#history_timeline {
  margin: -1em 0 10%;
}
#history_timeline dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
}
#history_timeline dl dt,
#history_timeline dl dd {
  position: relative;
  box-sizing: border-box;
}
#history_timeline dl dt {
  width: 130px;
  padding: 1em 0;
  color: var(--co_mc);
  font-size: 1.5rem;
  font-weight: var(--t7);
  border-right: 1px solid rgba(51,73,94,.2);
}
#history_timeline dl dt.first::before {
  display: block;
  position: absolute;
  content: '';
  top: 0;
  right: -8px;
  width: 16px;
  height: 42px;
  background: var(--ff);
  z-index: 200;
}
#history_timeline dl dt::after {
  display: block;
  position: absolute;
  content: '';
  top: 30px;
  right: -8px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--co_mc);
  z-index: 500;
}
#history_timeline dl dd {
  width: calc(100% - 160px);
  padding: 1.4em 0;
  color: var(--tc);
  font-size: 1rem;
  font-weight: var(--t4);
  line-height: 1.8;
}
/* sitemap */
#sitemap {
  margin: 0 0 10%;
}
#sitemap h2 {
  border-bottom: solid 1px var(--line);
}
#sitemap h2 a {
  font-size: 1.2rem;
  line-height: 1.8;
  color: var(--tc);
  font-weight: var(--t5);
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
#sitemap ul {
  margin: 2% 0 0;
}
#sitemap ul li {
  margin-left: .3em;
}
#sitemap ul li a {
  position: relative;
  padding-left: .8em;
  color: var(--tc);
  font-size: 1rem;
  font-weight: var(--t4);
  line-height: 2;
  -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
  transition: all .3s cubic-bezier(.56,.07,.45,1);
}
#sitemap ul li a::before {
  position: absolute;
  content: '';
  top: 6px;
  left: 0;
  background: var(--co_bl);
  width: 7px;
  height: 12px;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
#sitemap ul li span {
  padding-left: .8em;
}
#sitemap dl {
  margin: 0 2% 2% 4%;
}
#sitemap dl dt {
  margin: 1em 0 0;
  color: var(--ff);
  font-size: 1rem;
  font-weight: var(--t4);
  line-height: 2;
  text-indent: .6em;
}
#sitemap dl dt.serv01_list {
  background: var(--s_cat01);
}
#sitemap dl dt.serv02_list {
  background: var(--s_cat02);
}
#sitemap dl dt.serv03_list {
  background: var(--s_cat03);
}
#sitemap dl dd {
  margin-left: .6em;
}
@media all and (max-width: 359px) {
  /* service l3 service list */
  #service_l3_nav ul li a,
  #sortlist li {
    font-size: .5rem;
  }
  /* service sub_nav */
  .sub_nav_bloc_inside dl dd ul li a,
  .sub_nav_bloc_inner ul li a {
    padding-left: 1.2em;
    font-size: .75rem;
  }
}
@media all and (min-width: 360px) and (max-width: 480px) {
  /* service l3 service list */
  #service_l3_nav ul li a,
  #sortlist li {
    font-size: .65rem;
  }
}
@media all and (max-width: 480px) {
  /* btn */
  a.btn_b,
  a.btn_o,
  a.btn_dl,
  a.btn_b_multiple {
    font-size: 1rem;
  }
  a.btn_dl::before {
    width: 20px;
    height: 20px;
    transform: translate(-10px, 3px);
  }
  a.btn_map {
    width: 100%;
    height: 45px;
    line-height: 45px;
    margin: 1em 0 0;
    font-size: 1rem;
  }
  a.btn_map::before {
    top: 16.5px;
  }
  a.btn_map::after {
    width: 12px;
    height: 12px;
  }
  a.pdf_link {
    display: block;
  }
  /* boxbloc */
  div.box_01,
  div.box_02,
  div.box_03,
  div.box_04 {
    padding: 1.25em;
  }
  /* post_erea */
  h1.single_title,
  h1.serv01_title,
  h1.serv02_title,
  h1.serv03_title {
    font-size: 1.4rem;
  }
  h1.single_bloc_title {
    font-size: 1.3rem;
  }
  h2.serv_bloc_title,
  h2.network_bloc_title,
  .summary_erea h2 {
    font-size: 1.25rem;
  }
  .post_erea h2 {
    font-size: 1.2rem;
  }
  .post_erea h3 {
    padding: 0 .3em 0 15px;
    font-size: 1.1rem;
    border-left: 4px solid var(--co_bl);
  }
  .post_erea h4,
  .post_erea h5,
  .post_erea ul li,
  .serv_point_bloc ul li,
  .serv_point_bloc ul li ol.count li,
  #serv_content h4 {
    font-size: 1.05rem;
    font-weight: var(--t5);
  }
  .post_erea ul li::before,
  .serv_point_bloc ul li::before {
    top: 1em;
  }
  .post_erea ul li a,
  .serv_point_bloc ul li a {
    font-size: 1rem;
  }
  h1.single_title,
  h1.serv01_title,
  h1.serv02_title,
  h1.serv03_title,
  h1.single_bloc_title,
  .post_erea h2,
  .post_erea h3,
  .post_erea h4,
  .post_erea ul li,
  .serv_point_bloc ul li,
  #serv_content h4 {
    line-height: 1.4;
  }
  .post_erea h5 {
    line-height: 1.6;
  }
  /* page */
  h1.page_title,
  h1.catlg_page_title {
    margin: 0 0 30px;
    font-size: 1.6rem;
  }
  .page h2,
  h2.case_cat_title {
    font-size: 1.4rem;
  }
  .page h2::before,
  h2.case_cat_title::before {
    width: 16px;
  }
  .page h3,
  h3.bloc_title,
  h3.topics_txt,
  #search_data h1,
  h2.download_cat_title {
    font-size: 1.2rem;
  }
  .page h4,
  h2.trouble_cat_title,
  h3.serv01_bloc_title,
  h3.serv02_bloc_title,
  h3.serv03_bloc_title,
  .related_case_bloc h4,
  .related_serv_bloc h4,
  .sub_nav_bloc h4,
  h2.case_single_bloc_title {
    padding: 0 .3em 0 15px;
    font-size: 1.1rem;
    line-height: 1.4;
  }
  .page h4,
  h2.trouble_cat_title,
  .sub_nav_bloc h4.topics_bloc_title,
  .sub_nav_bloc h4.sub_nav_bloc_title,
  h2.case_single_bloc_title {
    border-left: 4px solid var(--co_bl);
  }
  h3.serv01_bloc_title,
  .related_case_bloc h4.serv01_bloc_title,
  .related_serv_bloc h4.serv01_bloc_title,
  .sub_nav_bloc h4.serv01_bloc_title {
    border-left: 4px solid var(--s_cat01);
  }
  h3.serv02_bloc_title,
  .related_case_bloc h4.serv02_bloc_title,
  .related_serv_bloc h4.serv02_bloc_title,
  .sub_nav_bloc h4.serv02_bloc_title {
    border-left: 4px solid var(--s_cat02);
  }
  h3.serv03_bloc_title,
  .related_case_bloc h4.serv03_bloc_title,
  .related_serv_bloc h4.serv03_bloc_title,
  .sub_nav_bloc h4.serv03_bloc_title {
    border-left: 4px solid var(--s_cat03);
  }
  .page h5 {
    font-size: 1.1rem;
  }
  /* L2 pagehead */
  #pagehead_service,
  #pagehead_case,
  #pagehead_news,
  #pagehead_download,
  #pagehead_company {
    height: 150px;
  }
  .pagehead h1 {
    font-size: 1.8rem;
  }
  .pagehead h1::after {
    bottom: -20px;
    width: 40px;
    height: 1px;
  }
  /* service index */
  ul.service_topic li {
    line-height: 60px;
  }
  ul.service_topic li::before {
    top: 22px;
    left: .3em;
  }
  ul.service_topic li a {
    font-size: 1rem;
  }
  /* L2 nav */
  ul.service_l2_nav li a span::before,
  ul.company_l2_nav li a span::before {
    top: 0;
  }
  ul.service_l2_nav li a span,
  ul.company_l2_nav li a span {
    font-size: 1rem;
    text-indent: 1rem;
  }
  /* service l3 service list*/
  #service_l3_bloc {
    padding: 30px 0;
  }
  #service_l3_nav {
    margin: 0 auto;
  }
  #service_l3_nav ul li::after {
    right: 3px;
    width: 8px;
    height: 5px;
  }
  #service_l3_nav ul li a,
  #sortlist li {
    height: 45px;
    line-height: 45px;
    font-weight: var(--t5);
  }
  .servlist_inner p {
    padding: .6em .5em 0;
  }
  .serv01_label,
  .serv02_label,
  .serv03_label {
  padding: .1em .8em;
  font-size: 0.7rem;
  }
  .servlist_inner h3 {
    padding: .6em .5em .5em;
    font-size: .9rem;
    font-weight: var(--t5);
  }
  /* service single */
  .serv_answer_bloc,
  .serv_point_bloc {
    margin: 0 0 8%;
  }
  .serv_answer_bloc,
  .related_case_bloc {
    padding: 1em;
  }
  /* service topics */
  img.topics_page_bg {
    height: 200px;
  }
  .topics_page_title {
    top: 45%;
  }
  section.topics_inside_bloc {
    padding: 10% 0;
  }
  section.topics_inside_bloc article:not(.topics_inner_first) {
    margin: 10% 0;
  }
  /* case index */
  .case_search_bloc {
    margin: 0 0 2.5em;
  }
  #case_l2_erea {
    padding: 1.25em 0;
  }
  #case_l2_erea_inside {
    margin: 1.25em 0 0;
  }
  section.case_l2_erea_inner {
    padding: 1em 10px 56px;
  }
  section.case_l2_erea_inner h3 {
    font-size: 1.2rem;
  }
  /* case single case category*/
  section.case_link_box a {
    padding: .6em 2.5em .6em .6em;
  }
  section.case_link_box a h3,
  section.search_link_box a h3,
  section.search_nolink_box h3 {
    font-size: 1.1rem;
  }
  section.case_link_box a h3::before,
  section.search_link_box a h3::before {
    top: 6px;
  }
  #case_single_bloc01 {
    padding: 0 0 1.25em;
  }
  #case_single_bloc02 {
    padding: 1.75em 0;
  }
  #case_single_bloc03,
  #case_link_box_erea {
    margin: 1.75em auto;
  }
  #case_single_bloc04 {
    margin: 0 0 1.5em;
    padding: 2.5em 0;
  }
  #case_task {
    padding: calc(40px + .6em) .6em .6em;
  }
  #case_task::before {
    width: 50%;
    height: 40px;
    line-height: 40px;
    font-size: 1.1rem;
  }
  #case_support {
    padding: .6em;
  }
  /* search */
  .search_link_box_erea {
    padding: 1.25em 0;
  }
  /* policy */
  #policys_first_bloc {
    margin: 0 0 1.25em;
  }
  #policys_first_bloc h2 {
    font-size: 1.4rem;
  }
  #policys_first_bloc + section {
    margin: 0 0 1em;
  }
  /* network */
  #network_erea section {
    padding: 20px 0 40px;
  }
  .network_bloc_inside p {
    font-size: 1rem;
  }
  /* download */
  .dl_thx p,
  .dl_bloc ul li:first-child {
    font-size: .95rem;
  }
}
@media all and (min-width: 360px) and (max-width: 767px) {
  /* service sub_nav */
  .sub_nav_bloc_inside dl dd ul li a,
  .sub_nav_bloc_inner ul li a {
    padding-left: 1.2em;
    font-size: .9rem;
  }
}
@media all and (min-width: 481px) {
  /* l2_first_bloc */
  .l2_first_bloc,
  h2.case_cat_title {
    margin: 1.25em 0 0;
  }
}
@media all and (min-width: 481px) and (max-width: 767px) {
  /* service l3 service list*/
  #service_l3_nav ul li::after {
    right: .4em;
  }
  #service_l3_nav ul li a,
  #sortlist li {
    font-size: .85rem;
  }
}
@media all and (max-width: 767px) {
  /* table */
  table.basic,
  table.basic tbody,
  table.basic tr,
  table.basic tr th,
  table.basic tr td {
    display: block;
  }
  table.basic tr th {
    width: 100%;
    padding: 1em;
    border-bottom: 1px solid var(--line);
  }
  table.basic tr th,
  table.basic tr td,
  table.basic tr td a.pdf_link,
  table.fixed tr th,
  table.fixed tr td {
    font-size: .9rem;
  }
  /* error */
  #error h1 {
    font-size: 1.1rem;
  }
  #error h1::after {
    bottom: -2.4em;
    height: 2px;
  }
  #error p {
    font-size: .9rem;
    text-align: left;
  }
  #error ul li {
    margin: 1em 0;
  }
  /* flexarea */
  .flexarea_01 {
    display: flex;
    flex-direction: column;
  }
  .flexarea_01 div,
  .flexarea_02 div,
  .flexarea_03 div {
    width: 100%;
    margin: 0 0 5%;
  }
  .fdcr {
    flex-direction: column-reverse;
  }
  .box_03 > .flexarea_01 div {
    margin: 1em 0 0;
  }
  /* post_erea */
  div.columns_inside {
    width: 100%;
    margin: 2% 0;
  }
  /* page */
  ol.basic {
    width: 92%;
    margin: 0 0 0 1.4em;
  }
  /* service trouble service sub_nav */
  #trouble_erea section,
  #dl_erea section {
    padding: 30px 0;
  }
  ul#trouble_list li,
  ul#dl_nav li,
  ul#network_list li {
    height: 45px;
  }
  ul#trouble_list li a,
  ul#dl_nav li a,
  ul#network_list li a {
    height: 45px;
    line-height: 45px;
    font-size: 1rem;
    text-indent: .5em;
  }
  ul#trouble_list li::after,
  ul#dl_nav li::after,
  ul#network_list li::after {
    top: 19px;
    right: .5em;
    width: 12px;
    height: 7px;
  }
  dl.trouble_sub_list dt,
  dl.trouble_sub_list dt.active {
    padding: .5em;
  }
  dl.trouble_sub_list dt span,
  dl.trouble_sub_list dt.active span,
  .sub_nav_bloc_inside dl dt,
  .sub_nav_bloc_inside dl dt.active {
    font-size: 1rem;
  }
  dl.trouble_sub_list dt::before,
  dl.trouble_sub_list dt::after,
  dl.trouble_sub_list dt.active::before,
  dl.trouble_sub_list dt.active::after,
  .sub_nav_bloc_inside dl dt::before,
  .sub_nav_bloc_inside dl dt::after,
  .sub_nav_bloc_inside dl dt.active::before,
  .sub_nav_bloc_inside dl dt.active::after {
    right: 8px;
    width: 14px;
    height: 14px;
  }
  dl.trouble_sub_list dt::after,
  dl.trouble_sub_list dt.active::after,
  .sub_nav_bloc_inside dl dt::after,
  .sub_nav_bloc_inside dl dt.active::after {
    top: calc(50% - 6px);
    right: 14px;
  }
  /* service single */
  .serv_inner_bloc,
  .serv_inner_flex div,
  .serv_inner_flex figure {
    width: 100%;
  }
  .serv_inner_flex div:not(:last-child),
  .serv_inner_flex figure:not(:last-child) {
    margin: 0 0 5%;
  }
  #serv_content section:not(:last-child) {
    margin: 0 0 8%;
  }
  #serv_content img {
    display: block;
    max-width: 100%;
    margin: 0 auto;
  }
  .serv_inner_flex02 div,
  .serv_inner_flex02 figure {
    flex-basis: calc(96% / 2);
    margin: 0 0 1em;
  }
  /* service topics01 */
  #topics01_inner p {
    text-align: left;
  }
  ul.topics01_networklist li {
    flex-basis: calc(96% / 2);
    margin: 0 0 1em;
  }
  ul.topics01_link_list li:first-child{
    margin: 0 0 .6em;
  }
  div.topics01_step_inner {
    padding: 10px 15px;
  }
  div.topics01_step_inner .flexarea_02 div:last-child,
  div.topics01_step_inner .flexarea_03 div:last-child {
    margin: 0;
  }
  section.topics01_step_bloc,
  section.topics01_step2_subbloc {
    position: relative;
    margin: 0 0 3em;
  }
  section.topics01_step_bloc:not(.last_step)::after,
  section.topics01_step2_subbloc::after {
    bottom: -2em;
    left: calc((100% - 24px) / 2);
    width: 24px;
    height: 14px;
  }
  /* case index */
  section.case_l2_erea_inner ul li::before {
    top: 4px;
  }
  /* download */
  .catlg_bloc_erea article:not(:last-child) {
    margin: 0 0 45px;
  }
  .dl_bloc ul {
    display: block;
    width: min(90%, 335px);
    margin: 0 auto 45px;
  }
  /* summary */
  h3.summary_bloc_title {
    font-size: 1.15rem;
  }
  div.summary_bloc_inner ul {
    margin: .5em auto 1.5em;
  }
  /* network */
  .network_bloc_inside div:last-child {
    margin: 1em 0 0;
  }
  /* licensed_patent */
  #licensed_patent_bloc {
    margin: 0 0 10%;
  }
  #licensed_patent_bloc div article:not(:last-child) {
    margin: 0 0 1.5em;
  }
  #licensed_patent_bloc div:last-child {
    margin: 1.5em 0 0;
  }
  /* history */
  #history_timeline dl dt {
    width: 95px;
    padding: 1em .6em 1em 0;
    font-size: 1.1rem;
    text-align: right;
  }
  #history_timeline dl dt::after {
    top: 20px;
  }
  #history_timeline dl dt.first::before {
    height: 30px;
  }
  #history_timeline dl dd {
    width: calc(100% - 105px);
    padding: .9em 0;
    font-size: .9rem;
  }
  /* sitemap */
  #sitemap h2 a {
    font-size: 1.05rem;
  }
  /* font-size */
  section.topics_inside_bloc > div.box_04 ul.basic li,
  div.summary_bloc_inner h5,
  div.summary_bloc_inner ul li {
    font-size: .95rem;
  }
  .page p,
  .page p a,
  ul.basic li,
  ul.basic li a,
  ol.count li,
  ol.count li a,
  ol.basic li,
  ol.basic li a,
  .post_erea table tr th,
  .post_erea table tr td,
  .post_erea table tr th a,
  .post_erea table tr td a,
  .post_erea p,
  .post_erea p a,
  #case_task p,
  #case_support p,
  #case_status p,
  #case_work p,
  section.case_l2_erea_inner ul li a,
  dl.archives dt,
  dl.archives dd a,
  #serv_erea p,
  #serv_erea p a,
  .serv_answer_bloc ul li,
  .serv_answer_bloc ul li a,
  .related_case_bloc ul li a,
  .summary_erea p,
  #sitemap ul li a,
  #sitemap dl dt {
    font-size: .9rem;
  }
  ul.topics01_networklist li figure figcaption,
  ul.topics03_photolist li figure figcaption,
  section.case_link_box a p.excerpt,
  #serv_erea figure figcaption,
  .catlg_form_tmb p,
  p.dl_caption {
    font-size: .8rem;
  }
}
@media all and (min-width: 768px) {
  /* btn */
  a.btn_b.w45,
  a.btn_o.w45 {
    width: 45%;
  }
  #error ul li {
    flex-basis: 50%;
  }
  /* flexarea */
  .flexarea_01,
  .flexarea_02,
  .flexarea_03,
  ul.topics01_link_list {
    display: flex;
    justify-content: space-between;
  }
  .flexarea_01 div,
  ul.topics01_link_list li {
    flex-basis: calc(96% / 2);
  }
  .flexarea_02 div:first-child,
  .flexarea_03 div:last-child {
    flex-basis: 32%;
  }
  .flexarea_02 div:last-child,
  .flexarea_03 div:first-child {
    flex-basis: 64%;
  }
  .aic {
    align-items: center;
  }
  .aie {
    align-items: end;
  }
  .flw {
    flex-wrap: wrap;
  }
  .fdr {
    flex-direction: row-reverse;
  }
  /* error */
  #error ul {
    display: flex;
    justify-content: center;
  }
  #error ul li {
    flex-basis: 45%;
  }
  /* post_erea */
  div.columns {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 2% 0;
  }
  div.columns_inside {
    flex-basis: calc(96% / 2);
  }
  /* service trouble download */
  ul#trouble_list,
  ul#dl_nav,
  ul#network_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  ul#trouble_list li,
  ul#network_list li {
    flex-basis: calc(98% / 2);
    -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
    transition: all .3s cubic-bezier(.56,.07,.45,1);
  }
  /* service single */
  .serv_inner_bloc {
    width: 48%;
  }
  .serv_inner_flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .serv_inner_flex div,
  .serv_inner_flex figure {
    flex-basis: calc(96% / 2);
  }
  .serv_inner_flex div:not(:last-child):not(:nth-last-child(2)),
  .serv_inner_flex figure:not(:last-child):not(:nth-last-child(2)) {
    margin: 0 0 5%;
  }
  .serv_inner_flex02 div,
  .serv_inner_flex02 figure {
    flex-basis: calc(96% / 3);
    margin: 0 0 1.5em;
  }
  /* service topics01 */
  ul.topics01_networklist li {
    flex-basis: calc(96% / 3);
  }
  ul.topics01_networklist::after {
    content: '';
    display: block;
    flex-basis: calc(96% / 3);
  }
  /* case index */
  #case_l2_erea_inside {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  section.case_l2_erea_inner {
    flex-basis: calc(98% / 2);
    margin: 0 0 2%;
  }
  /* network */
  .network_bloc_inside {
    display: flex;
    justify-content: space-between;
    margin: 1.5em 0 0;
  }
  .network_bloc_inside div:first-child {
    flex-basis: 42%;
    max-width: 500px;
  }
  .network_bloc_inside div:last-child {
    flex-basis: 54%;
  }
  a.btn_map {
    width: min(90%, 380px);
    margin: 50px 0 0;
  }
  /* licensed_patent */
  #licensed_patent_bloc {
    display: flex;
    justify-content: space-between;
    margin: 0 0 10%;
  }
  #licensed_patent_bloc div {
    flex-basis: 50%;
  }
  #licensed_patent_bloc div article:not(:last-child) {
    margin: 0 0 3em;
  }
  #licensed_patent_bloc div article {
    width: min(90%, 450px);
  }
  /* download */
  #dl_erea {
    margin: 0 0 60px;
  }
  .catlg_bloc_erea {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 60px 0;
  }
  .catlg_bloc {
    flex-basis: calc(96% / 2);
  }
  .dl_bloc.two_catlg {
    display: flex;
    justify-content: center;
    gap: 60px;
  }
  .dl_bloc ul li:first-child span {
    font-size: .95rem;
  }
}
@media all and (min-width: 481px) and (max-width: 1023px) {
  /* post_erea */
  h1.single_title,
  h1.serv01_title,
  h1.serv02_title,
  h1.serv03_title {
    font-size: 1.6rem;
  }
  h1.single_bloc_title {
    font-size: 1.5rem;
  }
  h2.serv_bloc_title,
  h2.network_bloc_title,
  .summary_erea h2 {
    font-size: 1.45rem;
  }
  .post_erea h2 {
    font-size: 1.4rem;
  }
  .post_erea h3 {
    padding: 0 .3em 0 1.25em;
    font-size: 1.2rem;
    border-left: 4px solid var(--co_bl);
  }
  .post_erea h4,
  .post_erea h5,
  .post_erea ul li,
  .serv_point_bloc ul li,
  #serv_content h4 {
    font-size: 1.1rem;
  }
  .post_erea ul li::before,
  .serv_point_bloc ul li::before {
    top: 1.1em;
  }
  .post_erea ul li a,
  .serv_point_bloc ul li a {
    font-size: 1.05rem;
  }
  /* L2 pagehead */
  .pagehead h1 {
    font-size: 2.8rem;
  }
  .pagehead h1::after {
    bottom: -25px;
    width: 60px;
  }
  /* page */
  h1.page_title {
    margin: 15px 0 45px;
    font-size: 2rem;
  }
  h1.catlg_page_title {
    margin: 15px 0 30px;
    font-size: 2rem;
  }
  .page h2,
  h2.case_cat_title {
    padding: 0 0 0 1.2em;
    font-size: 1.6rem;
  }
  .page h2::before,
  h2.case_cat_title::before {
    width: 20px;
  }
  .page h3 {
    font-size: 1.25rem;
  }
  h3.bloc_title,
  h2.download_cat_title {
    font-size: 1.6rem;
  }
  h3.topics_txt {
    font-size: 1.8rem;
  }
  /* service index */
  ul.service_topic li a {
    font-size: 1.1rem;
  }
  /* L2 nav */
  ul.service_l2_nav li a span,
  ul.company_l2_nav li a span {
    font-size: 1.15rem;
    text-indent: 1rem;
  }
  /* service l3 service list*/
  #service_l3_bloc {
    padding: 2.5em 0;
  }
  #service_l3_nav {
    margin: 1.25em auto 0;
  }
  /* service single */
  .serv_answer_bloc,
  .serv_point_bloc {
    margin: 20px 0 5%;
  }
  /* case category */
  section.case_link_box a h3,
  section.search_link_box a h3,
  section.search_nolink_box h3 {
    font-size: 1.2rem;
  }
  section.case_link_box a h3::before,
  section.search_link_box a h3::before {
    top: 8px;
  }
  section.case_link_box a p.excerpt,
  section.search_link_box a p.excerpt {
    font-size: .9rem;
  }
  /* company index */
  #company_l2 {
    padding: 20px 0 40px;
  }
  /* policy */
  #policys_first_bloc h2 {
    font-size: 1.7rem;
  }
  /* sitemap */
  #sitemap {
    padding: 0 1em;
  }
}
@media all and (min-width: 768px) and (max-width: 1023px) {
  /* download */
  .dl_bloc.multiple {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 60px;
  }
  .dl_bloc.multiple::after {
    content: '';
    display: block;
    width: 335px;
  }
  /* summary */
  h3.summary_bloc_title {
    font-size: 1.25rem;
  }
}
@media all and (max-width: 1023px) {
  /* grid_area */
  .g_inside_01,
  .g_inside_02,
  .g_inside_03 {
    width: 100%;
    margin: 8% 0;
  }
  .g_inside_01 {
    display: grid;
    place-items: center;
  }
  .g_inside_02 img {
    display: block;
    max-width: 100%;
    margin: 0 auto;
  }
  /* post */
  p.day {
    font-size: .9rem;
  }
  .newslabel01,
  .newslabel02,
  .newslabel03,
  .newslabel04,
  .newslabel05,
  .newslabel06,
  .searchlabel0,
  .searchlabel1 {
    padding: .3em 0;
    font-size: .85rem;
  }
  /* L2 pagehead */
  .pagehead,
  .sub_nav_bloc_inside {
    width: calc(100% - 20px);
  }
  /* service index */
  ul.service_topic {
    margin: 20px 0 60px;
  }
  ul.service_l2_nav::after {
    flex-basis: 48%;
  }
  /* L2 nav */
  ul.service_l2_nav li,
  ul.company_l2_nav li {
    flex-basis: 48%;
    margin: 0 0 2em;
  }
  .service_search_bloc {
    margin: 60px 0 30px;
  }
  /* service list */
  #servlist_inside {
    width: calc(100% - 20px);
  }
  .servlist_inner {
    flex-basis: 48%;
    margin: 0 1% 2%;
  }
  .sub_nav_bloc {
    padding: 2.5em 0;
  }
  /* service topics */
  .topics_first_bloc {
    margin: 0 0 1.25em;
  }
  ul.topics03_link_list li a.btn_b,
  ul.topics03_link_list li a.btn_b_multiple {
    font-size: .85rem;
  }
  /* service topics01 */
  section.topics01_step2_subbloc div.box_03 p {
    text-align: left;
  }
  /* case index */
  #case_l2_erea {
    margin: 0;
  }
  /* case category */
  section.case_link_box a h3::before,
  section.search_link_box a h3::before {
    width: 7px;
    height: 12px;
  }
  /* summary */
  .summary_erea section {
    margin: 0 0 10%;
  }
  div.summary_bloc:not(:last-child) {
    margin: 0 0 1.5em;
  }
  /* policy */
  .policys_inner {
    padding: 0 1em;
  }
  .policys_inner img {
    display: block;
    max-width: 100%;
    margin: 0 auto;
  }
  /* sitemap */
  #sitemap article:not(:first-child) {
    margin: 5% 0 0;
  }
  /* download */
  .catlg_bloc {
    display: grid;
    grid-template:
      "catlg_tmb catlg_txt" 1fr
      "catlg_btn catlg_btn" 60px
      / 1fr 1fr;
      grid-gap: .6em;
    ;
  }
  .catlg_txt h2 {
    font-size: 1rem;
  }
  .catlg_txt p,
  .catlg_txt ul li {
    font-size: .8rem;
  }
}
@media all and (min-width: 1024px) {
  /* grid_area */
  .grid_area_01 {
    display: grid;
    grid-template:
      "g_inside_01 g_inside_02" 1fr
      "g_inside_03 g_inside_02" 1fr
      / 50% 48%;
    grid-gap: 1% 2%;
    margin: 5% 0;
  }
  .g_inside_01 {
    grid-area: g_inside_01;
  }
  .g_inside_02 {
    grid-area: g_inside_02;
    display: grid;
    place-items: center;
  }
  .g_inside_03 {
    grid-area: g_inside_03;
  }
  .pr1 {
    padding: 0 1em 0 0;
  }
  /* service index */
  ul.service_topic {
    margin: 60px 0 80px;
  }
  /* L2 nav */
  ul.service_l2_nav li,
  ul.company_l2_nav li {
    flex-basis: calc(96% / 3);
    max-width: 380px;
  }
  ul.company_l2_nav li {
    margin: 0 0 60px;
  }
  .service_search_bloc {
    margin: 100px 0;
  }
  .service_search_bloc.l2 {
    margin: 100px 0 60px;
  }
  /* service l3 service list*/
  #service_l3_nav ul li a,
  #sortlist li {
    font-size: 1.2rem;
  }
  #service_l3_nav ul li::after {
    width: 16px;
    height: 9px;
  }
  /* case single */
  #case_single_bloc01 {
    padding: 0 0 3.25em;
  }
  #case_single_bloc02 {
    padding: 60px 0;
  }
  #case_single_bloc03 {
    margin: 60px auto;
  }
  #case_single_bloc04 {
    margin: 0 0 3em;
    padding: 3em 0 1.7em;
  }
  /* sub_nav */
  .sub_nav_bloc.navmb {
    margin: 0 0 60px;
  }
  /* download */
  .catlg_bloc {
    display: grid;
    grid-template:
      "catlg_tmb catlg_txt" 1fr
      "catlg_tmb catlg_btn" 65px
      / 1fr 1fr;
      grid-gap: 0 .6em;
    ;
  }
  .dl_bloc.two_catlg {
    display: flex;
    justify-content: center;
    gap: 60px;
  }
  .dl_bloc ul li:first-child span {
    font-size: .95rem;
  }
  .dl_bloc.multiple {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .dl_bloc.multiple::after {
    content: '';
    display: block;
    flex-basis: calc(96% / 3);
    max-width: 335px;
  }
  .dl_bloc.multiple ul {
    flex-basis: calc(96% / 3);
    margin: 0 0 100px;
  }
  .dl_bloc ul li:nth-child(2) {
    margin: .8em 0 1.8em;
  }
  /* company index */
  h1.page_title.pcmb {
    margin: 60px 0 80px;
  }
  #company_l2 {
    padding: 60px 0 40px;
  }
  /* summary */
  #summary_inside {
    display: flex;
    justify-content: space-between;
    margin: 1em 0;
  }
  div.summary_bloc {
    flex-basis: calc(94% / 3);
    display: flex;
    flex-direction: column;
  }
  div.summary_bloc_inner {
    flex-grow: 1;
  }
  h3.summary_bloc_title {
    padding: 1.2em 0;
  }
  /* policy */
  .policys_inner {
    width: 100%;
    padding-left: 65px;
  }
  /* sitemap */
  #sitemap {
    display: flex;
    justify-content: space-between;
  }
  #sitemap article {
    flex-basis: calc(94% / 3);
  }
}
@media all and (min-width: 768px) and (max-width: 1279px) {
  /* service topics03 */
  ul.topics03_inner_list li:nth-child(3),
  ul.topics03_inner_list li:last-child {
    height: 63px;
    padding: 0 .2em;
    line-height: 63px;
  }
  /* download */
  ul#dl_nav li {
    flex-basis: calc(98% / 2);
    -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
    transition: all .3s cubic-bezier(.56,.07,.45,1);
  }
}
@media all and (min-width: 1024px) and (max-width: 1279px) {
  /* service list */
  .servlist_inner {
    flex-basis: 23%;
    margin: 0 1% 2%;
  }
}
@media all and (min-width: 1280px) {
  /* service list*/
  #servlist_inside,
  .trouble_inside,
  .related_serv_inside {
    gap: 26px;
  }
  .servlist_inner {
    flex-basis: calc(100% /4);
    max-width: 280px;
  }
  /* service topics03 */
  ul.topics03_inner_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  ul.topics03_inner_list li {
    flex-basis: calc(98% / 2);
    font-size: 1.1rem;
    height: 70px;
  }
  ul.topics03_inner_list li span {
    font-size: .85rem;
  }
  ul.topics03_inner_list li:nth-child(3),
  ul.topics03_inner_list li:last-child {
    margin: 0;
    padding: 0 .2em;
    line-height: 70px;
  }
  /* network */
  a.btn_map {
    margin: 60px 0 0;
  }
  /* download */
  ul#dl_nav li {
    flex-basis: calc(98% / 3);
    -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
    transition: all .3s cubic-bezier(.56,.07,.45,1);
  }
}
/* hover */
@media (any-hover: hover) {
  table.basic tr th a:hover,
  table.basic tr td a:hover,
  table.fixed tr th a:hover,
  table.fixed tr td a:hover,
  .page p a:hover,
  ul.basic li a:hover,
  ol.count li a:hover,
  ol.basic li a:hover,
  .post_erea table tr th a:hover,
  .post_erea table tr td a:hover,
  .post_erea p a:hover,
  .post_erea ul li a:hover,
  .post_erea h5 a:hover,
  #serv_erea p a:hover,
  .serv_answer_bloc ul li a:hover,
  .serv_point_bloc ul li a:hover {
    text-decoration: none;
    -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
    transition: all .3s cubic-bezier(.56,.07,.45,1);
  }
  section.topics_inside_bloc p a:hover,
  div.topics03_caselink_box h5 a:hover,
  dl.archives dd a:hover,
  #sitemap ul li a:hover {
    text-decoration: underline;
    -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
    transition: all .3s cubic-bezier(.56,.07,.45,1);
  }
  a.btn_b:hover,
  a.btn_map:hover,
  a.btn_b_multiple:hover,
  ul#trouble_list li:hover,
  dl.trouble_sub_list dt:hover,
  dl.trouble_sub_list dt.active:hover,
  .case_l2_erea_inner_btn a:hover,
  ul#dl_nav li:hover,
  ul#network_list li:hover {
    background: var(--co_or);
    -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
    transition: all .3s cubic-bezier(.56,.07,.45,1);
  }
  a.pdf_link:hover,
  ul.service_topic li a:hover,
  ul.service_l2_nav li:hover a span,
  ul.company_l2_nav li:hover a span,
  .servlist_inner:hover h2,
  .sub_nav_bloc_inside dl dd ul li a:hover,
  .sub_nav_bloc_inner ul li a:hover,
  a.topics01_manual:hover p,
  section.case_link_box:hover a h3,
  section.case_l2_erea_inner ul li a:hover,
  section.search_link_box:hover a h3,
  dl.archives dd a:hover,
  #sitemap h2 a:hover,
  #sitemap ul li a:hover {
    color: var(--co_bl);
    -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
    transition: all .3s cubic-bezier(.56,.07,.45,1);
  }
  #service_l3_nav ul li:hover {
    background: var(--co_mc);
    -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
    transition: all .3s cubic-bezier(.56,.07,.45,1);
  }
  #service_l3_nav ul li:hover::after,
  ul#trouble_list li:hover:after,
  ul#dl_nav li:hover::after,
  ul#network_list li:hover::after {
    background: var(--ff);
    -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
    transition: all .3s cubic-bezier(.56,.07,.45,1);
  }
  a.btn_o:hover,
  a.btn_dl:hover,
  ul.service_l2_nav li:hover a figure img,
  ul.company_l2_nav li:hover a figure img,
  .servlist_inner:hover img,
  a.topics01_manual:hover img,
  a:hover img.servbnr,
  .service_bnr_erea a:hover img {
    opacity: .8;
    -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
    transition: all .3s cubic-bezier(.56,.07,.45,1);
  }
  ul.service_l2_nav li:hover a figure img,
  ul.company_l2_nav li:hover a figure img {
    opacity: .8;
    -webkit-transform: scale(1.1,1.1);
    transform: scale(1.1,1.1);
    -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
    transition: all .3s cubic-bezier(.56,.07,.45,1);
  }
  #sortlist li#all:hover {
    color: var(--ff);
    background: var(--co_mc);
    -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
    transition: all .3s cubic-bezier(.56,.07,.45,1);
  }
  #sortlist li#serv01:hover,
  .sub_nav_bloc_inside dl dt.serv01_nav:hover,
  .sub_nav_bloc_inside dl dt.serv01_nav.active:hover {
    color: var(--ff);
    background: var(--s_cat01);
    -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
    transition: all .3s cubic-bezier(.56,.07,.45,1);
  }
  #sortlist li#serv02:hover,
  .sub_nav_bloc_inside dl dt.serv02_nav:hover,
  .sub_nav_bloc_inside dl dt.serv02_nav.active:hover {
    color: var(--ff);
    background: var(--s_cat02);
    -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
    transition: all .3s cubic-bezier(.56,.07,.45,1);
  }
  #sortlist li#serv03:hover,
  .sub_nav_bloc_inside dl dt.serv03_nav:hover,
  .sub_nav_bloc_inside dl dt.serv03_nav.active:hover {
    color: var(--ff);
    background: var(--s_cat03);
    -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
    transition: all .3s cubic-bezier(.56,.07,.45,1);
  }
  ul.single_cat_label li a:hover {
    color: var(--ff);
    background: var(--co_bl);
    -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
    transition: all .3s cubic-bezier(.56,.07,.45,1);
  }
  .servlist_inner:hover,
  section.search_link_box:hover {
    box-shadow: rgba(192,192,192,0.3) 0px 3px 8px;
    -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
    transition: all .3s cubic-bezier(.56,.07,.45,1);
  }
  #service_l3_nav ul li:hover a,
  ul#trouble_list li:hover a,
  dl.trouble_sub_list dt:hover span,
  dl.trouble_sub_list dt.active:hover span,
  ul#dl_nav li:hover a,
  ul#network_list li:hover a {
    color: var(--ff);
    -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
    transition: all .3s cubic-bezier(.56,.07,.45,1);
  }
  dl.trouble_sub_list dt.active:hover {
    border: 1px solid var(--line);
  }
  dl.trouble_sub_list dt:hover:before,
  dl.trouble_sub_list dt:hover::after,
  dl.trouble_sub_list dt.active:hover::before,
  dl.trouble_sub_list dt.active:hover::after,
  .sub_nav_bloc_inside dl dt:hover::before,
  .sub_nav_bloc_inside dl dt:hover::after,
  .sub_nav_bloc_inside dl dt.active:hover::before,
  .sub_nav_bloc_inside dl dt.active:hover::after {
    border-top: 2px solid var(--ff);
    -webkit-transition: all .3s cubic-bezier(.56,.07,.45,1);
    transition: all .3s cubic-bezier(.56,.07,.45,1);
  }
}
/* style */
.mt {
  margin: 5% 0 0 !important;
}
.mt_3 {
  margin: 3% 0 0 !important;
}
.mb {
  margin: 0 0 5% !important;
}
.mtb {
  margin: 5% 0 !important;
}
.mtb_3 {
  margin: 3% 0 !important;
}
.mtba {
  margin: 5% auto !important;
}
.pt {
  padding: 5% 0 0 !important;
}
.ptb {
  padding: 5% 0 !important;
}
.tc {
  text-align: center !important;
}
.tr {
  text-align: right !important;
}
.tmin {
  font-size: .7rem !important;
}
.tbold {
  font-weight: var(--t7) !important;
}
.red {
  color: var(--red) !important;
}
span.br::after {
  content: '\A\A';
  white-space: pre;
}