html {

    scroll-behavior: smooth;
}
body {
    margin: 0;
    font-family: 'Noto Sans JP', sans-serif;
}
img {
    width: 100%;
}

.section-title {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}


/*KV*/
#indexTop h1 {
    margin: 0;
    padding: 0;
}

#indexTop .kv {
    padding-bottom: 5.5rem;
    background-image: url(../img/kv-bg-img01.png);
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
}
#indexTop .kv .kvWrap {
    margin: auto;
    max-width: 1104px;
    width: 100%;
}
#indexTop .kv .kv-img01 {
    margin: auto;
    width: 100%;
    max-width: 1080px;
    padding-top: 5.3125rem;
}
#indexTop .kv .kv-img01 img {
    box-shadow: 5px 5px 35px #808080;
}
#indexTop .kv .kv-img01-logo {
    width: 100%;
    max-width: 100px;
    position: absolute;
    top: 50px;
    left: 5%;
    transform: translate(-50%, -50%);
}
#indexTop .kv .kv-img01-logo a {
    display: block;
}

#indexTop .kv .kv-anker {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 2.1875rem auto 0;
    width: 100%;
    max-width: 1080px;
}
#indexTop .kv .kv-anker a {
    font-size: 1.625rem;
    padding: 1.438rem 0;
    line-height: 1;
    display: block;
    text-decoration: none;
    max-width: 247px;
    width: 100%;
    border: solid 4px #EC6D65;
    color: #6C471C;
    border-radius: 20px;
    background-color: #fff;
    text-align: center;
}
#indexTop .kv .kv-img02 {
    margin: 0.8125rem auto 0;
    width: 100%;
    max-width: 1054px;
}
#indexTop .kv .kv-img03 {
    margin: 0.8875rem auto 0;
    width: 100%;
    max-width: 400px;
}
#indexTop .kv .kv-img03 a {
    display: block;
}
#indexTop .kv .kv-img03 span {
    margin-top: 0.93rem;
    text-align: center;
    font-size: 1.125rem;
    line-height: 1;
    color: #6C471C;
}
#indexTop .kv .kv-img04 {
    margin: 0.8875rem auto 0;
    width: 100%;
    max-width: 1104px;
}

#indexTop .kv .sns-btnWrap {
    margin: 3.5rem auto 0;
    width: 240px;
    display: flex;
    justify-content: space-between;
}
#indexTop .kv .sns-btnWrap a {
    display: block;
    max-width: 101px;
    width: 100%;
}

@media all and (min-width: 768px) and (max-width: 1100px) {
    #indexTop .kv .sns-btnWrap {
        margin: 4.5% auto 0;
        width: 21.4%;
    }
    #indexTop .kv .sns-btnWrap a {
        max-width: 42%;
    }
}

@media all and (max-width: 767px) {
    #indexTop .kv .sns-btnWrap {
        margin: 2% auto 0;
        width: 37.5%;
    }
    #indexTop .kv .sns-btnWrap a {
        max-width: 42.575%;
    }
}

@media all and (min-width: 768px) and (max-width: 1100px) {
    #indexTop .kv .kv-img01 {
        max-width: 93%;
        padding-top: 8%;
    }
    #indexTop .kv .kv-img01-logo {
        max-width: 7.183%;
        top: 3.3%;
        left: 6%;
    }
    #indexTop .kv .kv-anker {
        margin: 2% auto 0;
        max-width: 93%;
    }
    #indexTop .kv .kv-anker a {
        font-size: 2.24vw;
        padding: 2.5% 0;
        max-width: 22.3%;
        border: solid 2px #EC6D65;
        border-radius: 11px;
    }
    #indexTop .kv .kv-img02 {
        margin: 2% auto 0;
        max-width: 90.8%;
    }
    #indexTop .kv .kv-img03 {
        margin: 0.5% auto 0;
        max-width: 34.4%;
    }
    #indexTop .kv .kv-img03 span {
        margin-top: 2%;
        font-size: 1.46vw;
        display: block;
    }
    #indexTop .kv .kv-img04 {
        margin: 2% auto 0;
        max-width: 95%;
    }
    #indexTop .kv {
        padding-bottom: 6%;
    }
}

@media all and (max-width: 767px) {
    #indexTop .kv .kv-anker {
        margin: 4% auto 0;
        width: 92.934%;
    }
    #indexTop .kv .kv-anker a {
        margin-top: 1.87%;
        padding: 3.5% 0;
        font-size: 3.46666vw;
        max-width: 46.92717%;
        border: solid 2px #EC6D65;
        border-radius: 10px;
    }
    #indexTop .kv .kv-img03 span {
        font-size: 3.2vw;
        display: block;
        margin-top: 3%;
    }
    #indexTop .kv {
        padding-bottom: 21%;
        background-image: url(../img/kv-bg-img01-sp.png);
        position: relative;
        z-index: 5;
    }
    #indexTop .kv .kvWrap {
        max-width: 100%;
        margin: 0 auto;
        padding-top: 124%;
    }
    #indexTop .kv .kv-img02 {
        margin: 3.86% auto 0;
        max-width: 91.47%;
    }
    #indexTop .kv .kv-img03 {
        margin: 2.934% auto 0;
        max-width: 65.29%;
        text-align: center;
    }
    #indexTop .kv .kv-img04 {
        margin: 3.467% auto 0;
        max-width: 74.267%;
    }
    #indexTop .kv .kv-img01 {
        max-width: 100%;
        padding-top: 0;
    }
    #indexTop .kv .kv-img01-logo {
        max-width: 13.334%;
        top: 2.25%;
        left: 9%;
    }
    #indexTop .kv .kv-img01 .site-title img {
        display: none;
    }
}


/*program*/
#indexTop .program {
    margin-top: -.2rem;
    padding-top: 5.625rem;
    padding-bottom: 10rem;
    /*background-image: url(../img/program-bg-img01.png);*/
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;

    position: relative;
    z-index: 4;
}
#indexTop .program .program-img01 {
    margin: auto;
    width: 100%;
    max-width: 399px;
}
#indexTop .program .program-img02 {
    margin: 0.95rem calc(50% - 540px) 0;
    width: 100%;
    max-width: 1013px;
}
#indexTop .program .program-img03 {
    margin: -1rem auto 1.644rem;
    width: 100%;
    max-width: 772px;
}
#indexTop .program .program-img04 {
    margin: 5.125rem auto 0;
    width: 100%;
    max-width: 600px;
}
#indexTop .program .youtubeArea {
    margin: auto;
    max-width: 800px;
    width: 100%;
}
#indexTop .program .youtubeArea iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#indexTop .program .youtubeArea .youtube {
    position: relative;
    margin: auto;
    width: 100%;
    padding-bottom: 56.49%;
    z-index: 1;
}

#indexTop .programTxt {
    margin-top: 3rem;
    font-size: 1.625rem;
    line-height: 2;
    text-align: center;
    color: #fff;
    letter-spacing: 0.085rem;
}
#indexTop .programTxt-deco {
    display: inline-block;
    color: #FFFF00;
    font-weight: bold;
    background-image: linear-gradient(to right, #F06D64, #F06D64 4px, transparent 4px, transparent 8px);
    background-size: 11px 4px;
    background-position: left bottom;
    background-repeat: repeat-x;
}

@media all and (min-width: 768px) and (max-width: 1100px) {
    #indexTop .program .program-img01 {
        max-width: 34.4%;
    }
    #indexTop .program .program-img02 {
        margin: -2% 6% 0;
        width: 100%;
        max-width: 87%;
    }
    #indexTop .program .program-img03 {
        margin: -1% auto 1%;
        max-width: 66.5%;
    }
    #indexTop .program .youtubeArea {
        max-width: 68%;
    }
    #indexTop .program .youtubeArea .youtube {
        padding-bottom: 56.49%;
    }
    #indexTop .program .program-img04 {
        margin: 4.5% auto 0;
        max-width: 51.5%;
    }
    #indexTop .programTxt {
        margin-top: 3%;
        font-size: 2.25vw;
        letter-spacing: .15vw;

    }
    #indexTop .program {
        background-position: bottom;
        padding-top: 6%;
        padding-bottom: 17%;
    }
}

@media all and (max-width: 767px) {
    #indexTop .program .youtubeArea {
        max-width: 100%;
    }
    #indexTop .program .youtubeArea .youtube {
        position: relative;
        margin: auto;
        width: 92%;
        padding-bottom: 51.49%;
        z-index: 1;
    }
    #indexTop .program {
        margin-top: -8%;
        padding-top: 11.3%;
        padding-bottom: 25%;
        /*background-image: url(../img/program-bg-img01-sp.png);*/
        position: relative;
    }
    #indexTop .program .program-img01 {
        max-width: 53.2%;
    }
    #indexTop .program .program-img02 {
        margin: 3% auto 0;
        max-width: 92.534%;
    }
    #indexTop .program .program-img03 {
        margin: 1.5% auto 3.5%;
        max-width: 92%;
    }
    #indexTop .program .program-img04 {
        margin: 12.5% auto 0;
        max-width: 80%;
    }
    #indexTop .programTxt {
        margin: 4% auto 0;
        font-size: 3.73333vw;
        width: 92%;
        letter-spacing: 0;
    }
    #indexTop .programTxt-deco {
        background-image: linear-gradient(to right, #F06D64, #F06D64 2px, transparent 2px, transparent 2px);
        background-size: 5px 2px;
    }
}


/*character*/
#indexTop .character {
    margin-top: -1.5rem;
    padding-top: 8.4rem;
    padding-bottom: 6.9rem;
    /*background-image: url(../img/character-bg-img01.png);*/
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
    text-align: center;
    position: relative;
    z-index: 3;
}
#indexTop .character-img01 {
    margin: 0 calc(50% - 240px);
    width: 100%;
    max-width: 582px;  
}
#indexTop .character-txt01 {
    margin: 1.6875rem auto 0;
    font-size: 1.625rem;
    color: #fff;
    line-height: 1;
    letter-spacing: 0.085rem;
}
#indexTop .character-container {
    margin: auto;
    width: 100%;
    max-width: 1080px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#indexTop .character-container02 {
    margin: auto;
    max-width: 700px;
    width: 100%;
}
#indexTop .character-container .character-item {
    margin: 2.5rem 0 0;
    width: 100%;
    max-width: 320px;
}
#indexTop .character-container .character-item .character-item-name {
    margin: 1.2rem auto 0;
    width: 100%;
    max-width: 92px;
}
#indexTop .character-container .character-item02 .character-item-name {
    max-width: 185px;
}
#indexTop .character-container .character-item03 .character-item-name {
    max-width: 218px;
}
#indexTop .character-container .character-item04 .character-item-name {
    max-width: 320px;
}
#indexTop .character-container .character-item05 .character-item-name {
    max-width: 169px;
}
#indexTop .character-container .character-item .character-item-txt {
    color: #fff;
    margin: 0;
    font-size: 1.38rem;
    line-height: 1.666;
    text-align: left;
    letter-spacing: 0.085rem;
    margin-top: 0.5rem;
}
#indexTop .character-container .character-item04 .character-item-txt {
    margin-top: .63rem;
}


/*topics*/
#indexTop .topics {
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: -1.5rem;
    padding: 11rem 0 10.6rem;
    position: relative;
    z-index: 2;
}
#indexTop .topics-img01 {
    margin: 0 calc(50% - 195px);
    width: 100%;
    max-width: 470px;
}
#indexTop .topics-img02 {
    margin: -1.8rem auto 0;
    width: 100%;
    max-width: 1080px;
    display: flex;
    justify-content: end;
}
#indexTop .topics-img02 a {
    padding-left: 0.7rem;
    height: 42px;
    max-width: 203px;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: #fff;
    border-radius: 21px;
    text-decoration: none;
    color: #6C471C;
    font-size: 1.375rem;
    line-height: 1;
}
#indexTop .topics-img02-img img {
    height: 34px;  
    width: auto;
    display: block;
}
.topics-text {
    display: block;
    line-height: 1;
    transform: translateY(-0.12rem);
}
#indexTop .topics-img02-img {
    margin-top: 0;
    margin-left: .5rem;
    width: 100%;
    max-width: 34px;
    display: inline-block;
}
#indexTop .topics-contents {
    margin: 2.5rem auto 0;
    width: 100%;
    max-width: 1080px;
    display: flex;
    justify-content: center;
    gap: 60px;
}
#indexTop .topics-contents .topics-item {
    width: 100%;
    max-width: 320px;
    background-color: #fff;
    border-radius: 20px;
}
#indexTop .topics-contents .topics-item a {
    text-decoration: none;
}
#indexTop .topics-contents .topics-item .topics-item-img {
    position: relative;
    border-radius: 20px 20px 0 0;
}
#indexTop .topics-contents .topics-item:only-child {
    margin: 0 auto;
}
#indexTop .topics-contents .topics-item .topics-item-img img {
    border-radius: 20px 20px 0 0;
}
#indexTop .topics-contents .topics-item .topics-item-img .topics-item-txt-head {
    position: absolute;
    top: 5%;
    left: 5%;
    background-color: #FF0000;
    color: #fff;
    font-size: 0.875rem;
    padding: 0px 0.563rem;
}
#indexTop .topics-contents .topics-item .topics-item-txt {
    padding: 1rem 2rem 1.5rem;
    color: #6C471C;
    font-size: 1rem;
}
#indexTop .topics-contents .topics-item .topics-item-txt .topics-item-txt-day {
    display: block;
    font-size: 1.125rem;
}
#indexTop .topics-contents .topics-item .topics-item-txt .topics-item-txt-head {
    margin-top: 1.2rem;
    line-height: 1.875;
    display: block;
}
@media all and (min-width: 768px) and (max-width: 1100px) {
    #indexTop .topics-contents {
        margin: 3.45% auto 0;
        max-width: 93%;
        gap: 5%;
    }
    #indexTop .topics {
        margin-top: -3%;
        padding: 12% 0 11.5%;
    }
    #indexTop .topics-img01 {
        margin: 0 calc(50% - 193px);
        max-width: 40.47%;
    }
    #indexTop .topics-img02 {
        margin: -1% auto 0;
        max-width: 93%;
    }
    .topics-text {
        transform: translateY(0%);
    }
    #indexTop .topics-img02-img img {
        height: 100%;
        width: 100%;
    }
    #indexTop .topics-contents .topics-item {
        max-width: 29.62%;
        border-radius: 19px;
    }
    #indexTop .topics-contents .topics-item .topics-item-txt {
        padding: 5% 9% 8%;
        font-size: 1.37vw;
    }
    #indexTop .topics-contents .topics-item .topics-item-txt .topics-item-txt-day {
        font-size: 1.55vw;
    }
    #indexTop .topics-contents .topics-item .topics-item-txt .topics-item-txt-head {
        margin-top: 7%;
    }
    #indexTop .topics-img02 a {
        max-width: 19.3%;
        font-size: 1.91vw;
        border-radius: 22px;
    }
    #indexTop .topics-img02-img {
        margin-top: 0;
        margin-left: 2%;
        max-width: 17.3%;
    }
    #indexTop .topics-img01 {
        margin: 0 32.5%;
        max-width: 40.47%;
    }
}
@media all and (max-width: 767px) {
    #indexTop .topics {
        margin-top: -7%;
        padding: 28% 0 21%;
    }
    #indexTop .topics-img01 {
        margin: 0 24%;
        max-width: 62.66%;
    }
    #indexTop .topics-img02 {
        margin: 0% auto 0;
    }
    #indexTop .topics-contents {
        margin: 5.5% 0 0;
        padding-left: 3%;
        padding-right: 3%;
        width: 100%;
        max-width: 94%;
        display: flex;
        gap: 0;
        overflow-x: scroll;
        -webkit-overflow-scrolling: touch;
    }
    #indexTop .topics-contents .topics-item {
        margin-right: 5%;
        max-width: 59.5%;
        border-radius: 20px;
        flex-shrink: 0;
    }
    #indexTop .topics-img02 a {
        max-width: 36.5%;
        font-size: 3.33333vw;
        border-radius: 25px;
        height: 6.666vw;
        padding-left: 3%;
    }
    #indexTop .topics-img02 {
        margin: 0.9% auto 0;
        max-width: 88%;
    }
    #indexTop .topics-img02-img {
        margin-top: 1%;
        margin-left: 4%;
        max-width: 17%;
    }
    #indexTop .topics-img02-img img {
        width: 100%;
        height: 100%;
    }
    #indexTop .topics-contents .topics-item .topics-item-txt .topics-item-txt-day {
        font-size: 3.46666vw;
    }
    #indexTop .topics-contents .topics-item .topics-item-txt .topics-item-txt-head {
        margin-top: 5%;
        letter-spacing: 0.2vw;
    }
    #indexTop .topics-contents .topics-item .topics-item-txt {
        padding: 1rem 2rem 1.5rem;
        font-size: 3.46666vw;
    }
    #indexTop .topics-contents .topics-item .topics-item-txt {
        padding: 5% 0 8%;
        font-size: 3.46666vw;
        margin: auto;
        width: 81%;
    }
    #indexTop .topics-contents .topics-item .topics-item-img .topics-item-txt-head {
        top: 6%;
        left: 4%;
        font-size: 2.4vw;
        padding: 0.23% 3.2%;
    }

    /* 1件だけ → 中央寄せ */
    #indexTop .topics-contents.one-item {
        justify-content: center;
    }

    /* 2件以上 → 左詰め */
    #indexTop .topics-contents.multi-item {
        justify-content: flex-start;
    }

    /* トピックアイテム */
    #indexTop .topics-contents .topics-item {
        max-width: 59.5%;
        flex-shrink: 0;
        border-radius: 20px;
        margin: 0; /* JSで左右スペースを調整 */
    }

    /* 1件だけなら幅を少し狭くして中央に見えるよう調整 */
    #indexTop .topics-contents.one-item .topics-item {
        max-width: 59.5%;
    }

    /* スクロール用の余白調整 */
    #indexTop .topics-contents.multi-item .topics-item:not(:last-child) {
        margin-right: 5%;
    }

    /* その他テキスト等は元のスマホ用設定を維持 */
    #indexTop .topics-contents .topics-item .topics-item-txt {
        padding: 5% 0 8%;
        font-size: 3.46666vw;
        margin: auto;
        width: 81%;
    }

    #indexTop .topics-contents .topics-item .topics-item-img .topics-item-txt-head {
        top: 6%;
        left: 4%;
        font-size: 2.4vw;
        padding: 0.23% 3.2%;
    }
}


/*message*/
#indexTop .message {
    /*background-image: url(../img/message-bg-img01.png);*/
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
    padding: 9.7rem 0;
    margin-top: -1.5rem;
    position: relative;
    z-index: 1;
}
#indexTop .messageWrap {
    margin: 5.4rem auto 0;
    padding: 3.75rem 0 3.1rem;
    max-width: 1080px;
    border-radius: 60px;
    width: 100%;
    background-color: #fff;
    color: #6C471C;
    letter-spacing: 0.085rem;
    text-align: center;
}
#indexTop .messageTxt {
    margin: 2rem 0 0;
    font-size: 1.25rem;
    line-height: 2;
}
#indexTop .message-deco {
    display: inline-block;
    font-size: 2.25rem;
    font-weight: bold;
}
#indexTop .message-img01 {
    margin: auto;
    width: 100%;
    max-width: 664px;
}
@media all and (min-width: 768px) and (max-width: 1100px) {
    #indexTop .character {
        margin-top: -3%;
        padding-top: 11%;
        padding-bottom: 10%;
        background-position: bottom;
    }
    #indexTop .character-img01 {
        margin: 0 30%;
        max-width: 50%;
    }
    #indexTop .character-txt01 {
        margin: 2% auto 0;
        font-size: 2.25vw;
        letter-spacing: .05vw;
    }
    #indexTop .character-container {
        max-width: 93%;
    }
    #indexTop .character-container .character-item {
        margin: 6% 0 0;
        max-width: 29.7%;
    }
    #indexTop .character-container .character-item .character-item-txt {
        font-size: 1.55vw;
        letter-spacing: .03vw;
        margin-top: 0;
    }
    #indexTop .character-container .character-item04 .character-item-txt {
        margin-top: 1.4%;
    }
    #indexTop .character-container02 {
        margin: auto;
        max-width: 60.4%;
        width: 100%;
    }
    #indexTop .character-container02 .character-item {
        max-width: 45.7%;
    }
    #indexTop .message-img01 {
        max-width: 57.2%;
    }
    #indexTop .message {
        padding: 12% 0;
        margin-top: -3%;
    }
    #indexTop .message-deco {
        font-size: 3.1vw;
    }
    #indexTop .messageTxt {
        margin: 3% 0 0;
        font-size: 1.72vw;
    }
    #indexTop .messageWrap {
        margin: 4% auto 0;
        padding: 6% 0 5%;
        max-width: 93%;
        border-radius: 55px;
        letter-spacing: .05vw;
    }
    #indexTop .character-container .character-item .character-item-name {
        margin: 3% auto 0;
        max-width: 29%;
    }
    #indexTop .character-container .character-item02 .character-item-name {
        max-width: 58%;
    }
    #indexTop .character-container .character-item03 .character-item-name {
        max-width: 68.5%;
    }
    #indexTop .character-container .character-item04 .character-item-name {
        max-width: 99.8%;
    }
    #indexTop .character-container .character-item05 .character-item-name {
        max-width: 53.2%;
    }
}
@media all and (max-width: 767px) {
    #indexTop .character-img01 {
        margin: 0 17%;
        max-width: 77.4%;  
    }
    #indexTop .character-txt01 {
        margin: 8.267% auto 0;
        font-size: 3.73333vw;
        line-height: 1.857;
        text-align: left;
        max-width: 92%;
    }
    #indexTop .character {
        margin-top: -4%;
        padding-top: 18.667%;
        padding-bottom: 23.5%;
        /*background-image: url(../img/character-bg-img01-sp.png);*/
        background-position: bottom;
        background-repeat: no-repeat;
        background-size: cover;
        text-align: center;
        position: relative;
        z-index: 3;
        min-height: 1985px;
    }
    #indexTop .character-container02 {
        max-width: 100%;
    }
    #indexTop .character-container .character-item {
        margin: 6.8% auto 0;
        max-width: 92%;
    }
    #indexTop .character-container .character-item .character-item-img {
        margin: auto;
        width: 61.45%;
    }
    #indexTop .character-container .character-item .character-item-name {
        margin: 3% auto 0;
        max-width: 17.9%;
    }
    #indexTop .character-container .character-item02 .character-item-name {
        max-width: 35.5%;
    }
    #indexTop .character-container .character-item03 .character-item-name {
        max-width: 41.3%;
    }
    #indexTop .character-container .character-item04 .character-item-name {
        max-width: 79.8%;
        margin: 3% auto 3%;
    }
    #indexTop .character-container .character-item05 .character-item-name {
        max-width: 61.45%;
    }
    #indexTop .character-container .character-item .character-item-txt {
        margin-top: 0;
        font-size: 3.73333vw;
    }
    #indexTop .message {
        /*background-image: url(../img/message-bg-img01-sp.png);*/
        padding: 20.2% 0;
        margin-top: -8%;
    }
    #indexTop .message-img01 {
        max-width: 87.4%;
    }
    #indexTop .messageTxt {
        margin: 6% 0 0;
        font-size: 3.73333vw;
    }
    #indexTop .message-deco {
        font-size: 4.8vw;
    }
    #indexTop .messageWrap {
        margin: 5.6% auto 0;
        padding: 8% 0;
        max-width: 92%;
        border-radius: 6%;
    }
}


/*sns*/
#indexTop .sns {
    padding: 6rem 0 8.31rem;
    /*background-image: url(../img/sns-bg-img01.png);*/
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    z-index: 0;
    margin: -2.5rem auto 0;
}
#indexTop .sns .sns-btnWrap {
    margin: 1rem auto 0;
    width: 400px;
    display: flex;
    justify-content: space-between;
}
#indexTop .sns .sns-btnWrap a {
    display: block;
    max-width: 101px;
    width: 100%;
}
#indexTop .sns-img01 {
    margin: auto;
    width: 100%;
    max-width: 419px;
}

.top-btn {
    position: fixed;
    bottom: 30px;
    right: 30px;
    max-width: 80px;
    width: 100%;
    z-index: 999;

    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease;
}
.top-btn.is-show {
  opacity: 1;
  visibility: visible;
}
.top-btn a {
    display: block;
    
}


#indexTop .Copyright {
    background-color: #fff;
}
#indexTop .Copyright p {
    margin: 3rem auto 3rem;
    text-align: center;
    font-size: 1rem;
    color: #666666;
}


@media all and (min-width: 768px) and (max-width: 1100px) {
    #indexTop .sns {
        padding: 7% 0 9%;
        margin: -3% auto 0;
        z-index: 1;
    }
    #indexTop .sns-img01 {
        max-width: 36.1%;
    }
    #indexTop .sns .sns-btnWrap {
        margin: 0.5% auto 0;
        width: 36.1%;
    }
    #indexTop .sns .sns-btnWrap a {
        max-width: 25%;
    }
    .top-btn {
        max-width: 6.9%;
    }
    #indexTop .Copyright p {
        margin: 4% auto 4%;
        font-size: 1.37vw;
    }
}
@media all and (max-width: 767px) {
    #indexTop .sns {
        padding: 11.5% 0 15%;
        /*background-image: url(../img/sns-bg-img01-sp.png);*/
        margin: -4.5% 0;
        width: 100%;
        z-index: 1;
    }
    #indexTop .sns .sns-btnWrap {
        margin: .5% auto 0;
        width: 56%;
    }
    #indexTop .sns .sns-btnWrap a {
        max-width: 28.575%;
    }
    #indexTop .sns-img01 {
        max-width: 61.334%;
    }
    #indexTop .Copyright p {
        margin: 9% auto 6%;
        font-size: 2.4vw;
    }

    .top-btn {
        right: 4%;
        bottom: 2%;
        max-width: 10.5%;
    }
}


#indexTop .pcOnly,
#indexTop .pcOnlyPlus {
    display: block!important;
}
#indexTop .spOnly {
    display: none!important;
}
#indexTop .programTxt .pcOnly {
    display: inline-block!important;
}
#indexTop .programTxt .spOnly {
    display: inline-block!important;
}
#indexTop .kv .kv-anker a.pcOnly {
    display: block!important;
}
#indexTop .kv .kv-anker a.spOnly {
    display: none!important;
}
#indexTop br.pcOnly {
    display: block!important;
}
#indexTop br.spOnly {
    display: none!important;
}
@media all and (max-width: 767px) {
    #indexTop .pcOnly,
    #indexTop .pcOnlyPlus {
        display: none!important;
    }
    #indexTop .spOnly {
        display: block!important;
    }
    #indexTop .programTxt .pcOnly {
        display: inline-block!important;
    }
    #indexTop .programTxt .spOnly {
        display: inline-block!important;
    }
    #indexTop .kv .kv-anker a.pcOnly {
        display: none!important;
    }
    #indexTop .kv .kv-anker a.spOnly {
        display: block!important;
    }
    #indexTop br.spOnly {
        display: block!important;
    }
    #indexTop br.pcOnly {
        display: none!important;
    }
}

.fade-up {
    opacity: 0;
    transform: translateY(50px); /* 下に30px */
    transition: opacity 1.2s ease, transform 1.2s ease;
}

.fade-up.active {
    opacity: 1;
    transform: translateY(0); /* 元の位置に戻す */
}



#indexTop .bnr-other.pcOnly {
    margin: 3rem auto 0;
    width: 1080px;
    display: flex!important;
}
#indexTop .bnr-other a {
    display: block;
    margin: 4rem auto 0;
    width: 500px;
}


@media all and (min-width: 768px) and (max-width: 1100px) {
    #indexTop .bnr-other.pcOnly {
        margin: 2% auto 0;
        width: 87%;
    }
    #indexTop .bnr-other a {
        margin: 9% auto 0;
        width: 46%;
    }
}

@media all and (max-width: 767px) {
    #indexTop .bnr-other.spOnly {
        margin: 10% auto 0;
        width: 80%;
        display: block!important;
    }
    #indexTop .bnr-other.pcOnly {
        display: none!important;
    }
    #indexTop .bnr-other a {
        margin: 4% auto 0;
        width: 100%;
    }
}