@charset "UTF-8";
/* CSS Document */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-weight: normal;
  vertical-align: baseline;
  background: transparent;
  /* 明朝体 */
  /*font-family:"Roboto Slab" , Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;*/
  /* ゴシック体 */
  /*font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;*/
  /*font-family: Helvetica Neue, Helvetica, Hiragino Sans, 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;*/
  font-family: "Noto Sans Japanese", sans-serif;
  list-style: none;
  color: #333333;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}
html body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

a:link,
a:hover,
a:visited,
a:active {
  color: #000;
  text-decoration: none;
  border: none;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

table caption,
table th,
table td {
  font-family: sans-serif;
}

table th {
  font-weight: normal;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/* My Custom CSS ------------------------------------------------------------------------*/
span.notice {
  color: #ed1c24 !important;
  font-size: 18px;
  font-weight: bold;
}

.fontmincho {
  /* 明朝体 */
  font-family: "Roboto Slab", Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif !important;
}

.fontgothic {
  /* ゴシック体 */
  font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif !important;
  /*   font-family: Helvetica Neue, Helvetica, Hiragino Sans, 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif!important; */
}

/* area center */
.rayout-center-m {
  margin: 0 auto;
}

.topbtn {
  cursor: pointer;
  position: fixed;
  bottom: 40px;
  right: 40px;
  z-index: 8000;
}
@media screen and (max-width: 768px) {
  .topbtn {
    bottom: 20px;
    right: 20px;
  }
}
.topbtn img {
  width: 50px;
  height: 50px;
  display: inline-block;
  vertical-align: bottom;
}

#global_header {
  position: fixed;
  width: 100%;
  height: 93px;
  background: #fff;
  z-index: 100;
}
@media screen and (max-width: 520px) {
  #global_header {
    height: 70px;
  }
}
#global_header .inner {
  position: relative;
  padding: 20px 0;
  width: 95%;
  height: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 11% 80%;
}
@media screen and (max-width: 1200px) {
  #global_header .inner {
    display: block;
  }
}
@media screen and (max-width: 520px) {
  #global_header .inner {
    padding: 10px 0;
    display: grid;
    align-items: center;
    grid-template-columns: 1fr;
  }
}
#global_header .inner h1 {
  margin-right: 30px;
}
@media screen and (max-width: 520px) {
  #global_header .inner h1 {
    margin-right: 0;
    grid-column: 1/3;
  }
}
#global_header .inner h1 a {
  display: inline-block;
  width: fit-content;
}
#global_header .inner h1 a img {
  display: inline-block;
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
@media screen and (max-width: 1200px) {
  #global_header .inner h1 a img {
    width: auto;
    height: 45px;
  }
}
@media screen and (max-width: 520px) {
  #global_header .inner h1 a img {
    height: 32px;
    position: relative;
    bottom: 4px;
  }
}
#global_header .inner #global_navi {
  padding-right: 15%;
}
@media screen and (max-width: 1200px) {
  #global_header .inner #global_navi {
    display: none;
  }
}
#global_header .inner #global_navi ul {
  display: grid;
  place-items: center;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  height: 100%;
}
#global_header .inner #global_navi ul li {
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.6rem;
  display: grid;
  width: 100%;
  height: 100%;
}
#global_header .inner #global_navi ul li a {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  transition: all 0.2s ease;
}
#global_header .inner #global_navi ul li a:hover {
  background: #471FE8;
  color: #fff;
}

#header_contact {
  position: fixed;
  display: grid;
  place-items: center;
  background: #471FE8;
  top: 0;
  right: 0;
  z-index: 9100;
  width: 93px;
  height: 93px;
}
@media screen and (max-width: 520px) {
  #header_contact {
    width: 70px;
    height: 70px;
  }
}
#header_contact .header_contact_inner {
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.6rem;
  width: 100%;
  display: grid;
  place-items: center;
}
#header_contact .header_contact_inner img {
  display: inline-block;
  margin-bottom: 12px;
  width: 28px;
  height: auto;
}
@media screen and (max-width: 520px) {
  #header_contact .header_contact_inner img {
    margin-bottom: 8px;
  }
}
#header_contact .header_contact_inner .hc_txt {
  color: #fff;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 520px) {
  #header_contact .header_contact_inner .hc_txt {
    font-size: 1rem;
  }
}

#pankuzu .inner {
  width: 1440px;
  margin: 0 auto;
  text-align: right;
  padding: 10px 0;
}
@media screen and (max-width: 1440px) {
  #pankuzu .inner {
    width: 90%;
  }
}
#pankuzu .inner a, #pankuzu .inner span {
  display: inline-block;
  margin-left: 10px;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 520px) {
  #pankuzu .inner a, #pankuzu .inner span {
    font-size: 1.2rem;
  }
}
#pankuzu .inner a {
  color: #471FE8;
  text-decoration: none;
}
#pankuzu .inner span {
  color: #2a2a2a;
}

#global_footer {
  background: #142267;
  min-height: 300px;
  padding: 30px 0;
}
@media screen and (max-width: 520px) {
  #global_footer {
    padding-bottom: 100px;
  }
}
#global_footer .global_footer_inner {
  width: 95vw;
  margin: 0 auto 30px;
  padding-left: 1rem;
  padding-right: 1rem;
  display: grid;
  grid-template-columns: 30% 65%;
  column-gap: 5%;
}
@media screen and (max-width: 1200px) {
  #global_footer .global_footer_inner {
    grid-template-columns: 40% 57%;
    column-gap: 3%;
    width: 97.5vw;
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (max-width: 768px) {
  #global_footer .global_footer_inner {
    display: block;
    width: 95vw;
  }
}
#global_footer .global_footer_inner .fcompany_info {
  margin-right: 30px;
}
@media screen and (max-width: 1200px) {
  #global_footer .global_footer_inner .fcompany_info {
    margin-right: 0;
  }
}
#global_footer .global_footer_inner .fcompany_info .company_name {
  margin-bottom: 30px;
}
#global_footer .global_footer_inner .fcompany_info .company_name a {
  color: #fff;
  font-size: 2.4rem;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  #global_footer .global_footer_inner .fcompany_info .company_address {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 2%;
  }
}
@media screen and (max-width: 520px) {
  #global_footer .global_footer_inner .fcompany_info .company_address {
    display: block;
  }
}
#global_footer .global_footer_inner .fcompany_info .company_address div {
  margin-bottom: 16px;
}
#global_footer .global_footer_inner .fcompany_info .company_address div:last-child {
  margin-bottom: 0;
}
#global_footer .global_footer_inner .fcompany_info .company_address div dt, #global_footer .global_footer_inner .fcompany_info .company_address div dd {
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 300;
  font-style: normal;
  color: #fff;
  letter-spacing: 0.1em;
}
#global_footer .global_footer_inner .fcompany_info .company_address div dt {
  margin-bottom: 8px;
  font-size: 1.6rem;
  font-weight: bold;
}
#global_footer .global_footer_inner .fcompany_info .company_address div dd {
  font-size: 1.4rem;
  line-height: 1.5;
}
#global_footer .global_footer_inner .fnavi {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  column-gap: 2%;
  margin-bottom: 30px;
}
@media screen and (max-width: 1200px) {
  #global_footer .global_footer_inner .fnavi {
    grid-template-columns: 1fr 1fr 1fr;
    row-gap: 30px;
  }
}
@media screen and (max-width: 768px) {
  #global_footer .global_footer_inner .fnavi {
    display: none;
  }
}
#global_footer .global_footer_inner .fnavi .navi_wrap .title_navi {
  margin-bottom: 25px;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
}
#global_footer .global_footer_inner .fnavi .navi_wrap .title_navi:last-child {
  margin-bottom: 0;
}
#global_footer .global_footer_inner .fnavi .navi_wrap .title_navi a {
  color: #fff;
  font-size: 1.6rem;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.1em;
  transition: all 0.2s ease;
}
#global_footer .global_footer_inner .fnavi .navi_wrap .title_navi a:hover {
  color: #8264ff;
}
#global_footer .global_footer_inner .fnavi .navi_wrap ul {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
#global_footer .global_footer_inner .fnavi .navi_wrap ul li a {
  display: inline-block;
  color: #fff;
  font-size: 1.4rem;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.1em;
  transition: all 0.2s ease;
}
#global_footer .global_footer_inner .fnavi .navi_wrap ul li a:hover {
  color: #8264ff;
}
#global_footer #sns_copy {
  width: 95vw;
  margin: 0 auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media screen and (max-width: 1200px) {
  #global_footer #sns_copy {
    width: 97.5vw;
  }
}
#global_footer #sns_copy .sns_wrap {
  margin-bottom: 30px;
}
#global_footer #sns_copy .sns_wrap a {
  display: inline-block;
  margin-right: 20px;
}
#global_footer #sns_copy .sns_wrap a img {
  width: 30px;
  height: auto;
  vertical-align: bottom;
}
#global_footer #sns_copy .copy small {
  font-size: 1.2rem;
  color: #fff;
  letter-spacing: 0.18em;
}

#key_visual.recruit {
  position: relative;
  z-index: 10;
  overflow: hidden;
}
#key_visual.recruit .inner {
  height: 300px;
  width: 1440px;
  margin: 0 auto;
}
@media screen and (max-width: 1440px) {
  #key_visual.recruit .inner {
    width: 90%;
  }
}
@media screen and (max-width: 768px) {
  #key_visual.recruit .inner {
    height: 200px;
  }
}
#key_visual.recruit .inner .page_title {
  font-size: 48px;
  font-weight: bold;
  display: grid;
  align-items: end;
  height: 100%;
  padding-bottom: 50px;
  font-family: "greycliff-cf", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.07em;
  font-feature-settings: "palt";
}
@media screen and (max-width: 768px) {
  #key_visual.recruit .inner .page_title {
    font-size: 8vw;
  }
}

main {
  padding-top: 93px;
  min-height: 800px;
}
@media screen and (max-width: 520px) {
  main {
    padding-top: 70px;
  }
}

#main_content {
  width: 1440px;
  margin: 0 auto;
  padding: 80px 0 40px;
}
@media screen and (max-width: 1440px) {
  #main_content {
    width: 95%;
  }
}
@media screen and (max-width: 834px) {
  #main_content {
    width: 85%;
  }
}
@media screen and (max-width: 520px) {
  #main_content {
    width: 90%;
  }
}
#main_content h3 {
  font-size: 4rem;
  padding: 15px 15px 15px 30px;
  border-left: 10px solid #471FE8;
  font-family: "greycliff-cf", sans-serif;
  font-weight: 700;
  font-style: normal;
  margin-bottom: 30px;
  line-height: 1.5;
  font-feature-settings: "palt";
}
@media screen and (max-width: 768px) {
  #main_content h3 {
    font-size: 2.1rem;
    padding: 15px 15px 15px 20px;
  }
}
#main_content .page_subkey {
  position: relative;
  z-index: 1;
}
#main_content .page_subkey img {
  width: 100%;
  height: 100%;
  vertical-align: bottom;
  object-fit: cover;
}
#main_content .page_subkey .txt_box {
  position: absolute;
  width: 100%;
  height: auto;
  bottom: 30px;
  z-index: 10;
}
#main_content .page_subkey .txt_box p {
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-feature-settings: "palt";
}
#main_content .page_subkey .txt_box .l_txt {
  font-size: 8rem;
  margin-bottom: 10px;
}
@media screen and (max-width: 1000px) {
  #main_content .page_subkey .txt_box .l_txt {
    font-size: 6.5vw;
  }
}
#main_content .page_subkey .txt_box .m_txt {
  font-size: 4.5rem;
}
@media screen and (max-width: 1000px) {
  #main_content .page_subkey .txt_box .m_txt {
    font-size: 3.5vw;
  }
}

.tabs {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: end;
}
@media screen and (max-width: 520px) {
  .tabs {
    display: block;
  }
}
.tabs .tab-button {
  cursor: pointer;
  border: none;
  transition: background 0.3s;
  display: inline-block;
  background: none;
  margin-right: 0;
  padding: 0;
}
@media screen and (max-width: 520px) {
  .tabs .tab-button {
    width: 100%;
  }
}
.tabs .tab-button .tab_txt_ja {
  padding: 8px 20px 8px 35px;
  background-color: #DCDCE6;
  display: inline-block;
  font-size: 2.6rem;
  font-weight: bold;
  text-align: left;
  color: #3e3e3e;
  width: 100%;
  border-bottom: 3px solid #471FE8;
  position: relative;
}
@media screen and (max-width: 1000px) {
  .tabs .tab-button .tab_txt_ja {
    font-size: 1.8vw;
  }
}
@media screen and (max-width: 520px) {
  .tabs .tab-button .tab_txt_ja {
    text-align: center;
    font-size: 13px;
  }
}
.tabs .tab-button .tab_txt_ja::before {
  content: "▶";
  position: absolute;
  top: 50%;
  left: 10px;
  font-size: 1.6rem;
  transform: translateY(-50%);
}
@media screen and (max-width: 520px) {
  .tabs .tab-button .tab_txt_ja::before {
    font-size: 10px;
  }
}
.tabs .tab-button.active {
  color: #fff;
  font-weight: bold;
  display: inline-block;
}
.tabs .tab-button.active .tab_txt_ja {
  background-color: #471FE8;
  display: inline-block;
  font-size: 2.6rem;
  font-weight: bold;
  color: #fff;
  width: 100%;
}
@media screen and (max-width: 1000px) {
  .tabs .tab-button.active .tab_txt_ja {
    font-size: 1.8vw;
  }
}
@media screen and (max-width: 520px) {
  .tabs .tab-button.active .tab_txt_ja {
    text-align: center;
    font-size: 13px;
  }
}

.tab-content {
  padding: 40px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  .tab-content {
    width: 100%;
    padding: 40px 20px;
  }
}
@media screen and (max-width: 520px) {
  .tab-content {
    width: 100%;
    padding: 20px 10px;
  }
}
.tab-content .tab_inner {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 8%;
  row-gap: 40px;
}
@media screen and (max-width: 1000px) {
  .tab-content .tab_inner {
    column-gap: 4%;
  }
}
@media screen and (max-width: 834px) {
  .tab-content .tab_inner {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 520px) {
  .tab-content .tab_inner {
    padding-top: 30px;
    display: block;
  }
}
.tab-content .tab_inner .news_item {
  display: inline-block;
  background: #EFEFEF;
  width: 100%;
}
@media screen and (max-width: 520px) {
  .tab-content .tab_inner .news_item {
    margin-bottom: 30px;
  }
}
.tab-content .tab_inner .news_item .thumb {
  width: 100%;
  height: 240px;
  display: inline-block;
}
.tab-content .tab_inner .news_item .thumb img {
  width: 100%;
  height: 100%;
  vertical-align: bottom;
  object-fit: cover;
}
.tab-content .tab_inner .news_item .meta_wrap {
  padding: 20px 15px 20px;
  display: inline-block;
}
.tab-content .tab_inner .news_item .meta_wrap .postdate {
  display: inline-block;
  font-size: 1.8rem;
  width: auto !important;     /* 横幅を文字分だけにする */
  font-family: "greycliff-cf", sans-serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom: 10px;
  margin-right: 15px;         /* 日付とタグの間に隙間を作る */
}
.tab-content .tab_inner .news_item .meta_wrap .title {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 10px;
  font-family: "greycliff-cf", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.5;
}
@media screen and (max-width: 1000px) {
  .tab-content .tab_inner .news_item .meta_wrap .title {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 520px) {
  .tab-content .tab_inner .news_item .meta_wrap .title {
    font-size: 16px;
  }
}
.tab-content .btn_wrap .list_linkbtn {
  display: inline-block;
  padding: 20px 30px;
  background: #363480;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  margin-top: 20px;
  border-radius: 5px;
  transition: 0.2s linear;
}
.tab-content .btn_wrap .list_linkbtn:hover {
  background: #471FE8;
}
.news_list_wrap,
.event_list_wrap,
.case_list_wrap {
  padding: 40px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  .news_list_wrap,
.event_list_wrap,
.case_list_wrap {
    width: 100%;
    padding: 40px 20px;
  }
}
@media screen and (max-width: 520px) {
  .news_list_wrap,
.event_list_wrap,
.case_list_wrap {
    width: 100%;
    padding: 20px 10px;
  }
}
.news_list_wrap .list_inner,
.event_list_wrap .list_inner,
.case_list_wrap .list_inner {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 8%;
  row-gap: 40px;
}
@media screen and (max-width: 1000px) {
  .news_list_wrap .list_inner,
.event_list_wrap .list_inner,
.case_list_wrap .list_inner {
    column-gap: 4%;
  }
}
@media screen and (max-width: 834px) {
  .news_list_wrap .list_inner,
.event_list_wrap .list_inner,
.case_list_wrap .list_inner {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 520px) {
  .news_list_wrap .list_inner,
.event_list_wrap .list_inner,
.case_list_wrap .list_inner {
    padding-top: 30px;
    display: block;
  }
}
.news_list_wrap .list_inner .news_item,
.event_list_wrap .list_inner .news_item,
.case_list_wrap .list_inner .news_item {
  display: inline-block;
  background: #EFEFEF;
  width: 100%;
}
@media screen and (max-width: 520px) {
  .news_list_wrap .list_inner .news_item,
.event_list_wrap .list_inner .news_item,
.case_list_wrap .list_inner .news_item {
    margin-bottom: 30px;
  }
}
.news_list_wrap .list_inner .news_item .thumb,
.event_list_wrap .list_inner .news_item .thumb,
.case_list_wrap .list_inner .news_item .thumb {
  width: 100%;
  height: 200px;
  display: inline-block;
}
.news_list_wrap .list_inner .news_item .thumb img,
.event_list_wrap .list_inner .news_item .thumb img,
.case_list_wrap .list_inner .news_item .thumb img {
  width: 100%;
  height: 100%;
  vertical-align: bottom;
  object-fit: cover;
}
.news_list_wrap .list_inner .news_item .meta_wrap,
.event_list_wrap .list_inner .news_item .meta_wrap,
.case_list_wrap .list_inner .news_item .meta_wrap {
  padding: 20px 15px 20px;
  display: inline-block;
}
.news_list_wrap .list_inner .news_item .meta_wrap .postdate,
.event_list_wrap .list_inner .news_item .meta_wrap .postdate,
.case_list_wrap .list_inner .news_item .meta_wrap .postdate {
  display: inline-block;
  font-size: 1.8rem;
  width: auto !important;     /* 横幅を文字分だけにする */
  font-family: "greycliff-cf", sans-serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom: 10px;
  margin-right: 13px;         /* 日付とタグの間に隙間を作る */
}
.news_list_wrap .list_inner .news_item .meta_wrap .title,
.event_list_wrap .list_inner .news_item .meta_wrap .title,
.case_list_wrap .list_inner .news_item .meta_wrap .title {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 10px;
  font-family: "greycliff-cf", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.5;
}
@media screen and (max-width: 1000px) {
  .news_list_wrap .list_inner .news_item .meta_wrap .title,
.event_list_wrap .list_inner .news_item .meta_wrap .title,
.case_list_wrap .list_inner .news_item .meta_wrap .title {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 520px) {
  .news_list_wrap .list_inner .news_item .meta_wrap .title,
.event_list_wrap .list_inner .news_item .meta_wrap .title,
.case_list_wrap .list_inner .news_item .meta_wrap .title {
    font-size: 16px;
  }
}
.news_list_wrap .btn_wrap .list_linkbtn,
.event_list_wrap .btn_wrap .list_linkbtn,
.case_list_wrap .btn_wrap .list_linkbtn {
  display: inline-block;
  padding: 20px 30px;
  background: #363480;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  margin-top: 20px;
  border-radius: 5px;
  transition: 0.2s linear;
}
.news_list_wrap .btn_wrap .list_linkbtn[disabled],
.event_list_wrap .btn_wrap .list_linkbtn[disabled],
.case_list_wrap .btn_wrap .list_linkbtn[disabled] {
  background: #efefef;
  color: #989898;
  cursor: initial;
}
.news_list_wrap .btn_wrap .list_linkbtn[disabled]:hover,
.event_list_wrap .btn_wrap .list_linkbtn[disabled]:hover,
.case_list_wrap .btn_wrap .list_linkbtn[disabled]:hover {
  background: #efefef;
}
.news_list_wrap .btn_wrap .list_linkbtn:hover,
.event_list_wrap .btn_wrap .list_linkbtn:hover,
.case_list_wrap .btn_wrap .list_linkbtn:hover {
  background: #471FE8;
}
.news_detail {
  width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 1000px) {
  .news_detail {
    width: 90%;
  }
}
.news_detail .detail_inner {
  margin-bottom: 60px;
}
.news_detail .detail_inner .thumb {
  width: 100%;
  height: 380px;
  margin-bottom: 20px;
}
.news_detail .detail_inner .thumb img {
  width: 100%;
  height: 100%;
  vertical-align: bottom;
  object-fit: cover;
}
.news_detail .detail_inner .post_time {
  padding: 10px 0;
}
.news_detail .detail_inner .post_time time {
  font-size: 1.6rem;
  font-weight: bold;
  font-family: "greycliff-cf", sans-serif;
  font-weight: 700;
  font-style: normal;
  margin-bottom: 20px;
  display: inline-block;
}
.news_detail .detail_inner .post_body h4 {
  font-size: 2rem;
  padding: 12px 14px;
  background: #f4f7ff;
  color: #2b2b68;
  font-family: "greycliff-cf", sans-serif;
  font-weight: 700;
  font-style: normal;
  border-left: 8px solid #471FE8;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
  font-feature-settings: "palt";
}
.news_detail .detail_inner .post_body h2::before {
  content: '【';
  margin-right: 0.5em; /* 見出し本体との間隔 */
}
.news_detail .detail_inner .post_body h2::after {
  content: '】';
  margin-left: 0.5em; /* 見出し本体との間隔 */
}
.news_detail .detail_inner .post_body h5::before {
  content: '■';
  margin-right: 0.5em; /* 見出し本体との間隔 */
}
.news_detail .detail_inner .post_body h2 {
  font-size: 1.8rem;
  padding: 12px 14px;
  color: #1A1A1A;
  font-family: "greycliff-cf", sans-serif;
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
  font-feature-settings: "palt";
}
.news_detail .detail_inner .post_body h5 {
  font-size: 1.8rem;
  padding: 12px 14px;
  color: #1A1A1A;
  font-family: "greycliff-cf", sans-serif;
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
  font-feature-settings: "palt";
}

@media screen and (max-width: 520px) {
  .news_detail .detail_inner .post_body h4 {
    font-size: 1.8rem;
  }
  .news_detail .detail_inner .post_body h2 {
    font-size: 1.6rem;
  }
   .news_detail .detail_inner .post_body h5 {
    font-size: 1.6rem;
  }
}
.news_detail .detail_inner .post_body p {
  font-size: 1.6rem;
  line-height: 1.8;
  font-family: "greycliff-cf", sans-serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom: 25px;
}
@media screen and (max-width: 520px) {
  .news_detail .detail_inner .post_body p {
    font-size: 1.4rem;
  }
}
.news_detail .detail_inner .post_body p b {
  font-family: "greycliff-cf", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.news_detail .detail_inner .post_body .text-r {
  text-align: right;
}
.news_detail .detail_inner .post_body .text-c {
  text-align: center;
}
.news_detail .detail_inner .post_body .txt-l {
  font-size: 2.1rem;
}
.news_detail .detail_inner .post_body .annotation {
  color: #af122e;
}
.news_detail .detail_inner .post_body ul {
  margin-bottom: 25px;
  padding: 10px;
}
.news_detail .detail_inner .post_body ul li {
  font-size: 1.6rem;
  line-height: 1.8;
  font-family: "greycliff-cf", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 520px) {
  .news_detail .detail_inner .post_body ul li {
    font-size: 1.4rem;
  }
}
.news_detail .detail_inner .post_body ul li.list_title {
  margin-bottom: 8px;
}
.news_detail .detail_inner .post_body ul li.list_title span {
  display: inline-block;
  padding: 8px 16px;
  line-height: 1;
  font-size: 2rem;
  font-family: "greycliff-cf", sans-serif;
  font-weight: 700;
  font-style: normal;
  color: #fff;
  background: #2b2b68;
  border-radius: 8px;
}
.news_detail .detail_inner .post_body dl {
  margin-bottom: 25px;
}
.news_detail .detail_inner .post_body dl div {
  display: grid;
  grid-template-columns: 25% 75%;
  align-items: center;
  padding: 4px 0;
  border-top: 1px solid #efefef;
}
.news_detail .detail_inner .post_body dl div:last-child {
  border-bottom: 1px solid #efefef;
}
@media screen and (max-width: 520px) {
  .news_detail .detail_inner .post_body dl div {
    grid-template-columns: 1fr;
  }
}
.news_detail .detail_inner .post_body dl div dt, .news_detail .detail_inner .post_body dl div dd {
  font-size: 1.6rem;
  line-height: 1.8;
  font-family: "greycliff-cf", sans-serif;
  font-weight: 400;
  font-style: normal;
  padding: 8px;
}
@media screen and (max-width: 520px) {
  .news_detail .detail_inner .post_body dl div dt, .news_detail .detail_inner .post_body dl div dd {
    font-size: 1.4rem;
  }
}
.news_detail .detail_inner .post_body dl div dt.single_line {
  grid-column: 1/-1;
}
.news_detail .detail_inner .post_body dl div dt {
  color: #471FE8;
}
@media screen and (max-width: 520px) {
  .news_detail .detail_inner .post_body dl div dt {
    padding: 8px 8px 0 8px;
  }
}
@media screen and (max-width: 520px) {
  .news_detail .detail_inner .post_body dl div dd {
    padding: 2px 8px 8px 8px;
  }
}
.news_detail .detail_inner .post_body dl.session_list div {
  display: block;
  margin-bottom: 15px;
}
.news_detail .detail_inner .post_body dl.session_list div dt, .news_detail .detail_inner .post_body dl.session_list div dd {
  padding: 0 8px;
}
.news_detail .detail_inner .post_body dl.session_list div dt {
  font-family: "greycliff-cf", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.news_detail .detail_inner .post_body a {
  display: inline-block;
  color: #471FE8;
  text-decoration: underline;
  font-size: 1.6rem;
  line-height: 1.8;
  font-family: "greycliff-cf", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 520px) {
  .news_detail .detail_inner .post_body a {
    font-size: 1.4rem;
  }
}
.news_detail .detail_inner .post_body img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  display: inline-block;
}
.news_detail .btn_wrap .list_linkbtn {
  display: inline-block;
  padding: 20px 30px;
  background: #363480;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  margin-top: 20px;
  border-radius: 5px;
  transition: 0.2s linear;
}
.news_detail .btn_wrap .list_linkbtn:hover {
  background: #471FE8;
}
/* ol 全体への設定: ul と同様に下マージンとパディングを設定 */
.news_detail .detail_inner .post_body ol {
  margin-bottom: 25px;
  padding: 0; /* マーカーを擬似要素で制御するため、olのデフォルトパディングをリセット */
  list-style: none; /* デフォルトのマーカーを非表示 */
}

/* ol li 個々のリストアイテムの設定: ul li と合わせる */
.news_detail .detail_inner .post_body ol li {
  /* ul li と同じフォント設定 */
  font-size: 1.6rem;
  line-height: 1.8;
  font-family: "greycliff-cf", sans-serif;
  font-weight: 400;
  font-style: normal;
  
  /* 擬似要素でマーカーを配置するための設定 */
  position: relative;
  padding-left: 2em; /* マーカー分のスペースを空ける (例: 2em) */
}

/* アラビア数字のマーカーを擬似要素で挿入 */
.news_detail .detail_inner .post_body ol li:before {
  content: counter(item) "."; /* 数字とピリオドを挿入 */
  counter-increment: item; /* 数字をインクリメント */
  
  /* マーカーの見た目 */
  position: absolute;
  left: 0; /* li の左端に配置 */
  top: 0; /* li の上端に配置 (line-heightに合わせて調整が必要な場合あり) */
  
  /* ol li とは異なるフォント・太さを適用することも可能 (例: 太字) */
  font-family: "greycliff-cf", sans-serif;
  font-weight: 700; /* list_title に近い太字にするなど */
  font-size: 1.6rem; /* li と同じか、やや大きめ/小さめに調整 */
  color: #2b2b68; /* list_title の背景色のような強調色を使うなど */
}

/* ol li と同様のSPブレークポイント調整 */
@media screen and (max-width: 520px) {
  .news_detail .detail_inner .post_body ol li {
    font-size: 1.4rem;
  }
  /* SP時のマーカーサイズ調整も必要であれば行う */
  .news_detail .detail_inner .post_body ol li:before {
    font-size: 1.4rem;
  }
}

/* カウンターのリセット（olの直前でリセットが安全） */
.news_detail .detail_inner .post_body ol {
  counter-reset: item;
}
/* ---------------------------------------------------- */
/* テキスト内の強調用スタイル */
/* ---------------------------------------------------- */

/* ul li と ol li の両方に適用できるよう、親要素を考慮したセレクタで定義します */
.news_detail .detail_inner .post_body ul li .text_bold,
.news_detail .detail_inner .post_body ol li .text_bold {
  /* ul li の list_title span で使われている太字と同じ font-weight: 700 を推奨 */
  font-weight: 700;
  /* 必要であれば、その他のスタイルも指定できます */
  /* color: #2b2b68; など */
}
.office-contact {
    /* フォントサイズを通常より少し大きくする設定 */
    font-size: 1.1em; /* 既存のフォントサイズの1.1倍に設定 */
    font-weight: bold; /* 電話番号を目立たせるために太字にするのも推奨 */
    line-height: 1.5; /* 行の高さを調整して見やすくする */
    display: block; /* 複数の支店番号がある場合に見やすくするためにブロック要素にするのも推奨 */
}
.big {
    font-size: 1.1em; /* 既存のフォントサイズの1.1倍に設定 */
}
/* ---------------------------------------------------- */
/* ニュースレター記事の大見出し (h1) スタイル（明朝体バージョン - 修正版） */
/* ---------------------------------------------------- */
.article-title {
  /* フォントと色の設定 */
  color: #333333; 
  font-family: "Roboto Slab", Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif !important;
  
  /* サイズと太さの設定（変更後） */
  font-size: 2.6rem; /* 3.2rem から 2.6rem に縮小 */
  font-weight: 700; 
  line-height: 1.3; /* 1.4 から 1.3 に縮小 */
  
  /* 上下の余白（間隔） */
  margin-top: 0; 
  margin-bottom: 40px; 
  
  /* 日本語表示の調整 */
  letter-spacing: 0.05em; 
}

/* レスポンシブ対応 (SPでの文字サイズ調整も再検討が必要) */
@media screen and (max-width: 768px) {
  .article-title {
    /* SP側のサイズも、本文とのバランスを見て調整することを推奨します */
    /* font-size: 2.4rem; はやや大きすぎる可能性があるため、例えば 2.0rem などに調整 */
    font-size: 2.0rem; 
    margin-bottom: 25px; 
  }
}

/* image container center responsive */
.image-container-lg {
    width: 100%; /* 文章の枠にぴったり合わせる */
    max-width: 100%;
    margin: 0 auto 30px; /* 下の余白を少し調整 */
    padding: 0; /* 左右の凹みの原因だった余白を削除 */
}
/* 画像自体のレスポンシブ対応 */
.image-fluid {
    width: 100%; /* 画像を枠いっぱいに広げる */
    max-width: 100%;
    height: auto; 
    display: block; 
    margin: 0 auto; /* 画像を確実に中央揃えにする */
}
/* ---------------------------------------------------- */
/* 明朝体強調用クラス */
/* ---------------------------------------------------- */
.text-emphasize-mincho {
  /* 明朝体フォントを再適用 */
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif !important;
  
  /* bold化 */
  font-weight: 700 !important;
  
  /* サイズ調整 */
  font-size: 1.05em; 
}
/* ---------------------------------------------------- */
/* 明朝体内の b タグのスタイル上書き (修正済み) */
/* ---------------------------------------------------- */
.fontmincho b,
.fontmincho strong {
  /* 明朝体のフォントリスト全体を適用し、ゴシック体へのフォールバックを防ぐ */
  font-family: "Roboto Slab", Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif !important;

  /* bold化 */
  font-weight: 700 !important;
  
  /* 文字サイズ（後述の +2pt 相当に修正） */
  font-size: 1.26em !important; /* 1.2em から 1.26em に変更 */
}

/* ---------------------------------------------------- */
/* ニュースレター記事の中見出し (h2) スタイル（明朝体・強調） */
/* ---------------------------------------------------- */
.news_detail .detail_inner .post_body h2 {
  /* 明朝体フォントを適用 */
  /* !important を付けて、既存のどこかでゴシック体が優先されるのを防ぎます */
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif !important;
  
  /* サイズと太さの設定 */
  font-size: 2.2rem !important; /* 本文(1.6rem)より大きく、大見出し(2.6rem)より小さく */
  font-weight: 700 !important; /* 太字に設定 */
  line-height: 1.5; /* 読みやすい行高 */
  
  /* 上下のマージンを調整（既存の 16px から調整） */
  margin-top: 30px !important;
  margin-bottom: 20px !important;
  
  /* 背景やボーダーを調整（既存の h2 スタイルを活かしつつ） */
  padding: 12px 0 12px 0; /* 左側のパディングを調整し、枠線を消すか、シンプルにする */
  border-left: none; /* 既存の h3 のような装飾を避け、テキストのみにする場合 */
}

/* レスポンシブ対応 (SPでの文字サイズ調整) */
@media screen and (max-width: 520px) {
  .news_detail .detail_inner .post_body h2 {
    font-size: 1.8rem !important; /* SPでは少し小さく */
    margin-top: 20px !important;
    margin-bottom: 15px !important;
  }
}
/* ---------------------------------------------------- */
/* 見出し代替用クラス (DIV/Pタグ用) */
/* ---------------------------------------------------- */
.article-section-title {
  /* 明朝体フォントを適用 (fontmincho クラスから流用) */
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif !important;
  
  /* サイズと太さの設定 */
  /* h2相当の 2.0rem を適用 */
  font-size: 2.0rem !important;
  font-weight: 700 !important; /* 太字 */
  line-height: 1.5;
  
  /* 上下のマージンを調整 */
  margin-top: 30px !important;
  margin-bottom: 20px !important;
  
  /* 文字色 */
  color: #333333; /* 既存の本文色 */
  
  /* ブロック要素として振る舞うことを保証 */
  display: block;
}

/* レスポンシブ対応 (SPでの文字サイズ調整) */
@media screen and (max-width: 520px) {
  .article-section-title {
    font-size: 1.6rem !important; /* SPでは少し小さく */
    margin-top: 20px !important;
    margin-bottom: 15px !important;
  }
}
/* ---------------------------------------------------- */
/* 小見出し代替用クラス (DIV/Pタグ用 - h3相当) */
/* ---------------------------------------------------- */
.article-subsection-title {
  /* 明朝体フォントを適用 */
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif !important;
  
  /* サイズと太さの設定 */
  /* h3相当の 1.8rem を適用 (中見出し 2.0rem に近いサイズ) */
  font-size: 1.8rem !important;
  font-weight: 700 !important; /* 太字 */
  line-height: 1.5;
  
  /* 上下のマージンを調整 */
  margin-top: 25px !important; /* 中見出しより少し小さく */
  margin-bottom: 15px !important;
  
  /* 文字色・表示設定 */
  color: #333333;
  display: block;
}

/* レスポンシブ対応 (SPでの文字サイズ調整) */
@media screen and (max-width: 520px) {
  .article-subsection-title {
    font-size: 1.5rem !important; /* SPでは本文(1.4rem)より少し大きく */
    margin-top: 15px !important;
    margin-bottom: 10px !important;
  }
}
/* ---------------------------------------------------- */
/* 右寄せ情報ブロックのスタイル (発行日/発行元など) */
/* ---------------------------------------------------- */
.info-block-right {
  /* 明朝体フォントを適用 */
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif !important;
  
  /* 中央揃えを解除し、右寄せに設定 */
  text-align: right;
  
  /* フォントサイズを本文と同じ 1.6rem に設定 */
  font-size: 1.6rem;
  line-height: 1.8; /* 本文と同じ行高で読みやすく */
  
  /* 上下のマージンを調整 */
  margin-top: 15px; /* 画像や直前の要素との間隔 */
  margin-bottom: 30px; /* 次の見出しとの間隔 */
  
  /* ブロック要素として振る舞うことを保証 */
  display: block;
  
  /* 記事の最大幅に合わせて表示されるよう、親要素に幅がない場合は以下を適用 */
  width: 100%;
}

/* レスポンシブ対応 (SPでの文字サイズ調整) */
@media screen and (max-width: 520px) {
  .info-block-right {
    font-size: 1.4rem; /* SPでは本文に合わせて 1.4rem に縮小 */
    margin-top: 10px;
    margin-bottom: 20px;
  }
}
.reference_box {
    background-color: #fff3b8; /* 薄い山吹色 */
    border-radius: 8px;        /* サイト標準の角丸 [3],[4] */
    margin-bottom: 6px;       /* 下部余白 [5],[6] */
    box-sizing: border-box;    /* パディングを幅に含める [7] */
    
    /* 余白設定（PC/共通） */
    padding: 10px;             
}

/* スマホ表示時の余白調整（サイトのブレークポイント 520px に準拠 [8]） */
@media screen and (max-width: 520px) {
    .reference_box {
        padding: 15px; 
    }
}

/* 引用テキスト（明朝体・強制イタリック） */
.reference_box p,
.reference_box a {
    /* サイト定義済みの明朝体フォントスタック [9],[10] */
    font-family: "Roboto Slab", Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif !important;
    
    font-size: 1.6rem;         /* 16px相当 (html 62.5% x 1.6) [7],[11] */
    line-height: 1.8;          /* サイト標準の行間 [12],[13] */
    margin: 0;
    
    /* 【修正点】日本語を強制的に斜体にする設定 */
    font-style: normal;        /* 通常のイタリック指定は無効化 */
    display: inline-block;     /* 変形させるためにブロック化 */
    transform: skewX(-12deg);  /* 左に12度傾ける */
    transform-origin: bottom left; /* 変形の基準点 */
}

/* リンク色設定 */
.reference_box a {
    color: #471FE8;            /* サイト標準のリンク色（青） [14] */
    text-decoration: underline;
    word-break: break-all;     /* URLの折り返し */
}

.reference_box a:hover {
    text-decoration: none;
    opacity: 0.7;
}
@media screen and (max-width: 520px) {
    /* 
       既存のクラス構成（例: .news_body a .thumbnail img など）に合わせて
       詳細度を上げるか、!importantを使用します
    */
    span.thumbnail img {
        object-fit: contain !important; /* 枠内に画像を収める（切れない） */
        background-color: #fff;         /* 余白ができた場合の背景色（必要に応じて変更） */
        width: 100%;
        height: 100%;
    }
}
/* 絞り込みボタンのスタイル */
.filter_btn {
    padding: 8px 20px;
    background: #fff;
    border: 1px solid #363480;
    color: #363480;
    border-radius: 20px;
    cursor: pointer;
    font-size: 1.4rem;
    font-weight: bold;
    transition: 0.2s;
}

/* 選択中のボタン */
.filter_btn.active,
.filter_btn:hover {
    background: #363480;
    color: #fff;
}

/* 検索エリア */
.filter_area { margin-bottom: 30px; }
/* カテゴリボタンの基本と選択時 */
.filter_btn {
    cursor: pointer;
    background: #fff;
    border: 1px solid #363480;
    color: #363480;
    padding: 8px 15px;
    border-radius: 4px;
    transition: 0.2s;
}

/* ★クリックして固定された時の色（これがないと変わりません） */
.filter_btn.active {
    background: #363480 !important;
    color: #fff !important;
}

/* -----------------------------------------------------------
   ページネーション（整理版）
----------------------------------------------------------- */
#pagination_area {
    width: 100%;
    margin: 40px 0;
    min-height: 50px;
}

.pagination {
    display: flex;
    justify-content: center;
    gap: 10px;
    list-style: none !important; /* ドットを確実に消す */
    padding: 0;
}

.pagination li {
    cursor: pointer;
    padding: 10px 18px;
    border: 1px solid #363480;
    background: #fff;
    color: #363480;
    font-size: 1.6rem;
    font-weight: bold;
    border-radius: 4px;
    transition: 0.2s;
}

/* ホバー時とアクティブ（現在地）のスタイル */
.pagination li:hover,
.pagination li.active {
    background: #363480 !important;
    color: #fff !important;
    border-color: #363480;
}
/* 検索でヒットしなかったものを消すクラス */
.news_item.hide { display: none; }
/* 日付の直後にタグが来る場合の調整 */
.postdate {
    margin-right: 15px;    /* 日付と最初のタグの間隔 */
}
/* 絞り込みボタンのActive色固定 */
.filter_btn.active {
    background: #363480 !important;
    color: #fff !important;
    border-color: #363480 !important;
}
/* --- カテゴリータグ共通設定 --- */
.category_tag {
    display: inline-block;
    padding: 2px 10px;
    font-size: 1.2rem;
    line-height: 1.4;
    font-weight: bold;
    color: #fff !important;
    border-radius: 3px;
    margin-right: 5px;
    margin-bottom: 5px;
    vertical-align: middle;
    letter-spacing: 0.05em;
    box-shadow: 0 1px 2px rgba(0,0,0,0.1); /* 視認性を高める軽い影 */
}

/* --- 個別カラー設定 --- */

/* 技術・プラットフォーム系（青～紫：テクノロジー） */
.tag_ai { background-color: #3498db !important; }          /* AI・生成AI：明るい青 */
.tag_saas { background-color: #5d6d7e !important; }        /* SaaS：スチールブルー */
.tag_ddos { background-color: #8e44ad !important; }         /* DDoS：紫 */
.tag_mobile { background-color: #16a085 !important; }      /* モバイル：青緑 */

/* 防御・戦略・管理系（緑～グレー：安全・信頼） */
.tag_vulnerability { background-color: #7f8c8d !important; } /* 脆弱性対策：グレー */
.tag_auth { background-color: #1abc9c !important; }        /* 認証・ID管理：ティール */
.tag_supply { background-color: #d4ac0d !important; }      /* サプライチェーン：深黄 */
/* OT（制御システム）：濃い紫から、視認性の高いミディアムパープルへ */
.tag_ot { background-color: #9b59b6 !important; }
/* 1. インフラ・ネットワーク・ZT：信頼のロイヤルブルー（統合キーワードとして誠実さを強調） */
.tag_network { background-color: #2979ff !important; }
/* Webアプリケーション：重いネイビーから、軽やかで知的なブルーグレーへ */
.tag_webapp { background-color: #607d8b !important; }
/* セキュリティ戦略：真っ黒に近いグレーから、上品なスレートグレーへ */
.tag_strategy { background-color: #90a4ae !important; }
/* --- その他、背景色とのコントラストが重要なタグの微調整 --- */
/* クラウド：少し明るくして情報の透明感を演出 */
.tag_cloud { background-color: #3498db !important; }
/* 新設カテゴリー：インシデント対応 --- 識別しやすいブラウン系 */
.tag_ir { background-color: #795548 !important; }

/* 脅威・攻撃系（赤～オレンジ：警戒） */
.tag_phishing { background-color: #e74c3c !important; }    /* フィッシング：鮮やかな赤 */
.tag_ransomware { background-color: #c0392b !important; }  /* ランサムウェア：濃い赤 */
.tag_bec { background-color: #d35400 !important; }         /* ビジネスメール詐欺：濃いオレンジ */
.tag_social { background-color: #f39c12 !important; }      /* ソーシャルエンジニアリング：オレンジ */
/* 内部不正・インサイダー脅威：内部に潜む深刻なリスクを表す深みのある赤紫（ソフト・ワインレッド） */
.tag_insider { background-color: #B33951 !important; } 

.filter_btn {
    white-space: nowrap; /* ボタン内での改行を禁止 */
    margin: 5px;         /* ボタン同士の余白 */
}
/* 2行構成のタイトル用クラス */
.title_dual_size {
    font-size: 3.9rem; /* 1行目のサイズ（既存のH3サイズに準拠 [1]） */
    padding: 15px 15px 15px 30px;
    border-left: 10px solid #471FE8; /* PSI標準のアクセントカラー [1, 5] */
    font-family: "greycliff-cf", sans-serif; /* サイト標準フォント [1, 2] */
    font-weight: 700;
    line-height: 1.2; /* 行間を詰め気味にして一体感を出す */
    margin-bottom: 30px;
    display: block;
}

/* 改行後のテキスト（50%のサイズ） */
.title_dual_size span {
    display: block; /* 強制的に改行させる */
    font-size: 3.0rem; /* 親要素（4.0rem）の50% = 2.0rem では小さいか */
    font-weight: 600; /* サブタイトルは少し細くすると視認性が向上 [7] */
    margin-top: 8px; /* 1行目との微調整 */
    color: #333333; /* 本文に近い色 [8, 9] */
}

/* レスポンシブ対応（スマホ表示 [10, 11]） */
@media screen and (max-width: 768px) {
    .title_dual_size {
        font-size: 2.1rem; /* スマホ時は1行目も縮小 [10, 12] */
        padding: 15px 15px 15px 20px;
    }
}
.p_bold_spaced {
    font-weight: 700 !important; /* サイト標準の太字設定 [3] */
    margin-top: 1.0em;    /* 前に1行分のスペース [4] */
    margin-bottom: 1.0em; /* 後に1行分のスペース */
    line-height: 1.8;      /* 読みやすさを確保するサイト標準の行間 [5, 6] */
    font-family: "greycliff-cf", "heisei-kaku-gothic-std", sans-serif; /* PSI標準フォント [7, 8] */
}
.news_detail .detail_inner .post_body .txt-l a {
    font-size: 2.1rem !important;
}
/* 右寄せ ＋ 特大サイズ（2.1rem）の専用クラス */
.news_detail .detail_inner .post_body .txt-large-r {
    font-size: 2.1rem !important;
    text-align: right !important;
    line-height: 1.8;
    margin-bottom: 25px;
    display: block;
    width: 100%;
}
.news_detail .detail_inner .post_body .txt-large-c {
    font-size: 2.1rem !important;
    text-align: center !important;
    line-height: 1.8;
    margin-bottom: 25px;
    display: block;
    width: 100%;
}
/* 前回の自動修正案と同様、このクラス内のURLも自動的に2.1remにする */
.news_detail .detail_inner .post_body .txt-large-r a {
    font-size: 2.1rem !important;
    text-decoration: underline;
}
/* ulタグに追加するクラス */
.news_detail .detail_inner .post_body ul.list_strong_point {
    list-style: none !important; /* デフォルトの点を消す */
    padding: 0;
    margin-bottom: 30px;
}

/* liタグの設定：アイコン分のスペースを確保 */
.news_detail .detail_inner .post_body ul.list_strong_point li {
    position: relative;
    padding-left: 1.3em; /* アイコンの分だけ字下げ */
    margin-bottom: 15px; /* 行間を適度に空ける */
    line-height: 1.8;
    font-family: "greycliff-cf", "heisei-kaku-gothic-std", sans-serif; /* 規定フォント [1] */
    font-weight: 400;
}

/* 疑似要素で「■」や「▶」アイコンを追加 */
.news_detail .detail_inner .post_body ul.list_strong_point li::before {
    content: "■"; /* PSIサイト内でh5等に使われている四角形 [2] */
    color: #471FE8; /* 規定のロイヤルブルー [3] */
    font-size: 1.2rem;
    position: absolute;
    left: 0;
    top: 4px; /* 位置の微調整 */
}

/* strongタグの装飾：色を変えて見出しっぽくする */
.news_detail .detail_inner .post_body ul.list_strong_point li strong {
    color: #2b2b68; /* 規定のネイビー [3] */
    font-weight: 700;
    margin-right: 5px; /* 本文との間隔 */
    display: inline-block;
}
/* 本文（pタグ）内のstrongタグを強調する設定 */
.news_detail .detail_inner .post_body p strong {
    font-weight: 700 !important; /* リセットCSSを上書きして太字にする */
    color: #2b2b68;              /* 規定のネイビーカラーで統一感を出す */
    font-family: "greycliff-cf", "heisei-kaku-gothic-std", sans-serif; /* 規定フォントを適用 */
    display: inline;             /* インライン要素として扱う（改行させない） */
}
/* 番号付きリストのぶら下げインデント用クラス */
ol.list_indent_align {
    list-style: none !important; /* デフォルトの数字を消す */
    padding: 0;
    counter-reset: list-item-count; /* 番号カウントの初期化 */
    margin-bottom: 30px;
}
ol.list_indent_align li {
    display: flex; /* フレックスボックス化して横並びにする */
    align-items: baseline; /* テキストのベースライン（下線）で揃える */
    margin-bottom: 10px;   /* 行間の調整 */
    line-height: 1.8;      /* 読みやすい行高 */
    font-family: "greycliff-cf", "heisei-kaku-gothic-std", sans-serif; /* 規定フォント */
}
/* 擬似要素で数字（1. 2. 3.）を再生成 */
ol.list_indent_align li::before {
    counter-increment: list-item-count; /* カウントアップ */
    content: counter(list-item-count) "."; /* 数字とピリオドを表示 */
    color: #2b2b68; /* 規定のネイビー色 */
    font-weight: 700;
    margin-right: 5px; /* 数字とラベルの間隔 */
    flex-shrink: 0; /* 数字が潰れないようにする */
}
/* 見出し部分（span.text_bold）の設定 */
ol.list_indent_align li span.text_bold {
    font-weight: 700;
    color: #2b2b68; /* 規定のネイビー色 */
    white-space: nowrap; /* ★重要：見出し部分での改行を禁止 */
    margin-right: 0; /* コロンの後の余白は必要に応じて調整 */
    flex-shrink: 0; /* ★重要：見出し幅が潰れないようにする */
}
/* ---------------------------------------------------- */
/* ▼アイコン付き見出し・誘導ボックス */
/* ---------------------------------------------------- */
/* パターンA：既存の h5 を流用し、アイコンだけ ▼ に上書きするクラス */
.news_detail .detail_inner .post_body h5.mark_arrow_down::before {
    content: "▼" !important; /* ■を▼に書き換え */
    color: #471FE8;          /* 誘導色としてロイヤルブルーを指定 */
    font-size: 1.4rem;       /* アイコンのサイズ調整 */
    margin-right: 8px;       /* テキストとの間隔 */
    position: relative;
    top: -1px;               /* 位置の微調整 */
}
/* ---------------------------------------------------- */
/* 記事内小見出し (h3) 用スタイル: art-subtitle */
/* ---------------------------------------------------- */
#main_content h3.art-subtitle {
    /* 大見出し(4rem)のスタイルを打ち消して適切なサイズに */
    font-size: 2.0rem !important; 
    border-left: none !important; /* 左の青い太線を削除 */
    padding: 0 !important;        /* 余白をリセット */
    background: none !important;  /* 背景があれば削除 */
    
    /* 小見出しとしてのスタイル定義 */
    font-weight: 800 !important;
    margin-top: 30px !important;  /* 上の段落との間隔 */
    margin-bottom: 15px !important;
    line-height: 1.5;
    color: #333333;
    
    /* 明朝体指定 */
    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif !important;
}

/* スマホ表示用調整 */
@media screen and (max-width: 520px) {
    #main_content h3.art-subtitle {
        font-size: 1.6rem !important;
        margin-top: 20px !important;
        margin-bottom: 10px !important;
    }
}
/* ---------------------------------------------------- */
/* プレスリリース用 SNS公式リンクボタン */
/* ---------------------------------------------------- */
.sns_pr_links {
  display: flex;
  gap: 15px;
  margin-top: 15px;
  margin-bottom: 30px;
  flex-wrap: wrap;
}
.sns_pr_links a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 25px;
  border-radius: 8px;
  color: #fff !important;
  font-weight: bold;
  text-decoration: none !important;
  font-size: 1.6rem;
  transition: 0.2s;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.sns_pr_links a.btn_x {
  background: #000; /* Xの公式カラーに近い黒 */
}
.sns_pr_links a.btn_x:hover {
  background: #333;
}
.sns_pr_links a.btn_ig {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); /* Instagram風グラデーション */
}
.sns_pr_links a.btn_ig:hover {
  opacity: 0.8;
}
.sns_pr_links a i {
  font-size: 2rem;
  margin-right: 8px;
}