
/* head,text */
.style-h2{
  text-align: center;
   margin-bottom: 3em; 
}
.style-h2 .en{
  font-size: 1.25rem;
  color: var(--orange);
  font-weight: 600;
  letter-spacing: 2px;
}
.style-h2 .ja{
  font-size: 2.25rem;
  font-weight: 700;
}
.style-h2:has( + .ttl-subtext){
	margin-bottom: 2em;
}
.ttl-subtext{
	margin-bottom: 2em;
	line-height: 1.8;
	text-align: center;	
}
@media screen and (max-width:767px) {
	.style-h2{
	   margin-bottom: 2em; 
	}
	.style-h2 .en{
	  letter-spacing: 1px;
	  font-size: 1.125rem;
	}
	.style-h2 .ja{
	  font-size: 1.75rem;
	}
	.style-h2:has( + .ttl-subtext){
		margin-bottom: 1em;
	}
}





.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: 600;
  border-bottom: 2px solid var(--orange);
  padding: 0.5em 0.25em;
  margin-bottom: 1em;
}
.edit-wrap h3 {
  background-color: #f7f4f2;
  font-size: 1.5rem;
  font-weight: bold;
  padding: 0.25em 1em;
  margin-bottom: 0.875em;
}
.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: 260px;
  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: .25em;
  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::before{
  position: absolute;
  z-index: 10;
  display: inline-block;
  content: "";
  width: 1em;
  height: 0.9em;
  background: url(../img/common/icon_arrow.png) no-repeat;
  background-size: contain;
  top: 0.1em;
  right: 1em;
  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;
}
.session-btn a {
	position: relative;
	z-index: 10;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 27em;
	width: fit-content;
	min-height: 3.25em;
	text-align: center;
	font-size: 1.1rem;
	font-weight: 500;
	color: var(--white);
	background: #d90a2c;
	padding: 0.8em 5.25em;
	margin: auto;
	text-decoration: none;
	gap: 0;
	transition: transform 0.3s;
	border-radius: 5px;
	border: 2px solid #fff;
	filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.2));
}
.session-btn a::before{
  position: absolute;
  z-index: 10;
  display: inline-block;
  content: "";
  width: 1em;
  height: 0.9em;
  background: url(../img/common/icon_arrow.png) no-repeat;
  background-size: contain;
  top: 0.1em;
  right: 1em;
  bottom: 0;
  margin: auto;
}
.session-btn a span {
	position: relative;
	z-index: 0;
	color: #ffff00;
}
.session-btn a span::before,
.session-btn a span::after{
    display: block;
    position: absolute;
    z-index: 1;
    content: "";
    width: 1px;
    height: 1em;
    transform: rotate(-30deg);
    background: #ffff00;
    margin: auto;
    inset: 3px auto auto -9px;
}
.session-btn a span:after{
	transform: rotate(30deg);
    inset: 3px -9px auto auto;
}
.session-btn a em b{
	font-size: 1.5rem;
	font-weight: 600;
}
.deta-btn a {
	position: relative;
	z-index: 10;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 20em;
	width: fit-content;
	min-height: 4.75em;
	text-align: center;
	font-size: 1.1rem;
	font-weight: 500;
	color: var(--white);
	background: var(--skyblue);
	padding: 0.8em 5.25em;
	margin: auto;
	text-decoration: none;
	gap: 0;
	transition: transform 0.3s;
	border-radius: 5px;
	border: 2px solid #fff;
	filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.2));
}
.deta-btn a::before{
  position: absolute;
  z-index: 10;
  display: inline-block;
  content: "";
  width: 1em;
  height: 0.9em;
  background: url(../img/common/icon_arrow.png) no-repeat;
  background-size: contain;
  top: 0.1em;
  right: 1em;
  bottom: 0;
  margin: auto;
}
@media (any-hover: hover) {
	.session-btn a:hover,
	.deta-btn a:hover{
		transform: translateY(3px);
	}
}
@media screen and (max-width:767px){
	.session-btn a {
		min-width: unset;
		min-height: 2em;
		font-size: 1rem;
		padding: 0.8em 3em;
	}
	.session-btn a::before{
	  right: 0.5em;
	}
	.session-btn a em b{
		font-size: 1.25rem;
	}
	.deta-btn a {
		min-height: 4.5em;
		text-align: center;
		font-size: 1rem;
		padding: 0.8em 2em;
	}
	.deta-btn a::before{
	  right: .5em;
	}
}
.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;
  }
}

/*  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 {
  border-radius: 50% !important;
}
ul.page-numbers li a.prev::before,
ul.page-numbers li a.next::before {
  content: "";
  width: 1.125em;
}
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);
	border-radius: 50%;
}

span.page-numbers.current {}
@media (any-hover: hover) {
  ul.page-numbers li a:hover {
    color: var(--white);
    background: var(--black);
    border-color: var(--black);
  }
}
@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::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);
  }
}
