@charset "utf-8";


/*=====================
    PC
=====================*/
@media(min-width: 980px) {
    /*---------------------
        common
    ---------------------*/
    h2,.mainContents h3,h4,h5,h6 {
        margin: 0;
        padding: 0;
    }
    #mainContents img {
        max-width: 100%;
    }
    .sp {
        display: none !important;
    }
    .mainContents section {
        min-width: 900px;
    }
    

    /*---------------------
        naviInfo
    ---------------------*/
    .fw .mainContents section.naviInfo {
        width: 900px;
        margin: 0 auto 130px;
        box-sizing: border-box;
    }
    .mainContents .naviInfo .kv {
        margin: 60px 0 -160px;
        text-align: center;
    }
    .mainContents .naviInfo .naviInfo_inner {
        padding: 193px 60px 50px;
        background: #d9f0fc;
        box-sizing: border-box;
    }
    .mainContents .naviInfo .naviInfo_inner h2 {
        text-align: center;
    }
    .mainContents .naviInfo .naviInfo_inner .naviInfo_txt {
        margin: 30px 0 0;
        font-size: 22px;
        font-weight: bold;
        line-height: 1.5;
    }
    .mainContents .naviInfo .naviInfo_inner .naviInfo_txt span.txtCBlue {
        color: #00a0e9;
    }
    .mainContents .naviInfo .naviInfo_inner .naviInfo_txt span.txtCRed {
        color: #e3148a;
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea h3 {
        margin: 55px 0 0;
        text-align: center;
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea h3 span {
        position: relative;
        display: inline-block;
        padding: 0 34px;
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea h3 span::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 0;
        width: 25px;
        height: 2px;
        background: #000000;
        transform: translate(0, -50%);
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea h3 span::after {
        content: '';
        position: absolute;
        top: 50%;
        right: 0;
        width: 25px;
        height: 2px;
        background: #000000;
        transform: translate(0, -50%);
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea .naviArea_flex {
        display: flex;
        justify-content: space-between;
        margin: 20px 0 0;
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea .naviArea_flex .naviArea_info {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 49%;
        min-height: 50px;
        padding: 60px 0 20px;
        border-radius: 10px;
        background: #ffffff;
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea .naviArea_flex .naviArea_info .naviArea_info_tit {
        position: absolute;
        top: 20px;
        left: 50%;
        margin: 0;
        font-size: 18px;
        font-weight: bold;
        color: #e3148a;
        transform: translate(-50%, 0);
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea .naviArea_flex .naviArea_info .naviArea_info_content {
        margin: 0;
        font-size: 18px;
        text-align: center;
        color: #e3148a;
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea ul.caution {
        margin: 15px 0 0;
        font-size: 18px;
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea ul.caution li {
        position: relative;
        margin: 0;
        padding: 0 0 0 1em;
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea ul.caution li::before {
        content: '※';
        position: absolute;
        top: 0;
        left: 0;
        font-size: 18px;
    }
    .mainContents .naviInfo .hosoku {
        margin: 20px 0 0;
        font-size: 16px;
        line-height: 1.5;
    }

    /*---------------------
        naviAreaInfo
    ---------------------*/
    .fw .mainContents section.naviAreaInfo {
        width: 900px;
        margin: 0 auto;
        box-sizing: border-box;
    }
    .mainContents .naviAreaInfo .hikarisu {
        margin: 0;
        text-align: center;
    }
    .mainContents .naviAreaInfo .naviAreaInfo_tabMenu {
        display: flex;
        justify-content: space-between;
        margin: 35px 0 0;
    }
    .mainContents .naviAreaInfo .naviAreaInfo_tabMenu li {
        width: 49%;
        padding: 20px 0;
        font-size: 24px;
        font-weight: bold;
        text-align: center;
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
        background: #959595;
        color: #ffffff;
        cursor: pointer;
    }
    .mainContents .naviAreaInfo .naviAreaInfo_tabMenu li.active {
        background: #e4007f;
    }

    .mainContents .naviAreaInfo .naviAreainfo_tabContent {
        display: none;
        padding: 60px 0 120px;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent.active {
        display: block;
        padding: 60px 0 120px;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .areaName {
        margin: 0 60px 60px;
        padding: 20px 0;
        font-size: 22px;
        font-weight: bold;
        text-align: center;
        border: 3px solid #e4007f;
        color: #e4007f;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .sampleImage {
        margin: 0;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent > .sampleImage {
        margin: 0 60px;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .scan {
        margin: 0 0 100px;
        padding: 60px;
        background: #d9f0fc;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .scan .scan_tit {
        margin: 0 0 20px;
        font-size: 22px;
        font-weight: bold;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .scan .scan_txt {
        margin: 0 0 30px;
        font-size: 18px;
        line-height: 1.5;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro {
        display: flex;
        justify-content: space-between;
        margin: 40px 0 0;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro p {
        margin: 0;
        padding: 0;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro .channelIntro_info {
        width: 420px;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro .channelIntro_info .channel_name {
        margin: 0 0 30px;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro .channelIntro_info .channel_tit {
        margin: 0 0 20px;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro .channelIntro_info .channel_txt {
        margin: 0 0 25px;
        font-size: 22px;
        line-height: 1.5;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro .channelIntro_info .channel_watch {
        margin: 30px 0 60px;
        font-size: 22px;
        font-weight: bold;
        text-align: center;
        border: 3px solid #00a0e9;
        border-radius: 20px;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro .channelIntro_info .channel_watch {
        margin: 30px 0 60px;
        padding: 20px 0;
        text-align: center;
        border: 3px solid #00a0e9;
        border-radius: 20px;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro .channelIntro_info .channel_watch .channel_watch_txt {
        margin: 0 0 15px;
        font-size: 24px;
        font-weight: bold;
        color: #00a0e9;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro .channelIntro_info .channel_logo {
        text-align: center;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro .channelIntro_info .channel_link {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100px;
        margin: 20px 0 0;
        padding: 0 15px 0 0;
        font-size: 26px;
        font-weight: bold;
        line-height: 1.3;
        text-align: center;
        border-radius: 50px;
        background: #e4007f;
        color: #ffffff;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro .channelIntro_info .channel_link::after {
        content: '';
        position: absolute;
        top: 40px;
        right: 30px;
        width: 16px;
        height: 16px;
        border-top: 3px solid #ffffff;
        border-right: 3px solid #ffffff;
        transform: rotate(45deg);
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro .channelIntro_info .channel_link:hover {
        text-decoration: none;
        opacity: 0.7;
    }
    
}

/*=====================
    PC
=====================*/
@media(max-width: 979px) {
    /*---------------------
        common
    ---------------------*/
    h2,h3,h4,h5,h6 {
        margin: 0;
        padding: 0;
    }
    #mainContents img {
        width: 100%;
        max-width: 100%;
    }
    .pc {
        display: none !important;
    }
    .mainContents .mainContentsIn {
        padding: 0 6.4vw;
        box-sizing: border-box;
    }

    /*---------------------
        naviInfo
    ---------------------*/
    .fw .mainContents section.naviInfo {
        width: 100%;
        margin: 0 auto 13vw;
        box-sizing: border-box;
    }
    .mainContents .naviInfo .kv {
        margin: 6vw 0 2vw;
        text-align: center;
    }
    .mainContents .naviInfo .naviInfo_inner {
        padding: 9vw 5vw;
        background: #d9f0fc;
        box-sizing: border-box;
    }
    .mainContents .naviInfo .naviInfo_inner h2 {
        text-align: center;
    }
    .mainContents .naviInfo .naviInfo_inner .naviInfo_txt {
        margin: 4vw 0 0;
        font-size: 3.6vw;
        font-weight: bold;
        line-height: 1.5;
    }
    .mainContents .naviInfo .naviInfo_inner .naviInfo_txt span.txtCBlue {
        color: #00a0e9;
    }
    .mainContents .naviInfo .naviInfo_inner .naviInfo_txt span.txtCRed {
        color: #e3148a;
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea h3 {
        margin: 10vw 0 0;
        font-size: 3.6vw;
        text-align: center;
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea h3 span {
        position: relative;
        display: inline-block;
        padding: 0 6.5vw;
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea h3 span::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 0;
        width: 5vw;
        height: 1px;
        background: #000000;
        transform: translate(0, -50%);
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea h3 span::after {
        content: '';
        position: absolute;
        top: 50%;
        right: 0;
        width: 5vw;
        height: 1px;
        background: #000000;
        transform: translate(0, -50%);
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea .naviArea_flex {
        margin: 4vw 0 0;
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea .naviArea_flex .naviArea_info {
        width: 100%;
        margin: 0 0 3vw;
        padding: 3vw 0;
        border-radius: 3vw;
        text-align: center;
        background: #ffffff;
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea .naviArea_flex .naviArea_info:last-child {
        margin: 0;
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea .naviArea_flex .naviArea_info .naviArea_info_tit {
        margin: 0;
        font-size: 4vw;
        font-weight: bold;
        color: #e3148a;
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea .naviArea_flex .naviArea_info .naviArea_info_content {
        margin: 2vw 0 0;
        font-size: 3.6vw;
        text-align: center;
        color: #e3148a;
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea ul.caution {
        margin: 3vw 0 0;
        padding: 0;
        font-size: 3.6vw;
        background: none;
        color: #000000;
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea ul.caution li {
        position: relative;
        margin: 0;
        padding: 0 0 0 1em;
        text-indent: 0;
    }
    .mainContents .naviInfo .naviInfo_inner .naviArea ul.caution li::before {
        content: '※';
        position: absolute;
        top: 0;
        left: 0;
        font-size: 3.6vw;
    }
    .mainContents .naviInfo .hosoku {
        margin: 3vw 0 0;
        font-size: 3.2vw;
        line-height: 1.5;
    }

    /*---------------------
        naviAreaInfo
    ---------------------*/
    .fw .mainContents section.naviAreaInfo {
        width: 100%;
        margin: 0 auto;
        box-sizing: border-box;
    }
    .mainContents .naviAreaInfo .hikarisu {
        margin: 0;
        text-align: center;
    }
    .mainContents .naviAreaInfo .naviAreaInfo_tabMenu {
        display: flex;
        justify-content: space-between;
        margin: 5vw 0 0;
    }
    .mainContents .naviAreaInfo .naviAreaInfo_tabMenu li {
        width: 49%;
        padding: 3vw 0;
        font-size: 5.2vw;
        font-weight: bold;
        text-align: center;
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
        background: #959595;
        color: #ffffff;
        cursor: pointer;
    }
    .mainContents .naviAreaInfo .naviAreaInfo_tabMenu li.active {
        background: #e4007f;
    }

    .mainContents .naviAreaInfo .naviAreainfo_tabContent {
        display: none;
        padding: 7vw 0;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent.active {
        display: block;
        padding: 7vw 0;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .areaName {
        margin: 0 0 7vw;
        padding: 3vw 0;
        font-size: 3.6vw;
        font-weight: bold;
        line-height: 1.3;
        text-align: center;
        border: 2px solid #e4007f;
        color: #e4007f;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .sampleImage {
        margin: 0;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .scan {
        margin: 0 0 13vw;
        padding: 6vw 5vw;
        background: #d9f0fc;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .scan .scan_tit {
        margin: 0 0 2vw;
        font-size: 3.4vw;
        font-weight: bold;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .scan .scan_txt {
        margin: 0 0 5vw;
        font-size: 3.2vw;
        line-height: 1.5;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro {
        margin: 5vw 0 0;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro p {
        margin: 0;
        padding: 0;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro .channelIntro_info {
        position: relative;
        width: 100%;
        margin: 0 0 40vw;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro .channelIntro_info:last-child {
        width: 100%;
        margin: 0;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro .channelIntro_info::after {
        content: "";
        position: absolute;
        bottom: -20vw;
        left: 50%;
        width: 20vw;
        height: 1px;
        background: #000000;
        transform: translate(-50%, 0);
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro .channelIntro_info .channel_name {
        margin: 0 0 4vw;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro .channelIntro_info .channel_tit {
        margin: 0 0 3vw;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro .channelIntro_info .channel_txt {
        margin: 0 0 3vw;
        font-size: 3.6vw;
        line-height: 1.5;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro .channelIntro_info .channel_watch {
        margin: 3vw 0 6vw;
        padding: 5vw 0;
        font-size: 22px;
        font-weight: bold;
        text-align: center;
        border: 2px solid #00a0e9;
        border-radius: 4vw;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro .channelIntro_info .channel_watch .channel_watch_txt {
        margin: 0 0 3vw;
        font-size: 5.4vw;
        font-weight: bold;
        color: #00a0e9;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro .channelIntro_info .channel_logo {
        text-align: center;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro .channelIntro_info .channel_link {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 16vw;
        margin: 5vw 0;
        padding: 0 3vw 0 0;
        font-size: 5.4vw;
        font-weight: bold;
        line-height: 1.3;
        text-align: center;
        border-radius: 100px;
        background: #e4007f;
        color: #ffffff;
    }
    .mainContents .naviAreaInfo .naviAreainfo_tabContent .channelIntro .channelIntro_info .channel_link::after {
        content: '';
        position: absolute;
        top: auto;
        right: 6vw;
        width: 3vw;
        height: 3vw;
        border-top: 3px solid #ffffff;
        border-right: 3px solid #ffffff;
        transform: rotate(45deg);
    }
    
}


/*20241227*/

@media (min-width: 980px) {
.fw .mainContents section.naviInfo {
	margin-bottom: 35px;
}
}

@media (max-width: 979px) {
	.fw .mainContents section.naviInfo {
		margin-bottom: 5vw;
	}
}