@charset "UTF-8";

html {
  font-size:62.5%;
}
body {
  font-size:1.8rem;
  font-family: 'Noto Sans JP', sans-serif;

}
*, *::before, *::after {
  box-sizing:border-box;
}
.clearfix::after {
  content:'';
  display:block;
  clear:both;
}
@media screen and (min-width: 768px){
    .mv-sp{
        display: none;
    }
}

.carelympics{
    background-color: #FFF5D8;
    background-image: url(../img/bk.png);
    background-repeat: repeat-y;
    background-attachment: fixed;
    background-size: cover;
}
.header-wrap{
    max-width: 1400px;
    margin: 0 auto;
    display: block;
}
.pcdate{
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    display: block;
    text-align: center;
}
.mainbody{
    max-width: 1000px;
    margin: 100px auto;
}

.stream{
    text-align: center;
    margin: 40px 0;
    padding-bottom: 40px;
}
.stream h2{
    font-size: 3.3rem;
    font-weight: 800;
}
.stream p{
    font-weight: 800;
    color: #00B2B8;
    font-size: 2.3rem;
    margin-bottom: 40px;
}

.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}
section{
    margin-bottom: 100px;
}
.aboutus{
    text-align: center;
    margin: 100px 0;
}
.aboutus h2{
    line-height: 1.45;
}
.contents-wrap{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.contents-box{
    background-color: #fff;
    border-radius: 20px;
}
.floor-ttl{
    background-color: #F8B63A;
    padding: 20px 40px;
    border-radius: 20px 20px 0 0;
    color: #fff;
}
.green .floor-ttl{
    background-color: #00B2B8;
}
.contents-block{
    padding: 20px;
    padding-left: 40px;
    margin-bottom: 40px;
}
.green .contents-block{
    margin-bottom: 0;
}
.contents-block h3{
    position: relative;
    font-size: 2.2rem;
    margin-bottom: 10px;
}
.contents-block h3::before{
    content: "";
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #F8B63A;
    position: absolute;
    left: -30px;
}
.green .contents-block h3::before{
    background-color: #00B2B8;
}
.green .contents-block h3{
    margin-bottom: 0;
}
.t-bold{
    font-weight: 700;
}
.koshi .koshi-txt{
    position: relative;
    margin: 20px 0;
}
.koshi-txt span{
    font-size: 1.5rem;
    margin-bottom: 10px;
}
.koshi-txt p{
    margin: 20px 0;
}
.koshi .koshi-txt::after{
    content: "";
    width: 96px;
    height: 99px;
    background-image: url(../img/content_img01.jpg);
    display: block;
    position: absolute;
    top: 50%;
    right: -10%;
      transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}

.other{
    padding-left: 10px;
}

.sect-ttl{
    display: inline-block;
    font-size: 2.7rem;
    border-bottom: 8px solid #F8B63A;
    padding-bottom: 15px;
    margin-bottom: 30px;
}
.elfcontents .sect-ttl{
    border-bottom: 8px solid #00B2B8;
}
.schedule-wrap{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.schedule-box h3{
    padding: 20px;
    background-color: #F8B63A;
    color: #fff;
    margin-bottom: 20px;
}
.t-green.schedule-box h3{
    background-color: #00B2B8;
}
.schedule-box table{
    border-collapse: collapse;
    vertical-align: top;
    font-size: 2.2rem;
}
.schedule-box table th{
    background-color: #F8B63A;
    padding: 0 15px;
    text-align: right;
    
}
.t-green table th{
    background-color: #00B2B8;
}
.schedule-box table td{
    padding-left: 20px;
}
.schedule-box table th, td{
    padding-bottom: 20px;
    vertical-align: initial;
}
.schedule-box span{
    font-size: 1.8rem;
    line-height: 1;
}

.hapyo-box{
    background-color: #FFDFA2;
    padding: 10px 0;
    display: flex;
    
    align-items: center;
    border-left: 30px solid #F8B63A;
}
.l-orange{
    border-left: 30px solid #FDDB9A;
    background-color: #FFF5E2;
}
.hapyo-box h3{
    padding-left: 40px;
    max-width: 450px;
    width: 100%;
    text-align: left;
    display: block;
    position: relative;
}
.hapyo-box h3::after{
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 20px;
    border-color: transparent transparent transparent #F8B63A;
    display: block;
    position: absolute;
    top: 50%;
    right: 0%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
}
.hapyo-box p{
    padding-left: 10px;
}
.hapyo-box2{
    padding: 20px 40px;

}
.hapyo-flex,.hapyo-box2{
    background-color: #E2FFF3;
    margin-bottom: 30px;
    border-left: 30px solid #00B2B8;
    padding: 30px ;

}
.l-green{
    background-color: #fff;
    border-left: 30px solid #2BE0D0;
}
.hapyo-flex{
    display: flex;
}
.h-img{
    display: block;
    margin: 0 auto;
    max-width: 450px;
    width: 100%;
    text-align: center;
}
.h-img img{
    width: auto;
    margin: 0 auto;
    display: block;
}
.hapyo-boxwrap2 h3{
    font-size: 2.2rem;
    margin-bottom: 20px;
}
.hapyo-boxwrap2 .kigyo{
    padding-left: 20px;
    display: block;
    margin: 20px 0;
}
.hapyo-other{
    font-size: 2.2rem;
    color: #00B2B8;
    font-weight: 900;
}
.map{
    text-align: center;
    margin: 110px 0 400px;
}
.map h2{
    margin-bottom: 40px;
}
.bottoms{
    position: relative;
}
.bottoms::after{
    content: "";
    background-image: url(../img/bottom01.png);
    width: 229px;
    height: 268px;
    display: block;
    position: absolute;
    top: -7vw;
    right: 10vw;
      transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}
.nobk::after{
    content: none;
}
footer{
    background-color: #fff;
}
.footer-wrap{
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    padding: 30px 0;
}
.footer-wrap h2{
    margin-bottom: 40px;
}
.ct-box{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.ct-box a{
    text-decoration: none;
}
.tel-b{
    font-size: 3.6rem;
    font-weight: 900;
    letter-spacing: 0.1em;
}
.tel-b span{
    font-size: 2.6rem;
}
.tel-s{
    font-size: 2.4rem;
    letter-spacing: 0.1em;
    font-weight: 900;
}
.shusai{
    margin: 40px 0;
}
.shusai h3{
    font-weight: 500;
    font-size: 2.4rem;

}
.organiz th,td{
    vertical-align: top;
}
.organiz th{
    width: 10%;
}
.organiz td{
    padding-left: 10px;
}
.organiz span{
    border: 1px solid #000;
    padding: 2px;
}

.green{
    position: relative;
}
.green::before{
    content: "";
    width: 121px;
    height: 173px;
    display: block;
    background-image: url(../img/content_imgbk.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 45%;
    right: -6vw;
      transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}
.green::after{
    content: "";
    width: 96px;
    height: 143px;
    display: block;
    margin-right: 0;
    margin-left: 70%;
    margin-bottom: 20px;
    background-image: url(../img/content_imgbk2.png);

}

@media screen and (max-width: 768px){
    #wrap{
        overflow: hidden;
    }
    .mv-pc,.spnone{
        display: none;
    }
    h2{
        font-size: 2rem;
    }
    h3{
        font-size: 1.8rem !important;
    }
    p{
        font-size: 1.6rem !important;
    }
    .aboutus h2{
        font-size: 2rem;
    }
    section{
        padding: 0 10px;
    }
    .aboutus{
        margin: 60px 0;
    }
    .contents-wrap{
        display: block;
    }
    .contents-block{
        margin-bottom: 0;
    }
    .contents-box {
        margin-bottom: 60px;
    }
    .green::before{
        top: 0vw;
        width: 100px;
        right: -13vw;
    }
    .schedule-wrap{
        display: block;
    }
    .schedule-box{
        margin-bottom: 40px;
    }
    .hapyo-box{
        display: block;
    }
    .hapyo-box h3{
        padding-left: 10px;
        margin-bottom: 10px;
    }
    .hapyo-box h3::after{
        content: none;
    }
    .hapyo-flex{
        flex-direction: column-reverse;
    }
    .h-img{
        margin-bottom: 20px;
    }
    .hapyo-boxwrap2 .kigyo{
        padding-left: 0px;
        font-size: 1.4rem;
    }
    .hapyo-flex, .hapyo-box2{
        padding: 20px 10px;
    }
    .schedule-box table th, td{
        font-size: 1.8rem;
    }
    .schedule-box span{
        font-size: 1.6rem;
    }
    .hapyo-flex, .hapyo-box2{
        border-left: 20px solid #00B2B8;
    }
    .l-green{
        border-left: 20px solid #2BE0D0;
    }
    .hapyo-box{
        border-left: 20px solid #F8B63A;
    }
    .l-orange{
        border-left: 20px solid #FDDB9A;
    }
    .bottoms::after{
        background-repeat: no-repeat;
        background-size: contain;
        width: 149px;
        right: -20vw;
    }
    .footer-wrap{
        padding: 20px 10px;
    }
    .ct-box{
        flex-direction: column;
        align-items: flex-start;
    }
    .ct-tel{
        margin: 20px 0;
    }
    .tel-b{
        font-size: 2.6rem;
    }
    .tel-b span{
        font-size: 1.8rem;
    }
    .tel-s{
        font-size: 1.8rem;
    }
    .organiz table th,td{
        display: block;
    }
    .organiz th{
        width: 70px;
    }
    .koshi .koshi-txt{
        margin-bottom: 60px;
    }
    .koshi .koshi-txt::after{
        top: 150px;
        right: -40px;
    }
    .sp-hide{
        display: none;
    }
}


/*ニュース欄*/
.news{
    background-color: #fff;
    border: 4px solid #F8B63A;
    text-align: center;
    padding: 20px 60px;
    border-radius: 10px;
    margin-bottom: 40px;
}
.news h2{
    margin-bottom: 20px;
}
.news table{
    max-width: 670px;
    width: 100%;
    margin: 0 auto;
    
}
.news th, .news td{
    vertical-align: sub;
    text-align: left;
}
@media screen and (max-width: 768px){
    .news{
        padding: 20px;
    }
    .news th, .news td{
        display: block;
        word-break: break-word;
    }
    .sp-date img{
        margin-top: 10px;
    }
}

.streaming{
    margin-bottom: 40px;
    text-align: left;
}
.y-ttl{
    background-color: #F8B63A;
    padding: 20px 10px;
}
.y-ttl h3{
    line-height: 1.5;
    font-size: 20px;
}

.thx-message{
    background-color: #FDDB9A;
    line-height: 1.8;
    padding: 40px;
    letter-spacing: .02em;
}
.after-ttl{
    margin: 20px 0;
    text-align: left;
    font-size: 2.6rem;
    font-weight: 800;
    letter-spacing: 3px;
}
.after-ttl h2{
    font-size: 2.6rem;
}

.after_contents_move{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 20px;
    row-gap: 30px;
    margin-top: 20px;
    margin-bottom: 60px;
}
.move_item h3{
    font-size: 18px;
    margin-bottom: 10px;
}
.pb-80{
    padding-bottom: 230px;
}
.k-move_item{
    margin-top: 20px;
    margin-bottom: 60px;
    display: grid;
    grid-template-columns: 380px 1fr;
    column-gap: 20px;
    row-gap: 30px;
}
.k-move_txt h3{
    font-size: 20px;
    line-height: 1.55;
    margin-bottom: 20px;
}
.move_archive .contents,.move_kyorin .contents{
    padding: 20px;
    background-color: #fffae9;
    border-radius: 20px;
}
.move_archive .after-ttl h2,.move_kyorin .after-ttl h2{
    color: #3f7929;
}
.mt50{
    margin-top: 50px;
}
@media screen and (min-width: 769px){
    .sp-thx_messa{
        display: none;
    }
}
@media screen and (max-width: 768px){
    .sp-thx_messa{
        padding: 10px;
    }
    .thx-message{
        padding: 10px;
        font-size: 18px;
        text-align: center;
    }
    .after-ttl h2{
        font-size: 2.2rem;
    }
    .intro{
        margin-bottom: 0px;
    }
    .after_contents_move{
        grid-template-columns: 1fr 1fr;
    }
    .move_item h3{
        font-size: 1.6rem !important;
        height: 30px;
        display: flex;
    align-items: flex-end;
    }
    .k-move_item{
        grid-template-columns: 1fr;
        row-gap: 10px;
        margin-bottom: 40px;
    }
    .k-move_txt h3{
        margin-bottom: 10px;
    }
}

.yushu,.tokubetu{
    font-size: 14px;
    padding: 5px 7px;
    color: #fff;
    border-radius: 10px;
    margin-bottom: 5px;
    display: inline-block;
}
.yushu{
    background-color: #ff4444;
}
.tokubetu{
    background-color: #F8B63A;
}