@charset "UTF-8";
/*==================================================================
media
===================================================================*/
/*==================================================================
初期設定
===================================================================*/
/* フォント設定 */
/* カラーパレット */
/*==================================================================
Mixin Library
===================================================================*/
/* ========================================================
   ブラウザデフォルトスタイル（アンリセット）
   リセットCSSで消えたスタイルを標準状態に戻します
======================================================== */
/* ----------------------------------------------------------------------
WordPress プリセットスタイル
---------------------------------------------------------------------- */
article .detailContent {
  /* -------------------------------------------
     ブロック要素
  ------------------------------------------- */
}
article .detailContent article, article .detailContent aside, article .detailContent details, article .detailContent figcaption, article .detailContent figure, article .detailContent footer, article .detailContent header, article .detailContent hgroup, article .detailContent main, article .detailContent menu, article .detailContent nav, article .detailContent section, article .detailContent summary {
  display: block;
}
article .detailContent {
  /* -------------------------------------------
     見出し (Headings)
  ------------------------------------------- */
}
article .detailContent h1 {
  font-size: 2em;
  margin: 0.67em 0;
  font-weight: bold;
}
article .detailContent h2 {
  font-size: 1.5em;
  margin: 0.83em 0;
  font-weight: bold;
}
article .detailContent h3 {
  font-size: 1.17em;
  margin: 1em 0;
  font-weight: bold;
}
article .detailContent h4 {
  font-size: 1em;
  margin: 1.33em 0;
  font-weight: bold;
}
article .detailContent h5 {
  font-size: 0.83em;
  margin: 1.67em 0;
  font-weight: bold;
}
article .detailContent h6 {
  font-size: 0.67em;
  margin: 2.33em 0;
  font-weight: bold;
}
article .detailContent {
  /* -------------------------------------------
     段落・引用など
  ------------------------------------------- */
}
article .detailContent p, article .detailContent blockquote, article .detailContent figure, article .detailContent hr {
  margin: 1em 0;
}
article .detailContent blockquote {
  margin-inline-start: 40px;
  margin-inline-end: 40px;
}
article .detailContent hr {
  box-sizing: content-box;
  height: 0;
  border-width: 1px;
  border-style: inset;
}
article .detailContent {
  /* -------------------------------------------
     リスト (Lists)
  ------------------------------------------- */
}
article .detailContent ul {
  list-style-type: disc;
  margin: 1em 0;
  padding-inline-start: 40px;
}
article .detailContent ol {
  list-style-type: decimal;
  margin: 1em 0;
  padding-inline-start: 40px;
}
article .detailContent li {
  display: list-item;
}
article .detailContent ul ul, article .detailContent ol ul {
  list-style-type: circle;
  margin: 0;
}
article .detailContent ul ul ul, article .detailContent ol ul ul, article .detailContent ul ol ul {
  list-style-type: square;
}
article .detailContent ol ol, article .detailContent ul ol {
  margin: 0;
}
article .detailContent dl {
  margin: 1em 0;
}
article .detailContent dd {
  margin-inline-start: 40px;
}
article .detailContent {
  /* -------------------------------------------
     インライン要素・文字装飾
  ------------------------------------------- */
}
article .detailContent strong, article .detailContent b {
  font-weight: bold;
}
article .detailContent em, article .detailContent i {
  font-style: italic;
}
article .detailContent u {
  text-decoration: underline;
}
article .detailContent s, article .detailContent strike, article .detailContent del {
  text-decoration: line-through;
}
article .detailContent sub {
  vertical-align: sub;
  font-size: smaller;
}
article .detailContent sup {
  vertical-align: super;
  font-size: smaller;
}
article .detailContent small {
  font-size: smaller;
}
article .detailContent mark {
  background-color: mark;
  color: marktext;
}
article .detailContent {
  /* -------------------------------------------
     リンク (Links)
  ------------------------------------------- */
}
article .detailContent a {
  color: #0000ee;
  text-decoration: underline;
  cursor: pointer;
}
article .detailContent a:visited {
  color: #551a8b;
}
article .detailContent a:active {
  color: #ff0000;
}
article .detailContent {
  /* -------------------------------------------
     コード・整形済みテキスト
  ------------------------------------------- */
}
article .detailContent code, article .detailContent kbd, article .detailContent pre, article .detailContent samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
article .detailContent pre {
  white-space: pre;
  margin: 1em 0;
}
article .detailContent {
  /* -------------------------------------------
     テーブル (Tables)
  ------------------------------------------- */
}
article .detailContent table {
  display: table;
  border-collapse: separate;
  border-spacing: 2px;
  box-sizing: border-box;
  border-color: grey;
}
article .detailContent thead {
  display: table-header-group;
  vertical-align: middle;
  border-color: inherit;
}
article .detailContent tbody {
  display: table-row-group;
  vertical-align: middle;
  border-color: inherit;
}
article .detailContent tfoot {
  display: table-footer-group;
  vertical-align: middle;
  border-color: inherit;
}
article .detailContent tr {
  display: table-row;
  vertical-align: inherit;
  border-color: inherit;
}
article .detailContent td, article .detailContent th {
  display: table-cell;
  vertical-align: inherit;
  padding: 1px;
}
article .detailContent th {
  font-weight: bold;
  text-align: center;
}
article .detailContent {
  /* -------------------------------------------
     画像
  ------------------------------------------- */
}
article .detailContent img {
  max-width: none;
  height: auto;
}
article .detailContent h1, article .detailContent h2, article .detailContent h3, article .detailContent h4, article .detailContent h5, article .detailContent h6, article .detailContent p {
  margin-top: 0;
}
article .detailContent {
  margin-bottom: 40px;
}
article .detailContent .p-custom-blocks {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
article .detailContent .p-custom-blocks > * {
  margin-bottom: 40px;
}
article .detailContent .p-custom-blocks > *:last-child {
  margin-bottom: 0;
}
article .detailContent .p-custom-blocks__text p {
  margin-bottom: 1.5em;
  line-height: 1.6;
}
article .detailContent .p-custom-blocks__text p:last-child {
  margin-bottom: 0;
}
article .detailContent .p-custom-blocks__gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 16px;
  width: 100%;
}
article .detailContent .p-custom-blocks__gallery-item {
  margin: 0;
  width: 100%;
}
article .detailContent .p-custom-blocks__gallery-item a {
  display: block;
  width: 100%;
}
article .detailContent .p-custom-blocks__gallery-item img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 1/1;
}
article .detailContent .p-custom-blocks__gallery-item figcaption {
  margin-top: 8px;
  font-size: 0.85rem;
  color: #666;
  text-align: center;
}
article .detailContent .p-custom-blocks__text-image {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (min-width: 768px) {
  article .detailContent .p-custom-blocks__text-image {
    flex-direction: row;
    gap: 40px;
  }
}
article .detailContent .p-custom-blocks__text-image-content, article .detailContent .p-custom-blocks__text-image-figure {
  width: 100%;
}
@media (min-width: 768px) {
  article .detailContent .p-custom-blocks__text-image-content, article .detailContent .p-custom-blocks__text-image-figure {
    width: 50%;
  }
}
article .detailContent .p-custom-blocks__text-image-figure {
  margin: 0;
}
article .detailContent .p-custom-blocks__text-image-figure img {
  display: block;
  width: 100%;
  height: auto;
}
@media (min-width: 768px) {
  article .detailContent .p-custom-blocks__text-image.is-image-left {
    flex-direction: row-reverse;
  }
}
@media (min-width: 768px) {
  article .detailContent .p-custom-blocks__text-image.is-image-right {
    flex-direction: row;
  }
}
article .detailContent .p-custom-blocks > table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  word-break: break-word;
  margin-bottom: 20px;
}
article .detailContent .p-custom-blocks > table caption {
  margin-bottom: 8px;
  font-size: 0.9rem;
  font-weight: bold;
  text-align: left;
  caption-side: top;
}
article .detailContent .p-custom-blocks > table th,
article .detailContent .p-custom-blocks > table td {
  padding: 12px 16px;
  border: 1px solid #ddd;
  text-align: left;
  vertical-align: top;
  line-height: 1.6;
}
article .detailContent .p-custom-blocks > table thead th {
  background-color: #f2f2f2;
  font-weight: bold;
  white-space: nowrap;
}
article .detailContent .p-custom-blocks > table tbody tr:nth-child(even) {
  background-color: #fafafa;
}
article .detailContent .p-custom-blocks__quote {
  margin: 0;
  padding: 20px 24px;
  border-left: 4px solid #17456d;
  background: #f5f8fb;
}
article .detailContent .p-custom-blocks__quote p {
  margin-bottom: 1em;
  line-height: 1.7;
}
article .detailContent .p-custom-blocks__quote p:last-child {
  margin-bottom: 0;
}
article .detailContent .p-custom-blocks__quote cite {
  display: block;
  margin-top: 8px;
  color: #5f6f7f;
  font-size: 0.9rem;
  text-align: right;
}
article .detailContent .p-custom-blocks__divider {
  margin: 8px 0;
  border: 0;
  border-top: 1px solid #d5dde5;
}
article .detailContent .p-custom-blocks__related {
  padding: 20px 24px;
  border: 1px solid #e2e8ef;
  border-radius: 8px;
  background: #fafcfe;
}
article .detailContent .p-custom-blocks__related-title {
  margin: 0 0 12px;
  font-size: 1.1rem;
  line-height: 1.4;
}
article .detailContent .p-custom-blocks__related-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
article .detailContent .p-custom-blocks__related-item {
  margin: 0;
  padding: 10px 0;
  border-top: 1px solid #e8edf2;
}
article .detailContent .p-custom-blocks__related-item:first-child {
  border-top: 0;
  padding-top: 0;
}
article .detailContent .p-custom-blocks__related-item:last-child {
  padding-bottom: 0;
}
article .detailContent .p-custom-blocks__related-link {
  color: #0e4f8a;
  text-decoration: underline;
  text-underline-offset: 2px;
}
article .detailContent .p-custom-blocks__related-link:hover {
  text-decoration-thickness: 2px;
}
article .detailContent .p-custom-blocks__video {
  text-align: center;
  margin: 0 auto 20px;
}
article .detailContent .c-btn {
  display: inline-block;
  padding: 12px 32px;
  background-color: #0056b3;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  border-radius: 4px;
  transition: opacity 0.3s;
}
article .detailContent .c-btn:hover {
  opacity: 0.8;
}
article .detailContent .c-btn-file {
  display: inline-flex;
  align-items: center;
  padding: 16px 24px;
  background-color: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  text-decoration: none;
  color: #333;
  transition: background-color 0.3s;
}
article .detailContent .c-btn-file:hover {
  background-color: #e2e6ea;
}
article .detailContent .c-btn-file__icon {
  margin-right: 12px;
  font-size: 1.2rem;
}
article .detailContent .c-btn-file__name {
  font-weight: 500;
}

/* ========================================================
モーダル（ライトボックス）用スタイル
======================================================== */
.c-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.c-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.c-modal__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.85);
  cursor: pointer;
}
.c-modal__content {
  position: relative;
  z-index: 1;
  max-width: 85%;
  max-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .c-modal__content {
    max-width: 90%;
    max-height: 90vh;
  }
}
.c-modal__image {
  max-width: 100%;
  max-height: 80vh;
  object-fit: contain;
  border-radius: 4px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}
@media (min-width: 768px) {
  .c-modal__image {
    max-height: 90vh;
  }
}
.c-modal__close, .c-modal__nav {
  background: rgba(0, 0, 0, 0.6);
  color: #ffffff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background-color 0.3s ease;
  padding: 0;
}
.c-modal__close:hover, .c-modal__nav:hover {
  background: rgba(0, 0, 0, 0.9);
}
.c-modal__close {
  position: fixed;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  font-size: 24px;
  line-height: 1;
  z-index: 2;
}
@media (min-width: 768px) {
  .c-modal__close {
    position: absolute;
    top: -40px;
    right: -40px;
    width: 40px;
    height: 40px;
    font-size: 28px;
  }
}
.c-modal__nav {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  font-size: 28px;
  line-height: 1;
  padding-bottom: 4px;
  z-index: 2;
}
@media (min-width: 768px) {
  .c-modal__nav {
    position: absolute;
    width: 48px;
    height: 48px;
    font-size: 32px;
  }
}
.c-modal__nav--prev {
  left: 8px;
}
@media (min-width: 768px) {
  .c-modal__nav--prev {
    left: -64px;
  }
}
.c-modal__nav--next {
  right: 8px;
}
@media (min-width: 768px) {
  .c-modal__nav--next {
    right: -64px;
  }
}/*# sourceMappingURL=article_style.css.map */