/* スマホ・タブレット時のみ改行用 */
.br-sp {
    display: none;
}
@media screen and (max-width: 820px) {
    .br-sp {
        display: block;
        height: 0;
    }
}
/* 2025年度対応スタイル */

/* 蓄積データ表示用のスタイル */
.data-years {
  position: absolute;
  top: -14px;
  right: -6px;
  font-size: 20px;
  color: #CC0000;
  font-weight: bold;
  line-height: 1.2;
  text-align: right;
}

/* title要素を相対位置指定にして、絶対位置の基準にする */
.title {
  position: relative;
}

/* sheet-contentsを相対位置指定にして、絶対位置の基準にする */
#sheet02 .sheet-contents {
  position: relative;
}

/* お受験イラスト画像を右上に配置 */
.sheet-contents img {
  position: absolute;
  top: -10px;
  right: 10px;
  width: 260px;
  height: auto;
  z-index: 1;
}

/* 講師情報のスタイル */
.infant-teacher-info {
  text-align: left !important;
  font-size: 162% !important;
  line-height: 1.5em !important;
  color: #333333 !important;
  font-weight: bold !important;
}

.teacher-profile {
    font-size: 77% !important;
    line-height: 1.5em !important;
    color: #333333 !important;
}

div#sheet01 div.sheet-contents-bottom div.bottom-left {
    width: 470px;
}

div#sheet01 div.sheet-contents-bottom div.bottom-right {
    width: 190px;
}

/* デスクトップ表示時はモバイル専用要素を非表示 */
.infant-mobile-notice {
    display: none;
}

/* ローディングアニメーション */
#loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #FFFFCC;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
  animation: fadeOut 0.5s ease-in-out 3s forwards;
}

#loading-animation {
  opacity: 0;
  transform: translate(50px, 50px);
  animation: slideUpDiagonal 1s ease-out 1s forwards;
}

#loading-animation img {
  width: 200px;
  height: auto;
  display: block;
}

@keyframes slideUpDiagonal {
  0% {
    opacity: 0;
    transform: translate(50px, 50px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}

@media screen and (max-width: 820px) { 
        div#contents-R div#contents-footer {
        width: 720px;
        margin: 0 22px;
    }
}

@media screen and (max-width: 768px) { 
    div#contents-R div#contents-footer {
        width: 720px;
        margin: 0 3px;
    }
}

/* スマホ閲覧時のレスポンシブスタイル */
@media screen and (max-width: 600px) {
    div#classmenu .menulist-ro {
        border-right: solid 1px #1E50A2 !important;
    }
    
    div#classmenu .menulist-long.small {
        border-right: solid 1px #1E50A2 !important;
    }
    
    div#classmenu .menulist-end {
        border-right: solid 1px #1E50A2 !important;
        height: 45px !important;
    }
    
    div#contents-R div#contents-body div#contents-inner {
        width: 100%;
    }
    
    div#contents-R div#infant-top {
        width: 100%;
        background: url(../img/img01_sp.jpg) no-repeat 0 0;
        background-size: contain;
        aspect-ratio: 71 / 25;
        height: auto !important;
    }
    
    .infant-mobile-notice {
        display: flex;
        background-color: #ffffcb;
        border: 2px solid #37a4c3;
        color: #0099ff;
        font-size: 16px;
        text-align: left;
        padding: 4px 10px;
        margin: 10px 0;
    }

    .data-years {
        top: -40px;
        right: 10px;
        font-size: 18px;
        line-height: 26px;
    }
    
    div#sheet01 {
        width: 100%;
    }
    
    div#sheet01 div.sheet-contents {
        width: 100%;
    }
    
    div#sheet01 div.sheet-contents div.title {
        width: 100%;
    }
    
    div#sheet01 div.sheet-contents p {
        font-size: 122%;
        text-align: center;
        line-height: 1.8em;
    }
    
    div#sheet02 {
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
    
    div#sheet02 div.sheet-contents {
        width: 100%;
    }
    
    div#sheet01 div.sheet-contents-bottom div.bottom-left {
        width: 100%;
        order: 2;
    }
    
    div#sheet01 div.sheet-contents-bottom div.bottom-right {
        width: 100%;
        order: 1;
        text-align: center;
    }

    div#sheet01 div.sheet-contents-bottom div.bottom-right p {
        text-align: center !important;
    }
    
    div#sheet01 div.sheet-contents-bottom {
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    
    .sheet-contents img {
        top: 60px;
        right: -15px;
        width: 142px;
    }
    
    div#sheet02 div.sheet-contents div.tbl {
        width: 100%;
        margin-left: 0;
    }
    
    div#sheet02 div.sheet-contents .special-title {
        width: 100%;
        font-size: 100%;
        margin-left: 0;
    }
    
    div#sheet02 div.sheet-contents .special-plan dl {
        width: 100%;
        margin-left: 0;
    }
    
    div#sheet02 div.sheet-contents .special-plan dl dt {
        width: 100%;
        margin-bottom: 0;
    }
    
    div#sheet02 div.sheet-contents .special-plan dl dd {
        width: 100%;
        line-height: 1.4em;
    }
    
    /* 日付の後に改行を入れる */
    div#sheet02 div.sheet-contents .special-plan dl dd {
        white-space: pre-line;
    }

    div#sheet02 div.sheet-contents .special-plan p {
        width: 100%;
        text-align: left;
        margin: 10px 0 0 0px;
    }
}

/* スマホ・タブレット時のみ改行用 */
.br-sp {
  display: none;
}

/* スマホ・タブレット時のマージン調整 */
@media screen and (max-width: 820px) {
  .br-sp {
    display: block;
    height: 0;
  }
  
  .note-indent {
    margin-left: 0 !important;
  }
  
  .space-hide {
    display: none;
  }
  
  .mobile-indent {
    margin-left: 1.3em;
  }
  
  .mobile-padding-left {
    padding-left: 15px;
  }
}