@charset "UTF-8";
.content {
  padding: 5.5rem 0 5rem;
}

.content-box > *:first-child {
  margin-top: 0 !important;
}

@media screen and (max-width: 991.98px) {
  .content {
    padding: 3rem 0;
  }
  .content-box {
    width: 95%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 575.98px) {
  .contents-box {
    padding: 2rem 1.5rem;
  }
}
/*ヘッダー====================================================================*/
.header {
  position: relative;
  padding: 1.5rem 2rem 1.4rem 2.2rem;
  display: grid;
  grid-template-columns: 150px 1fr;
  grid-template-rows: auto auto;
  max-width: 2000px;
  row-gap: 1.8rem;
}

.logo-img {
  max-height: 100px;
  max-width: 100%;
}

.header-left {
  grid-row: 1/3;
}

.header-l-top {
  position: relative;
  gap: 1rem;
}
.header-l-top #searchform input[type=text] {
  border: none;
  background: #EDEDED;
  padding: 0.5rem 1rem;
  border-radius: 30px;
  min-width: 270px;
}
.header-l-top #searchform input[type=submit] {
  width: 19px;
  height: 20px;
  background-color: var(--text-color);
}

.header-l-bottom {
  margin-bottom: 0;
  padding-left: 0;
  gap: 1rem;
  line-height: 1;
}

.header-nav-link {
  position: relative;
  padding: 0.5rem;
  font-size: clamp(1rem, 1.4vw, 1.1rem);
  color: var(--text-color);
  white-space: nowrap;
  cursor: pointer;
}
.header-nav-link.active::after {
  content: "";
  position: absolute;
  display: inline-block;
  bottom: -11px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid var(--base-l-color);
}

/*ヘッダーアイコンボタン*/
.header-btn-container {
  justify-content: center;
  gap: 0.6rem;
  padding-left: 0;
}

.header-btn-item {
  background-color: var(--base-l-color);
  position: relative;
  display: inline-block;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  transition: 0.2s ease all;
}
.header-btn-item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  display: inline-block;
  vertical-align: middle;
  width: 21px;
  height: 21px;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  transition: 0.2s ease all;
}
.header-btn-item:hover {
  background-color: var(--main-color);
}
.header-btn-item:hover.header-btn-item-contact::before {
  background-color: #fff;
}
.header-btn-item:hover.header-btn-item-access::before {
  background-color: #fff;
}
.header-btn-item:hover.header-btn-item-language::before {
  color: #fff;
}

.header-btn-item-contact::before {
  -webkit-mask-image: url(../img/common/icon-contact.svg);
          mask-image: url(../img/common/icon-contact.svg);
  background-color: var(--main-color);
}

.header-btn-item-access::before {
  -webkit-mask-image: url(../img/common/icon-access.svg);
          mask-image: url(../img/common/icon-access.svg);
  background-color: var(--main-color);
}

.header-btn-item-language::before {
  content: "EN";
  font-weight: var(--fw-b);
  color: var(--main-color);
  font-size: 0.9rem;
  text-align: center;
  line-height: 1.3;
}

/*メガメニュー*/
.header-bigmenu-container {
  visibility: hidden;
  opacity: 0;
  z-index: 999;
  display: block;
  background-color: var(--base-l-color);
  width: 100vw;
  position: absolute;
  top: 133px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transition: all 0.1s linear;
  padding: 3.5rem;
}
.header-bigmenu-container.active {
  visibility: visible;
  opacity: 1;
}

.header-bigmenu-inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  max-width: 1100px;
  margin: 0 auto;
}

.header-bigmenu-left {
  grid-column: 1;
}

.header-bigmenu-right {
  grid-column: 2/5;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 1.5rem;
}

.header-bigmenu-link {
  position: relative;
  display: inline-block;
  width: 100%;
  border-top: 1px solid var(--main-color);
  border-bottom: 1px solid var(--main-color);
  margin-top: -1px;
  margin-bottom: 0;
  padding: 1.3rem 1rem 1.3rem 1rem;
  color: var(--text-color);
  letter-spacing: 1px;
}
.header-bigmenu-link:hover {
  background-color: var(--main-color);
  color: #fff;
}
.header-bigmenu-link::after {
  content: "";
  width: 9px;
  height: 9px;
  border: 0;
  border-top: solid 1px var(--sub-color);
  border-left: solid 1px var(--sub-color);
  position: absolute;
  top: 50%;
  right: 5px;
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transform: translate(-50%, -50%) rotate(135deg);
  margin: auto;
}

.header-bigmenu-link-home {
  color: var(--main-color);
  font-size: 1.1rem;
}

@media screen and (min-width: 992px) {
  .header-top {
    right: 0;
  }
  .header-bottom {
    gap: 0.5rem;
  }
}
@media screen and (max-width: 1199.98px) {
  .header {
    padding: 1rem;
  }
  .logo-img {
    max-height: 85px;
  }
  .header-l-bottom {
    gap: 0.5rem;
  }
  .header-bigmenu-container {
    top: 109px;
  }
  .header-nav-link .active::after {
    bottom: -5px;
  }
}
@media screen and (max-width: 991.98px) {
  .header {
    width: 100%;
    height: initial;
  }
  .logo-link {
    display: block;
    margin: 0 auto;
  }
  .logo-img {
    max-width: 100%;
    height: 60px;
    margin-left: initial;
  }
}
/*フッター*/
.footer {
  position: relative;
  padding: 1rem;
  background-color: var(--sub-l-color);
}
.footer .logo-img {
  max-height: 107px;
  max-width: 100%;
}
.footer .address {
  position: relative;
  margin-top: 2.2rem;
}
.footer .address p {
  font-size: 0.76rem;
  letter-spacing: 1px;
  line-height: 1.5;
}
.footer .address p a {
  color: var(--text-color);
  text-decoration: none;
}

.campus-h3 {
  display: inline-block;
  color: var(--main-color);
  font-size: 1rem;
  margin-right: 0.5rem;
}

.wrap-btn-campus {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem 0.2rem;
  margin-bottom: 0.8rem;
}

.btn-campus {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--base-d-color);
  color: var(--main-color);
  border-radius: 20px;
  padding: 0 1.2rem 0 1rem;
  min-width: 75px;
  height: 26px;
  font-size: 0.76rem;
  letter-spacing: 1px;
}
.btn-campus::after {
  content: "";
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 1px var(--base-d-color);
  border-left: solid 1px var(--base-d-color);
  position: absolute;
  top: 50%;
  right: 6px;
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transform: translate(-50%, -50%) rotate(135deg);
  margin: auto;
}
.btn-campus:hover {
  background-color: var(--main-color);
  color: #fff;
}
.btn-campus:hover::after {
  border-top: solid 1px #fff;
  border-left: solid 1px #fff;
}

.campus-map-img {
  position: absolute;
  bottom: 5px;
  right: 55px;
  display: inline-block;
  width: 140px;
  -o-object-fit: contain;
     object-fit: contain;
}

.footer-right {
  position: relative;
  padding-left: 5%;
}
.footer-right::after {
  content: "";
  position: absolute;
  top: 53%;
  left: 0;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  width: 1px;
  height: 78%;
  display: inline-block;
  vertical-align: middle;
  background: var(--sub-color);
}

.footer-menu {
  margin-top: 3rem;
  margin-bottom: 2.5rem;
  gap: 1rem 0;
}

.footer-menu-link {
  display: inline-block;
  line-height: 1.5;
  color: var(--text-color);
  font-size: 1.1rem;
}
.footer-menu-link:hover {
  text-decoration: underline;
}

.footer-submenu {
  margin-bottom: 2.5rem;
  gap: 0.5rem 0;
}

.footer-submenu-link {
  color: var(--text-color);
  font-size: 0.8rem;
  line-height: 1.2;
  display: inline-block;
}
.footer-submenu-link:hover {
  text-decoration: underline;
}

@media screen and (max-width: 991.98px) {
  .footer {
    padding: 2rem 0px 4rem;
  }
  .footer .logo {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
  .footer .logo img {
    max-height: 83px;
  }
  .footer .address {
    text-align: center;
    margin-top: 2.5rem;
  }
  .footer-left {
    padding-bottom: 1rem;
  }
  .campus-h3 {
    display: block;
    margin-right: 0;
    margin-bottom: 0.8rem;
    margin-top: 2.5rem;
  }
  .footer-right {
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    padding-top: 2.5rem;
  }
  .footer-right::after {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    height: 1px;
    width: 80%;
  }
  .footer-menu {
    width: 85%;
    margin: 0 auto;
    gap: 0.8rem 0;
  }
  .footer-menu-link {
    font-size: 0.9rem;
  }
  .footer-submenu {
    width: 85%;
    margin: 2rem auto 0;
    gap: 0.5rem 0;
  }
}
/*フッター_ニュース・イベント、受験者の方へ==========================================*/
.simple-footer {
  position: relative;
  padding: 2rem 0 4rem;
  background-color: var(--sub-l-color);
}

.simple-footer-left {
  display: flex;
}

.simple-footer-right {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}

.simple-footer-logo .logo-sub-img {
  max-height: 90px;
  max-width: 100%;
  margin-top: 3rem;
}

.simple-footer-logo-title {
  font-size: 1.2rem;
  letter-spacing: 2px;
  color: var(--text-color);
  margin-top: 2.5rem;
  margin-left: 1.5rem;
}

@media screen and (max-width: 991.98px) {
  .simple-footer {
    padding: 2rem 0;
  }
  .simple-footer-logo .logo-img {
    max-height: 85px;
  }
  .simple-footer-logo-title {
    margin-top: 0.5rem;
    margin-left: 0;
  }
  .sdgs-cat-inner {
    gap: 0.5rem;
  }
  .simple-footer-logo .logo-sub-img {
    margin-top: 1rem;
  }
}
/*サイドメニュー==========================================*/
.sidemenu {
  max-width: 300px;
  margin-right: 0;
  margin-left: auto;
}

.sidemenu-item {
  position: relative;
  background-color: #fff;
  border-top: 1px solid var(--main-color);
  border-bottom: 1px solid var(--main-color);
  margin-top: -1px;
  margin-bottom: 0;
  padding: 1.2rem 1rem 1.2rem 0;
  color: var(--main-color);
  font-size: 1.1rem;
  letter-spacing: 1px;
  cursor: pointer;
}
.sidemenu-item:last-of-type {
  border-bottom: 1px solid var(--main-color);
}
.sidemenu-item::before, .sidemenu-item::after {
  content: "";
  background-color: var(--main-color);
  width: 16px;
  height: 2px;
  position: absolute;
  top: 50%;
  right: 0;
  left: auto;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transition: 0.3s all ease;
}
.sidemenu-item::after {
  transform: translate(-50%, -50%) rotate(90deg);
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
}

.sidemenu-sub-group {
  height: 0;
  overflow: hidden;
  margin-bottom: 0;
}

.sidemenu-sub-item-link {
  position: relative;
  display: block;
  padding: 1rem;
  min-height: initial;
  background-color: var(--base-l-color);
  border-bottom: 1px solid var(--main-color);
  color: var(--text-color);
}
.sidemenu-sub-item-link::after {
  content: "";
  width: 9px;
  height: 9px;
  border: 0;
  border-top: solid 1px var(--sub-color);
  border-left: solid 1px var(--sub-color);
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transform: translate(-50%, -50%) rotate(135deg);
}
.sidemenu-sub-item-link:hover {
  background-color: var(--main-color);
  color: #fff;
}

/*パンくずリスト*/
.list-pankuzu-container {
  position: relative;
  background-color: #fff;
}
.list-pankuzu-container::before {
  content: "";
  position: absolute;
  border-style: none;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  z-index: 2;
  display: block;
  width: 100px;
  height: 20px;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0.9) 40px, #fff 100px);
}

.list-pankuzu-inner {
  display: block;
  list-style-type: none;
  padding-left: 0;
  font-size: 0.75rem;
  white-space: nowrap;
  overflow-x: scroll;
}
.list-pankuzu-inner::-webkit-scrollbar {
  display: none;
}
.list-pankuzu-inner ul {
  margin-bottom: 0;
}

.list-pankuzu-item {
  display: inline-block;
}
.list-pankuzu-item:not(:last-child) {
  margin-right: 1rem;
  position: relative;
}
.list-pankuzu-item:last-child {
  padding-right: 100px;
}

.list-pankuzu-link {
  color: var(--text-color);
  display: block;
  position: relative;
}
.list-pankuzu-link::after {
  position: absolute;
  content: ">";
  font-size: 12px;
  right: -12px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
.list-pankuzu-link:hover {
  text-decoration: underline;
}

@media screen and (max-width: 991.98px) {
  .list-pankuzu {
    margin: 0;
    font-size: 0.7rem;
  }
}
/*アコーディオン共通アニメーション*/
.js-accordion[open] .accordion-plus::after {
  transform: translate(-50%, -50%) rotate(0deg);
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
}

/*過去の記事移行用のスタイル====================================================================*/
.content-box .mt-image-center {
  width: 100%;
  height: auto;
}
.content-box p > img {
  width: 100%;
  height: auto;
}
.content-box a {
  /*ファイルリンクのスタイル*/
}
.content-box a:not([class]), .content-box a.generalLink {
  position: relative;
  display: inline;
  transition: 0.2s;
  text-decoration: underline;
  color: var(--text-color);
  padding-left: 1rem;
}
.content-box a:not([class]):has(img)::before, .content-box a.generalLink:has(img)::before {
  content: none;
}
.content-box a:not([class]):hover, .content-box a.generalLink:hover {
  opacity: 0.7;
}
.content-box a:not([class])::before, .content-box a.generalLink::before {
  content: "";
  width: 8px;
  height: 8px;
  border: 0;
  border-top: solid 3px var(--main-color);
  border-left: solid 3px var(--main-color);
  position: absolute;
  top: 10px;
  left: 1px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(135deg);
  margin: auto;
}
.content-box a[target=_blank]:not([class]) {
  position: relative;
  padding-right: 1.5rem;
}
.content-box a[target=_blank]:not([class])::after {
  content: "";
  position: absolute;
  vertical-align: middle;
  width: 27px;
  height: 14px;
  background: url(../img/common/icon-window-out.svg) no-repeat center/contain;
  bottom: 3px;
  transition: 0.3s ease all;
}
.content-box a[href$=".pdf"]:not([class]), .content-box a[href$=".doc"]:not([class]), .content-box a[href$=".docm"]:not([class]), .content-box a[href$=".docx"]:not([class]), .content-box a[href$=".xls"]:not([class]), .content-box a[href$=".xlsx"]:not([class]) {
  position: relative;
  padding-right: 0;
}
.content-box a[href$=".pdf"]:not([class])::after, .content-box a[href$=".doc"]:not([class])::after, .content-box a[href$=".docm"]:not([class])::after, .content-box a[href$=".docx"]:not([class])::after, .content-box a[href$=".xls"]:not([class])::after, .content-box a[href$=".xlsx"]:not([class])::after {
  position: relative;
  bottom: auto;
  right: 2px;
  bottom: 1px;
  background: #999999;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  font-size: 11px;
  width: 40px;
  height: 16px;
  margin-left: 8px;
  color: #fff;
}
.content-box a[href$=".pdf"]:not([class])::after {
  content: "PDF";
}
.content-box a[href$=".doc"]:not([class])::after, .content-box a[href$=".docm"]:not([class])::after, .content-box a[href$=".docx"]:not([class])::after {
  content: "Word";
}
.content-box a[href$=".xls"]:not([class])::after, .content-box a[href$=".xlsx"]:not([class])::after {
  content: "Excel";
}
.content-box h2:not([class]) { /*旧サイトデータ移行用スタイル*/
  position: relative;
  font-size: 1.3rem;
  color: var(--main-color);
  padding: 1.1rem 1rem 1.1rem 2.5rem;
  background-color: var(--base-color);
  margin-top: 3rem;
  margin-bottom: 2rem;
}
.content-box h2:not([class])::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  vertical-align: middle;
  width: 15px;
  height: 100%;
  background: var(--main-color);
}
.content-box h3:not([class]) {
  padding-bottom: 1rem;
  font-size: 1.2rem;
  color: var(--main-color);
  border-bottom: 1px solid var(--main-color);
  margin-top: 3rem;
  margin-bottom: 1.75rem;
}
.content-box h4:not([class]) {
  font-size: 1.2rem;
  color: var(--text-color);
  line-height: 1.5;
  margin-top: 3rem;
  margin-bottom: 1.75rem;
}
.content-box h5:not([class]) {
  position: relative;
  font-size: 1rem;
  color: var(--text-color);
  margin-top: 3rem;
  margin-bottom: 1.75rem;
  padding: 1rem;
}
.content-box h5:not([class])::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  display: inline-block;
  vertical-align: middle;
  width: 5px;
  height: 55%;
  background: var(--main-color) no-repeat center/contain;
}
.content-box h6:not([class]) {
  font-size: 1rem;
  color: var(--main-color);
  margin-top: 2rem;
  margin-bottom: 1.75rem;
  font-weight: var(--fw-b);
}
.content-box ul:not([class]) li, .content-box ul.generalList li, .content-box ol:not([class]) li, .content-box ol.generalList li {
  position: relative;
  list-style: none;
  line-height: 1.5;
  text-indent: 0rem;
  padding-left: 1.7rem;
  margin-bottom: 0.5rem;
}
.content-box ul:not([class]), .content-box ul.generalList {
  list-style-type: none;
  padding-left: 0;
  letter-spacing: 0.1em;
  margin-bottom: 1rem;
}
.content-box ul:not([class]) li::before, .content-box ul.generalList li::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 2px;
  width: 8px;
  height: 8px;
  vertical-align: middle;
  border-radius: 50%;
  background-color: var(--main-color);
}
.content-box ol:not([class]), .content-box ol.generalList {
  list-style-type: none;
  padding-left: 0;
  letter-spacing: 0.1em;
  margin-bottom: 1rem;
  counter-reset: num;
}
.content-box ol:not([class]) li::before, .content-box ol.generalList li::before {
  content: counter(num) ".";
  position: absolute;
  left: 0;
  top: 0;
  counter-increment: num;
  color: var(--main-color);
  font-weight: var(--fw-b);
}
.content-box img:not([class]) {
  max-width: 100%;
  height: auto;
}

.divider {
  display: block;
  margin: 3rem auto;
  border-bottom: 1px solid var(--sub-color);
}

.spacer {
  display: block;
}

.spacer-h-40 {
  height: 40px;
}

.spacer-h-60 {
  height: 60px;
}

.spacer-h-80 {
  height: 80px;
}

/*ブロック定義用_汎用パーツ====================================================================*/
/*画像*/
.basic-image-container {
  display: inline-block;
}

.basic-image-caption {
  font-size: 0.8rem;
  color: var(--text-color);
  text-align: center;
}

/*見出し*/
.important-text {
  position: relative;
  font-size: 1.5rem;
  color: var(--main-color);
  margin-top: 3rem;
  margin-bottom: 2rem;
  line-height: 1.5;
  font-weight: var(--fw-b);
}
.important-text.important-text-black {
  color: var(--text-color);
}
.important-text.important-text-alart {
  color: var(--accent-color);
}

.heading-2 {
  position: relative;
  font-size: 1.3rem;
  color: var(--main-color);
  padding: 1.1rem 1rem 1.1rem 2.5rem;
  background-color: var(--base-l-color);
  margin-top: 3rem;
  margin-bottom: 2rem;
  scroll-margin-top: 180px;
}
.heading-2::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  vertical-align: middle;
  width: 15px;
  height: 100%;
  background: var(--main-color);
}
.heading-2 .heading-2-link {
  position: absolute;
  height: 100%;
  padding: 0 1.5rem;
  color: var(--text-color);
  font-size: 1rem;
  font-weight: var(--fw-r);
  transition: 0.2s ease all;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  align-items: center;
}
.heading-2 .heading-2-link::after {
  content: "";
  width: 9px;
  height: 9px;
  border: 0;
  border-top: solid 1px var(--main-color);
  border-left: solid 1px var(--main-color);
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transform: translate(-50%, -50%) rotate(135deg);
}
.heading-2 .heading-2-link:hover {
  color: var(--main-color);
}

.heading-3 {
  padding-bottom: 1rem;
  font-size: 1.2rem;
  color: var(--main-color);
  border-bottom: 1px solid var(--main-color);
  margin-top: 3rem;
  margin-bottom: 1.75rem;
}

.heading-4 {
  font-size: 1.2rem;
  color: var(--text-color);
  line-height: 1.5;
  margin-top: 3rem;
  margin-bottom: 1.75rem;
}

.heading-5 {
  position: relative;
  font-size: 1rem;
  color: var(--text-color);
  margin-top: 3rem;
  margin-bottom: 1.75rem;
  padding: 1rem;
}
.heading-5::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  display: inline-block;
  vertical-align: middle;
  width: 5px;
  height: 55%;
  background: var(--main-color) no-repeat center/contain;
}

.heading-6 {
  font-size: 1rem;
  color: var(--main-color);
  margin-top: 2rem;
  margin-bottom: 1.75rem;
  font-weight: var(--fw-b);
}

/*リスト*/
.basic-list-ul li, .basic-list-ol li {
  position: relative;
  list-style: none;
  line-height: 1.5;
  text-indent: 0rem;
  padding-left: 1.5rem;
  margin-bottom: 0.5rem;
}

.basic-list-ul {
  list-style-type: none;
  padding-left: 0;
  letter-spacing: 0.1em;
  margin-bottom: 1rem;
}
.basic-list-ul .basic-list-item::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 2px;
  width: 9px;
  height: 9px;
  vertical-align: middle;
  border-radius: 50%;
  background-color: var(--main-color);
}

.basic-list-ol {
  list-style-type: none;
  padding-left: 0;
  letter-spacing: 0.1em;
  margin-bottom: 1rem;
  counter-reset: num;
}
.basic-list-ol .basic-list-item::before {
  content: counter(num) ".";
  position: absolute;
  left: 0;
  top: 0;
  counter-increment: num;
  color: var(--main-color);
  font-weight: var(--fw-b);
}

.basic-list-ul .basic-list-item-alart:before, .basic-list-ol .basic-list-item-alart:before {
  background-color: var(--accent-color);
}

/*アンカーリンク*/
.anchorlink-container {
  margin: 4rem auto;
}

.anchorlink-item {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 1rem;
  border-top: 1px solid var(--sub-color);
  border-bottom: 1px solid var(--sub-color);
  margin-bottom: -1px;
  color: var(--text-color);
}
.anchorlink-item::after {
  content: "";
  width: 9px;
  height: 9px;
  border: 0;
  border-top: solid 1px var(--sub-color);
  border-left: solid 1px var(--sub-color);
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translate(-50%, -50%) rotate(225deg);
  -webkit-transform: translate(-50%, -50%) rotate(225deg);
}

/*アコーディオン*/
.accordion-title {
  display: block;
  list-style: none;
}
.accordion-title::-webkit-details-marker {
  display: none;
}

.accordion-content {
  overflow: hidden;
}

.accordion-plus {
  position: relative;
}
.accordion-plus::after, .accordion-plus::before {
  content: "";
  background-color: var(--main-color);
  width: 12px;
  height: 2px;
  position: absolute;
  top: 50%;
  right: 0;
  left: auto;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transition: 0.4s all ease;
}
.accordion-plus::after {
  transform: translate(-50%, -50%) rotate(90deg);
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
}

/*アコーディオン(資料)*/
.accordion-doc-container {
  margin-bottom: 1rem;
}

.accordion-doc-title {
  position: relative;
  font-size: 1.3rem;
  color: var(--main-color);
  padding: 1.1rem 1rem 1.1rem 1.5rem;
  background-color: var(--sub-l-color);
  display: flex;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.accordion-doc-heading {
  position: relative;
  font-size: 1rem;
  color: #fff;
  padding: 0.6rem 1.5rem;
  background-color: var(--sub-color);
  margin-bottom: 0;
  letter-spacing: 1px;
  font-weight: var(--fw-r);
}

.accordion-doc-link {
  position: relative;
  display: flex;
  justify-content: space-between;
  padding: 1.2rem 1.5rem;
  border-bottom: 1px solid var(--sub-color);
  color: var(--text-color);
  gap: 1rem;
}
.accordion-doc-link:hover {
  transition: 0.2s ease all;
  background-color: var(--base-l-color);
}

.accordion-doc-text {
  flex-grow: 1;
}

.accordion-doc-link:hover[href$=".pdf"] .accordion-doc-icon-file::before, .accordion-doc-link:hover[href$=".doc"] .accordion-doc-icon-file::before, .accordion-doc-link:hover[href$=".docm"] .accordion-doc-icon-file::before, .accordion-doc-link:hover[href$=".docx"] .accordion-doc-icon-file::before, .accordion-doc-link:hover[href$=".xls"] .accordion-doc-icon-file::before, .accordion-doc-link:hover[href$=".xlsx"] .accordion-doc-icon-file::before {
  background-color: var(--main-color);
}
.accordion-doc-link:hover[href$=".pdf"] .accordion-doc-icon-download::before, .accordion-doc-link:hover[href$=".doc"] .accordion-doc-icon-download::before, .accordion-doc-link:hover[href$=".docm"] .accordion-doc-icon-download::before, .accordion-doc-link:hover[href$=".docx"] .accordion-doc-icon-download::before, .accordion-doc-link:hover[href$=".xls"] .accordion-doc-icon-download::before, .accordion-doc-link:hover[href$=".xlsx"] .accordion-doc-icon-download::before {
  background-color: var(--main-color);
}
.accordion-doc-link[href$=".pdf"] .accordion-doc-icon-file::before, .accordion-doc-link[href$=".doc"] .accordion-doc-icon-file::before, .accordion-doc-link[href$=".docm"] .accordion-doc-icon-file::before, .accordion-doc-link[href$=".docx"] .accordion-doc-icon-file::before, .accordion-doc-link[href$=".xls"] .accordion-doc-icon-file::before, .accordion-doc-link[href$=".xlsx"] .accordion-doc-icon-file::before {
  background: var(--sub-color);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  font-size: 11px;
  width: 37px;
  height: 16px;
  color: #fff;
}
.accordion-doc-link[href$=".pdf"] .accordion-doc-icon-download::before, .accordion-doc-link[href$=".doc"] .accordion-doc-icon-download::before, .accordion-doc-link[href$=".docm"] .accordion-doc-icon-download::before, .accordion-doc-link[href$=".docx"] .accordion-doc-icon-download::before, .accordion-doc-link[href$=".xls"] .accordion-doc-icon-download::before, .accordion-doc-link[href$=".xlsx"] .accordion-doc-icon-download::before {
  content: "";
  cursor: pointer;
  border: none;
  display: inline-block;
  width: 15px;
  height: 15px;
  -webkit-mask-image: url(../img/common/icon-download.svg);
  mask-image: url(../img/common/icon-download.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  background-color: var(--sub-color);
  line-height: 1;
}
.accordion-doc-link[href$=".pdf"] .accordion-doc-icon-file::before {
  content: "PDF";
}
.accordion-doc-link[href$=".doc"] .accordion-doc-icon-file::before, .accordion-doc-link[href$=".docm"] .accordion-doc-icon-file::before, .accordion-doc-link[href$=".docx"] .accordion-doc-icon-file::before {
  content: "Word";
}
.accordion-doc-link[href$=".xls"] .accordion-doc-icon-file::before, .accordion-doc-link[href$=".xlsx"] .accordion-doc-icon-file::before {
  content: "Excel";
}

.accordion-doc-memo {
  font-size: 0.9em;
}

/*アコーディオン(過去問)*/
.accordion-pastexam-container {
  margin-bottom: 1rem;
}

.accordion-pastexam-title {
  position: relative;
  font-size: 1.3rem;
  color: var(--main-color);
  padding: 1.1rem 3rem 1.1rem 1.5rem;
  background-color: var(--sub-l-color);
  display: flex;
  justify-content: space-between;
}
.accordion-pastexam-title .accordion-plus {
  right: -30px;
}

.accordion-pastexam-heading {
  position: relative;
  font-size: 1rem;
  color: #fff;
  padding: 0.6rem 1.5rem;
  background-color: var(--sub-color);
  margin-bottom: 0;
  letter-spacing: 1px;
  font-weight: var(--fw-r);
}

.accordion-pastexam-heading-url {
  font-size: 0.8rem;
  text-decoration: underline;
  color: #fff;
  margin-left: 0.5rem;
}

.accordion-pastexam-item {
  display: flex;
  gap: 2rem;
  border-bottom: 1px solid var(--sub-color);
  padding: 1.2rem 0;
}

.accordion-pastexam-item-left {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
}

.accordion-pastexam-text {
  font-weight: var(--fw-b);
  line-height: 1.5;
}

.accordion-pastexam-sub-text {
  font-size: 0.9rem;
  margin-top: 0.3rem;
}

.accordion-pastexam-item-right {
  display: flex;
  flex-wrap: wrap;
  justify-content: end;
  gap: 1rem;
  width: 150px;
}

.accordion-pastexam-link {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 150px;
  height: 35px;
  border-radius: 30px;
  color: var(--main-color);
  transition: 0.2s ease all;
  border: 1px solid var(--main-color);
  line-height: 1;
  font-size: 0.9rem;
}
.accordion-pastexam-link:hover {
  background-color: var(--base-l-color);
}

.accordion-free-container {
  margin-bottom: 1rem;
}
.accordion-free-container .accordion-content {
  margin-top: 1rem;
}

/*汎用ボックス*/
.contentsbox {
  background-color: var(--sub-l-color);
  padding: 2.5rem 2.8rem;
  margin-bottom: 1rem;
}
.contentsbox p {
  line-height: 1.9;
  margin-bottom: 0;
}

.contentsbox-title {
  position: relative;
  color: var(--text-color);
  font-size: 1.1rem;
  padding: 0 1rem;
  margin-bottom: 1rem;
  line-height: 1.5;
  font-weight: var(--fw-b);
}
.contentsbox-title::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  display: inline-block;
  vertical-align: middle;
  width: 5px;
  height: 100%;
  background: var(--main-color) no-repeat center/contain;
}

/*汎用ボックス（2カラム）*/
.contentsbox-2column {
  display: flex;
  align-items: center;
  min-height: 100px;
  width: 100%;
  padding: 0px 2.5rem;
  border: 1px solid var(--main-color);
}

.contentsbox-2column-caution {
  margin: 2rem auto;
  border: 1px solid var(--accent-color);
}
.contentsbox-2column-caution .contentsbox-2column-text {
  margin-bottom: 0;
  color: var(--accent-color);
  font-size: 1.1rem;
  flex: 1;
}
.contentsbox-2column-caution .btn-basic {
  font-size: 0.9rem;
  margin-bottom: 0;
  min-width: 220px;
}

/*汎用ボックス（見出し）*/
.contentsbox-heading-container {
  margin: 3rem 0;
}

.contentsbox-heading {
  display: flex;
  flex-direction: column;
  width: 100%;
  border-radius: 10px;
  overflow: hidden;
  max-width: 400px;
  margin: 0 auto;
  height: 100%;
}
.contentsbox-heading .btn-basic {
  width: 100%;
  margin: auto auto 0;
  background-color: #fff;
}

.contentsbox-heading-inner {
  display: flex;
  flex-direction: column;
}
.contentsbox-heading-inner:last-child.btn-basic {
  justify-content: center;
}
.contentsbox-heading-inner .btn-basic:last-child {
  margin: auto auto 0;
}
.contentsbox-heading-inner .btn-basic:only-child {
  margin: auto;
}

.contentsbox-heading-title {
  width: 100%;
  background-color: var(--main-color);
  color: #fff;
  font-size: 1.2rem;
  font-weight: var(--fw-r);
  text-align: center;
  margin-bottom: 0;
  padding: 0.5rem;
  line-height: 1.5;
}

.contentsbox-heading-inner {
  background-color: var(--base-l-color);
  padding: 1.2rem 1.8rem 1.7rem;
  min-height: 180px;
  height: 100%;
}
.contentsbox-heading-inner .basic-list-ul li, .contentsbox-heading-inner .basic-list-ol li {
  padding-left: 1rem;
  font-size: 0.9rem;
}
.contentsbox-heading-inner .basic-list-ul li::before, .contentsbox-heading-inner .basic-list-ol li::before {
  top: 7px;
  left: 4px;
}

/*汎用ボックス（ボタン）*/
.contentsbox-btn-container {
  margin: 1rem auto 2rem;
}

.contentsbox-btn-item {
  display: block;
  width: 100%;
  border-radius: 10px;
  max-width: 400px;
  margin: 0 auto;
  background-color: var(--base-l-color);
  padding: 2rem 3rem;
  min-height: 180px;
}

.contentsbox-btn-heading {
  padding-bottom: 1rem;
  font-size: 1.3rem;
  border-bottom: 1px solid var(--main-color);
  margin-bottom: 2rem;
  text-align: center;
  font-weight: var(--fw-b);
}

.contentsbox-btn-text {
  line-height: 1.7;
}

.contentsbox-btn-link {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  max-width: 100%;
  width: 80%;
  min-height: 50px;
  background-color: #fff;
  border-radius: 30px;
  color: var(--main-color);
  transition: 0.2s ease all;
  border: 1px solid var(--main-color);
  padding: 0 2rem;
}
.contentsbox-btn-link:hover {
  background-color: var(--main-color);
  color: #fff;
}

/*汎用ボックス（リスト）*/
.contentsbox-list-container {
  display: flex;
  align-items: center;
  background-color: var(--sub-l-color);
  padding: 1.5rem 2.5rem;
  gap: 1rem;
  margin-bottom: 1rem;
}

.contentsbox-list-title {
  margin-bottom: 0;
  font-size: 1.1rem;
  color: var(--main-color);
  letter-spacing: 1px;
  font-weight: var(--fw-b);
  width: 200px;
}

.contentsbox-list-li {
  margin-bottom: 0;
}

.contentsbox-list-item {
  position: relative;
  list-style: none;
  line-height: 1.5;
  text-indent: 0rem;
  padding-left: 1.3rem;
  margin-bottom: 0.5rem;
}
.contentsbox-list-item::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 2px;
  width: 9px;
  height: 9px;
  vertical-align: middle;
  border-radius: 50%;
  background-color: var(--main-color);
}
.contentsbox-list-item:last-child {
  margin-bottom: 0;
}

/*汎用ボックス（プロフィール）*/
.contentsbox-profile-container {
  position: relative;
  display: flex;
  border: 1px solid var(--main-color);
  padding: 2rem 2.5rem 2.5rem;
  margin: 3rem 0;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}

.contentsbox-profile-heading {
  position: absolute;
  top: -26px;
  left: -1px;
  margin-bottom: 0;
  display: inline-block;
  width: 170px;
  padding: 0.3rem 0.8rem;
  background-color: var(--main-color);
  color: #fff;
  font-size: 0.8rem;
  letter-spacing: 1px;
}
.contentsbox-profile-heading::before {
  content: "| プロフィール";
  position: absolute;
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  font-size: 0.75rem;
  left: 68px;
  top: 5px;
  white-space: pre-wrap;
}
.contentsbox-profile-heading::after {
  content: "";
  position: absolute;
  display: block;
  width: 16px;
  height: 25px;
  -webkit-clip-path: polygon(0 0, 100% 100%, 0 100%);
  clip-path: polygon(0 0, 100% 100%, 0 100%);
  background-color: var(--main-color);
  right: -16px;
  top: 1px;
}

.contentsbox-profile-img {
  display: block;
  aspect-ratio: 0.88/1;
  min-height: 270px;
  -o-object-fit: cover;
  object-fit: cover;
  width: 220px;
}

.contentsbox-profile-name {
  font-size: 1.4rem;
  border-bottom: 1px solid var(--main-color);
  padding-bottom: 0.8rem;
  margin-bottom: 1rem;
  font-weight: var(--fw-b);
}

.contentsbox-profile-title {
  font-size: 1rem;
  margin-right: 0.4rem;
}

.contentsbox-profile-kana {
  font-size: 0.9rem;
  margin-left: 0.4rem;
}

.contentsbox-profile-text {
  font-size: 0.9rem;
}

/*汎用ボックス（注意事項）*/
.contentsbox-alart-container {
  margin: 3rem auto;
}

.contentsbox-alart-body {
  display: block;
  margin: 0 auto;
  background-color: var(--accent-l-color);
  border-radius: 10px;
  padding: 1.5rem 1rem 1rem;
  max-width: 800px;
}

.contentsbox-alart-title {
  color: var(--accent-color);
  margin-bottom: 0;
  font-size: 1.4rem;
  margin-bottom: 1.5rem;
  text-align: center;
  line-height: 1.3;
}

.contentsbox-alart-inner {
  background-color: #fff;
  border-radius: 10px;
  padding: 1.5rem 2rem;
}
.contentsbox-alart-inner ul li::before {
  background-color: var(--accent-color) !important;
}
.contentsbox-alart-inner ol li::before {
  color: var(--accent-color) !important;
}

/*その他パーツ====================================================================*/
/*サムネイル・ファイル*/
.backnumber-conainer {
  background-color: var(--sub-l-color);
  padding: 2rem 1rem;
  border-radius: 5px;
  margin-bottom: 4rem;
}

.backnumber-item {
  max-width: 190px;
  display: block;
  margin: 0 auto;
}
.backnumber-item:hover .backnumber-thumb {
  opacity: 0.6;
}
.backnumber-item:hover .backnumber-title {
  color: var(--main-color);
}

.backnumber-thumb {
  transition: 0.2s ease all;
  width: 100%;
}

.backnumber-title {
  font-size: 0.9rem;
  line-height: 1.4;
  margin: 0.5rem 0 0;
  font-weight: var(--fw-b);
  transition: 0.2s ease all;
}

.backnumber-date {
  color: var(--sub-color);
  font-size: 0.8rem;
  line-height: 1.2;
  display: inline-block;
}

/*もっと見る*/
.viewmore-content {
  transition: 0.6s ease all;
}
.viewmore-content.is-hidden {
  opacity: 0;
  height: 0;
  margin: 0;
  position: absolute;
  pointer-events: none;
}

/*この記事をシェアする*/
.sns-share-container {
  margin: 3rem auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 90px;
  max-width: 520px;
  padding: 0px 2.5rem;
  background-color: var(--sub-l-color);
}

.sns-share-text {
  margin-bottom: 0;
}

.sns-share-right {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}

@media screen and (max-width: 991.98px) {
  /*見出し*/
  .important-text {
    font-size: 1rem;
    line-height: 1.5;
  }
  .heading-2 {
    padding: 0.6rem 1rem 0.6rem 1.5rem;
    font-size: 1rem;
    margin-bottom: 1.5rem;
  }
  .heading-2::after {
    width: 10px;
  }
  .heading-4 {
    font-size: 1.1rem;
  }
  /*アコーディオン（資料）*/
  .accordion-doc-container {
    margin-bottom: 1rem;
  }
  .accordion-doc-title {
    font-size: 1rem;
    padding: 1rem;
  }
  .accordion-doc-heading {
    padding: 1rem;
    font-size: 0.8rem;
  }
  .accordion-doc-text {
    grid-row: 1/3;
    font-size: 0.9rem;
  }
  .accordion-doc-link {
    display: grid;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 80px 15px;
    row-gap: 0;
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
    padding: 1rem;
    align-items: center;
  }
  .accordion-doc-link:not(:has(.accordion-doc-memo)) .accordion-doc-icon-file {
    grid-row: 1/3;
  }
  .accordion-doc-memo {
    grid-row: 2/3;
    grid-column: 2/3;
    font-size: 0.8rem;
    text-align: center;
  }
  .accordion-doc-icon-file {
    grid-row: 1/2;
    grid-column: 2/3;
    text-align: center;
  }
  .accordion-doc-icon-download {
    grid-row: 1/3;
    grid-column: 3/4;
  }
  .accordion-doc-link[href$=".pdf"] .accordion-doc-icon::before, .accordion-doc-link[href$=".doc"] .accordion-doc-icon::before, .accordion-doc-link[href$=".docm"] .accordion-doc-icon::before, .accordion-doc-link[href$=".docx"] .accordion-doc-icon::before, .accordion-doc-link[href$=".xls"] .accordion-doc-icon::before, .accordion-doc-link[href$=".xlsx"] .accordion-doc-icon::before {
    position: absolute;
    font-size: 10px;
    width: 35px;
    height: 14px;
    right: 10px;
    margin-right: 0;
  }
  .accordion-doc-link[href$=".pdf"] .accordion-doc-icon::after, .accordion-doc-link[href$=".doc"] .accordion-doc-icon::after, .accordion-doc-link[href$=".docm"] .accordion-doc-icon::after, .accordion-doc-link[href$=".docx"] .accordion-doc-icon::after, .accordion-doc-link[href$=".xls"] .accordion-doc-icon::after, .accordion-doc-link[href$=".xlsx"] .accordion-doc-icon::after {
    content: "";
    cursor: pointer;
    border: none;
    display: inline-block;
    width: 15px;
    height: 15px;
    -webkit-mask-image: url(../img/common/icon-download.svg);
    mask-image: url(../img/common/icon-download.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: var(--sub-color);
    line-height: 1;
  }
  /*アコーディオン（過去問）*/
  .accordion-pastexam-title {
    font-size: 1rem;
    padding: 1rem 2rem 1rem 1rem;
  }
  .accordion-pastexam-title .accordion-plus {
    right: -25px;
  }
  .accordion-pastexam-heading {
    font-size: 0.9rem;
  }
  .accordion-pastexam-item {
    display: block;
    padding: 1rem 0.5rem;
  }
  .accordion-pastexam-item-right {
    justify-content: center;
    width: 100%;
    margin-top: 1rem;
    gap: 0.5rem;
  }
  .accordion-pastexam-link {
    width: 140px;
    height: 32px;
  }
  .accordion-pastexam-text {
    font-size: 0.9rem;
  }
  .accordion-pastexam-sub-text {
    font-size: 0.8rem;
  }
  /*汎用ボックス*/
  .contentsbox {
    padding: 2rem 2rem;
  }
  .contentsbox p {
    line-height: 1.7;
  }
  .contentsbox-title {
    font-size: 1rem;
    padding: 0 0 0 1rem;
  }
  /*汎用ボックス（2カラム）*/
  .contentsbox-2column .btn-basic {
    width: 100%;
    max-width: 350px;
  }
  /*汎用ボックス（見出し）*/
  .contentsbox-heading-inner {
    min-height: initial;
    padding: 1.5rem 3.5rem 1rem;
  }
  .contentsbox-heading-title {
    font-size: 1rem;
    padding: 0.2rem;
  }
  .contentsbox-2column-text {
    text-align: center;
    font-size: 0.9rem;
    word-break: keep-all;
  }
  .contentsbox-2column {
    flex-direction: column;
    margin: 2rem auto;
    padding: 2rem;
    gap: 1rem;
  }
  /*汎用ボックス（リンク）*/
  .contentsbox-btn-heading {
    font-size: 1.2rem;
  }
  .contentsbox-btn-item {
    padding: 2rem 1.5rem;
  }
  .contentsbox-btn-link {
    width: 100%;
  }
  /*汎用ボックス（リスト）*/
  .contentsbox-list-container {
    flex-direction: column;
    align-items: start;
    padding: 1.5rem;
    gap: 0.5rem;
  }
  /*汎用ボックス_注意事項*/
  .contentsbox-alart-body {
    padding: 1rem;
  }
  .contentsbox-alart-title {
    font-size: 1.2rem;
    margin-bottom: 1rem;
  }
  .contentsbox-alart-inner {
    padding: 1rem;
  }
  /*汎用ボック_プロフィール*/
  .contentsbox-profile-container {
    flex-direction: column;
    align-items: center;
    row-gap: 1.5rem;
    padding: 1.6rem;
  }
  .contentsbox-profile-name {
    font-size: 1.2rem;
    text-align: center;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
  }
  .contentsbox-profile-title {
    display: block;
    margin-right: 0;
    margin-bottom: 0.2rem;
    font-size: 0.85rem;
  }
  .contentsbox-profile-kana {
    display: block;
    margin-left: 0;
    margin-top: 0.2rem;
    font-size: 0.85rem;
  }
  .sns-share-container {
    flex-direction: column;
    gap: 0.8rem;
    justify-content: center;
    padding: 1rem;
    height: auto;
  }
}
@media screen and (max-width: 575.98px) {
  .contentsbox-heading-inner {
    padding: 1.5rem;
  }
  .heading-2 {
    margin-bottom: 1.5rem;
  }
}
/*テーブル*/
.content-box table {
  width: 100%;
  margin: 2rem 0;
  border-collapse: separate;
  border-spacing: 0 4px;
  table-layout: fixed;
}
.content-box th {
  color: #fff;
  padding: 0.8rem 1rem;
  background-color: var(--main-color);
  font-size: 1rem;
  font-weight: var(--fw-r);
  line-height: 1.4;
  min-width: 10rem;
}
.content-box th[rowspan] {
  border-right: 4px #fff solid;
}
.content-box th p {
  color: #fff;
  margin-bottom: 0;
}
.content-box th a:not([class]) {
  color: #fff;
  padding-left: 0;
}
.content-box th a:not([class])::before {
  content: none;
}
.content-box td {
  padding: 0.8rem 1rem;
  background-color: var(--base-l-color);
  line-height: 1.5;
  padding: 0.8rem 1rem;
  line-height: 1.5;
}
.content-box td[rowspan] {
  border-right: 4px #fff solid;
  border-left: 4px #fff solid;
}
.content-box td[rowspan]:not(:has(+ td)) {
  border-right: none;
}
.content-box td p {
  margin-bottom: 0;
}

/*テーブル*/
.table-container {
  margin: 2rem 0;
}
.table-container table:not([class]) {
  margin: 0;
}

.event-table-container table {
  table-layout: auto;
}
.event-table-container th {
  min-width: 12rem;
}

.sub-color-table th {
  background-color: #4C4C4C;
}
.sub-color-table td {
  background-color: #F2F2F2;
}
.sub-color-table.multi-column-table tr:nth-of-type(2n) {
  background-color: var(--sub-l-color);
}
.sub-color-table.multi-column-table th {
  background-color: #4C4C4C;
  border-top: 1px solid #B2B2B2;
}
.sub-color-table.multi-column-table th::after {
  background-image: linear-gradient(to bottom, #B2B2B2 1px, transparent 1px);
}
.sub-color-table.multi-column-table td {
  border-top: 1px solid #B2B2B2;
  border-bottom: 1px solid #B2B2B2;
}
.sub-color-table.multi-column-table td::after {
  background-image: linear-gradient(to bottom, #B2B2B2 1px, transparent 1px);
}

/*列ヘッダー テーブル*/
.multi-column-table table {
  border-collapse: collapse;
}
.multi-column-table tr:nth-of-type(2n) {
  background-color: var(--base-l-color);
}
.multi-column-table tr:nth-of-type(2n-1) {
  background-color: #fff;
}
.multi-column-table td {
  background-color: initial;
}
.multi-column-table th {
  position: relative;
  color: #fff;
  padding: 0.8rem 1.5rem;
  background-color: var(--main-color);
  font-size: 0.9rem;
  font-weight: var(--fw-r);
  line-height: 1;
  min-width: 10rem;
  border-top: 1px solid var(--base-color);
}
.multi-column-table th::after {
  position: absolute;
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  right: 0;
  top: 0;
  background-image: linear-gradient(to bottom, var(--base-d-color) 1px, transparent 1px);
  background-size: 1px 4px;
  background-repeat: repeat-y;
}
.multi-column-table th:last-of-type::after {
  content: none;
}
.multi-column-table td {
  position: relative;
  padding: 1.2rem 1.5rem;
  border-top: 1px solid var(--base-d-color);
  border-bottom: 1px solid var(--base-d-color);
}
.multi-column-table td::after {
  position: absolute;
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  right: 0;
  top: 0;
  background-image: linear-gradient(to bottom, var(--base-d-color) 1px, transparent 1px);
  background-size: 1px 4px;
  background-repeat: repeat-y;
}
.multi-column-table td:last-of-type::after {
  content: none;
}

/*thスクロール時固定*/
.th-sticky-table th {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 1;
}

/*スクロール可能テーブル*/
.table-scroll-container {
  position: relative;
  overflow-x: auto;
  padding-bottom: 10px;
  -webkit-overflow-scrolling: touch;
}
.table-scroll-container table {
  table-layout: auto;
}
.table-scroll-container:not(.multi-column-table) table {
  width: 1500px;
}
.table-scroll-container::-webkit-scrollbar {
  height: 8px;
}
.table-scroll-container::-webkit-scrollbar-thumb {
  background: #8b8b8b;
  border-radius: 10px;
}

@media screen and (max-width: 991.98px) {
  .content-box table {
    margin: 0 auto;
  }
  .content-box div:not(.table-scroll-container) table {
    border-collapse: collapse;
  }
  .content-box div:not(.table-scroll-container):not(.multi-column-table) th {
    width: 100%;
    display: block;
    border-top: none;
    border-bottom: none;
    padding: 0.8rem 1rem;
    font-size: 0.9rem;
  }
  .content-box div:not(.table-scroll-container):not(.multi-column-table):not(.table-scroll) td {
    width: 100%;
    display: block;
    padding: 1rem;
  }
  .multi-column-table-sub td::before {
    background-color: var(--sub-color);
  }
  /*SP時2カラム*/
  .sp-2column-table tr {
    margin-bottom: 2rem;
    background-color: initial !important;
  }
  .sp-2column-table th {
    display: none;
  }
  .sp-2column-table th::after {
    content: none;
  }
  .sp-2column-table td {
    position: relative;
    display: block;
    background-color: #fff;
    padding: 0;
    display: flex;
    align-items: center;
    margin-bottom: -1px;
    border-top: 1px solid var(--base-d-color);
    border-bottom: 1px solid var(--base-d-color);
    align-self: stretch;
  }
  .sp-2column-table td:last-child {
    margin-bottom: 1rem;
  }
  .sp-2column-table td::before {
    content: attr(data-header);
    display: block;
    line-height: 1.5;
    color: #fff;
    background-color: var(--main-color);
    padding: 1rem;
    margin-right: 1rem;
    width: 10rem;
  }
  .sp-2column-table td::after {
    content: none;
  }
  .sp-2column-table td > * {
    flex: 1;
  }
  .sp-2column-table.sub-color-table td::before {
    background-color: #4C4C4C;
  }
}
/*ページタイトル====================================================================*/
.page-title-container {
  position: relative;
  display: flex;
  width: 100%;
  height: 140px;
  justify-content: end;
  align-items: center;
  background: url(../img/common/bg-heading.svg) no-repeat center/cover;
}

.page-title {
  position: relative;
  color: var(--text-color);
  font-size: clamp(1.3rem, 3vw, 1.8rem);
  text-align: left;
  padding-right: 0;
  margin-bottom: 0;
  font-weight: var(--fw-b);
}

@media screen and (max-width: 991.98px) {
  .page-title-container {
    height: 70px;
  }
  .page-title {
    text-align: center;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    font-size: 1.1rem;
    line-height: 1.4;
  }
}
/*ページトップ==========================================*/
.to-pagetop {
  z-index: 999;
  position: absolute;
  right: 10px;
  top: 25px;
  display: inline-block;
  background-color: var(--main-color);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  width: 55px;
  height: 55px;
  border-radius: 50%;
}
.to-pagetop::after {
  content: "";
  width: 13px;
  height: 13px;
  border: 0;
  border-top: solid 1px #fff;
  border-left: solid 1px #fff;
  position: absolute;
  top: 24px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  -webkit-transform: translateX(-50%) rotate(45deg);
}

.btn-withicon::after {
  content: "";
  width: 8px;
  height: 8px;
  border: 0;
  border-top: solid 1px var(--base-d-color);
  border-left: solid 1px var(--base-d-color);
  position: absolute;
  top: 50%;
  right: 6px;
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transform: translate(-50%, -50%) rotate(135deg);
  margin: auto;
}
.btn-withicon[target=_blank]::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 13px;
  height: 13px;
  -webkit-mask-image: url(../img/common/icon-window-out.svg);
          mask-image: url(../img/common/icon-window-out.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: var(--main-color);
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transition: 0.2s ease all;
  border: none;
}
.btn-withicon[download]::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 13px;
  height: 13px;
  -webkit-mask-image: url(../img/common/icon-download.svg);
          mask-image: url(../img/common/icon-download.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: var(--main-color);
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transition: 0.2s ease all;
}
.btn-withicon:hover {
  background-color: var(--main-color);
  color: #fff;
}
.btn-withicon:hover[target=_blank]::after {
  background-color: #fff;
}
.btn-withicon:hover[download]::after {
  background-color: #fff;
}

.btn-basic {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  max-width: 500px;
  min-height: 50px;
  border-radius: 30px;
  color: var(--main-color);
  transition: 0.2s ease all;
  border: 1px solid var(--main-color);
  margin-bottom: 1rem;
  padding: 0 3rem 0 2.5rem;
  line-height: 1;
}
.btn-basic::after {
  content: "";
  width: 8px;
  height: 8px;
  border: 0;
  border-top: solid 1px var(--base-d-color);
  border-left: solid 1px var(--base-d-color);
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transform: translate(-50%, -50%) rotate(135deg);
  margin: auto;
}
.btn-basic[target=_blank]::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 14px;
  height: 14px;
  -webkit-mask-image: url(../img/common/icon-window-out.svg);
          mask-image: url(../img/common/icon-window-out.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: var(--main-color);
  right: 21px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transition: 0.2s ease all;
  border: none;
}
.btn-basic[download]::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 13px;
  height: 13px;
  -webkit-mask-image: url(../img/common/icon-download.svg);
          mask-image: url(../img/common/icon-download.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: var(--main-color);
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transition: 0.2s ease all;
}
.btn-basic:hover {
  background-color: var(--main-color);
  color: #fff;
}
.btn-basic:hover[target=_blank]::after {
  background-color: #fff;
}

.btn-basic-important {
  border: 1px solid var(--main-color);
  background-color: var(--main-color);
  color: #fff;
}
.btn-basic-important::after {
  border-top: solid 1px #fff;
  border-left: solid 1px #fff;
}
.btn-basic-important:hover {
  background-color: var(--base-color);
  color: var(--main-color);
}
.btn-basic-important:hover::after {
  border-top: solid 1px var(--main-color);
  border-left: solid 1px var(--main-color);
}
.btn-basic-important:hover[target=_blank]::after {
  background-color: var(--main-color);
}
.btn-basic-important[target=_blank]::after {
  background-color: #fff;
}

.btn-basic-caution {
  border: none;
  background-color: var(--accent-color);
  color: #fff;
}
.btn-basic-caution::after {
  border-top: solid 1px #fff;
  border-left: solid 1px #fff;
}
.btn-basic-caution:hover {
  background-color: var(--accent-l-color);
  color: var(--accent-color);
}
.btn-basic-caution:hover::after {
  border-top: solid 1px var(--accent-color);
  border-left: solid 1px var(--accent-color);
}
.btn-basic-caution:hover[target=_blank]::after {
  background-color: var(--accent-color);
}
.btn-basic-caution[target=_blank]::after {
  border: none;
  background-color: #fff;
}

.btn-basic-sub {
  border: none;
  background-color: var(--sub-color);
  color: #fff;
}
.btn-basic-sub:hover {
  background-color: var(--sub-l-color);
  color: var(--sub-color);
}
.btn-basic-sub:hover[target=_blank]::after {
  background-color: var(--sub-color);
}
.btn-basic-sub[target=_blank]::after {
  border: none;
}

.btn-basic-large {
  min-width: 280px;
  min-height: 60px;
  font-size: 1.2rem;
}

.btn-basic-small {
  min-width: 160px;
  min-height: 40px;
  font-size: 0.9rem;
  padding: 0 2.5rem 0 2rem;
}

.btn-viewmore {
  position: relative;
  transition: 0.2s ease all;
  background-color: transparent;
}
.btn-viewmore::after, .btn-viewmore::before {
  content: "";
  background-color: var(--main-color);
  border: none;
  width: 13px;
  height: 2px;
  position: absolute;
  top: 50%;
  right: 12px;
  left: auto;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transition: 0.4s all ease;
}
.btn-viewmore::after {
  transform: translate(-50%, -50%) rotate(90deg);
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
}
.btn-viewmore:hover::after, .btn-viewmore:hover::before {
  background-color: #fff;
}

/*スマホ・SPサイズのスタイル====================================================================*/
@media screen and (max-width: 991.98px) {
  .btn-basic-large {
    font-size: 1rem;
  }
}
.pagelink-container {
  margin-bottom: 3rem;
}
.pagelink-container .heading-2 {
  margin-top: 0;
  margin-bottom: 0;
  z-index: 1;
}

.pagelink-item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: start;
  margin-top: -1px;
  min-height: 80px;
  padding: 0 1.5rem 0 1rem;
  border-top: 1px solid var(--sub-color);
  border-bottom: 1px solid var(--sub-color);
  color: var(--text-color);
}
.pagelink-item::after {
  content: "";
  width: 9px;
  height: 9px;
  border: 0;
  border-top: solid 1px var(--sub-color);
  border-left: solid 1px var(--sub-color);
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transform: translate(-50%, -50%) rotate(135deg);
}
.pagelink-item:hover {
  background-color: var(--main-color);
  color: #fff;
}
.pagelink-item .pagelink-item-text {
  font-size: 0.8rem;
  line-height: 1.5;
  font-weight: var(--fw-r);
}
.pagelink-item:has(.pagelink-item-text) {
  font-weight: 500;
}

@media screen and (min-width: 992px) {
  .pagelink-inner {
    height: auto !important;
  }
}
@media screen and (max-width: 991.98px) {
  .pagelink-container {
    margin-bottom: 0;
  }
  .pagelink-inner {
    margin-top: 0;
    margin-bottom: 2rem;
  }
  .pagelink-item {
    padding: 1.2rem 1.8rem 1.2rem 0.5rem;
    min-height: auto;
  }
  .pagelink-accordion-container .heading-2 {
    background-color: #fff;
    border-top: 1px solid var(--main-color);
    margin-top: -1px;
    padding: 1.2rem 1rem 1.2rem 0;
    color: var(--main-color);
    font-size: 1.1rem;
    letter-spacing: 1px;
    cursor: pointer;
  }
  .pagelink-accordion-container .heading-2 span {
    display: none;
  }
  .pagelink-accordion-container .heading-2:last-of-type {
    border-bottom: 1px solid var(--main-color);
  }
  .pagelink-accordion-container .heading-2::before, .pagelink-accordion-container .heading-2::after {
    content: "";
    background-color: var(--main-color);
    width: 16px;
    height: 2px;
    position: absolute;
    top: 50%;
    right: 0;
    left: auto;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transition: 0.3s all ease;
  }
  .pagelink-accordion-container .heading-2::after {
    transform: translate(-50%, -50%) rotate(90deg);
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
  }
  .pagelink-accordion-container .heading-2.open::after {
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
  }
  .pagelink-accordion-container .heading-2-link {
    color: var(--main-color);
    padding: 0;
  }
  .pagelink-accordion-container .pagelink-inner {
    height: 0;
    overflow: hidden;
    margin-bottom: 0;
  }
  .pagelink-accordion-container .pagelink-item {
    padding: 1rem;
    min-height: initial;
    background-color: var(--base-l-color);
    border-top: 1px solid var(--main-color);
    border-bottom: 1px solid var(--main-color);
    min-height: 60px;
    padding: 0 0.5rem;
  }
  .pagelink-accordion-container .pagelink-item:hover {
    color: inherit;
  }
}
/*ページャー====================================================================*/
.pager-container {
  margin-top: 4rem;
}

.pager {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 0.8em;
}

.pager-item {
  display: grid;
  place-items: center;
  height: 37px;
  width: 37px;
  border-radius: 7px;
  border: 1px solid var(--main-color);
}
.pager-item.pager-last {
  width: 55px;
}

.pager-link {
  background-color: #fff;
  color: var(--main-color);
  transition: 0.2s ease all;
}
.pager-link:hover {
  background-color: var(--main-color);
  color: #fff;
}

.pager-current {
  background-color: var(--main-color);
  color: #fff;
  border-radius: 10px;
}

.pager-addr {
  color: var(--main-color);
  border: none;
}

.pager-prev, .pager-next {
  position: relative;
}
.pager-prev::after, .pager-next::after {
  content: "";
  width: 8px;
  height: 8px;
  border: 0;
  border-top: solid 1px var(--main-color);
  border-left: solid 1px var(--main-color);
  position: absolute;
  top: 52%;
  left: 57%;
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  margin: auto;
  transition: 0.2s ease all;
}
.pager-prev:hover::after, .pager-next:hover::after {
  border-top: solid 1px #fff;
  border-left: solid 1px #fff;
}

.pager-next::after {
  transform: translate(-50%, -50%) rotate(135deg);
  -webkit-transform: translate(-50%, -50%) rotate(135deg);
  left: 47%;
}

/*関連コンテンツ・関連記事==========================================*/
.related-container {
  background-color: var(--base-l-color);
  padding: 5rem 0;
}

.related-h2 {
  font-size: 1rem;
  color: var(--main-color);
  margin-bottom: 1rem;
}

.related-link {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 1rem;
  border-top: 1px solid var(--sub-color);
  border-bottom: 1px solid var(--sub-color);
  margin-bottom: -1px;
  color: var(--text-color);
}
.related-link::after {
  content: "";
  width: 9px;
  height: 9px;
  border: 0;
  border-top: solid 1px var(--sub-color);
  border-left: solid 1px var(--sub-color);
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transform: translate(-50%, -50%) rotate(135deg);
}
.related-link:hover {
  background-color: var(--main-color);
  color: #fff;
}
.related-link:hover::after {
  border-top: solid 1px #fff;
  border-left: solid 1px #fff;
}

.related-post-container {
  margin-top: 5rem;
}

.related-post-heading-3 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.4rem;
}

.related-post-archivelink {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 30px;
  color: var(--main-color);
  transition: 0.2s ease all;
  border: 1px solid var(--main-color);
  width: 185px;
  height: 40px;
  font-size: 0.9rem;
}
.related-post-archivelink::after {
  content: "";
  width: 8px;
  height: 8px;
  border: 0;
  border-top: solid 1px var(--base-d-color);
  border-left: solid 1px var(--base-d-color);
  position: absolute;
  top: 52%;
  right: 17px;
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transform: translate(-50%, -50%) rotate(135deg);
  margin: auto;
}
.related-post-archivelink:hover {
  background-color: var(--base-color);
}

.related-post-card:hover .related-post-img {
  opacity: 0.6;
}
.related-post-card:hover .related-post-title {
  color: var(--main-color);
}

.related-post-img {
  width: 100%;
  aspect-ratio: 1/0.652;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.2s ease all;
}

.related-post-title {
  position: relative;
  margin-top: 0.5rem;
  font-size: 0.9rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  transition: 0.2s ease all;
}

/*スマホ・SPサイズのスタイル====================================================================*/
@media screen and (max-width: 1199.98px) {
  .related-post-title {
    -webkit-line-clamp: 2;
  }
}
/*スマホ・SPサイズのスタイル====================================================================*/
@media screen and (max-width: 575.98px) {
  .related-post-title {
    font-size: 0.8rem;
    line-height: 1.5;
  }
}
/*目次====================================================================*/
.mokuzi-sidemenu {
  position: sticky;
  top: 240px;
}

.mokuzi-title {
  margin-bottom: 0;
  font-size: 1.2rem;
  background: var(--base-l-color);
  padding: 0.4rem 1rem;
}

.mokuzi-inner {
  width: 85%;
  margin: auto;
  margin-top: 0.5rem;
}

.mokuzi-link {
  position: relative;
  padding: 0.8rem 2rem 0.8rem 0;
  color: #1D1D1D;
  display: block;
  position: relative;
  font-size: 1rem;
  line-height: 1.3;
  transition: 0.3s ease all;
}
.mokuzi-link::before, .mokuzi-link::after {
  content: "";
  position: absolute;
  display: inline-block;
  vertical-align: middle;
  transition: 0.3s ease all;
}
.mokuzi-link::before {
  width: 18px;
  height: 18px;
  border: 1px solid var(--main-color);
  border-radius: 50%;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  background-color: #fff;
}
.mokuzi-link::after {
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 1px var(--main-color);
  border-left: solid 1px var(--main-color);
  position: absolute;
  top: 48%;
  right: 3px;
  transform: translate(-50%, -50%) rotate(-135deg);
  -webkit-transform: translate(-50%, -50%) rotate(-135deg);
}
.mokuzi-link:hover::before {
  background-color: var(--main-color);
}
.mokuzi-link:hover::after {
  border-top: solid 1px #fff;
  border-left: solid 1px #fff;
}

.info-box {
  display: block;
}
.info-box time {
  display: inline-block;
  color: var(--sub-color);
  margin-bottom: 0.5rem;
}
.info-box:hover .info-title {
  color: var(--main-color);
}
.info-box:hover .info-summary {
  color: var(--main-color);
}

.info-title {
  margin-bottom: 0;
  transition: 0.2s ease all;
}

/*お知らせ一覧*/
.archive-box .info-box {
  border-bottom: 1px solid var(--sub-color);
  padding: 1rem 0;
  margin-bottom: 0;
  height: 100%;
}
.archive-box .info-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/*お知らせ記事詳細*/
.info-title.detail {
  margin-bottom: 4rem;
  font-size: 1.7rem;
  line-height: 1.5;
  font-weight: var(--fw-b);
  color: var(--main-color);
}

.info-time.detail {
  display: inline-block;
  color: var(--sub-color);
  margin-bottom: 0.5rem;
}

/*検索結果*/
.search-box .info-box {
  position: relative;
  padding: 1rem 2rem 1rem 0;
}
.search-box .info-box::after {
  content: "";
  width: 7px;
  height: 7px;
  border: 0;
  border-top: solid 1px var(--sub-color);
  border-left: solid 1px var(--sub-color);
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transform: translate(-50%, -50%) rotate(135deg);
}

.info-summary {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  color: var(--sub-color);
  font-size: 0.9rem;
  line-height: 1.5;
  margin-top: 0.5rem;
  margin-bottom: 0;
  transition: 0.2s ease all;
}

.info-linktext {
  color: var(--main-color);
  margin-top: 0;
  font-size: 0.8rem;
  line-height: 1.5;
  margin-bottom: 0;
}

/*スマホ・SPサイズのスタイル====================================================================*/
@media screen and (max-width: 991.98px) {
  .info-title {
    line-height: 1.4;
  }
}
/*フォーム・お問い合わせ====================================================================*/
#contactform {
  margin-top: 4rem !important;
}

.contact-form {
  border: none !important;
}
.contact-form select {
  padding: 0.5rem !important;
  border-radius: 5px;
  border: none;
  background-color: #EDEDED;
}

.contact-form, .contact-form-field, .contact-form-submit {
  width: 100% !important;
  border: none !important;
}

.form-label {
  width: 25% !important;
  text-align: left !important;
  font-size: inherit !important;
}

.form-element {
  width: 65% !important;
  text-align: left !important;
}

.contact-form-text-full {
  background-color: #EDEDED;
  border-radius: 5px !important;
  padding: 0.5rem !important;
  padding: 0.3rem;
  border: none !important;
}

.contact-form-textarea {
  width: 90% !important;
  border-radius: 5px !important;
  background-color: #EDEDED;
  border: none !important;
  padding: 0.5rem !important;
}

.form-label *, .form-element * {
  font-size: inherit !important;
}

p.form-label span.must {
  font-size: 0.9rem !important;
  color: var(--accent-color) !important;
}

.contact-form-submit input[type=submit] {
  margin: 0 auto !important;
  display: block !important;
  cursor: pointer;
  max-width: 170px;
  min-height: 50px;
  border-radius: 30px;
  transition: 0.2s ease all;
  border: 1px solid var(--main-color) !important;
  background-color: var(--main-color) !important;
  color: #fff !important;
  width: 100%;
}
.contact-form-submit input[type=submit]:hover {
  background-color: #fff !important;
  color: var(--main-color) !important;
}

.contact-form-information {
  font-size: inherit !important;
}

.field_error {
  color: var(--accent-color) !important;
}

.contact-form h2, .contact-form h3 {
  margin-top: 0;
  margin-left: 10px;
}

.contact-form p {
  margin-left: 10px;
}

.contact-form li {
  padding-left: 0 !important;
  margin-right: 2rem !important;
}

.contact-form input[type=radio] {
  transform: scale(1.4);
}

.form-element li:has(input)::before {
  content: none !important;
}

/*スマホ・SPサイズのスタイル====================================================================*/
@media screen and (max-width: 991.98px) {
  .form-label, .form-element {
    width: 100% !important;
    margin-bottom: 0.8rem !important;
    padding: 0 !important;
  }
  .contact-form select {
    width: 100%;
  }
  p.form-label span.must {
    display: inline-block !important;
    margin: 0 0 0 0.5rem !important;
  }
  .contact-form-text-full, .contact-form-textarea {
    width: 100% !important;
  }
}/*# sourceMappingURL=sub.css.map */
        /*202512_add*/
        #header-btn-item-language::before{
            content: "";
            mask-image: url(../img/common/icon-lang.svg);
            background-color: var(--main-color);
        }
        #header-btn-item-language:hover::before{
            background-color: #fff;
        }
        #header-btn-item-language{
            cursor: pointer;
        }
        #header-btn-item-language .lang-menu{
            position: absolute;
            background-color: rgba(229, 240, 236, 0.9);
            padding: 0.5rem 1rem;
            border-radius: 5px;
            width: 190px;
            right: 4px;
            top: 49px;
            z-index: -1;
            opacity: 0;
            visibility: hidden;
            transition: 0.2s ease all;
        }
        #header-btn-item-language.show .lang-menu{
            opacity: 1;
            visibility: visible;
            z-index: 999;
        }
        .header-l-bottom{
            flex-wrap: wrap;
        }
.updateinfo-cat-btn{
    line-height: 1;
}
@media screen and (max-width: 991.98px) {
.table-scroll{
 overflow-x:scroll;
  transform: scale(1,-1);
}

.table-scroll > table{
 transform: scale(1,-1);
 width: 900px
}
}
