@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;
}


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

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

#body .main .vis::before {
    display: block;
    content: "";

}

#body .main .vis .slick_nav {
    bottom: 10px;
    padding: 8px 10px 13px 24px;
    align-items: flex-start;
    z-index: 3;
}

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

/* ▼ 数字 ▼ */

#body .main .vis .slick-dots li {
    margin: 8px 8px 0 0 !important;
    width: 26px;
    height: 26px;
}

#body .main .vis .slick-dots li button {
    position: absolute;
    left: 0;
    top: 0;
    display: inline-block;
    padding: 0;
    width: 26px;
    min-height: 26px;
    color: #2b3095;
    background: #fff;
    font-weight: normal;
    border: 1px solid #0078C2;
    border-radius: 4px;
}

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

#body .main .vis .slick-dots li.slick-active button {
    color: #fff;
    background: #0078C2;
    z-index: 0;
}

#body .main .vis .slick-dots li.slick-active {
    position: relative;
}

#body .main .vis .slick-dots li.slick-active::before {
    position: absolute;
    top: -16px;
    left: 0;
    display: block;
    content: "";
    width: 26px;
    height: 23px;
    background-image: url(img/slick-active.png);
    background-size: cover;
    border-right: 0;
    border-bottom: 0;
    transform: rotate(0deg);
}

/* ▲ 数字 ▲ */

/* ▼ 停止・再生 ▼ */
.main .vis .slick_ps {
    margin: 8px 12px 0 0;
}

.main .vis .slick_ps a {
    position: relative;
    padding: 2px 7px 1px 20px;
    font-size: 87.5%;
    color: #fff;
    background: #0078c2;
    border: 1px solid #fff;
    border-radius: 2px;
}

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

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

/* ▲ 停止・再生 ▲ */

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

/**** ▼▼▼▼ トピックス ▼▼▼▼ ****/
.vis2 {
    margin-top: 70px;
    padding: 20px 0;
    background-image: url(img/line01.png);
    background-size: 500px;
}

.vis2 h2 {
    padding: 0 16px;
    text-align: center;
}

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

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

.vis2 ul .slick-list {
    padding: 0 4% 16px 0;
}

@media only screen and (max-width: 820px) {
    .vis2 ul .slick-list {
        padding: 0 0 16px;
    }
}

.vis2 ul .slick-list li {
    padding: 0 10px;
}

@media only screen and (max-width: 480px) {
    .vis2 ul .slick-list li {
        padding: 0 6px;
    }
}

.vis2 ul .slick-list li::before {
    display: none;
}

.vis2 ul .slick-list li a {
    display: block;
    color: #333;
    font-weight: bold;
    text-decoration: none;
    background: #fff;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    border-radius: 12px;
    overflow: hidden;
}


/** ▼▼ 画像 ▼▼ **/
.vis2 ul .slick-list li a .ilist_left {
    overflow: hidden;
}

.vis2 ul .slick-list li a .ilist_left img {
    transition-duration: 0.5s;
}

.vis2 ul .slick-list li a:hover .ilist_left img {
    transform: scale(1.1);
}

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

/** ▼▼ テキスト ▼▼ **/
.vis2 .ilist_right {
    padding: 8px 12px;
}

.vis2 .ilist_right p.ilist_title {
    margin-top: 0;
}

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

/** ▼▼ コントロールパネル ▼▼ **/
.vis2 .slick_nav {
    position: relative;
    justify-content: center;
    padding: 0;
}

.vis2 .slick_nav .slick-dots {
    display: none;
}

/* 停止・再生 */
.vis2 .slick_nav .slick_ps {
    margin-left: 0;
}

.vis2 .slick_nav .slick_ps a {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1px 8px;
    min-height: 24px;
    font-size: 87.5%;
    border: 0;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

/* 次へ・前へ */
.vis2 .slick-prev,
.vis2 .slick-next {
    position: absolute;
    top: calc(50% - 50px);
    display: flex;
    justify-content: center;
    margin-top: 0;
    padding: 63px 5px 7px;
    max-width: 50px;
    width: 100%;
    min-height: 100px;
    font-size: 87.5%;
    color: #2b3095 !important;
    background: #fff;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

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

    .vis2 .slick-prev,
    .vis2 .slick-next {
        top: calc(40% - 50px);
    }
}

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

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

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

.vis2 .slick-prev::before,
.vis2 .slick-next::before {
    position: absolute;
    top: 24px;
    left: calc(50% - 8px);
    display: block;
    content: "";
    width: 16px;
    height: 26px;
    background-image: url(img/topic-arrow.png);
    background-size: cover;
}

.vis2 .slick-next::before {
    transform: scaleX(-1);
}

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

/**** ▲▲▲▲ トピックス ▲▲▲▲ ****/

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


/******** ▼▼▼▼▼▼▼▼ サブサイト1 ▼▼▼▼▼▼▼▼ ********/

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

/******** ▲▲▲▲▲▲▲▲ サブサイト1 ▲▲▲▲▲▲▲▲ ********/


/******** ▼▼▼▼▼▼▼▼ サブサイト2 ▼▼▼▼▼▼▼▼ ********/

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

/******** ▲▲▲▲▲▲▲▲ サブサイト2 ▲▲▲▲▲▲▲▲ ********/


/******** ▼▼▼▼▼▼▼▼ サブサイト3 ▼▼▼▼▼▼▼▼ ********/

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

/******** ▲▲▲▲▲▲▲▲ サブサイト3 ▲▲▲▲▲▲▲▲ ********/