﻿
/* head,text */
.h1-ttl_box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0.75em;
  text-align: center;
}
.h1-ttl_box.txt-left {
  align-items: flex-start;
  text-align: left;
}
.h1-ttl_box .h1-ttl_lead {
  font-size: 3.875rem;
  text-transform: uppercase;
  line-height: 0.8;
}
.h1-ttl_box .h1-ttl {
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--yellow);
  margin-bottom: 1.25em;
}
.h1-ttl_box.txt-blk .h1-ttl {
  color: var(--black);
}
.module-wrap h1:not([class]) {
  text-align: center;
  font-size: 2.625rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-bottom: 0.75em;
}
.module-wrap h2:not([class]) {
  text-align: center;
  font-size: 2.25rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-bottom: 1.55em;
}
.module-wrap h3:not([class]) {
  font-size: 1.75rem;
  font-weight: bold;
  line-height: 1.2;
  border-left: 4px solid var(--yellow);
  padding-left: 0.45em;
  margin-bottom: 1em;
}
.article-heading_box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 1em;
  margin-bottom: 2.5em;
}
.article-heading_box time {
  position: relative;
  z-index: 10;
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 500;
  color: #8c8c8c;
  padding-left: 1.25em;
}
.article-heading_box time::before {
  position: absolute;
  z-index: 10;
  display: inline-block;
  content: "";
  width: min(1.1em, 15px);
  aspect-ratio: 1/1;
  background: #8c8c8c;
  mask: url(../img/common/icon-clock.svg) no-repeat;
  mask-size: contain;
  top: 0.15em;
  left: 0;
}
.article-heading_box .column-category {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  min-width: 7em;
  min-height: 1.825em;
  font-size: 0.875rem;
  font-weight: 500;
  color: #8c8c8c;
  background: #f5f5f5;
  border: 1px solid #d9d9d9;
  border-radius: 5em;
}
.article-heading_box .article-ttl {
  width: 100%;
  font-size: 2.25rem;
  font-weight: bold;
  color: var(--black);
  border-bottom: 2px solid var(--yellow);
  padding-bottom: 0.25em;
}
.article-image {
  width: 100%;
  border-radius: 1.25em;
  overflow: hidden;
  margin-bottom: 2.5em;
}
.article-image img {
  object-fit: cover;
  aspect-ratio: 16/9;
  max-width: inherit;
  width: 100%;
  height: 100%;
}
.edit-wrap>*+* {
  margin-top: 1em;
}
.edit-wrap>p+p img,
.edit-wrap>p+p iframe {
  margin-top: 1.5em;
}
.edit-wrap p {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
.edit-wrap h2 {
  font-size: 1.75rem;
  font-weight: bold;
  color: var(--black);
  border-left: 3px solid var(--yellow);
  padding-left: 0.5em;
  margin-top: 2em;
  margin-bottom: 1em;
}
.edit-wrap h3 {
  position: relative;
  z-index: 10;
  font-size: 1.5rem;
  font-weight: bold;
  border-bottom: 2px solid #c3c3c3;
  padding-bottom: 0.25em;
  margin-top: 1.5em;
  margin-bottom: 1em;
}
.edit-wrap h3::before {
  position: absolute;
  z-index: 10;
  display: inline-block;
  content: "";
  width: 200px;
  height: 2px;
  background: var(--yellow);
  left: 0;
  bottom: -2px;
}
.edit-wrap a:not([class]) {
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 0.5em;
}
.edit-wrap ul:not([class]) li,
.edit-wrap ol:not([class]) li,
.edit-wrap .wp-block-list li {
  line-height: 1.4;
}
.edit-wrap ul:not([class]) li+li,
.edit-wrap ol:not([class]) li+li,
.edit-wrap .wp-block-list li+li {
  margin-top: 0.25em;
}
.edit-wrap ul:not([class]) li,
.edit-wrap ul.wp-block-list li {
  list-style: disc;
  margin-left: 1.5em;
}
.edit-wrap ol:not([class]),
.edit-wrap ol.wp-block-list {
  padding-left: 0;
}
.edit-wrap ol:not([class]) li,
.edit-wrap ol.wp-block-list li {
  list-style: decimal;
  margin-left: 1.5em;
}
.edit-wrap #ez-toc-container {
  background: var(--beige02);
  border-radius: 1.25em;
  padding: 1.5em 2em 2.5em;
  margin-top: 2.5em;
}
.edit-wrap .ez-toc-title {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 0.5em;
}
.edit-wrap .ez-toc-list li {
  font-size: 1rem;
  line-height: 1.8;
}
.edit-wrap .ez-toc-list li+li {
  margin-top: 0.5em;
}
.edit-wrap .ez-toc-list li a {
  color: var(--black);
  text-decoration: underline;
  text-underline-offset: 0.5em;
}
.edit-wrap .vk_highlighter {
  background: linear-gradient(transparent 60%, var(--yellow02) 0) !important
}
.edit-wrap .wp-block-button {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 320px;
  width: fit-content;
  min-height: 3.5em;
  font-size: 1.125rem;
  font-weight: bold;
  color: var(--white);
  padding: 0.75em 3em;
}
.edit-wrap .wp-block-button::after {
  position: absolute;
  z-index: -10;
  display: inline-block;
  content: "";
  width: 100%;
  height: 100%;
  background: var(--skyblue);
  border-radius: 5em;
  filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0.15));
  transition: filter .4s, transform .4s;
}
.edit-wrap .wp-block-button .wp-block-button__link {
  position: relative;
  z-index: 10;
  font-size: inherit;
  color: inherit;
  background-color: transparent;
  border-radius: 0;
  padding: 0;
  padding-right: 1.25em;
  margin-right: -1.25em;
  text-decoration: none;
}
.edit-wrap .wp-block-button .wp-block-button__link::after {
  position: absolute;
  z-index: 10;
  display: inline-block;
  content: "";
  width: 1em;
  height: 0.9em;
  background: var(--white);
  mask: url(../img/common/icon-arrow.svg) no-repeat;
  mask-size: contain;
  top: 0.1em;
  right: 0;
  bottom: 0;
  margin: auto;
}
.edit-wrap .vk_borderBox.is-style-vk_borderBox-style-solid-kado-tit-onborder>.vk_borderBox_title_container {
  padding-block: 0;
}
.edit-wrap .vk_borderBox.is-style-vk_borderBox-style-solid-kado-tit-onborder>.vk_borderBox_title_container i {
  margin: 0;
}
@media (any-hover: hover) {
  .edit-wrap a:not([class]):hover,
  .edit-wrap .ez-toc-list li a:hover {
    text-decoration: none;
  }
  .edit-wrap .wp-block-button:has(.wp-block-button__link:hover)::after {
    filter: drop-shadow(0 10px 16px rgba(0, 0, 0, 0.15));
    transform: scale(0.95);
  }
}
@media screen and (max-width: 767px) {
  .h1-ttl_box .h1-ttl_lead {
    font-size: 2.75rem;
  }
  .h1-ttl_box .h1-ttl {
    font-size: 1.125rem;
    margin-bottom: 1.5em;
  }
  .module-wrap h1:not([class]) {
    font-size: 1.75rem;
    margin-bottom: 0.5em;
  }
  .module-wrap h2:not([class]) {
    font-size: 1.5rem;
    margin-bottom: 1em;
  }
  .module-wrap h3:not([class]) {
    font-size: 1.35rem;
    margin-bottom: 0.5em;
  }
  .article-heading_box {
    gap: 0.25em;
    margin-bottom: 1.5em;
  }
  .article-heading_box time {
    font-size: 1rem;
  }
  .article-heading_box .column-category {
    font-size: 0.75rem;
  }
  .article-heading_box .article-ttl {
    font-size: 1.5rem;
  }
  .article-image {
    border-radius: 0.75em;
    margin-bottom: 2em;
  }
  .edit-wrap>*+* {
    margin-top: 1em;
  }
  .edit-wrap>p+p img,
  .edit-wrap>p+p iframe {
    margin-top: 1.5em;
  }
  .edit-wrap p {
    font-size: 1rem;
    line-height: 2;
    letter-spacing: 0.1em;
  }
  .edit-wrap h2 {
    font-size: 1.5rem;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
  }
  .edit-wrap h3 {
    font-size: 1.125rem;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
  }
  .edit-wrap h3::before {
    width: 100px;
  }
  .edit-wrap #ez-toc-container {
    border-radius: 0.75em;
    padding: 1em 1.5em 2em;
  }
  .edit-wrap .ez-toc-title {
    font-size: 1.25rem;
  }
  .edit-wrap .wp-block-button {
    min-width: 220px;
    min-height: 3.75em;
    font-size: 1rem;
    padding: 0.75em 2.25em;
  }
}
/* Link */
.common_btn {
  text-align: center;
  margin: 0 auto;
}
.common_btn a {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 320px;
  width: fit-content;
  min-height: 3.5em;
  font-size: 1.125rem;
  font-weight: bold;
  color: var(--white);
  padding: 0.75em 3em;
  margin: auto;
  text-decoration: none;
}
.common_btn a::after {
  position: absolute;
  z-index: -10;
  display: inline-block;
  content: "";
  width: 100%;
  height: 100%;
  background: var(--black);
  border-radius: 5em;
  filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0.15));
  transition: filter .4s, transform .4s;
}
.common_btn a span {
  position: relative;
  z-index: 10;
  padding-right: 1.25em;
  margin-right: -1.25em;
}
.common_btn a span::after {
  position: absolute;
  z-index: 10;
  display: inline-block;
  content: "";
  width: 1em;
  height: 0.9em;
  background: var(--white);
  mask: url(../img/common/icon-arrow.svg) no-repeat;
  mask-size: contain;
  top: 0.1em;
  right: 0;
  bottom: 0;
  margin: auto;
}
.common_btn a[target="_blank"] span::after {
  width: 1em;
  height: 1em;
  mask-image: url(../img/common/icon-target.svg);
  top: 0.1em;
}
.contact-btn.common_btn a,
.site-btn.common_btn a {
  min-width: min(100%, 480px);
  min-height: 3.8125em;
  font-size: 1.375rem;
}
.contact-btn.common_btn a::after {
  background: var(--pink);
}
.btn_download.common_btn a::after {
  background: var(--skyblue);
}
.site-btn.common_btn a::after {
  background: var(--yellow);
}
.txt_link a,
a.txt_link {
  position: relative;
  z-index: 10;
  display: inline-block;
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--yellow);
  text-decoration: underline;
  text-underline-offset: 0.5em;
  padding-right: 2.5em;
}
.txt_link a::before,
a.txt_link::before,
.txt_link a::after,
a.txt_link::after {
  position: absolute;
  z-index: 10;
  display: inline-block;
  content: "";
  width: 2em;
  aspect-ratio: 1/1;
  top: -0.25em;
  right: 0;
}
.txt_link a::before,
a.txt_link::before {
  background: var(--yellow);
  border-radius: 100%;
  filter: drop-shadow(0 10px 16px rgba(0, 0, 0, 0.2));
}
.txt_link a::after,
a.txt_link::after {
  background: var(--white);
  mask: url(../img/common/icon-arrow.svg) no-repeat;
  mask-size: 45%;
  mask-position: center;
}
.txt_link a[target="_blank"]::after,
a.txt_link[target="_blank"]::after {
  mask-image: url(../img/common/icon-target.svg);
}
.edit-wrap + .archive-btn{
  margin-top:5em;
}
.archive-btn a {
  position: relative;
  z-index: 10;
  display: block;
  width: fit-content;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--black);
  margin-inline: auto;
  text-decoration: none;
}
.archive-btn a::after {
  position: absolute;
  z-index: 10;
  display: inline-block;
  content: "";
  width: 100%;
  height: 2px;
  background: var(--black);
  border-radius: 1em;
  left: 0;
  bottom: 0;
  transform: scale(0, 1);
  transform-origin: right;
  transition: transform .4s;
}
@media (any-hover: hover) {
  .common_btn a:hover::after {
    filter: drop-shadow(0 10px 16px rgba(0, 0, 0, 0.15));
    transform: scale(0.95);
  }
  .contact-btn.common_btn a:hover::after,
  .site-btn.common_btn a:hover::after {
    transform: scale(0.99);
  }
  .txt_link a:hover,
  a.txt_link:hover {
    text-decoration: none;
  }
  .archive-btn a:hover::after {
    transform: scale(1, 1);
    transform-origin: left;
  }
}
@media screen and (max-width: 767px) {
  .common_btn a {
    min-width: 220px;
    min-height: 3.75em;
    font-size: 1rem;
    padding: 0.75em 2.25em;
  }
  .contact-btn.common_btn a,
  .site-btn.common_btn a {
    min-width: 100%;
    min-height: 3.75em;
    font-size: 1.25rem;
  }
}
/* list */
.column-list {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 3em 1.875em;
}
.column-side_box .column-list {
  gap: 0;
}
.column-list .column-item {
  width: calc((100% - 3.75em) / 3);
}
.column-side_box .column-list .column-item {
  width: 100%;
  border-bottom: 1px solid #c3c3c3;
  padding-bottom: 0.75em;
  margin-bottom: 0.75em;
}
.column-list .column-item a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0.75em;
  color: var(--black);
  text-decoration: none;
}
.column-side_box .column-list .column-item a {
  align-items: flex-start;
  flex-direction: row;
  gap: 0.75em;
}
.column-list .column-item a>* {
  width: 100%;
}
.column-list .column-item a .column-item_image {
  background: #c4c4c4;
  border-radius: 1em;
  aspect-ratio: 3/2;
  overflow: hidden;
}
.column-list .column-item a .column-item_image img {
  object-fit: cover;
  max-width: inherit;
  width: 100%;
  height: 100%;
  transform: scale(1.01);
  transition: transform .4s;
}
.column-side_box .column-list .column-item a .column-item_image {
  width: 35%;
  border-radius: 0.5em;
  aspect-ratio: 1/1;
}
.column-list .column-item a .column-item_text time {
  position: relative;
  z-index: 10;
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 500;
  color: #8c8c8c;
  padding-left: 1.25em;
  margin-bottom: 0.5em;
}
.column-list .column-item a .column-item_text time::before {
  position: absolute;
  z-index: 10;
  display: inline-block;
  content: "";
  width: min(1.1em, 15px);
  aspect-ratio: 1/1;
  background: #8c8c8c;
  mask: url(../img/common/icon-clock.svg) no-repeat;
  mask-size: contain;
  top: 0.15em;
  left: 0;
}
.column-side_box .column-list .column-item a .column-item_text time {
  display: block;
  font-size: 0.75rem;
  margin-bottom: 0;
}
.column-list .column-item a .column-item_ttl {
  font-size: 1.125rem;
  font-weight: bold;
  letter-spacing: -0.05em;
  margin-bottom: 0.5em;
}
.column-side_box .column-list .column-item a .column-item_ttl {
  font-size: 0.875rem;
  margin-bottom: 0.25em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.column-list .column-item a .column-item_category {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  min-width: 7em;
  min-height: 1.825em;
  font-size: 0.875rem;
  font-weight: 500;
  color: #8c8c8c;
  background: #f5f5f5;
  border: 1px solid #d9d9d9;
  border-radius: 5em;
}
.column-side_box .column-list .column-item a .column-item_category {
  min-width: 5em;
  min-height: 1.5em;
  font-size: 0.75em;
}
@media (any-hover: hover) {
  .column-list .column-item a:hover .column-item_image img {
    transform: scale(1.05);
  }
}
@media screen and (max-width: 767px) {
  .column-list {
    gap: 1.5em 1em;
  }
  .column-list .column-item {
    width: calc((100% - 1em) / 2);
  }
  .column-list .column-item a {
    gap: 0.25em;
  }
  .column-list .column-item a .column-item_image {
    border-radius: 0.65em;
  }
  .column-list .column-item a .column-item_text time {
    font-size: 0.75rem;
    margin-bottom: 0.25em;
  }
  .column-list .column-item a .column-item_ttl {
    font-size: 0.875rem;
    margin-bottom: 0.25em;
  }
  .column-list .column-item a .column-item_category {
    font-size: 0.75rem;
  }
}
.works-category_list {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  gap: 3.5em 0.75em;
  width: 100%;
  text-align: left;
  margin: 0 auto 3em;
}
.works-category_list .works-item {
  width: calc((100% - 1.5em) /3);
}
.works-category_list .works-item a {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  width: 100%;
  text-decoration: none;
}
.works-category_list .works-item_image {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 3/2;
}
.works-category_list .works-item_image img {
  object-fit: cover;
  max-width: inherit;
  width: 100%;
  height: 100%;
  transform: scale(1.01);
  transition: transform .4s;
}
.works-category_list .works-item_text {
  position: relative;
  z-index: 10;
  width: 100%;
  min-height: 3.75em;
  padding-right: 4.25em;
  margin-top: 1em;
}
.works-category_list .works-item_text .works-item_ttl {
  font-size: 1.125rem;
  font-weight: bold;
}
.works-category_list .works-item_category {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 5em;
  text-align: center;
  font-size: 0.875rem;
  color: var(--white);
  line-height: 0.8;
  background: var(--yellow);
  border-radius: 3em;
  padding: 0.25em 0.25em 0.3em;
  margin-top: 0.75em;
}
@media (any-hover: hover) {
  .works-category_list a:hover .works-item_image img {
    transform: scale(1.05);
  }
}
@media screen and (max-width: 767px) {
  .works-category_scroll {
    position: relative;
    z-index: 10;
  }
  .works-category_list {
    gap: 3.5em 0.75em;
    margin: 0 auto 3em;
    overflow: auto;
  }
  .works-category_list:has(>*:nth-child(2))::after,
  .works-category_list:has(>*:nth-child(2))>*:last-child::after {
    position: absolute;
    z-index: 10;
    display: block;
    content: "";
    width: 3em;
    height: 100%;
    background: var(--black);
    background: linear-gradient(-90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 50%);
    top: 0;
    right: 0;
    bottom: 0;
  }
  .works-category_list .works-item {
    width: 100%;
  }
  .works-category_list:has(>*:nth-child(2)) .works-item {
    min-width: 80%;
  }
  .works-category_list:has(>*:nth-child(2))>*:last-child {
    position: relative;
    margin-right: 3em;
  }
  .works-category_list:has(>*:nth-child(2))>*:last-child::after {
    z-index: 15;
    top: 0;
    right: -3em;
    bottom: 0;
    background: rgb(255, 255, 255);
  }
  .works-category_list .works-item a {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    width: 100%;
    text-decoration: none;
  }
  .works-category_list .works-item_text {
    min-height: 3.75em;
    padding-right: 2.25em;
    margin-top: 0.5em;
  }
  .works-category_list .works-item_text .works-item_ttl {
    font-size: 1rem;
  }
  .works-category_list .works-item_category {
    font-size: 0.75rem;
    margin-top: 0.5em;
  }
}
/*  GoogleMAP・動画埋め込み  */
.map_wrap iframe {
  width: 100%;
}
.movie_wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
}
.movie_wrap iframe,
.movie_wrap video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
/*  パンくずリスト  */
#pan {
  position: relative;
  z-index: 2;
  margin-top: 1.75rem;
  margin-bottom: 6.25rem;
  overflow: hidden;
}
#pan ol {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  font-size: 0;
  overflow-y: hidden;
  overflow-x: auto;
}
#pan li,
#pan li * {
  display: inline-block;
  vertical-align: middle;
  font-size: 0.875rem;
  text-transform: uppercase;
  white-space: nowrap;
}
#pan li::after {
  display: inline-block;
  vertical-align: middle;
  content: "\003E";
}
#pan li:not(:last-child) {
  margin-right: 0.5em;
}
#pan li:last-child::after {
  display: none;
}
#pan li * {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  color: var(--black);
}
#pan li a {
  text-decoration: underline;
  text-underline-offset: 0.625em;
}
@media (any-hover: hover) {
  #pan li a:hover {
    text-decoration: none;
  }
}
@media only screen and (max-width: 767px) {
  #pan {
    position: relative;
    z-index: 10;
    margin-top: 1em;
    margin-bottom: 2.5em;
    overflow: hidden;
  }
  #pan:after,
  #pan li:last-child:after {
    position: absolute;
    z-index: 10;
    content: "";
    display: block;
    top: 0;
    bottom: 0;
    right: 0;
    width: 0.75em;
    background: var(--black);
    background: linear-gradient(-90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 50%);
  }
  #pan a {
    text-decoration: underline;
  }
  #pan li:last-child {
    position: relative;
    padding-right: 0.75em;
    margin-right: 0;
    flex-grow: 1;
  }
  #pan li:last-child:after {
    z-index: 20;
    top: -1em;
    bottom: -1em;
    background: var(--white);
  }
}
/*  ページャー  */
.navigation {
  margin-top: 8em;
}
ul.page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 0.5em;
  padding: 0;
  margin: 0;
}
ul.page-numbers li {
  margin: 0;
}
ul.page-numbers li a,
ul.page-numbers li span.page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 2.625em;
  aspect-ratio: 1/1;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1;
  color: #aeaeae;
  border: 1px solid #d9d9d9;
  border-radius: 100%;
  background: var(--white);
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  text-decoration: none;
}
ul.page-numbers li a.prev,
ul.page-numbers li a.next {
  width: 3.375em;
  background: var(--yellow);
  border-color: var(--yellow);
}
ul.page-numbers li a.prev::before,
ul.page-numbers li a.next::before {
  content: "";
  width: 1.125em;
  aspect-ratio: 6/5;
  background: var(--white);
  mask: url(../img/common/icon-arrow.svg);
  mask-size: cover;
}
ul.page-numbers li a.prev::before {
  transform: scale(-1, 1);
}
ul.page-numbers li span.page-numbers.current {
  color: var(--white);
  background: var(--black);
  border-color: var(--black);
}
@media (any-hover: hover) {
  ul.page-numbers li a:hover {
    color: var(--white);
    background: var(--black);
    border-color: var(--black);
  }
  ul.page-numbers li a.prev:hover,
  ul.page-numbers li a.next:hover {
    background: var(--white);
    border-color: var(--yellow);
  }
  ul.page-numbers li a.prev:hover::before,
  ul.page-numbers li a.next:hover::before {
    background: var(--yellow);
  }
}
@media screen and (max-width:767px) {
  .navigation {
    margin-top: 3em;
  }
  ul.page-numbers {
    gap: 0 0.25em;
  }
  ul.page-numbers li a,
  ul.page-numbers li span.page-numbers {
    width: 2.5em;
    font-size: 0.875rem;
  }
  ul.page-numbers li a.prev,
  ul.page-numbers li a.next {
    width: 3.25em;
  }
  ul.page-numbers li a.prev::before,
  ul.page-numbers li a.next::before {
    width: 1em;
  }
}
/*  モーダル  */
.modal-content {
  width: 80%;
  max-width: 1240px;
  margin: 0px;
  padding: 10px 20px;
  background: none;
  position: fixed;
  display: none;
  z-index: 1020;
}
#modal-overlay {
  z-index: 1000;
  display: none;
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 120%;
  background-color: rgba(0, 0, 0, 0.66);
}
.modal-content .close_btn {
  position: absolute;
  top: -10%;
  right: 0px;
  color: rgb(255, 255, 255);
  font-size: 40px;
  line-height: 1;
  display: block;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .modal-content {
    width: 100%;
    padding: 15px;
    box-sizing: border-box;
  }
}
/*  タブ切替  */
.tab_change>input[type="radio"] {
  display: none;
}
.tab_change>input[type="radio"]~.tab_table .tab_content {
  overflow: hidden;
  opacity: 0;
  max-height: 0;
  z-index: -10;
  visibility: hidden;
  transition: opacity .4s;
}
.tab_change>input[id$="01"]:checked~.tab_table div[class$="01"],
.tab_change>input[id$="02"]:checked~.tab_table div[class$="02"],
.tab_change>input[id$="03"]:checked~.tab_table div[class$="03"],
.tab_change>input[id$="04"]:checked~.tab_table div[class$="04"],
.tab_change>input[id$="05"]:checked~.tab_table div[class$="05"] {
  opacity: 1;
  z-index: 10;
  visibility: visible;
  max-height: 200vh;
  overflow: visible;
  width: 100%;
}
.tab_change {
  position: relative;
  z-index: 20;
}
.tab_change::after {
  position: absolute;
  z-index: 10;
  display: inline-block;
  content: "";
  width: 100vw;
  height: 3px;
  background: var(--yellow);
  left: 50%;
  top: 3.75em;
  transform: translateX(-50%);
}
.tab_controller {
  display: flex;
  justify-content: flex-start;
  gap: 2px;
}
.tab_controller label,
.tab_controller a {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.5em;
  text-align: center;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.2;
  color: var(--white);
  text-decoration: none;
  background: #c4c4c4;
  border-radius: 0.75em 0.75em 0 0;
}
.tab_controller a:hover,
.tab_controller a.on,
.tab_change>input[id$="01"]:checked~.tab_controller label[for$="01"],
.tab_change>input[id$="02"]:checked~.tab_controller label[for$="02"],
.tab_change>input[id$="03"]:checked~.tab_controller label[for$="03"],
.tab_change>input[id$="04"]:checked~.tab_controller label[for$="04"],
.tab_change>input[id$="05"]:checked~.tab_controller label[for$="05"] {
  color: var(--black);
  background: var(--yellow);
}
@media (any-hover: hover) {
  .tab_controller a:hover,
  .tab_controller label:hover {
    color: var(--black);
    background: var(--yellow);
  }
}
@media screen and (max-width: 767px) {
  .tab_change::after {
    top: 3.25em;
  }
  .tab_controller {
    overflow-x: auto;
    overflow-y: visible;
  }
  .tab_controller label,
  .tab_controller a {
    min-height: 3.25em;
    font-size: 1rem;
    padding: 0.35em;
  }
  .tab_controller:has(>*:nth-child(4))>* {
    min-width: calc(105% / 3);
  }
  .tab_controller:has(>*:nth-child(4))::after,
  .tab_controller:has(>*:nth-child(4))>*:last-child::after {
    position: absolute;
    z-index: 10;
    display: block;
    content: "";
    width: 1em;
    height: 100%;
    background: var(--black);
    background: linear-gradient(-90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 50%);
    top: 0;
    right: 15px;
    bottom: 0;
  }
  .tab_controller:has(>*:nth-child(4))>*:last-child {
    position: relative;
    margin-right: 1em;
  }
  .tab_controller:has(>*:nth-child(4))>*:last-child::after {
    z-index: 15;
    top: 0;
    right: -1em;
    bottom: 0;
    background: rgb(255, 255, 255);
  }
}
/*  フォーム  */
.smf-form .smf-item.required-box .smf-item__description,
.smf-form .smf-item.required-text_box .required-text strong {
  display: inline-block;
  vertical-align:baseline;
  font-size: 0.875rem;
  font-weight:normal;
  line-height: 1;
  letter-spacing:0.1em;
  color: var(--white) !important;
  background: #d12222 !important;
  border: 1px solid #d12222;
  border-radius: 3px;
  padding: 0.2em 0.5em 0.3em;
  margin: 0;
}
.smf-form .smf-item.required-text_box .required-text strong {
  margin-right: 0.5em;
}
.smf-form .smf-item input[type="text"],
.smf-form .smf-item input[type="search"],
.smf-form .smf-item input[type="email"],
.smf-form .smf-item input[type="tel"],
.smf-form .smf-item input[type="number"],
.smf-form .smf-item input[type="password"],
.smf-form .smf-item input[type="date"],
.smf-form .smf-item textarea,
.smf-form .smf-item select {
  border: #e5e5e5 solid 1px;
  display: block;
  width: 100%;
  height: 3.5em;
  line-height: 3.5em;
  padding: 0 1em !important;
  font-size: 1rem;
  font-weight: 500;
  margin-bottom: 0 !important;
  border-radius: 7px;
}
.smf-form .smf-item textarea {
  height: auto;
  line-height: 1.5em;
  padding: 1em !important;
}
.smf-form .smf-item input::placeholder,
.smf-form .smf-item textarea::placeholder {
  color: #d4d4d4;
  font-weight:normal;
}
.smf-form .smf-item label {
  cursor: pointer;
}
.smf-form .smf-item input[type="radio"],
.smf-form .smf-item input[type="checkbox"] {
  position: absolute;
  z-index: -10;
  font-size: 0;
  line-height: 0;
  border: none;
  background: transparent;
  outline: none;
  box-shadow: none;
  width: 0;
  height: 0;
  margin: 0
}
.smf-form .smf-item input[type="radio"]::before,
.smf-form .smf-item input[type="checkbox"]::before {
  display: none !important;
}
.smf-form .smf-item input[type="radio"]+span,
.smf-form .smf-item input[type="checkbox"]+span {
  display: inline-block;
  padding: 0.25em 0.25em 0.25em 1.75em;
  position: relative;
}
.smf-form .smf-item input[type="checkbox"]+span {
  padding-left: 1.75em;
}
.smf-form .smf-item label input[type="radio"]+span:before,
.smf-form .smf-item label input[type="checkbox"]+span:before,
.smf-form .smf-item label input[type="radio"]+span:after,
.smf-form .smf-item label input[type="checkbox"]+span:after {
  content: "";
  display: inline-block;
  width: 1.125rem;
  height: 1.125rem;
  border:2px solid #dadada;
  border-radius: 2px;
  background: var(--white);
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: opacity .2s;
}
.smf-form .smf-item label input[type="checkbox"]+span:after {
  border: none;
  width: 0.875rem;
  height: 0.5rem;
  background: none;
  border-top: solid 3px var(--white);
  border-right: solid 3px var(--white);
  transform: rotate(135deg);
  top: -0.2em;
  left: 0.1em;
  opacity: 0;
}
.smf-form .smf-item label input[type="radio"]+span:before {
  border-radius: 50%;
  width: 1.125em;
  height: 1.125em;
}
.smf-form .smf-item label input[type="radio"]+span:after {
  border-radius: 50%;
  width: 0.75em;
  height: 0.75em;
  border: none;
  background: var(--yellow);
  top: 0;
  left: 0.2em;
  opacity: 0;
}
.smf-form .smf-item label input[type="checkbox"]:checked+span:before {
  border-color: var(--yellow);
  background: var(--yellow);
}
.smf-form .smf-item label input[type="radio"]:checked+span:after,
.smf-form .smf-item label input[type="checkbox"]:checked+span:after {
  opacity: 1;
}
.smf-form .smf-item input[type="radio"]:focus+span::before,
.smf-form .smf-item input[type="checkbox"]:focus+span::before {
  outline: 1px solid;
}
.smf-form .smf-item .smf-control-description{
  font-size:0.875rem;
  color:var(--black);
  margin-top:0;
}
.smf-form .smf-item .smf-select-control {
  width: 40%;
}
.smf-form .privacypolicy-box .smf-placeholder {
  text-align: center;
}
.smf-action {
  display: flex;
  justify-content: center;
  flex-direction: column-reverse;
  margin: 3em auto 0 !important;
  gap: 1em;
}
.smf-action .smf-button-control{
  margin:0 !important;
}
.smf-action .smf-button-control__control {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 320px;
  width: fit-content;
  min-height: 3em;
  font-size: 1rem;
  font-weight: 500;
  color: var(--white);
  padding: 0.75em 3em;
  margin: auto;
  text-decoration: none;
  background: transparent;
  border: none;
  border-radius: 0;
  transition: none;
}
.smf-action .smf-button-control__control::after {
  position: absolute;
  z-index: -10;
  display: inline-block;
  content: "";
  width: 100%;
  height: 100%;
  background: var(--black);
  border-radius: 5em;
  filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0.15));
  transition: filter .4s, transform .4s;
}
.smf-action .smf-button-control__control .smf-sending::before{
  display:none;
}
.smf-action .smf-button-control__control .smf-sending {
  position: absolute;
  z-index: 50;
  display: inline-block;
  width: 1em;
  height: 0.9em;
  background: var(--white);
  mask: url(../img/common/icon-arrow.svg) no-repeat;
  mask-size: contain;
  top: 0.25em;
  right: 34%;
  bottom: 0;
  margin: auto;
  transform: translateX(-50%);
  visibility: visible;
}
.smf-action .smf-button-control__control[data-action="back"]{
  min-width: 220px;
}
.smf-action .smf-button-control__control[data-action="back"] .smf-sending {
  right: 28%;
}
.snow-monkey-form[data-screen="input"] .form-confirm,
.snow-monkey-form[data-screen="invalid"] .form-confirm,
.snow-monkey-form[data-screen="back"] .form-confirm,
.snow-monkey-form[data-screen="confirm"] .form-input,
.snow-monkey-form[data-screen="invalid"] .form-input {
  display: none !important;
}
.smf-form .smf-item {
  padding: 1.5rem 0;
}
.smf-form .smf-item.required-text_box{
  padding-bottom:0.5rem;
}
.smf-form .smf-item.required-text_box .form-text_lead{
  text-align:center;
  line-height:1.8;
  margin-bottom:5em;
}
.smf-form .smf-item:not(div:has(.form-confirm)) {
  border-bottom: 1px solid #dadada;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.smf-form .smf-item:last-child {
  border-bottom: none !important;
  padding-bottom: 0;
}
.smf-form.smf-form--letter .smf-item{
  flex-direction:column;
  gap:0.5em;
  padding: 0.75em 0;
}
.smf-form.smf-form--letter .smf-item__col {
  max-width: 100% !important;
  width:100% !important;
  padding:0 !important;
  flex: 0 !important;
}
.smf-form.smf-form--letter .smf-item .smf-item__col--label{
  min-height:0;
  justify-content: flex-start;
  gap: 0.75em;
}
.smf-form .smf-item .smf-item__col--label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 100%;
  flex: 285px;
  width: 285px;
  padding-right: 4em;
  padding-bottom: 0;
  box-sizing: border-box;
}
.snow-monkey-form:not([data-screen="confirm"]) .smf-item .smf-item__col--label{
  min-height: 4em;
}
.smf-form .smf-item:not(.required-box) .smf-item__col--label {
  flex-direction: column;
  justify-content: space-around;
  align-items: flex-start;
}
.smf-form .smf-item .smf-item__label__text {
  font-size: 1rem;
}
.smf-form .smf-item .smf-item__col--label+.smf-item__col--controls {
  flex: calc(100% - 285px);
  max-width: calc(100% - 285px);
}
.smf-form .smf-item .smf-item__col--controls {
  flex: 100%;
  max-width: 100%;
}
.smf-form .smf-radio-buttons-control--horizontal .smf-radio-buttons-control__control>.smf-label{
  min-width:30%;
}
.smf-form .smf-item.privacypolicy-box p {
  line-height:1.8;
}
.smf-form .smf-item.privacypolicy-box p a {
  color:var(--blue);
  text-decoration:underline;
  text-underline-offset:0.35em;
}
@media (any-hover: hover) {
  .smf-action .smf-button-control__control:hover::after {
    filter: drop-shadow(0 10px 16px rgba(0, 0, 0, 0.15));
    transform: scale(0.95);
  }
  .smf-form .smf-item.privacypolicy-box p a:hover {
    text-decoration:none;
  }
}
@media screen and (max-width: 767px) {
  .smf-form .smf-item input[type="text"],
  .smf-form .smf-item input[type="search"],
  .smf-form .smf-item input[type="email"],
  .smf-form .smf-item input[type="tel"],
  .smf-form .smf-item input[type="number"],
  .smf-form .smf-item input[type="password"],
  .smf-form .smf-item input[type="date"],
  .smf-form .smf-item textarea,
  .smf-form .smf-item select {
    font-size: 1rem;
  }
  .smf-form .smf-item label input[type="radio"]+span,
  .smf-form .smf-item label input[type="checkbox"]+span {
    font-size: 1rem;
    padding-left: 1.5em;
  }
  .smf-action .smf-button-control__control {
    min-width: 100%;
    min-height: 3.5em;
  }
  .smf-action .smf-button-control__control .smf-sending {
    right: 38%;
  }
  .smf-form .smf-item {
    flex-direction: column;
    gap: 1em;
    padding: 1rem 0;
  }
  .smf-form .smf-item.required-text_box .form-text_lead{
    text-align:left;
    margin-bottom:3em;
  }
  .smf-form .smf-item .smf-item__col--label {
    flex: 100%;
    width: 100%;
    min-height: 0;
    padding-right: 0;
  }
  .smf-form .smf-item.required-box .smf-item__col--label {
    justify-content: flex-start;
    gap: 0 0.5em;
    padding: 0;
  }
  .snow-monkey-form:not([data-screen="confirm"]) .smf-item .smf-item__col--label{
    min-height: 0;
  }
  .smf-form .smf-item .smf-radio-buttons-control__control .smf-label {
    min-width: 0;
    display: block !important;
    margin: 0 !important;
  }
  .smf-form .smf-item .smf-item__col--label+.smf-item__col--controls {
    flex: 100%;
    max-width: 100%;
    width: 100%;
  }
}