@charset "UTF-8";
@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}
/** splide共通css **/
.splide_in{
  position: relative;
}
.splide li{
    padding: 0;
}
.splide li::before{
    display: none;
}
.splide li a{
    display: block;
    text-decoration: none;
}
.splide li a:focus-visible{
    outline-offset: -2px;
    border: 4px solid #FFF;
}
.splide__slide img {
  width: 100%;
  height: auto;
}
/* 前へ・次へ */
.splide__arrows{
    position: relative;
}
.splide__arrows button.splide__arrow,
#main_outline .splide__arrows button.splide__arrow{
    display: inline-block;
    text-decoration: none;
    background: #fff;
    border: 1px solid #1C5FE6;
    font-size: 90%;
    padding: 24px 10px 4px;
    border-radius: 8px;
    color: #2b3095;
    position: absolute;
    top: calc(50% - calc(1em + 8px));
    z-index: 1;
}
.splide__arrow--prev{
  left: 0;
}
.splide__arrow--next{
  right: 0;
}
.splide__arrow::before{
    content: '';
  position: absolute;
  left: 50%;
  margin-left: -6px;
  transform: rotate(135deg);
  top: calc(50% - 14px);
  width: 10px;
  height: 10px;
  border-right: 2px solid #1C5FE6;
  border-bottom: 2px solid #1C5FE6;
}
.splide__arrow--next::before{
    transform: rotate(-45deg);
  left: auto;
  margin-left: 0;
  right: 50%;
  margin-right: -4px;
}
.splide__arrows button:hover,
#main_outline .splide__arrows button:hover{
    color: #860000;
}
/* 再生・停止 */
.splide_nav{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    position: absolute;
    right: 0;
    bottom: 0;
}
.splide_nav button,
#main_outline .splide_nav button{
    display: inline-block;
    text-decoration: none;
    background: #fff;
    outline: 1px solid #1C5FE6;
    font-size: 85%;
    padding: 3px 6px 3px 20px;
    border-radius: 4px;
    color: #2b3095;
    min-height: 27px;
    border: none;
    transition: 0.2s;
    position: relative;
}
.splide_nav button:hover,
#main_outline .splide_nav button:hover{
    color: #860000;
    background: #efefef;
}
.splide_nav button:focus-visible,
#main_outline .splide_nav button:focus-visible{
    outline: 2px solid #333;
}
.splide_nav button.is-active::before,
#main_outline .splide_nav button.is-active::before{
    content: '';
    position: absolute;
    top: 8px;
    left: 8px;
    height: 12px;
    width: 2px;
    background-color: #1C5FE6;
}
.splide_nav button.is-active::after,
#main_outline .splide_nav button.is-active::after{
    content: '';
    position: absolute;
    top: 8px;
    left: 12px;
    height: 12px;
    width: 2px;
    background-color: #1C5FE6;
}
.splide_nav button:not(.is-active)::before,
#main_outline .splide_nav button:not(.is-active)::before{
    content: '';
    position: absolute;
    top: 8px;
    left: 8px;
    border: 6px solid transparent;
    border-left: 8px solid #1C5FE6;
}
/* ページネーション */
.splide:not(.is-overflow) .splide__pagination{
    display: flex !important;
}
.splide__pagination {
    margin: 0 0 12px;
    width: 100%;
    justify-content: right;
    padding-right: 4em;
}
.splide__arrows .splide__pagination{
    padding-right: 0;
}
.splide__pagination button,
#main_outline .splide__pagination button{
    background: #fff;
    outline: 1px solid #1C5FE6;
    border-radius: 4px;
    left: 0;
    top: 0;
    display: inline-block;
    width: 28px;
    min-height: 28px;
    padding: 0;
    margin: 8px 0 0 8px;
    color: #fff;
    position: relative;
    color: #2b3095;
    transition: 0.2s;
    border:none;
}
.splide__pagination button:hover,
#main_outline .splide__pagination button:hover{
    background: #efefef;
    color: #860000;   
}
.splide__pagination button.is-active,
#main_outline .splide__pagination button.is-active{
    background: #1C5FE6;
    color: #fff;
    outline: 1px solid #fff;
}
.splide__pagination button:focus-visible,
#main_outline .splide__pagination button:focus-visible{
    outline: 2px solid #333;   
}
    @media only screen and (max-width: 480px) {
        .splide__arrows .splide__pagination{
            width: calc(100% + 3.5em);
            position: relative;
            left: -3.5em;
        }
    }
/* キャプション */
.splide .caption {
  background: rgba(0, 123, 187, 0.8);
  color: #fff;
  position: absolute;
  bottom: 12px;
  right: 12px;
  padding: 6px 12px;
  line-height: 1.5;
  font-size: 85%;
  text-shadow: #1C5FE6 1px 1px 0, #1C5FE6 -1px -1px 0,#1C5FE6 -1px 1px 0, #1C5FE6 1px -1px 0,#1C5FE6 0px 1px 0, #1C5FE6 0 -1px 0,#1C5FE6 -1px 0 0, #1C5FE6 1px 0 0;
}
.splide a:focus-visible .caption{
    width: calc(100% - 4px);
    bottom: 2px;
    right: -2px;
}
    @media only screen and (max-width: 480px) {
        .splide .caption{
            position: relative;
            bottom: 0;
            right: 0;
            background: #1C5FE6;
            display: block;
        }
    }
/* 別ウィンドウで開く */
.splide .window {
  position: absolute;
  top: 12px;
  right: 8px;
}