@charset "UTF-8";
/*
Theme Name: christmas-market2025
*/
/*!
 * Theme Name: [あなたのテーマ名]
 * Description: [あなたのテーマの説明]
 * Version: 1.0.0
 * Author: [あなたの名前]
 *
 * FLOCSS アーキテクチャと WordPress 向け拡張:
 *
 * このテーマは FLOCSS をベースとした CSS 設計を採用しています。
 * 各レイヤーはその役割を定義しますが、実際の運用では流動的な変更も考慮しています。
 * 以下に各レイヤーとそのプレフィックス、および運用における柔軟性について説明します。
 *
 */
body {
  background-color: #E8E0CB !important;
}

a {
  text-underline-offset: 3px;
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.alignleft {
  float: left;
  margin-right: 1em;
}

.alignright {
  float: right;
  margin-left: 1em;
}

.alignwide {
  margin-left: calc(-25vw + 50%);
  margin-right: calc(-25vw + 50%);
  max-width: 100vw;
  width: auto;
}

.alignfull {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  max-width: 100vw;
  width: auto;
}

.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}
.wp-caption img {
  margin-bottom: 0;
}

.wp-caption-text {
  color: #555;
  font-size: 0.875em;
  margin: 0.5em 0;
  text-align: center;
}

.snow {
  /*雪の色*/
  color: snow;
  /*雪の大きさ*/
  font-size: 10px;
  /*初期位置*/
  position: fixed;
  top: -5%;
  /*雪を適当な幅で降らせる*/
  text-shadow: 5vw -100px 2px, 10vw -400px 3px, 20vw -500px 4px, 30vw -580px 1px, 39vw -250px 2px, 42vw -340px 5px, 56vw -150px 2px, 63vw -180px 0, 78vw -220px 4px, 86vw -320px 9px, 94vw -170px 7px;
  /*雪アニメーション1*/
  animation: roll 5s linear infinite;
}

/*2つめの雪アニメーション*/
.snow2nd {
  animation: anim 8s linear infinite;
}

@keyframes roll {
  0% {
    transform: rotate(0deg);
  }
  90% {
    opacity: 1;
  }
  100% {
    transform: rotate(20deg);
    top: 100%;
    opacity: 0;
  }
}
@keyframes anim {
  100% {
    color: transparent;
    top: 150%;
  }
}
picture.card-img-top,
figure.card-img-top {
  width: 100%;
}
picture.card-img-top img,
figure.card-img-top img {
  border-top-left-radius: calc(0.375rem - 1px);
  border-top-right-radius: calc(0.375rem - 1px);
  width: 100%;
  height: auto;
}

picture.card-img-bottom,
figure.card-img-bottom {
  width: 100%;
}
picture.card-img-bottom img,
figure.card-img-bottom img {
  border-bottom-left-radius: calc(0.375rem - 1px);
  border-bottom-right-radius: calc(0.375rem - 1px);
  width: 100%;
  height: auto;
}

.card picture,
.card figure {
  margin: 0;
}
.card picture img,
.card figure img {
  display: block;
  width: 100%;
  height: auto;
}
.card > picture:first-child img,
.card > figure:first-child img {
  border-top-left-radius: calc(0.375rem - 1px);
  border-top-right-radius: calc(0.375rem - 1px);
}
.card > picture:last-child img,
.card > figure:last-child img {
  border-bottom-left-radius: calc(0.375rem - 1px);
  border-bottom-right-radius: calc(0.375rem - 1px);
}

img.card-img-top {
  border-top-left-radius: calc(0.375rem - 1px);
  border-top-right-radius: calc(0.375rem - 1px);
  width: 100%;
  height: auto;
}

img.card-img-bottom {
  border-bottom-left-radius: calc(0.375rem - 1px);
  border-bottom-right-radius: calc(0.375rem - 1px);
  width: 100%;
  height: auto;
}

.l-footer {
  color: #fff;
}
.l-footer .container {
  background-color: #991215;
  padding: 1rem 0;
  max-width: 960px;
}

.footer-nav {
  padding-left: 0;
  list-style: none;
  text-align: center;
}
.footer-nav li {
  display: inline;
  white-space: nowrap;
  margin-right: 1rem;
}
.footer-nav li:last-child {
  margin-right: 0;
}
.footer-nav li > div[role=textbox] {
  display: inline;
  white-space: nowrap;
}
.footer-nav li a {
  color: white !important;
  text-decoration: none !important;
}
.footer-nav li a:hover {
  text-decoration: underline !important;
}

.copy {
  text-align: center;
  font-size: 14px;
  color: white;
  margin-bottom: 0;
}

.l-footer .container {
  padding-top: 0;
}
.l-footer .footer-bnrs {
  list-style-type: none;
  padding-left: 0;
  text-align: center;
  background-color: #FDF7E6;
  padding-bottom: 1rem;
}
.l-footer .footer-bnrs li {
  display: inline-block;
}
.l-footer .footer-bnrs li a {
  opacity: 0.8;
  transition: all 0.3s;
}
.l-footer .footer-bnrs li a:hover {
  opacity: 1;
}

.wp-site-blocks > .l-footer {
  margin-block-start: 0 !important;
}

.l-header {
  margin-top: 0;
  padding-top: 0;
}
.l-header .navbar {
  padding-top: 0;
  padding-bottom: 0;
}
.l-header .navbar .container {
  max-width: 960px !important;
  padding-left: 2rem;
  padding-right: 2rem;
  background-color: #FDF7E6 !important;
}
.l-header .navbar .navbar-brand img {
  margin-right: 1rem;
}
.l-header .navbar .navbar-brand img:last-child {
  margin-right: 0;
}
.l-header .container {
  background-color: #991215;
  margin-bottom: 0;
}
.l-header .container img {
  height: 50px;
}

.l-main {
  margin-bottom: 0;
  padding-bottom: 0;
  margin-top: 0;
}
.l-main section,
.l-main article {
  margin-bottom: 3rem;
}
.l-main p {
  line-height: 1.7;
  margin-bottom: 1em;
}
.l-main p mix.sp {
  font-size: 1.5rem;
}
.l-main img {
  max-width: 100%;
  height: auto;
  display: block;
}
.l-main hgroup,
.l-main .hgroup {
  display: flex;
  flex-direction: row;
  flex-basis: content;
  align-items: first baseline;
}
.l-main hgroup p,
.l-main .hgroup p {
  margin-bottom: 0;
  font-size: 250%;
  line-height: 1;
  font-weight: bold;
  order: 0;
}
.l-main hgroup h2,
.l-main .hgroup h2 {
  order: 1;
  font-size: 1rem;
  margin-top: 0;
  padding-left: 1rem;
}
.l-main hgroup:has(> h1),
.l-main .hgroup:has(> h1) {
  background: url(img/bg.png) no-repeat center top;
  padding-top: 140px;
  padding-bottom: 0;
  display: block;
  background-color: #9c1316;
  margin-right: -2rem;
  margin-left: -2rem;
}
.l-main hgroup:has(> h1) h1,
.l-main .hgroup:has(> h1) h1 {
  text-align: center !important;
  color: #fff;
  padding-bottom: 3rem;
  padding-top: 3rem;
}
.l-main hgroup:has(> h1) img,
.l-main .hgroup:has(> h1) img {
  vertical-align: baseline;
}
.l-main .container {
  max-width: 960px !important;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-bottom: 0;
  padding-bottom: 5rem;
  background-color: #FDF7E6;
}

.l-breadcrumb {
  margin-top: 60px;
  margin-bottom: 0;
  padding-top: 0;
  width: 100%;
}
.l-breadcrumb .container {
  max-width: 960px !important;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-bottom: 1rem;
  padding-top: 0.5rem;
  background-color: #FDF7E6;
  margin-bottom: 0;
}
.l-breadcrumb a {
  color: #333;
  text-decoration: none;
}
.l-breadcrumb a:hover {
  color: rgb(25.5, 25.5, 25.5);
  text-decoration: underline;
}

.c-btn-detail {
  text-align: right;
  margin-top: 3rem;
  color: #fff;
}
.c-btn-detail::before {
  content: "★ ";
  color: rgb(250, 250, 165);
  animation: blink 2s infinite;
}
.c-btn-detail a {
  color: #fff;
  text-decoration: none;
}
.c-btn-detail a:hover {
  color: rgb(250, 250, 165);
  text-decoration: underline;
}

.c-cards-prize .card {
  text-align: center;
  margin-bottom: 1rem;
}
.c-cards-prize .card .card-img-top {
  width: 60%;
  aspect-ratio: 1/1;
  overflow: hidden;
  margin: 1rem auto;
  border-radius: 0;
  margin-bottom: 0;
}
.c-cards-prize .card .card-img-top img {
  border-radius: 0 !important;
}
.c-cards-prize .card .card-body .card-title {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 0;
}
.c-cards-prize .card .card-body .card-subtitle {
  font-size: 0.875rem;
  color: #6c757d;
}

.c-dl-event-overview div {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 0;
}
.c-dl-event-overview div dt, .c-dl-event-overview div dd, .c-dl-event-overview div ul, .c-dl-event-overview div ol, .c-dl-event-overview div p {
  margin-bottom: 0;
}
.c-dl-event-overview div dt {
  width: 6.5rem;
  font-weight: normal;
  text-justify: inter-word;
}
.c-dl-event-overview div dt::after {
  content: "：";
  margin-right: 0.5rem;
}
.c-dl-event-overview div dd {
  width: calc(100% - 7.5rem);
}

.c-dl-overview div {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.c-dl-overview div dt {
  width: 7.5rem;
}
.c-dl-overview div dt::after {
  content: "：";
  margin-right: 0.5rem;
}
.c-dl-overview div dd {
  width: calc(100% - 7.5rem);
}

.c-list-markless {
  list-style: none;
  padding-left: 0;
}

.c-list-commas-separated {
  padding-left: 0;
}
.c-list-commas-separated li {
  display: inline;
}
.c-list-commas-separated li::after {
  content: "、";
}
.c-list-commas-separated li:last-child::after {
  content: "";
}

.c-list-sns {
  margin-top: 3rem;
  list-style: none;
  padding-left: 0;
  display: flex;
  justify-content: center;
  gap: 1rem;
}
.c-list-sns li {
  display: inline-block;
}
.c-list-sns li a {
  text-decoration: none;
  display: inline-block;
  border: solid 1px #ccc;
  border-radius: 50%;
  background-color: #fff;
}
.c-list-sns li a:hover {
  border-color: #666;
  transition: all 0.5s 0s ease;
}
.c-list-news li h3 {
  font-size: 1.25rem;
}

.c-list-banner {
  padding-left: 0 !important;
  list-style-type: none !important;
  margin-bottom: 2rem;
}
.c-list-banner li img {
  display: inline;
}

.c-list-banner-lg li img {
  width: 75%;
}

.c-list-banner-md li img {
  width: 50%;
}

.c-list-sponsor {
  padding-left: 0;
  list-style-type: none !important;
}

.c-footnote {
  font-size: 0.875rem;
}
.c-footnote::before {
  content: "※";
  margin-right: 0.5rem;
}

p:has(+ .c-footnote) {
  margin-bottom: 0;
}

body.archive .l-main .container {
  min-height: calc(100vh - 53px);
}
body.archive .c-list-news li {
  border-bottom: dotted 1px #666;
  padding-bottom: 1rem;
}
body.archive .post-list {
  border-radius: 2rem;
  background-color: #fff;
}
body.archive .wp-block-query-pagination {
  margin-top: 3rem;
  justify-content: center;
}
body.archive .wp-block-query-pagination a {
  color: #333;
}
body.archive .wp-block-post-date {
  margin-bottom: 0.25rem;
}
body.archive .wp-block-post-title {
  font-size: 125%;
  font-weight: 400;
  position: relative;
}
body.archive .wp-block-post-title a {
  color: #666;
  text-decoration: none;
}
body.archive .wp-block-post-title a:hover {
  text-decoration: underline;
  color: #333;
  /* &::before {
      position: absolute;
      left: 0;
      top: 0;
      content: "★";
      margin-right: 0.25rem;
      color: rgb(250, 250, 165);
      text-shadow: #111 1px 1px 2px;
      animation: blink 2s infinite;
  } */
}

body.single .l-main {
  margin: 0 auto;
}
body.single .l-main .container {
  min-height: calc(100vh - 53px);
}
body.single .wp-block-post-terms {
  text-align: right;
}
body.single .wp-block-post-terms a {
  color: #666;
  text-decoration: none;
}
body.single .wp-block-post-terms a:hover {
  text-decoration: underline;
  color: #333;
}
body.single .entry-content p {
  margin-bottom: 1.8em;
}
body.single .entry-content h2 {
  border-bottom: 1px solid #eee;
  padding-bottom: 0.5em;
  margin-top: 2em;
}

body.page .l-main {
  max-width: 960px;
  margin: 0 auto;
}
body.page .l-main .container {
  min-height: calc(100vh - 53px);
}
body.page .entry-content p {
  margin-bottom: 1.5em;
}

.home .l-main .container {
  margin-top: 0;
}
.home .l-main hgroup {
  padding-top: 1rem;
  padding-bottom: 1rem;
  display: flex;
}
.home .l-main hgroup p {
  margin-bottom: 0;
}
.home .l-main hgroup p img {
  height: 3rem;
  width: auto !important;
  vertical-align: top;
}
.home .l-main section,
.home .l-main article {
  margin: 0 !important;
}
.home .l-main section .container,
.home .l-main article .container {
  margin: auto !important;
  max-width: 960px !important;
  width: auto !important;
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.home .l-main h1 {
  max-width: 960px;
  margin: 0 auto;
}
.home .l-main #news .container {
  background-color: #991215;
}
.home .l-main #news hgroup {
  color: #FDF7E6;
}
.home .l-main #news .c-list-news {
  background-color: #FDF7E6;
  border-radius: 2rem;
  padding: 2rem;
}
.home .l-main #news .c-list-news a {
  color: #666 !important;
}
.home .l-main #news .c-list-news a:hover {
  text-decoration: underline !important;
}
.home .l-main #overview hgroup {
  color: #006933;
}
.home .l-main #overview .container {
  background-color: #FDF7E6;
}/*# sourceMappingURL=style.css.map */