@charset "UTF-8";

body{
margin: 0;
padding: 0;
}
html, body {
  height: auto;
  overflow-y: auto;
}

#bg { position: fixed; top: 0; left: 0; }
.bgwidth { width: 100%; }
.bgheight { height: 100%; }

#title{
position: absolute;
z-index: 2;
text-align: center;
width: 100%;
height: 100%;
margin: auto;
display: grid;
place-content:center;
}
h1{
color: #fff;
font-family: polymath, sans-serif;
font-weight: 500;
font-style: normal;
font-size: 60px;
line-height: 1.1em;
margin: 0;
padding: 0;
padding-bottom: 10px;
}
h1 br{
display: none;
}
h2{
color: #fff;
font-family: polymath, sans-serif;
font-weight: 300;
font-style: normal;
font-size: 20px;
margin: 0;
padding: 0;
padding-bottom: 20px;
}
h2 br{
display: none;
}
h3{
    font-family: polymath, sans-serif;
    font-weight: 300;
    font-style: normal;
  font-size: 22px;
  line-height: 1.0;
  display: inline-block;
  background: #e4ff2d;
  padding: 0.5em 2.5em;
  border: solid 2px #0f2865;
  border-radius: 2em;
  margin: auto;
  transition: 0.5s;
}
.sml60{
font-size: 60%;
}
h3:hover{
background: #fff;
}




@media screen and (max-width:500px){
h1 br{
display: block;
}
h2 br{
display: block;
}
}

/*/////PROGRAM SLIDER//////*/

#openSlider{
cursor: pointer;
}

.loading {
display: none;
position: fixed;
inset: 0;
z-index: 9999;
align-items: center;
place-content:center;
color: #fff;
font-size: 11px;
}
.loading p{
margin: 0;
}
.loading-spinner {
width: 20px;
height: 20px;
border: 3px solid #2bb0d6;         /* ベースの水色 */
border-top: 3px solid #083b59;     /* 濃い部分（回転用） */
border-radius: 50%;
animation: spin 1s linear infinite;
margin: 0 auto;
}

/* 回転アニメーション */
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.stage button{
position: absolute;
top: -34px;
border: none;
font-size: 12px;
color: #fff;
text-align: center;
padding: 0.5em 1.5em;
border-radius: 2em;
background: #0050aa;
cursor: pointer;
transition: 0.3s;
}
.stage button:hover{
background: #0072f3;
}
.stage button:disabled {
background: #d0d9e2;
  cursor: not-allowed;
  color: #bac3cc;
}
button.prev,
button.next {
opacity: 0;
pointer-events: none;
}
button.prev {
left: 0;
}
button.next {
left: 80px;
}
button.ready {
opacity: 1;
pointer-events: auto;
}
.close-btn {
top: -35px;
right: 0;
position: absolute;
width: 30px;
height: 30px;
cursor: pointer;
}
.close-btn::before, .close-btn::after { /* 共通設定 */
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px; /* 棒の幅（太さ） */
  height: 30px; /* 棒の高さ */
  background: #fff;
}

.close-btn::before {
  transform: translate(-50%,-50%) rotate(45deg);
}

.close-btn::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}

.overlay {
  display: none;
  position: fixed;
  inset: 0; /* top, right, bottom, left = 0 */
  background-color: rgba(0, 0, 0, 0.75);
  z-index: 900;
}

.stage {
display: none;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 70%;
max-width: 1300px;
height: auto;
z-index: 1000;
box-shadow: 0 0 20px rgba(0,0,0,0.2);
}
.slider-wrapper {
  width: 100%;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}
.slider {
  display: flex;
  height: 100%;
  transition: transform 0.4s ease;
}
.box {
  flex: 0 0 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  width: 100%; 
}
.box img {
  width: 100%;
}



/*/////PROGRAM SLIDER -- SP//////*/

.stage_sp {
display: none;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 90%;
height: auto;
z-index: 1000;
box-shadow: 0 0 20px rgba(0,0,0,0.2);
}
.slider-wrapper_sp {
  width: 100%;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}
.slider_sp {
  display: flex;
  height: 100%;
  transition: transform 0.4s ease;
}
.stage_sp button{
position: absolute;
top: -34px;
border: none;
font-size: 12px;
color: #fff;
text-align: center;
padding: 0.5em 1.5em;
border-radius: 2em;
background: #0050aa;
cursor: pointer;
transition: 0.3s;
}
.stage_sp button:hover{
background: #0072f3;
}
.stage_sp button:disabled {
background: #d0d9e2;
  cursor: not-allowed;
  color: #bac3cc;
}
