/*loading*/
#splash {
	/*fixedで全面に固定*/
	position: fixed;
	z-index: 999;
	width: 100%;
	height: 100%;
	background:#222;    
	text-align:center;
}
#splash img{
    width: 20%;
    position: absolute;
	top: 40%;
	left: 50%;
    transform: translate(-50%, -50%);
}
/* Loadingバー中央配置　*/
#splash_text {
	position: absolute;
	top: 70%;
	left: 50%;
	z-index: 999;
	width: 70%;
	transform: translate(-50%, -50%);
	color: #fff;
}
@media (max-width: 480px) {
    #splash img{
        width: 45%;
        top: 40%;
    }
    #splash_text{top: 65%;}
}

/*pageTop*/
#pageTop {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 100;
    width: 48px;
    height: 48px;
    text-decoration: none;
    background-color: #ad0e0e;
    box-shadow: 0px 0px 8px #111;
    display: block;
    text-align: center;
    border-radius: 50%;
    opacity: 0;
    transition: opacity 0.4s ease-in;
}
@media (max-width: 480px) {
    #pageTop {
        bottom: 15px;
        right: 5px;
        width: 48px;
    }
}
#pageTop::before {
    content: '\f062';
    font-family: 'Font Awesome 6 Free';
    font-size: 20px;
    font-weight: 900;
    color: #fff;
    line-height: 48px;
}
/* fadeinクラスがついた時だけ表示する */
#pageTop.fadein {opacity: 0.9;}


/*calender*/
.calendar-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: center;
    font-family: 'arial black', sans-serif;
    font-size: 12px;
    text-transform: uppercase;
    background-color:#111;
    border-radius: 3px;
    padding: 1em;
    margin-bottom: 1em;
}
.calendar-month-year {
    flex: 1;
    position: relative;
}
.calendar-nav-btn {
    background: none;
    border: none;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    cursor: pointer;
    width: 20px;
    height: 20px;
    border-radius: 3px;
    transition: background-color 0.3s;
}
@media (hover: hover) {
    .calendar-nav-btn:hover {background-color: rgba(255, 255, 255, 0.1);}
    .calendar-nav-btn:active {background-color: rgba(255, 255, 255, 0.2);}
}
.calendar {
    width: 100%;
    border-collapse: collapse;
}
.calendar th, .calendar td {
    text-align: center;
    padding: 10px;
    font-size: 14px;
    font-weight: bold;
}
.calendar th {padding: 6px 10px;}
.calendar th.sun {color: #e17f7e;}
.calendar th.sat {color: #7ab6f3;}
.calendar .mute {visibility: hidden;}
.calendar .today {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color:#ad0e0e;
    border-radius: 50%;
    width: 22px;
    height: 22px;
}
.calendar .past {opacity: 0.4;}


/*BasicSlider*/
.sliderArea {
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
}
.slick-slide {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
	margin: 0 2px;
}
.slick-slide img {width: 100%;}
.slick-prev, .slick-next {z-index: 1;}
.slick-prev:before, .slick-next:before {color: #000;}
.slick-slide {
	transition: all ease-in-out .3s;
	opacity: .2;
}
.slick-active {opacity: 1;}
.slick-current {opacity: 1;}
.thumb {margin: 20px 0 0;}
.thumb .slick-slide {cursor: pointer;}
@media (hover: hover) {
    .thumb .slick-slide:hover {opacity: .7;}
}
.full-screen .slick-list {overflow: visible;}
.full-screen.slider {
	max-width: 40%;
	margin: 0 auto;
}
.full-screen .slick-dots {
	bottom: -24px;
}
.full-screen .slick-dots li {
	position: relative;
	display: inline-block;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	cursor: pointer;
}
.full-screen .slick-dots li button {
	font-size: 0;
	line-height: 0;
	padding: 0;
	cursor: pointer;
	background-color: #aaa;
	text-indent: -9999px;
	display: block;
	width: 36px;
	height: 5px;
	margin: 0 1px;
	transition-duration: 0.3s;
}
@media (hover: hover) {
    .full-screen .slick-dots li button:hover{background-color: #666;}
}
.full-screen .slick-dots li.slick-active button{background-color: crimson;}
@media screen and (max-width: 480px) {
    .slick-slide{margin: 0;}
    .full-screen.slider {max-width: 100%;}
    .full-screen .slick-dots li button{width: 28px;}
}


/*swiper*/
.swiper {
    width: 100%;
    height: 100%;
}
.swiper-slide {
    overflow-y: hidden;
    text-align: center;
    font-size: 18px;
    background: #444;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all ease-in-out .3s;
}
.champSwiper .swiper-slide{
    opacity: .2;
}
.champSwiper .swiper-slide-active{
    opacity: 1.0;
    box-shadow: 0 0 8px #111;
}
.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.autoplay-progress {
    position: absolute;
    right: calc(50% - 360px);
    bottom: 10px;
    z-index: 10;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: var(--swiper-theme-color);
}
.autoplay-progress svg {
    --progress: 0;
    position: absolute;
    left: 0;
    top: 0px;
    z-index: 10;
    width: 100%;
    height: 100%;
    stroke-width: 4px;
    stroke: var(--swiper-theme-color);
    fill: none;
    stroke-dashoffset: calc(125.6px * (1 - var(--progress)));
    stroke-dasharray: 125.6;
    transform: rotate(-90deg);
}
@media screen and (max-width: 480px) {
    #respSlide_wrap .swiper{
        padding-bottom: 15px;
    }
    .swiper-button-next,
    .swiper-button-prev {
        display: none !important;
    }
    #respSlide_wrap .swiper-pagination{
        bottom: -10px !important;
        position: relative !important; /* absoluteからrelativeに変更 */
    }
    .autoplay-progress{
        top: 15px;bottom: auto;
        right: 15px;
        width: 32px;
        height: 32px;
    }
}
@media screen and (min-width: 481px) {
    #respSlide_wrap .swiper-pagination {
        display: none !important;
    }
}