.sp-foot {
    transform: translateY(0);
    z-index: 9999;
}

#hd-disp {
    display: none;
}
#hd-disp.active {
    display: block;
}

@media screen and (min-width: 800px) {
    #hd-disp {
        display: block;
    }
}

.visual-logo ul {
    margin: 0 auto;
    text-align: center;
    text-shadow: 2px 2px #fff;
}

/* .prf-bg{
    background-image: url(../img/back.jpg);
    background-repeat: repeat;
    background-size: contain;
    background-position: center;
} */

.prof-info-box p {
    font-size: 1rem;
}

.ico-area {
    position: absolute;
    top: -1px;
    left: -1px;
}
.ico01, .ico02, .ico03, .ico04, .ico05, .ico06, .ico07, .ico08, .ico09, .ico010, .ico011, .ico012, .ico013 {
    width: 4rem;
    height: 3.8rem;
    overflow: hidden;
}
.ico01::before,
.ico02::before,
.ico03::before,
.ico04::before,
.ico05::before,
.ico06::before,
.ico07::before,
.ico08::before,
.ico09::before,
.ico010::before,
.ico011::before,
.ico012::before,
.ico013::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(227, 4, 142, 0.7) !important;
    clip-path: polygon(0 0, 100% 0, 0 100%);
    background: linear-gradient(135deg, rgb(255 171 208 / 95%), rgba(227, 4, 142, 0.85)) !important;
}

.ico01 span, .ico02 span, .ico03 span, .ico04 span, .ico05 span, .ico06 span, .ico07 span, .ico08 span, .ico09 span, .ico010 span, .ico011 span, .ico012 span, .ico013 span {
    display: inline-block;
    padding: 0.25rem;
    font-size: 0.7rem;
    line-height: 1;
    position: absolute;
    top: 10px;
    left: 4px;
    transform: rotate(-45deg);
    color: #fff;
}

.ico01 p,
.ico02 p,
.ico03 p,
.ico04 p,
.ico05 p,
.ico06 p,
.ico07 p,
.ico08 p,
.ico09 p,
.ico010 p,
.ico011 p,
.ico012 p,
.ico013 p 
{
    display: inline-block;
    padding: 0.25rem;
    font-size: 0.7rem;
    line-height: 1;
    position: absolute;
    top: 10px;
    left: 4px;
    transform: rotate(-45deg);
    color: #fff;
}
@media screen and (min-width: 801px) {
        .ico01, .ico02, .ico03, .ico04, .ico05, .ico06, .ico07, .ico08, .ico09, .ico010, .ico011, .ico012, .ico013 {
        height: 4rem;
        width: 4rem;
    }
}

.sp-block {
    display: block;
}
.pc-block {
    display: none;
}

.cubic-schedules {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    width: 100%;
    border-top: 1px solid #ffbfd7;
    border-left: 1px solid #ffbfd7;
}
.cubic-schedules dl {
    margin: 0;
    padding: 0;
}
.cubic-schedules dl:first-child {
    grid-column: 1 / -1;
}
.cubic-schedules dt,
.cubic-schedules dd {
    display: block;
    text-align: center;
    padding: 0.5rem 1rem;
    margin: 0;
    border-right: 1px solid #ffbfd7;
    border-bottom: 1px solid #ffbfd7;
    color: #3c3c3c;
}
.cubic-schedules dt {
    background: linear-gradient(to bottom, #ffcbdf, #fff7fa);
}
.cubic-schedules dd {
    background: #fff;
    font-size: 0.8rem;
}
.cubic-schedules dl:first-of-type dt {
    background: linear-gradient(to bottom, #ff75a9, #ffbfd7);
    color: #fff;
}
.cubic-schedules dt.sat {
    color: #2b7bb9;
}
.cubic-schedules dt.sun {
    color: #ea3838;
}

@media screen and (min-width: 801px) {
    .sp-block {
        display: none;
    }
    .pc-block {
        display: block;
    }
}

.ico-sns02 {
  background-color: #15202b;
  position: absolute;
  right: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 100%;
}
.tab-wrap .ico-sns02 {
  background-color: #15202b;
  right: 6.5rem;
  width: 3rem;
  height: 3rem;
}
.ico-sns02-img {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
}
.ico-sns02-img:before {
  content: "";
  background: #15202b url(../img/ico-sns02.png) no-repeat center/cover;
  width: 2rem;
  height: 2rem;
  display: block;
  border-radius: 100%;
}
.tab-wrap .ico-sns02-img:before {
  width: 3rem;
  height: 3rem;
}

.ico-bs {
  right: 5.5rem;
  background: #2a7cff;
}

.mov-container {
    width: 100%;
    margin-top: 4rem;
    margin-bottom: 1rem;
}
.mov-inner {
    width: 100%;
    padding-top: 30rem;
    position: relative;
    margin: 0 auto;
}
.mov-inner iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media screen and (min-width: 801px) {
    .mov-container {
        width: 88%;
        margin: 0 auto;
        margin-top: 6rem;
    }
    /* .mov-inner {
        width: 90%;
        padding-top: calc(13/12*100%);
    } */
}

.sp-hidden {
    display: none;
}
.sp-block {
    display: block;
}

@media screen and (min-width: 801px) {
    .sp-hidden {
        display: block;
    }
    .sp-block {
        display: none;
    }
}

.ico-sns02 {
    background-color: #15202b;
    position: absolute;
    right: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 100%;
}
.tab-wrap .ico-sns02 {
    background-color: #15202b;
    right: 6.5rem;
    width: 3rem;
    height: 3rem;
}
.ico-sns02-img {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
}
.ico-sns02-img:before {
    content: "";
    background: #15202b url(../img/ico-sns02.png) no-repeat center/cover;
    width: 2rem;
    height: 2rem;
    display: block;
    border-radius: 100%;
}
.tab-wrap .ico-sns02-img:before {
    width: 3rem;
    height: 3rem;
}

.ico-bs {
    right: 5.5rem;
    background: #2a7cff;
}

.mov-container {
    width: 100%;
    margin-top: 4rem;
    margin-bottom: 1rem;
}
.mov-inner {
    width: 100%;
    padding-top: 30rem;
    position: relative;
    margin: 0 auto;
}
.mov-inner iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media screen and (min-width: 801px) {
    .mov-container {
        width: 88%;
        margin: 0 auto;
        margin-top: 6rem;
    }
    /* .mov-inner {
        width: 90%;
        padding-top: calc(13/12*100%);
    } */
}

.sp-hidden {
    display: none;
}
.sp-block {
    display: block;
}

@media screen and (min-width: 801px) {
    .sp-hidden {
        display: block;
    }
    .sp-block {
        display: none;
    }
}

.ico-rxsns {
    background-color: #15202b;
    position: absolute;
    right: 8rem;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 100%;
}
.tab-wrap .ico-rxsns {
    background-color: #15202b;
    right: 10rem;
    width: 3rem;
    height: 3rem;
}
.ico-rxsns-img {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
}
.ico-rxsns-img:before {
    content: "";
    background: #15202b url(../img/ico-rxsns.svg) no-repeat center/cover;
    width: 1rem;
    height: 1rem;
    display: block;
}
.tab-wrap .ico-rxsns-img:before {
    width: 2rem;
    height: 2rem;
}

.sns-wrap {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    /* justify-content: center; */
    margin-top: 1rem;
}

.ico-tw {
    background-color: #fd3a83;
}

.staff-text li:nth-child(3){
    background: linear-gradient(to right, #55287e 0%, #c362af 50%, #55287e 100%);
}

.sns-bnr-wrap {
    display: flex;
    width: 100%;
    gap: 12px;
}