@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,
.splide li::after {
    display: none;
}
.splide li a{
    display: block;
    text-decoration: none;
}
.splide li a:focus-visible {
    outline-offset: -2px;
    border: 4px solid #FFF;
}
.splide.slider2 li a:focus-visible,
.splide.slider3 li a:focus-visible {
    border: 2px solid #000;
	color: #860000;
    outline-offset: -6px;
}
.splide__slide img {
	width: 100%;
	height: auto;
	border: 1px solid #000;
	border-radius: 24px;
}
/* 前へ・次へ */
.splide__arrows{
    position: relative;
}
.splide__arrows button.splide__arrow,
#main_outline .splide__arrows button.splide__arrow {
    position: absolute;
    display: inline-block;
    padding: 48.5px 22.8px 12px;
    text-decoration: none;
    background: #fff;
    border: 1px solid #000;
    border-radius: 50%;
    color: #2b3095;
    font-size: 90%;
    top: calc(50% - calc(1em + 8px));
    z-index: 1;
}
.splide__arrow--prev{
  left: 0;
}
.splide__arrow--next{
  right: 0;
}
.splide__arrow::before {
	position: absolute;
	display: block;
	content: '';
	width: 16px;
	height: auto;
	aspect-ratio: 16 / 24;
	background: transparent url("img/arrow01.svg") no-repeat center / cover;
	top: 12px;
	left: calc(50% - 9px);
	transform: scale(-1,-1);
	transition: .4s ease;
}
.splide__arrow--next::before {
	left: calc(50% - 7px);
	transform: none;
}
.splide__arrow:hover::before {
	left: calc(50% - 14px);
}
.splide__arrow--next:hover::before {
	left: calc(50% - 2px);
}
.splide__arrows button:hover,
#main_outline .splide__arrows button:hover{
    color: #860000;
}
/** ページネーションとボタン **/
.pagination-box {
	display: block;
	position: relative;
	max-width: 100%;
	width: 100%;
	margin: 16px auto 0;
}
.pagination_inner {
	display: flex;
	justify-content: flex-end;
	padding: 0;
}
/* 再生・停止 */
.splide_nav{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    position: absolute;
    right: 0;
    bottom: 0;
}
.pagination-box .splide_nav {
	position: relative;
}
.splide_nav button,
#main_outline .splide_nav button {
    position: relative;
    display: inline-block;
    min-height: 27px;
	margin: 0;
    padding: 2px 6px 2px 20px;
    border: none;
    border-radius: 1rem;
    background: #E7E9EE;
    text-decoration: none;
    font-size: 85%;
    color: #2b3095;
    outline: 1px solid #000;
    transition: 0.2s;
}
.splide_nav button:hover,
#main_outline .splide_nav button:hover {
    color: #860000;
    background: #FFF;
}
.splide_nav button:focus-visible,
#main_outline .splide_nav button:focus-visible{
	border: 1px solid #000;
    outline: 2px solid #000;
}
.splide_nav button.is-active::before,
#main_outline .splide_nav button.is-active::before {
    content: '';
    position: absolute;
    top: calc(50% - 6px);
    left: 8px;
    height: 12px;
    width: 2px;
    background: #2b3095;
}
.splide_nav button.is-active::after,
#main_outline .splide_nav button.is-active::after {
    content: '';
    position: absolute;
    top: calc(50% - 6px);
    left: 12px;
    height: 12px;
    width: 2px;
    background: #2b3095;
}
.splide_nav button:not(.is-active)::before,
#main_outline .splide_nav button:not(.is-active)::before {
    content: '';
    position: absolute;
    top: .54em;
    left: 8px;
    border: 6px solid transparent;
    border-left: 8px solid #2b3095;
}
.splide_nav button:not(.is-active):focus-visible::before,
#main_outline .splide_nav button:not(.is-active):focus-visible::before {
	top: .54em;
}
.splide_nav button.is-active:hover::before,
#main_outline .splide_nav button.is-active:hover::before,
.splide_nav button.is-active:hover::after,
#main_outline .splide_nav button.is-active:hover::after {
	background: #860000;
}
.splide_nav button:not(.is-active):hover::before,
#main_outline .splide_nav button:not(.is-active):hover::before {
	border-left-color: #860000;
}
/* ページネーション */
.splide:not(.is-overflow) .splide__pagination {
    display: flex !important;
}
.splide__pagination {
	flex-flow: row wrap;
	gap: 8px;
    justify-content: right;
	align-content: flex-start;
    width: 100%;
    margin: 0;
}
.pagination-box .splide__pagination {
	width: auto;
	padding-right: 1em;
}
.splide__pagination button,
#main_outline .splide__pagination button {
    position: relative;
    display: inline-block;
    width: 27px;
    min-height: 27px;
    margin: 0;
    padding: 0;
    background: #fff;
    border-radius: 50%;
    border:none;
    color: #2b3095;
    outline: 1px solid #000;
    left: 0;
    top: 0;
    transition: 0.2s;
}
.splide__pagination button:hover,
#main_outline .splide__pagination button:hover{
    background: #E7E9EE;
    color: #860000;   
}
.splide__pagination button.is-active,
#main_outline .splide__pagination button.is-active{
    background: #C1C8D8;
    color: #222;
    outline: 1px solid #000;
}
.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 {
	position: absolute;
	max-width: calc(100% - 24px);
	padding: 6px 20px;
	background: rgba(0,0,0,.8);
	border-radius: 999px;
	color: #fff;
	line-height: 1.5;
	font-size: 85%;
	text-shadow: #000 1px 1px 0,#000 -1px -1px 0,#000 -1px 1px 0,#000 1px -1px 0,#000 0px 1px 0,#000 0 -1px 0,#000 -1px 0 0,#000 1px 0 0;
	bottom: 12px;
	right: 12px;
}
.splide a:focus-visible .caption {
    width: calc(100% - 4px);
    bottom: 16px;
    right: 16px;
}
    @media only screen and (max-width: 480px) {
        .splide .caption{
            position: relative;
            display: block;
			margin-top: 8px;
            background: #000;
            bottom: 0;
            right: 0;
        }
    }
/* 別ウィンドウで開く */
.splide .window {
  position: absolute;
  top: 12px;
  right: 8px;
}