body{
    width: 100%;
    /*background-color: #fff0f5;*/
    /*background: linear-gradient(135deg, #ffe4e1,#fff0f5,#f5fffa, white);*/
    background: linear-gradient( 180deg,#EBFFD9 0%,white 15%,#ffe4e1 50%,white 85%,#EBFFD9 100%);
    font-family: "Noto Sans JP", sans-serif;
    color: rgb(50, 50, 50);
    font-size: 125%;
    margin-top: 15px;
}
h1,h2,h3,h4{
    margin-bottom: 10px;
}
header{
    max-width: 960px;
    margin: 0 auto;
}
footer p a{
    display: block;
}
#toplogo{
    max-height: 40px;
    float: right;
}
#logo{
    display: block;
    margin: 20px auto;
}
#HP{
    margin: 0 auto;
}
main{
    width: 900px;
    margin: 20px auto;
}
article p{
    margin-left: 20px;
}
section{
    padding: 20px;
}
#panelist > div{
    margin-bottom: 25px;
}
.title{
    font-size: 22px;
    font-weight: 600;
}
.title > span{
    font-size: 90%;
}
.cast{
    margin: 7px;
}
.cast img{
    max-width: 250px;
}
@media (max-width:640px) {
    .cast{
        flex-direction: column;
    }
    h1{
        font-size: 24px;
        margin: 5px 10px 0;
    }
    h2{
        font-size: 20px;
    }
    h3{
        font-size: 18px;
    }
    h4{
        font-size: 16px;
    }
    p{
        font-size: 16px;
    }
    li{
        font-size: 16px;
    }
    main{
        width: 100%;
    }
    #mainImg{
        max-width: 100%;
    }
}
#formButton{
    background-color: #afeeee;
    display: block;
    width: 350px;
    height: 75px;
    font-size: 25px;
    margin: 35px auto;
    padding-top: 15px;
    text-align: center;
    font-weight: bold;
    border-radius: 20px;
}
#recommendation ul{
    margin-left: 20px;
}
figcaption{
    margin-left: 10px;
    margin-bottom: 15px;
}

.floattest{
    float: right;
}
.clear_r{
    clear: right;
}

.floattest_l{
    float: left;
}
.clear_l{
    clear: left;
}

.js-fade {
    opacity: 0;
    visibility: hidden;
    transform: translateY(100px);
    transition: opacity 2s,visibility 2s, transform 2s;
}

.scroll {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}

/* スクロールダウンの位置 */
.scrolld {
  padding-top: 60px;
  position: relative;
  text-align: center;
}
/* 矢印のアニメーション部分 */
.scrolld::before {
  animation: scroll 2s infinite;
  border-bottom: 1px solid #000;
  border-left: 1px solid #000;
  content: "";
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}
/* 矢印のアニメーション */
@keyframes scroll {
  0% {
    opacity: 0;
    transform: rotate(-45deg) translate(0, 0);
  }
  40% {
    opacity: 1;
  }
  80% {
    opacity: 0;
    transform: rotate(-45deg) translate(-20px, 20px);
  }
  100% {
    opacity: 0;
  }
}

.noto {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: weight;
  font-style: normal;
}

#scrl{
    opacity: 1;
    transition: opacity 5s;
}

.program{
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

.program tr{
    border-top: solid 1px #dddddd;
    border-bottom: solid 1px #dddddd;
}