.SinglePage {
  background-color: #e3ebf7;
  color: #003c8f;
  padding-bottom: 7.5rem /* 120px (基準16px) */;
}

.s .SinglePage {
  padding-bottom: 5rem /* 80px (基準16px) */;
}

.SinglePage-inner {
  width: min(75rem /* 1200px (基準16px) */, 83.333vw /* 1200px (基準1440px) */);
  margin: 0 auto;
}

.s .SinglePage-inner {
  width: max(20.938rem /* 335px (基準16px) */, 89.333vw /* 335px (基準375px) */);
}

.SinglePage-meta {
  display: flex;
  align-items: center;
  column-gap: 1.25rem /* 20px (基準16px) */;
}

.s .SinglePage-meta {
  flex-direction: column;
  align-items: flex-start;
  row-gap: 0.625rem /* 10px (基準16px) */;
}

.SinglePage-date {
  font-size: min(1.25rem /* 20px (基準16px) */, 1.389vw /* 20px (基準1440px) */);
}

.s .SinglePage-date {
  font-size: min(0.875rem /* 14px (基準16px) */, 3.733vw /* 14px (基準375px) */);
}

.SinglePage-category {
  padding: min(0.313rem /* 5px (基準16px) */, 0.694vw /* 10px (基準1440px) */)
    min(0.625rem /* 10px (基準16px) */, 2.667vw /* 10px (基準375px) */);
  border: 1px solid #003c8f;
  border-radius: 50px;
  font-size: min(0.875rem /* 14px (基準16px) */, 0.972vw /* 14px (基準1440px) */);
}

.s .SinglePage-category {
  font-size: min(0.75rem /* 12px (基準16px) */, 3.2vw /* 12px (基準375px) */);
}

.SinglePage-title {
  font-size: min(3.75rem /* 60px (基準16px) */, 4.167vw /* 60px (基準1440px) */);
  font-weight: bold;
  margin-top: 2rem /* 32px (基準16px) */;
}

h1.SinglePage-title {
  line-height: 1.4;
}

.s .SinglePage-title {
  margin-top: 1.5rem /* 24px (基準16px) */;
  font-size: min(2rem /* 32px (基準16px) */, 8.533vw /* 32px (基準375px) */);
}

.SinglePage-thumbnail {
  margin-top: 2rem /* 32px (基準16px) */;
  aspect-ratio: 2 / 1;
}

.s .SinglePage-thumbnail {
  margin-top: 1.5rem /* 24px (基準16px) */;
}

.SinglePage-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1rem /* 16px (基準16px) */;
}

.SinglePage-banner {
  margin-top: 3.5rem /* 56px (基準16px) */;
}

.s .SinglePage-banner {
  margin-top: 2.5rem /* 40px (基準16px) */;
}

.SinglePage-banner .SinglePage-bannerLink {
  display: block;
  margin-top: 1.25rem /* 20px (基準16px) */;
}

.SinglePage-relatedNews {
  margin-top: 3.5rem /* 56px (基準16px) */;
}

.s .SinglePage-relatedNews {
  margin-top: 2.5rem /* 40px (基準16px) */;
}

.SinglePage-relatedNewsLead,
.SinglePage-bannerLead {
  font-size: min(2.5rem /* 40px (基準16px) */, 2.778vw /* 40px (基準1440px) */);
}

.s .SinglePage-relatedNewsLead,
.s .SinglePage-bannerLead {
  font-size: min(2rem /* 32px (基準16px) */, 8.533vw /* 32px (基準375px) */);
}

.SinglePage-relatedNewsList {
  margin-top: 2.5rem /* 40px (基準16px) */;
}

.s .SinglePage-relatedNewsList {
  margin-top: 1.75rem /* 28px (基準16px) */;
}

.SinglePage-relatedNewsList .swiper-wrapper {
  display: flex;
  column-gap: 1.25rem /* 20px (基準16px) */;
  align-items: stretch;
}

.s .SinglePage-relatedNewsList .swiper-wrapper {
  column-gap: 0;
}

.SinglePage-relatedNewsItem.swiper-slide {
  width: min(24.188rem /* 387px (基準16px) */, 26.875vw /* 387px (基準1440px) */);
  height: auto;
}

.s .SinglePage-relatedNewsItem.swiper-slide {
  width: min(18.125rem /* 290px (基準16px) */, 77.333vw /* 290px (基準375px) */);
}

.SinglePage-relatedNewsItem.swiper-slide .CardCommon {
  height: 100%;
}

.SinglePage-cdProfile {
  margin-top: 3.5rem /* 56px (基準16px) */;
}

.s .SinglePage-cdProfile {
  margin-top: 2.5rem /* 40px (基準16px) */;
}

.SinglePage-eventLink {
  max-width: 22.5rem /* 360px (基準16px) */;
  margin: 0 auto;
  margin-top: 3.5rem /* 56px (基準16px) */;
}

.SinglePage-eventLink._disabled {
  filter: grayscale(100%);
  opacity: 0.5;
  pointer-events: none;
}

.s .SinglePage-eventLink {
  margin-top: 2.5rem /* 40px (基準16px) */;
}

.SinglePage-eventOutdated {
  margin-top: 0.5rem /* 8px (基準16px) */;
  text-align: center;
  color: #f00;
}

/* wordpressで作成したコンテンツ */
.SinglePage-content {
  margin-top: 2.5rem /* 40px (基準16px) */;
  display: flex;
  flex-direction: column;
  row-gap: 2.625rem /* 42px (基準16px) */;
}

.s .SinglePage-content {
  margin-top: 1.25rem /* 20px (基準16px) */;
  row-gap: 1.25rem /* 20px (基準16px) */;
}

.SinglePage-content p {
  font-size: min(1rem /* 16px (基準16px) */, 1.111vw /* 16px (基準1440px) */);
  line-height: 2;
}

.s .SinglePage-content p {
  font-size: min(0.875rem /* 14px (基準16px) */, 3.733vw /* 14px (基準375px) */);
}

.SinglePage-content ul {
  list-style: disc;
  list-style-position: outside;
  margin: 0;
  padding-left: 1.25em;
}

.SinglePage-content ol {
  list-style: decimal;
  list-style-position: outside;
  margin: 0;
  padding-left: 1.25em;
}

.SinglePage-content ol li {
  list-style: decimal;
}

.SinglePage-content ul li {
  list-style: disc;
}

.SinglePage-content h1 {
  font-weight: bold;
  font-size: min(4.25rem /* 68px (基準16px) */, 4.722vw /* 68px (基準1440px) */);
}

.s .SinglePage-content h1 {
  font-size: min(2rem /* 32px (基準16px) */, 8.533vw /* 32px (基準375px) */);
}

.SinglePage-content h2 {
  font-weight: bold;
  font-size: min(2.5rem /* 40px (基準16px) */, 2.778vw /* 40px (基準1440px) */);
}

.s .SinglePage-content h2 {
  font-weight: normal;
  font-size: min(1.5rem /* 24px (基準16px) */, 6.4vw /* 24px (基準375px) */);
}

.SinglePage-content h3 {
  font-weight: bold;
  font-size: min(1.75rem /* 28px (基準16px) */, 1.944vw /* 28px (基準1440px) */);
}

.s .SinglePage-content h3 {
  font-weight: normal;
  font-size: min(1.25rem /* 20px (基準16px) */, 5.333vw /* 20px (基準375px) */);
}

.SinglePage-content h4 {
  font-weight: bold;
  font-size: min(1.25rem /* 20px (基準16px) */, 1.389vw /* 20px (基準1440px) */);
}

.s .SinglePage-content h4 {
  font-weight: normal;
  font-size: min(1rem /* 16px (基準16px) */, 4.267vw /* 16px (基準375px) */);
}

.SinglePage-content h5 {
  font-weight: bold;
  font-size: min(1rem /* 16px (基準16px) */, 1.111vw /* 16px (基準1440px) */);
}

.s .SinglePage-content h5 {
  font-weight: normal;
  font-size: min(0.875rem /* 14px (基準16px) */, 3.733vw /* 14px (基準375px) */);
}

.SinglePage-content h6 {
  font-weight: bold;
  font-size: min(0.875rem /* 14px (基準16px) */, 0.972vw /* 14px (基準1440px) */);
}

.s .SinglePage-content h6 {
  font-weight: normal;
  font-size: min(0.75rem /* 12px (基準16px) */, 3.2vw /* 12px (基準375px) */);
}

.SinglePage-content .wp-block-maoi-heading-paragraph-group p {
  margin-top: 1rem /* 16px (基準16px) */;
}

.SinglePage-content img,
.SinglePage-content video {
  width: 100%;
  aspect-ratio: 2 / 1;
  object-fit: contain;
}

.SinglePage-content figcaption {
  text-align: center;
  font-size: min(0.875rem /* 14px (基準16px) */, 0.972vw /* 14px (基準1440px) */);
}

.SinglePage-content a {
  color: rgb(136, 136, 136);
}

.SinglePage-content .maoi-link-button {
  width: fit-content;
  margin: 0 auto;
}

.SinglePage-content .maoi-link-button a {
  font-size: min(1.125rem /* 18px (基準16px) */, 1.25vw /* 18px (基準1440px) */);
  font-weight: 700;
  background-image: linear-gradient(43deg, rgba(1, 14, 78, 1) 0%, rgba(48, 148, 223, 1) 100%);
  color: rgba(255, 255, 255, 1);
  border: 1px solid rgba(255, 255, 255, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: min(1.25rem /* 20px (基準16px) */, 1.389vw /* 20px (基準1440px) */);
  padding: min(1.25rem /* 20px (基準16px) */, 1.389vw /* 20px (基準1440px) */);
  border-radius: 3.125rem /* 50px (基準16px) */;
}

.s .SinglePage-content .maoi-link-button a {
  font-size: min(1rem /* 16px (基準16px) */, 4.267vw /* 16px (基準375px) */);
  padding: min(1.125rem /* 18px (基準16px) */, 4.8vw /* 18px (基準375px) */);
  font-size: min(0.875rem /* 14px (基準16px) */, 3.733vw /* 14px (基準375px) */);
  column-gap: min(0.938rem /* 15px (基準16px) */, 4vw /* 15px (基準375px) */);
}

.SinglePage-content .maoi-link-button a::after {
  content: '';
  display: block;
  width: min(5rem /* 80px (基準16px) */, 5.556vw /* 80px (基準1440px) */);
  height: min(2.125rem /* 34px (基準16px) */, 2.361vw /* 34px (基準1440px) */);
  background-image: url(../image/icon-btn-arrow-b-right.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.s .SinglePage-content .maoi-link-button a::after {
  width: min(3.75rem /* 60px (基準16px) */, 16vw /* 60px (基準375px) */);
  height: min(1.594rem /* 25px (基準16px), */, 10.667vw /* 25px (基準375px) */);
}

.s .SinglePage-content figcaption {
  font-size: min(0.75rem /* 12px (基準16px) */, 3.2vw /* 12px (基準375px) */);
}

.SinglePage-content .maoi-highlight-content {
  padding: 0.938rem /* 15px (基準16px) */;
  background-color: #003c8f28;
}

.SinglePage-content .wp-block-table thead {
  background-color: #003c8f;
  color: #fff;
  border-bottom: none !important;
}

.SinglePage-content .maoi-two-column-image-text {
  display: flex;
  align-items: center;
  column-gap: min(1.875rem /* 30px (基準16px) */, 2.083vw /* 30px (基準1440px) */);
}

.SinglePage-content .maoi-two-column-image-text div:nth-child(1) {
  width: min(35.25rem /* 564px (基準16px) */, 39.167vw /* 564px (基準1440px) */);
}

.SinglePage-content .maoi-two-column-image-text div:nth-child(1) img {
  object-fit: cover;
}

.SinglePage-content .maoi-two-column-image-text div:nth-child(2) {
  width: min(36.563rem /* 585px (基準16px) */, 40.556vw /* 585px (基準1440px) */);
}

.SinglePage-content .maoi-two-column-image-text div:nth-child(2) p {
  margin-top: 0.625rem /* 10px (基準16px) */;
}

.s .maoi-two-column-image-text {
  flex-direction: column;
  row-gap: 1rem /* 16px (基準16px) */;
}

.s .SinglePage-content .maoi-two-column-image-text div:nth-child(1) {
  width: 100%;
}

.s .SinglePage-content .maoi-two-column-image-text div:nth-child(2) {
  width: 100%;
}

.SinglePage-content .wp-block-embed__wrapper {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.SinglePage-content .wp-block-embed__wrapper iframe {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.SinglePage-content .maoi-two-column-images {
  display: flex;
  align-items: center;
  column-gap: 1.875rem /* 30px (基準16px) */;
}

.s .SinglePage-content .maoi-two-column-images {
  flex-direction: column;
  row-gap: 1rem /* 16px (基準16px) */;
}

.SinglePage-content .maoi-two-column-images figure {
  width: calc((100% - 1.875rem) / 2);
  aspect-ratio: 4 / 3;
}

.s .SinglePage-content .maoi-two-column-images figure {
  width: 100%;
}

.SinglePage-content .maoi-two-column-images figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* TODO: 仮置き */
.SinglePage-category._media {
  color: #fff;
  background-color: rgba(124, 85, 241, 1);
}

.SinglePage-category._event {
  color: #fff;
  background-color: rgba(240, 160, 55, 1);
}

.SinglePage-category._support {
  color: #fff;
  background-color: rgba(56, 77, 163, 1);
}

.SinglePage-category._important {
  color: #fff;
  background-color: rgba(241, 85, 127, 1);
}
