@charset "UTF-8";

/* Slider */
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.slick-track::before,
.slick-track::after {
    display: table;
    content: '';
}

.slick-track::after {
    clear: both;
}

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}

[dir='rtl'] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
    width: 100%;
}

.slick-slide li a:focus img {
    border: 2px solid #005ECC;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

.slick_nav {
    display: flex;
    align-items: center;
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 16px 10px;
    width: 100%;
}

@media only screen and (max-width: 1024px) {
    .slick_nav {
        position: static;
        padding: 10px 0 0;
    }
}

/* 矢印 */
.slick-prev,
.slick-next {
    display: inline-block;
    padding: 5px 10px;
    background: #007bbb;
    color: #fff !important;
    position: absolute;
    top: 50%;
    margin-top: -16px;
    text-decoration: none !important;
    z-index: 100;
}

.slick-prev {
    left: 0;
}

.slick-next {
    right: 0;
}

#body .slick-prev:hover,
#body .slick-next:hover {
    background: #565656;
}

/* ページネーション */
.slick-dots {
    display: flex;
    flex-wrap: wrap;
}

.slick-dots li {
    text-align: center;
    cursor: pointer;
    position: relative;
    height: 34px;
    width: 34px;
    margin: 0 8px 0 0 !important;
    padding: 0;
}

.slick-dots li::before {
    display: none;
}

#body .slick-dots li button {
    background: #007bbb;
    border: 1px solid #007bbb;
    border-radius: 0;
    position: absolute;
    left: 0;
    top: 0;
    display: inline-block;
    width: 34px;
    min-height: 34px;
    padding: 0;
}

#body .slick-dots li.slick-active button {
    background: #fff;
    color: #222;
}

#body .slick-dots li:not(.slick-active) button:hover {
    background: #006fab;
}

/* 再生・停止 */
.slick_ps {
    margin-left: auto;
    position: relative;
}

.slick_ps div.active {
    position: relative;
    z-index: 300;
}

.slick_ps div:not(.active) {
    display: none;
}

.slick_ps div {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 100;
}

.slick_ps a {
    display: inline-block;
    text-decoration: none;
    background: #fff;
    border: 1px solid #007bbb;
    font-size: 90%;
    padding: 5px 10px;
}



/******** ▼▼▼▼▼▼▼▼ メインサイト ▼▼▼▼▼▼▼▼ ********/

/****** ▼▼▼▼▼▼ 共通 ▼▼▼▼▼▼ ******/
.main .vis li,
.main .vis2 li {
    padding-left: 0;
}

.main .vis li::before,
.main .vis2 li::before {
    display: none;
}

/****** ▲▲▲▲▲▲ 共通 ▲▲▲▲▲▲ ******/

/****** ▼▼▼▼▼▼ メインビジュアル ▼▼▼▼▼▼ ******/
.main .vis {
    margin-top: 0;
    background: #FFFFE3;
}

.main .vis h2::before,
.main .vis h2::after {
    display: none;
}

.main .vis .vis_bg {
    position: relative;
    margin: 0 auto;
    max-width: 1200px;
    width: 100%;
}

@media only screen and (max-width: 1024px) {
    .main .vis .slick_nav {
        padding: 5px 12px;
    }
}

.main .vis .slick_ps {
    margin-left: 16px;
}

/**** ▼▼▼▼ ボタン ▼▼▼▼ ****/
#body .vis .slick_nav {
    bottom: 20px;
}

@media only screen and (max-width: 1024px) {
    #body .vis .slick_nav {
        bottom: 0;
    }
}

/** ▼▼ 数字 ▼▼ **/
#body .vis .slick-dots li {
    margin-right: 7px !important;
    height: 27px;
    width: 27px;
}

#body .vis .slick-dots li:last-child {
    margin-right: 0 !important;
}

#body .vis .slick-dots li button {
    display: inline-block;
    width: 27px;
    min-height: 27px;
    color: #2b3095;
    background: #fff;
    border: 1px solid #007bbb;
    border-radius: 3px;
}

#body .vis .slick-dots li button:hover {
    color: #860000;
    background: #fff;
}

#body .vis .slick-dots li.slick-active button,
#body .vis .slick-dots li.slick-active button:hover {
    color: #fff;
    background: #007bbb;
}

/** ▲▲ 数字 ▲▲ **/

/** ▼▼ 停止 ▼▼ **/
#body .vis .slick_ps a {
    position: relative;
    padding: 2px 5px 1px 20px;
    min-height: 27px;
    color: #fff;
    background: #007bbb;
    border-radius: 3px;
}

#body .vis .slick_ps .slick_stop a::before {
    content: '';
    position: absolute;
    left: 8px;
    top: 50%;
    margin-top: -5px;
    border-left: 2px solid #fff;
    border-right: 2px solid #fff;
    height: 10px;
    width: 6px;
}

#body .vis .slick_ps .slick_play a::before {
    content: '';
    position: absolute;
    left: 8px;
    top: 50%;
    margin-top: -5px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 5px;
    border-color: transparent transparent transparent #fff;
}

/** ▲▲ 停止 ▲▲ **/

/** ▼▼ 別ウィンドウで開く ▼▼ **/
#body .vis .window {
    margin-top: 4px;
    margin-left: 12px;
}

/** ▲▲ 別ウィンドウで開く ▲▲ **/

/**** ▲▲▲▲ ボタン ▲▲▲▲ ****/


/**** ▼▼▼▼ テキスト ▼▼▼▼ ****/
.main .vis li .slick_caption {
    position: absolute;
    top: 18px;
    right: 18px;
    display: block;
    margin-top: 0;
    padding: 4px 8px;
    color: #333;
    font-size: 75%;
    background: #fff;
    opacity: 0.8;
}

/**** ▲▲▲▲ テキスト ▲▲▲▲ ****/


/****** ▲▲▲▲▲▲ メインビジュアル ▲▲▲▲▲▲ ******/

/**** ▼▼▼▼ ピックアップ ▼▼▼▼ ****/
.vis2 .slick_nav {
    position: relative;
    justify-content: center;
    padding: 5px 0 0;
}

@media only screen and (max-width: 1024px) {
    .vis2 .slick_nav {
        position: static;
        padding: 5px 0 0;
    }
}

.vis2 .slick-dots {
    display: none !important;
}

/** ▼▼ 数字 ▼▼ **/

/** ▲▲ 数字 ▲▲ **/

/** ▼▼ 停止・再生 ▼▼ **/
.vis2 .slick_ps {
    margin-right: auto;
}

.vis2 .slick_ps a {
    border-radius: 4px;
    font-size: 100%;
}

/** ▲▲ 停止・再生 ▲▲ **/

/**** ▲▲▲▲ ピックアップ ▲▲▲▲ ****/

/******** ▲▲▲▲▲▲▲▲ メインサイト ▲▲▲▲▲▲▲▲ ********/

/******** ▼▼▼▼▼▼▼▼ 観光サイト ▼▼▼▼▼▼▼▼ ********/

/****** ▼▼▼▼▼▼ 【共通】メインビジュアル・電子広報版 ▼▼▼▼▼▼ ******/
.vis_tourism1 li,
.vis_tourism2 li {
    margin-top: 0;
    padding-left: 0;
}

.vis_tourism1 li::before,
.vis_tourism2 li::before {
    display: none;
}

.vis_tourism1 .slick_ps,
.vis_tourism2 .slick_ps {
    margin-left: 16px;
}

/****** ▲▲▲▲▲▲ 【共通】メインビジュアル・電子広報版 ▲▲▲▲▲▲ ******/

/****** ▼▼▼▼▼▼ メインビジュアル ▼▼▼▼▼▼ ******/
.main .vis_tourism1 h2 {
    display: none;
}

/****** ▲▲▲▲▲▲ メインビジュアル ▲▲▲▲▲▲ ******/

/****** ▼▼▼▼▼▼ 電子広報版 ▼▼▼▼▼▼ ******/
/**** ▼▼▼▼ 画像 ▼▼▼▼ ****/
.main .vis_tourism2 {
    margin: 0 auto;
    max-width: 900px;
}

.main .vis_tourism2 .slick-slider .ilist_left img {
    height: 150px;
}

/**** ▲▲▲▲ 画像 ▲▲▲▲ ****/


/**** ▼▼▼▼ テキスト ▼▼▼▼ ****/
.main .vis_tourism2 .slick-slider .ilist_right .ilist_title {
    padding: 0 40px;
    text-align: center;
    letter-spacing: 0;
}

/**** ▲▲▲▲ テキスト ▲▲▲▲ ****/

/**** ▼▼▼▼ コントロールパネル ▼▼▼▼ ****/
.main .vis_tourism2 .slick_nav {
    position: relative;
}

/**** ▲▲▲▲ コントロールパネル ▲▲▲▲ ****/


/****** ▲▲▲▲▲▲ 電子広報版 ▲▲▲▲▲▲ ******/

/**** ▼▼▼▼ ピックアップ ▼▼▼▼ ****/

.main .vis2 .slick-slider {
    margin: 0 auto;
    padding: 0 79px;
    max-width: 1224px;
    width: 100%;
}

@media only screen and (max-width: 1024px) {
    .main .vis2 .slick-slider {
        padding: 0;
    }

    .main .vis2 .slick-slide {
        opacity: 0.5;
    }

    .main .vis2 .slick-slide.slick-active {
        opacity: 1;
    }

}

.main .vis2 .slick-list li {
    padding: 10px;
    margin-top: 0;
}

.main .vis2 .slick-list li a {
    text-decoration: none;
}

.main .vis2 .slick-list li a .ilist_right {
    display: none;
}

.main .vis2 .slick-list li img {
    display: block;
    border: 1px solid #0077b3;
    border-radius: 12px;
    overflow: hidden;
}

.main .vis2 .slick-list li .window {
    margin: 5px auto 0;
    display: block;
    width: fit-content;
}

/** ▼▼ 前へ・次へ ▼▼ **/
.main .vis2 .slick-prev,
.main .vis2 .slick-next {
    padding: 5px 9px;
    color: #2b3095 !important;
    background: #fff;
    border: 1px solid #0007B3;
    border-radius: 4px;
}

.main .vis2 .slick-prev:hover,
.main .vis2 .slick-next:hover {
    color: #860000 !important;
    background: #fff !important;
}

.main .vis2 .slick-prev {
    left: 12px;
}

.main .vis2 .slick-next {
    right: 12px;
}

/** ▲▲ 前へ・次へ ▲▲ **/

/**** ▲▲▲▲ ピックアップ ▲▲▲▲ ****/

/******** ▲▲▲▲▲▲▲▲ 観光サイト ▲▲▲▲▲▲▲▲ ********/

/******** ▼▼▼▼▼▼▼▼ 子どもサイト ▼▼▼▼▼▼▼▼ ********/

/**** ▼▼▼▼ メインビジュアル ▼▼▼▼ ****/
.main .vis_child1 h2,
.main .vis_child1 li::before {
    display: none;
}

.main .vis_child1 {
    width: calc(63% + 4px);
}

@media only screen and (max-width: 1050px) {
    .main .vis_child1 {
        width: 100%;
    }
}

.main .vis_child1 .slick-list {
    border: 3px solid #FFCC33;
    border-radius: 20px;
    overflow: hidden;
}

.main .vis_child1 li {
    margin-top: 0;
    margin-bottom: -7px;
    padding-left: 0;
}

/** ▼▼ コントロールパネル ▼▼ **/
.main .vis_child1 .slick_nav {
    padding: 12px 16px 16px 16px;
}


/** ▼ 数字 ▼ **/
.main .vis_child1 .slick_nav .slick-dots li {
    margin: 5px 5px 0 0 !important;
    width: 28px;
    height: 28px;
}

.main .vis_child1 .slick_nav .slick-dots li:last-child {
    margin: 5px 0 0 0 !important;
}

#body .main .vis_child1 .slick-dots li button {
    width: 28px;
    min-height: 28px;
    font-size: 81.25%;
    color: #2b3095;
    background: #FFF;
    border: 1px solid #FFCC33;
    border-radius: 50%;
}

#body .main .vis_child1 .slick-dots li button:hover {
    color: #9f0000;
}

#body .main .vis_child1 .slick-dots li.slick-active button {
    color: #333;
    background: #FFF5D9;
}

/** ▲ 数字 ▲ **/

/** ▼ 前へ・次へ ▼ **/
.main .vis_child1 .slick-prev,
.main .vis_child1 .slick-next {
    position: absolute;
    top: calc(50% - 30px);
    display: flex;
    justify-content: center;
    padding: 28px 12px 8px;
    width: 60px;
    min-height: 60px;
    font-size: 87.5%;
    background: #FFF5D9;
    color: #2b3095 !important;
    text-decoration: none !important;
    border: 1px solid #FFCC33;
    border-radius: 50%;
    z-index: 100;
}

@media only screen and (max-width: 798px) {

    .main .vis_child1 .slick-prev,
    .main .vis_child1 .slick-next {
        display: none !important;
    }
}

.main .vis_child1 .slick-prev {
    left: 16px;
}

.main .vis_child1 .slick-next {
    right: 16px;
}

.main .vis_child1 .slick-prev:hover,
.main .vis_child1 .slick-next:hover {
    color: #9f0000 !important;
    background: #FFF5D9 !important;
}

.main .vis_child1 .slick-prev::before,
.main .vis_child1 .slick-next::before {
    position: absolute;
    top: 10px;
    display: block;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
}

.main .vis_child1 .slick-prev::before {
    right: calc(50% - 6px);
    border-right: 13px solid #FFCC33;
    border-left: 0;
}

.main .vis_child1 .slick-next::before {
    left: calc(50% - 6px);
    border-left: 13px solid #FFCC33;
    border-right: 0;
}

/** ▲ 前へ・次へ ▲ **/

/* ▼ 停止・再生 ▼ */
.main .vis_child1 .slick_ps {
    margin-left: 10px;
}

.main .vis_child1 .slick_ps a {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 5px;
    padding: 2px 6px;
    width: 50px;
    min-height: 28px;
    font-size: 81.25%;
    text-decoration: none;
    background: #FFF5D9;
    border: 1px solid #FFCC33;
    border-radius: 14px;
}

/** ▲ 停止・再生 ▲ **/

/** ▲▲ コントロールパネル ▲▲ **/

/**** ▲▲▲▲ メインビジュアル ▲▲▲▲ ****/

/**** ▼▼▼▼ あそび場・居場所 ▼▼▼▼ ****/
.main .vis_child2 li::before,
.main .vis_child2 .slick_nav .slick-dots {
    display: none;
}

.main .vis_child2 .vis_slider {
    padding: 0 64px;
}

.main .vis_child2 li {
    margin-top: 0;
    padding: 0 12px;
}

.main .vis_child2 li a {
    font-weight: bold;
    text-align: center;
    text-decoration: none;
}

@media only screen and (max-width: 480px) {
    .main .vis_child2 .vis_slider {
        padding: 0;
    }

    .main .vis_child2 .vis_slider .slick-slide {
        opacity: 0.3;
    }

    .main .vis_child2 .vis_slider .slick-slide.slick-active {
        opacity: 1;
    }

    .main .vis_child2 .vis_slider .slick-slide a {
        pointer-events: none;
    }

    .main .vis_child2 .vis_slider .slick-slide.slick-active a {
        pointer-events: auto;
    }

}


/** ▼▼ 画像・テキスト ▼▼ **/

/* 画像 */
.main .vis_child2 li .ilist_left {
    border: 2px solid #6BD7F8;
    border-radius: 12px;
    overflow: hidden;
}

/** ▲▲ 画像・テキスト ▲▲ **/

/** ▼▼ 前へ・次へ ▼▼ **/
.main .vis_child2 .slick-prev,
.main .vis_child2 .slick-next {
    position: absolute;
    top: 30%;
    display: flex;
    justify-content: center;
    padding: 28px 12px 8px;
    width: 60px;
    min-height: 60px;
    font-size: 87.5%;
    background: #E6FDFF;
    color: #2b3095 !important;
    text-decoration: none !important;
    border: 1px solid #569FE8;
    border-radius: 50%;
    z-index: 100;
}

.main .vis_child2 .slick-prev:hover,
.main .vis_child2 .slick-next:hover {
    color: #9f0000 !important;
    background: #E6FDFF !important;
}

.main .vis_child2 .slick-prev::before,
.main .vis_child2 .slick-next::before {
    position: absolute;
    top: 10px;
    display: block;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
}

.main .vis_child2 .slick-prev::before {
    right: calc(50% - 6px);
    border-right: 13px solid #569fe8;
    border-left: 0;
}

.main .vis_child2 .slick-next::before {
    left: calc(50% - 6px);
    border-left: 13px solid #569fe8;
    border-right: 0;
}

/** ▲▲ 前へ・次へ ▲▲ **/

/** ▼▼ 停止・再生 ▼▼ **/
.main .vis_child2 .slick_nav {
    position: relative;
    padding: 20px 10px 0;
}

.main .vis_child2 .slick_ps {
    margin-right: auto;
}

.main .vis_child2 .slick_ps a {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 50px;
    min-height: 28px;
    padding: 3px 9px;
    font-size: 81.25%;
    text-decoration: none;
    background: #E6FDFF;
    border: 1px solid #569FE8;
    border-radius: 14px;
}

/** ▲▲ 停止・再生 ▲▲ **/

/**** ▲▲▲▲ あそび場・居場所 ▲▲▲▲ ****/

/******** ▲▲▲▲▲▲▲▲ 子どもサイト ▲▲▲▲▲▲▲▲ ********/