@charset "UTF-8";
:root {
  --inner:700px;
  --wrap:990px;
  --box:1080px;
  --container:1280px;
  --maxWidth:1440px;
  --spHeaderHeight:50px;
  --pcHeaderHeight:80px;
  --baseColor:#ffffff;
  --mainColor:#450369;
  --subColor:#EAE8FA;
  --accentColor:#FF55DD;
  --whiteColor:#ffffff;
  --blackColor:#262626;
  --grayColor:#707070;
  --darkGrayColor:#383546;
  --beigeColor:#eadfcd;
  --beigeLightColor:#F7F6F3;
  --textColor:var(--blackColor);
  --textHoverColor:var(--mainColor);
  --blogPurple:#BE9AD1;
  --blogOrange:#D29826;
  --blogYellow:#BEC23F;
  --blogBlue:#9BC4C4;
  --blogRed:#CB4042;
  --blogPurpleBg:#F9F5FC;
  --blogOrangeBg:#FBF5E9;
  --blogYellowBg:#F9F9EB;
  --blogBlueBg:#F7F9F9;
  --blogRedBg:#FCF6F5;
  --animationSpeed:0.4s;
  --ioAnimationSpeed:1s;
  --spMargin:100px;
  --pcMargin:130px;
  --fontSerif:"Lusitana",serif;
  --fontGothic:"Roboto",sans-serif;
  --fontFamily:var(--fontGothic);
  --fontTitle:var(--fontSerif);
  --fontEn:var(--fontSerif);
}

/* ==========================================================================

	saiten

========================================================================== */
/*--------------------------------
	calendar
--------------------------------*/
#calendar {
  --calendarColor:#F2EFFD;
}
#calendar > dl {
  max-width: initial;
  padding: 0;
}
#calendar > dl > div {
  display: flex;
  gap: 0 1em;
  font-size: 1.2rem;
  padding: 1em 5%;
}
#calendar > dl > div > dt {
  flex-shrink: 0;
  width: calc(4em + 6%);
}
#calendar > dl > div > dd {
  width: calc(100% - (4em + 6%) - 1em);
}
#calendar > dl > div > dd > dl {
  margin-bottom: 0;
}
#calendar > dl > div > dd > dl > div {
  padding: 1em 0;
  border-bottom: solid 1px var(--calendarColor);
}
#calendar > dl > div > dd > dl > div:first-child {
  padding-top: 0;
}
#calendar > dl > div > dd > dl > div:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
#calendar > dl > div > dd > dl > div > dd {
  margin-top: 0.5em;
}
#calendar > dl > div > dd > dl > div > dd ul {
  margin-bottom: 0;
}
#calendar > dl > div > dd > dl > div > dd ul .link_btn {
  margin-bottom: 0.5em;
}
#calendar > dl > div > dd > dl > div > dd ul .link_btn:last-child {
  margin-bottom: 0;
}
#calendar > dl > div > dd > dl > div > dd ul .link_btn a {
  width: 100%;
  min-width: initial;
  color: var(--blackColor);
  padding: 0.3em 0.6em;
  border-color: var(--blackColor);
}
#calendar > dl > div > dd > dl > div > dd ul .link_btn a > span:after {
  background-color: var(--blackColor);
  right: 0;
}
#calendar > dl > div > dd > dl > div > dd ul .link_btn a[data-arrow*=doglegged] > span {
  --arrowDogleggedWidth:1em;
  padding-right: calc(var(--arrowDogleggedWidth) + var(--arrowDogleggedHoverMove));
}
#calendar > dl > div:nth-child(odd) {
  background-color: var(--calendarColor);
}
#calendar > dl > div:nth-child(odd) > dd > dl > div {
  border-bottom-color: var(--whiteColor);
}
@media print, screen and (max-width: 812px) {
  #calendar {
    padding-top: calc(var(--spMargin) / 1);
  }
  #calendar > dl > div {
    padding-right: 2.5%;
  }
}
@media print, screen and (min-width: 813px) {
  #calendar > dl > div {
    padding: 1em 2%;
  }
  #calendar > dl > div > dt {
    width: calc(4em + 3%);
    padding: calc(0.3em + 1px) 0 0 0;
  }
  #calendar > dl > div > dd {
    width: calc(100% - (4em + 3%) - 1em);
  }
  #calendar > dl > div > dd > dl > div {
    display: flex;
    gap: 0 1em;
    padding: calc(1em - (0.3em + 1px)) 0 1em;
  }
  #calendar > dl > div > dd > dl > div > dt {
    width: 13em;
    flex-shrink: 0;
    padding: calc(0.3em + 1px) 0 0;
  }
  #calendar > dl > div > dd > dl > div > dd {
    width: calc(100% - 13em - 1em);
    margin-top: 0;
  }
  #calendar > dl > div > dd > dl > div > dd ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1em;
    margin-bottom: 0;
  }
  #calendar > dl > div > dd > dl > div > dd ul .link_btn {
    margin: 0;
    flex-shrink: 0;
  }
  #calendar > dl > div > dd > dl > div > dd ul .link_btn a {
    width: auto;
    min-width: 280px;
  }
  #calendar > dl > div > dd > dl > div > dd ul .link_btn a:hover {
    color: var(--whiteColor);
    border-color: var(--mainColor);
    background-color: var(--mainColor);
  }
  #calendar > dl > div > dd > dl > div > dd ul .link_btn a:hover > span:after {
    background-color: var(--whiteColor);
  }
}

/*--------------------------------
	saiten_cnt
--------------------------------*/
.saiten_cnt > * {
  margin-top: 3em;
}
.saiten_cnt > *:first-child {
  margin-top: 0;
}
.saiten_cnt .information.column {
  row-gap: 0;
}
.saiten_cnt .information > div {
  padding: 1em 0;
  margin-bottom: 0;
  border-top: solid 1px var(--grayColor);
}
.saiten_cnt .information > div > dt {
  font-weight: 500;
}
@media print, screen and (max-width: 812px) {
  .saiten_cnt .flow figure {
    display: flex;
    gap: 4%;
  }
  .saiten_cnt .flow figure picture {
    width: 40%;
  }
  .saiten_cnt .flow figure figcaption {
    width: 56%;
  }
  .saiten_cnt .information > div {
    display: block;
  }
  .saiten_cnt .information > div > dt {
    margin-bottom: 0.2em;
  }
}
@media print, screen and (min-width: 813px) {
  .saiten_cnt .flow figcaption {
    font-size: min(1.4rem, 14px);
    margin-top: 0.5em;
  }
  .saiten_cnt .information {
    grid-template-columns: max-content 1fr;
  }
  .saiten_cnt .information > div {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1/-1;
    align-items: center;
    gap: 0 2em;
    padding: 1.6em 1em;
  }
  .saiten_cnt .information > div > dt {
    min-width: 300px;
  }
  .saiten_cnt .information > div > dd *:last-child {
    margin-bottom: 0;
  }
}

/*--------------------------------
	月華祭
--------------------------------*/
/*--------------------------------
	元旦祭
--------------------------------*/
#gantansai {
  border-top: solid 1px var(--grayColor);
}
@media print, screen and (max-width: 812px) {
  #gantansai {
    padding-top: var(--spMargin);
  }
}
@media print, screen and (min-width: 813px) {
  #gantansai {
    padding-top: var(--pcMargin);
  }
}

/*# sourceMappingURL=style.css.map */
