/***********************************************************************
 * #Contents
 ********************************************************************* */
@media print, screen and (min-width: 768px) {
  #Contents .leading {
    margin-bottom: 15px;
    font-size: 25px;
  }
  
/* アンカーリンク */
.anchor{
	padding-top: 170px;
	margin-top: -170px;
	display: block;
}
}
@media only screen and (max-width: 767px) {
  #Contents .leading {
    margin-bottom: 10px;
    font-size: 1.6rem;
  }
  .anchor{
	padding-top: 100px;
	margin-top: -100px;
	display: block;
}
} 

/***********************************************************************
 * #Contents .pageList
 ********************************************************************* */
#Contents .pageList > li:first-child {
  margin-top: 0;
}
#Contents .pageList > li .tit {
  padding-left: 1em;
  text-indent: -1em;
}
#Contents .pageList > li .note {
  padding-left: 1em;
}
@media print, screen and (min-width: 768px) {
  #Contents .pageList {
    margin-top: 15px;
  }
  #Contents .pageList > li {
    margin-top: 5px;
  }
  #Contents .pageList > li .tit {
    font-size: 16px;
  }
  #Contents .pageList > li .note {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  #Contents .pageList {
    margin-top: 10px;
  }
  #Contents .pageList > li {
    margin-top: 5px;
  }
  #Contents .pageList > li .tit {
    font-size: 1.5rem;
  }
  #Contents .pageList > li .note {
    font-size: 1.4rem;
  }
}

/***********************************************************************
 * #Contents .numRow
 ********************************************************************* */
#Contents .numRow .boxTit {
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  #Contents .numRow {
    margin-bottom: 30px;
    padding: 15px 20px 0;
    background: #f7f7f7;
  }
}

#Contents .numList > li {
  padding-left: 2em;
  text-indent: -2em;
}


@media print, screen and (min-width: 768px) {
  #Contents .pageTbl {
    margin: 20px 0;
  }
  #Contents .pageTbl th ,
  #Contents .pageTbl td {
    padding: 15px;
    border: 1px solid #d9d9d9;
  }
  #Contents .pageTbl th:first-child ,
  #Contents .pageTbl td:first-child {
    border-left: none;
  }
  #Contents .pageTbl th:last-child ,
  #Contents .pageTbl td:last-child {
    border-right: none;
  }
  #Contents .pageTbl th {
    background: #f7f7f7;
  }
  #Contents .pageTbl .spTit {
    display: none;
  }
  #Contents .sp-item{
    display: none;
  }
  #Contents .pageList span{
    font-size: 15px;
  }
}
@media only screen and (max-width: 767px) {
  #Contents .pageTbl {
    margin: 15px 0;
  }
  #Contents .pageTbl tr ,
  #Contents .pageTbl th ,
  #Contents .pageTbl td {
    display: block;
  }
  #Contents .pageTbl tr {
    margin-bottom: 20px;
  }
  #Contents .pageTbl tr:first-child {
  }
  #Contents .pageTbl tr:last-child {
    margin-bottom: 0;
  }
  #Contents .pageTbl th {
    color: #a71117;
    font-size: 1.6rem;
  }
  #Contents .pageTbl td {
  }
  #Contents .pageTbl td:last-child .cellInner {
    border-bottom: 1px solid #d9d9d9;
  }
  #Contents .pageTbl .spTit ,
  #Contents .pageTbl .cellInner {
    padding: 10px;
  }
  #Contents .pageTbl .spTit {
    display: block;
    border-top: 1px solid #d9d9d9;
    background: #f7f7f7;
  }
  #Contents .time{
    margin-bottom: 5px;
  }
  #Contents .tableTtl{
    background: #f7f7f7;
    border-top: 1px solid #d9d9d9;
    display: block;
    padding: 10px;
    margin-bottom: 10px;
  }
  #Contents .pageList span{
    font-size: 13px;
  }
}

/* 20250911証明書発行ページの改修 */
.modHeading01 {
  padding-left: 0;
  border-left: none;
}

/*アコーディオン*/
:root {
  interpolate-size: allow-keywords;
}

details {
  margin-top: 1em;
  border: 1px solid;
}
@media (prefers-reduced-motion: no-preference) {
  details::details-content {
    overflow: clip;
    -webkit-transition-duration: 300ms;
            transition-duration: 300ms;
    -webkit-transition-property: content-visibility, block-size;
    transition-property: content-visibility, block-size;
    transition-behavior: allow-discrete;
  }
}
details:not(:open)::details-content {
  block-size: 0;
}

summary {
  --_foreground-default: #222D5D;
  --_foreground-interactive: #fff;
  --_foreground-opened: #fff;
  --_background-default: #222D5D;
  --_background-interactive: oklch(
    from var(--_background-default) calc(l - 0.1) c h
  );
  --_background-opened: oklch(
    from var(--_background-default) calc(l - 0.2) c h
  );
  display: block grid;
  grid-template: ". icon"/1fr -webkit-max-content;
  grid-template: ". icon"/1fr max-content;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.5em;
  color: var(--_foreground-default);
  letter-spacing: 0.1em;
  cursor: pointer;
  -webkit-transition-duration: var(--_duration);
          transition-duration: var(--_duration);
  -webkit-transition-property: background-color, color;
  transition-property: background-color, color;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px){
summary {
  padding: 1.4rem;
    font-size: 1.6rem;
}
}

summary::before, summary::after {
  content: "";
  grid-area: icon;
  inline-size: 1em;
  -webkit-border-after: 1px solid;
          border-block-end: 1px solid;
  -webkit-writing-mode: initial;
      -ms-writing-mode: initial;
          writing-mode: initial;
}
summary::after {
  rotate: 90deg;
}
summary:focus-visible {
  background-color: var(--_background-interactive);
  color: var(--_foreground-interactive);
}
@media (any-hover: hover) {
  summary:hover {
    background-color: var(--_background-interactive);
    color: var(--_foreground-interactive);
  }
}
summary:is([open] > summary) {
  background-color: var(--_background-opened);
  color: var(--_foreground-opened);
}
summary:is([open] > summary)::after {
  opacity: 0;
}
.wrapper {
  max-inline-size: 100%;
  margin-inline: auto;
}
  .text_box {
    padding: 0.8em 1em;
  }

  /*テーブル*/
table.tbl {
  border-collapse: collapse;
  margin-top: 10px;
}
.tbl th {
  padding: 15px;
  background: #f7f7f7;
  border: 1px solid #d9d9d9;
  text-align: center;
}
.tbl td {
  padding: 15px;  
  border: 1px solid #d9d9d9;
}

@media screen and (max-width: 640px) {
  .scroll_box {
    padding-bottom: 20px;
    overflow-x: auto;
  }
  .tbl {
    min-width: 640px;
  }
  .tbl td {
    border-top: solid 1px #ccc;
    border-bottom: 1px solid #d9d9d9;
  }
}
 

#Contents .sublinkList{
  margin-top: 40px;
}
#Contents .sublinkList > li a {
  display: block;
}
#Contents .sublinkList > li a:hover {
  text-decoration: none;
  opacity: 0.8;
}
#Contents .sublinkList > li .listInner {
  display: inline-block;
  border: 1px solid #cccccc;
  border-radius: 5px;
}
@media print, screen and (min-width: 768px) {
  #Contents .sublinkList > li {
    float: left;
    margin-right: 20px;
    margin-bottom: 10px;
  }
  #Contents .sublinkList > li .listInner {
    padding: 10px 40px;
  }
  #Contents  .bnrArea img {
    width:100%;
   max-width: 600px;
  }
}
@media only screen and (max-width: 767px) {
  #Contents .sublinkList{
    margin-top: 25px;
  }
  #Contents .sublinkList > li {
    margin-top: 15px;
  }
  #Contents .sublinkList > li:first-child {
    margin-top: 0;
  }
  #Contents .sublinkList > li .listInner {
    display: block;
    padding: 10px 0;
    text-align: center;
  }
	
}

/* PC表示 */
.pcOnly {
  display: block !important;
}

@media (max-width: 768px) {
  .pcOnly {
  display: none !important;
  }
}

/* SP表示 */
.spOnly {
  display: none !important;
}

@media (max-width: 768px) {
  .spOnly {
  display: block !important;
  }
}

/*証明書発行サービス（オンライン申込み）ボタン*/
#Contents .sublinkList > li .listInner {
  background: #ffff00;
    border: 3px solid #cccccc;
    border-radius: 5px;
}