@charset "utf-8";

h2 {
    font-size: 2em;
}

table {
    margin: 0 0 1em;
}

div#formNavi {
    display: flex;
    justify-content: center;
    align-items: center;
}

tbody th {
    background-color: #ffc7d6;
    color: #101010;
}

th,
td {
    border: #ddd 1px solid;
}

.calW {
    width: 100%;
    overflow: hidden;
}

.calIn {
    width: 300%;
    transform: translateX(0);
    transition: all .3s;
}

.calIn::after {
    content: "";
    clear: both;
    display: block;
}

.calIn[data-p="1"] {
    transform: translateX(-33.33%);
}

.calIn[data-p="2"] {
    transform: translateX(-66.66%);
}

.calIn>div {
    width: 33.33%;
    float: left;
}

.calendarPage .eventCalendar td {
    padding: 0;
}

.calendarPage .eventCalendar .date {
    line-height: 1.2;
    display: table;
    margin: 2px auto 0;
}

.calendarPage .eventCalendar .date .w {
    display: none;
}

.calendarPage .eventCalendar .evlink {
    min-height: 50px;
    width: 100%;
}

.calendarPage .eventCalendar .evlink a:link {
    color: #fff;
    font-size: 80%;
    padding: 2px 5px;
    line-height: 1.2;
    display: inline-block;
    margin: 2px auto;
    border-radius: 10px;
}

.calendarPage .eventCalendar .evlink a:hover,
.calendarPage .eventCalendar .evlink a:visited {
    color: #fff;
}

.calendarPage .ev_gs {
    background: #f66;
}
.calendarPage .ev_tk {
    background: #2b82dc;
}

.calendarPage .ev_ks {
    background: #8fc31f;
}

.calendarPage .ev_bs {
    background: orange;
}

.calendarPage .ev_bt {
    background: #0068b7;
}

.calendarPage .ev_sp {
    background: purple;
}

.tour_contents dd a {
    color: royalblue;
    text-decoration: none;
}

.tour_contents dd a:hover {
    text-decoration: underline;
}

.txtInd {
    padding-left: 1em;
    text-indent: -1em;
}

.calendarPage table {
    margin: 0 0 4em;
}

.calendarPage th,
.calendarPage td {
    border: #0066b4 1px solid;
}

.calendarPage thead th,
.calendarPage tfoot th {
    background-color: #4fa2e1;
    color: #fff;
}

.calendarPage th {
    text-align: center;
}

.calendarPage .c_pager li a {
    display: inline-block;
    background: #2b82dc;
    border-radius: 5px;
    padding: 5px 30px;
    text-decoration: none;
    position: relative;
    color: #fff;
}

.calendarPage .c_pager .pager_prev a:before {
    content: "≪";
    position: absolute;
    left: 10px;
}

.calendarPage .c_pager li a.on {
    color: #fff;
    cursor: pointer;
}

.calendarPage .c_pager .pager_next a:after {
    content: "≫";
    position: absolute;
    right: 10px;
}

.calendarPage .c_pager {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 20px;
}

.calendarPage .section01 {
    max-width: 700px;
    margin: 0 auto;
}

.calendarPage h3 {
    font-size: 1.5em;
    font-weight: normal;
    background: #2576be;
    color: #fff;
    text-align: center;
    margin: 0 0 1em;
    width: 100%;
}

.section02 p {
    text-align: center;
}

.calendarPage h4 {
    font-size: 1.5em;
    margin: 2em 0 1.6em 0;
    border-bottom: solid 4px #2576be;
    color: #2576be;
    text-align: center;
}

.calendarPage .time_list {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    width: 80%;
    margin: 0 auto;
}

.calendarPage .time_list li {
    padding: 0 2em;
}

.tour,
.online {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.tour_contents {
    margin: 0 auto 2em;
    width: calc(100% / 3 - 2%);
    border: solid 1px #b6b6b6;
    padding: 1em;
    display: flex;
    flex-direction: column;
}

.tour_contents dt,
.online dt {
    font-size: 1.2em;
    text-align: center;
    background-color: #29a8d2;
    margin: 0 0 0.5em;
    color: #fff;
}

.tour_contents dd,
.online dd {
    text-align: center;
}

.online {
    margin: 0 auto 2em;
    width: calc(100% / 1 - 2%);
    border: solid 1px #b6b6b6;
    padding: 1em;
    display: flex;
    flex-direction: column;
}

.request {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 90%;
    margin: 0 auto;
}

.request dl {
    width: calc(100% / 2 - 2%);
    border: solid 1px #ccc;
}

.request dt {
    font-size: 1.2em;
    background-color: #29a8d2;
    margin: 0 0 0.5em;
    color: #fff;
    padding: 0 1em;
}

.request dd {
    padding: 0 2em;
}

.request a {
    color: #eb6e8f;
}

.section02 {
    margin: 0 0 2em;
}

/****899ｗ以下******************************************/
@media (max-width: 899px) {}

/****599ｗ以下******************************************/
@media (max-width: 599px) {
    h2 {
        font-size: 1.4em;
    }

    .eventCalendar,
    .eventCalendar thead,
    .eventCalendar tbody,
    .eventCalendar tr,
    .eventCalendar th,
    .eventCalendar td {
        display: block;
        width: 100%;
    }

    .eventCalendar .dayofw,
    .eventCalendar .c_past {
        display: none;
    }

    .eventCalendar tbody {
        height: 250px;
        overflow: auto;
        overflow-y: scroll;
    }

    .calendarPage .eventCalendar td {
        text-align: left;
        padding: 3px;
    }

    .calendarPage .eventCalendar td::after {
        content: "";
        clear: both;
        display: block;
    }

    .calendarPage .eventCalendar .date {
        float: left;
    }

    .calendarPage .eventCalendar .date .w {
        display: inline;
    }

    .calendarPage .eventCalendar .evlink {
        min-height: 0;
        width: auto;
        float: left;
        margin-left: 5px;
    }

    .calendarPage .eventCalendar .evlink a:link {
        margin: 2px;
    }
}

/****/
.img_center {
    text-align: center;
    margin: 1em 0;
}

.line {
    display: flex;
    align-items: center;
    justify-content: left;
    margin: 0 0 1em;
}

.setsumeikai h3 {
    font-size: 1.2em;
font-weight: normal;
background: #2576be;
color: #fff;
text-align: center;
margin: 0 0 1em;
width: 100%;
}
.setsumeikai .box dl {
  background: #fff;
  margin: 0 0 2em;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.setsumeikai .box dl dt {
    font-weight: bold;
font-size: 1.5em;
margin: 0em 0 1em 0;
border-bottom: solid 4px #2576be;
color: #2576be;
text-align: center;
width: 100%;
}

.setsumeikai .box dl dd {
    width: 100%;
margin: 0 auto;
max-width: 500px;
}

.setsumeikai .box dl .dot,
.ksbox {
    margin-bottom: 1em;
    display: flex;
    flex-wrap: wrap;
}

.setsumeikai .box dl .dot.ilb li,
.ksbox li {
    display: inline-block;
    font-weight: bold;
    padding: 0 1em 0 0;
}

.setsumeikai .box dl .dot.ilb li,
.ksbox li {
    display: inline-block;
    padding: 0 3px;
    background: #29a8d2;
    border-radius: 3px;
    margin: 0 1% 1em;
    width: calc(100% / 2 - 2%);
    text-align: center;
    color: #fff;
}

.setsumeikai .time {
    font-size: 20px;
    margin: 0 0 1em;
}
#form h3 {
  font-size: 1em;
  font-weight: bold;
  background: no-repeat;
  color: unset;
  text-align: center;
  margin: 0 0 1em;
  width: 100%;
}

/*600px以上*/
@media screen and (min-width: 600px) {

    .setsumeikai .box dl .dot.ilb li,
    .ksbox li {
        width: calc(100% / 3 - 2%);

    }
}

/*900px以上*/
@media screen and (min-width: 900px) {}