@charset "UTF-8";
/*==========================
カレンダー更新プログラム（フッター）フォーマット
==========================*/ :root {
    --color01: rgba(200, 21, 7, 1);
    --color02: #9cb5e7;
    --color03: #f4a2ae;
}
/*※ PG入れたときにはいってくる枠(フォーマットにはない罠)*/
#cal_out {
    inline-size: 100%;
}
/*style*/
.calendar {
    display: flex;
    flex-wrap: wrap;
    background: #fff;
    padding-block: 1em;
    padding-inline: 1em;
    position: relative;
}
.calendar .cal_title {
    text-align: start;
    font-weight: 700;
    font-size: 1.4rem;
    color: 95, 91, 91;
}
.calendar .month {
    text-align: end;
    font-weight: 700;
    font-size: 1.6rem;
    color: rgba(var(--maincolor), 1);
    position: absolute;
    inset: 1.2em auto auto 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
.calendar .month strong {
    font-size: 1.5em;
    -webkit-margin-start: 0.5em;
    margin-inline-start: 0.5em;
}
.calendar .month::before {
    content: "【";
    -webkit-margin-end: 1em;
    margin-inline-end: 1em;
    display: inline-block;
}
.calendar .month::after {
    content: "】";
    -webkit-margin-start: 1em;
    margin-inline-start: 1em;
    display: inline-block;
}
.calendar .page_ctl {
    inline-size: 100%;
    display: flex;
    justify-content: space-between;
    text-align: center;
}
.calendar .page_ctl > li {
    margin: auto;
}
.calendar .page_ctl > li.ctl_left {
    order: -1;
    text-align: start;
    -webkit-margin-start: 0;
    margin-inline-start: 0;
}
.calendar .page_ctl > li.ctl_right {
    order: 2;
    text-align: end;
    -webkit-margin-end: 0;
    margin-inline-end: 0;
}
.calendar .page_ctl > li > a {
    font-size: 1.2rem;
}
.calendar [class^=tx_color] {
    font-size: 1.4rem;
    padding-block: 0 0;
    padding-inline: 1em 1.2em;
    inline-size: -webkit-max-content;
    inline-size: max-content;
    position: relative;
}
.calendar [class^=tx_color]::before {
    content: "";
    display: block;
    position: absolute;
    inset-inline-start: 0;
    inset-inline-end: 0;
    inset-block-start: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    block-size: 1.2rem;
    inline-size: 1.2rem;
    border-radius: 50%;
}
.calendar .tx_color01::before {
    background: var(--color01);
}
.calendar .tx_color02::before {
    background: var(--color02);
}
.calendar .tx_color03::before {
    background: var(--color03);
}
.cal_table {
    inline-size: 100%;
}
.cal_table th {
    background: 192, 117, 117;
    color: 255, 255, 255;
    font-size: 1.4rem;
    font-weight: 700;
    padding-block: 10px;
    padding-inline: 0;
    vertical-align: middle;
    text-align: center;
    color: rgba(var(--maincolor), 1);
}
.cal_table td {
    vertical-align: middle;
    text-align: center;
    position: relative;
    font-size: 1.4rem;
    color: 95, 91, 91;
    padding-block: 10px;
    padding-inline: 0;
    z-index: 10;
    font-family: "Cinzel", serif;
    font-weight: 500;
}
.cal_table td[class^=color]::before {
    content: "";
    display: block;
    position: absolute;
    inline-size: 23px;
    block-size: 23px;
    border-radius: 50%;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: -1;
}
.cal_table td.color01 {
    color: #fff;
}
.cal_table td.color01::before {
    background: var(--color01);
}
.cal_table td.color02::before {
  border: 2px solid var(--color02);
}
.cal_table td.color03::before {
  border: 2px solid var(--color03);
}
/*当月*/
.this_month_calendar {
    -webkit-margin-after: var(--lay_gap);
    margin-block-end: var(--lay_gap);
}
@media (width >=768px) {
    .this_month_calendar {
        -webkit-margin-after: clamp(40px, 5.8565153734vw, 80px);
        margin-block-end: clamp(40px, 5.8565153734vw, 80px);
    }
}
.this_month_calendar .calendar {
    inline-size: min(100%, 690px);
    margin-inline: auto;
}
@media (width >=768px) {
    .this_month_calendar .calendar .month {
        line-height: 1.2;
        font-size: clamp(1.6rem, 1.756954612vw, 2.4rem);
    }
}
@media (width >=768px) {
    .this_month_calendar .cal_table th {
        font-size: clamp(1.4rem, 1.317715959vw, 1.8rem);
    }
    .this_month_calendar .cal_table td {
        font-size: clamp(1.4rem, 1.317715959vw, 1.8rem);
    }
    .this_month_calendar .cal_table td[class^=color]::before {
        inline-size: 30px;
        block-size: 30px;
    }
}
.this_month_calendar .cal_title {
    visibility: hidden;
    font-size: clamp(3.2rem, 3.513909224vw, 4.8rem);
}
.this_month_calendar .page_ctl {
    visibility: hidden;
}
/*下のカレンダー*/
.other_calendar .cal_title {
    visibility: hidden;
    font-size: 3.2rem;
}
.other_calendar .page_ctl {
    visibility: hidden;
}
/*最後の4つ非表示*/
/*#cal_out9,#cal_out10,#cal_out11, #cal_out12 {
    display: none;
}*/