@charset "UTF-8";
@media screen and (max-width: 640px) {
  #main_nsd .sp_none {
    display: none;
  }
  #main_nsd {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 500;
    overflow-x: hidden;
    position: relative;
    z-index: 0;
  }
  #main_nsd .auto {
    width: 90%;
    margin: 0 auto;
    position: relative;
  }
  #main_nsd img {
    display: block;
    width: 100%;
    height: auto;
    box-sizing: border-box;
  }
  #main_nsd a {
    display: block;
    text-decoration: none;
    margin: 0 auto;
  }

  #main_nsd h2, h3, h4, p {
    margin: 0;
    padding: 0;
  }
  #main_nsd ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  #main_nsd h3.title_big {
    width: 130%;
    margin: 0 0 25px -15%;
  }
  #main_nsd span.color_red {
    color: #e72963;
  }
  #main_nsd span.color_yellow {
    color: #f4e536;
  }
  section {
    position: relative;
    z-index: 1;
  }
  section:nth-of-type(n+1)::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    background-image: url(../img/snowflake.png);
    background-repeat: repeat;
    background-position: center;
    background-size: 100%;
    z-index: -1;
  }
  #main_nsd .fix_button {
    position: fixed;
    width: 270px;
    bottom: -3px;
    left: 50%;
    transform: translateX(-50%);
    box-sizing: border-box;
    z-index: 99;
  }
  #main_nsd .fix_button img {
    border: 2px solid #000;
    background-color: #fff;
    border-radius: 8px 8px 0 0;
  }
  #main_nsd span.line_break {
    display: inline-block;
  }
  /*▼▼ページネーション▼▼*/
  #main_nsd .swiper-pagination-bullet {
    margin: 0 6px;
  }
  #main_nsd .swiper-pagination-bullet-active {
    opacity: 1;
    background: #ffffff;
  }
  #main_nsd .swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: 4px;
  }
  /*▲▲ページネーション▲▲*/
  /*=========================
▼▼conts_kv▼▼
===========================*/
  #main_nsd .conts_kv {
    margin-bottom: -30px;
    z-index: 2;
  }
  #main_nsd .conts_kv .swiper-wrapper {
    padding-bottom: 30px;
  }
  /*=========================
▲▲conts_kv▲▲
===========================*/
  /*=========================
▼▼conts_link▼▼
===========================*/
  #main_nsd .conts_link {
    background: linear-gradient(180deg, rgba(79, 221, 230, 1) 0%, rgba(72, 202, 230, 1) 100%);
    padding: 50px 0 55px;
  }
  #main_nsd .conts_link .link_block_group {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  #main_nsd .conts_link .link_block {
    width: 90%;
    height: 130px;
    max-width: 400px;
    margin-bottom: 15px;
    /*background-color: #f1f1f1;*/
  }
  #main_nsd .conts_link .link_block img {
    border-radius: 15px;
    border: 3px solid #000;
  }
  /*=========================
▲▲conts_link▲▲
===========================*/
  /*=========================
▼▼conts_whats_nsd▼▼
===========================*/
  #main_nsd .conts_whats_nsd {
    background: linear-gradient(180deg, rgba(56, 175, 227, 1) 0%, rgba(52, 159, 227, 1) 50%, rgba(68, 182, 217, 1) 100%);
    padding: 50px 0 56px;
  }
  #main_nsd:has(>.conts_link) .conts_whats_nsd::before {
    content: "";
    display: block;
    width: 100%;
    height: 148px;
    position: absolute;
    top: -70px;
    right: 0;
    background-image: url(../img/wave_00.png);
    background-repeat: repeat-x;
    background-position: center;
    background-size: 600px;
  }
  #main_nsd:has(>.conts_link) .conts_whats_nsd .auto::before {
    content: "";
    display: block;
    width: 168px;
    height: 56px;
    position: absolute;
    top: -92px;
    left: -66px;
    background-image: url(../img/cloud_03.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  #main_nsd:has(>.conts_link) .conts_whats_nsd .auto::after {
    content: "";
    display: block;
    width: 135px;
    height: 47px;
    position: absolute;
    top: -73px;
    right: -43px;
    background-image: url(../img/cloud_02.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  #main_nsd .conts_whats_nsd h3.title_big {
    margin-bottom: 20px;
  }
  #main_nsd .conts_whats_nsd .slogan {
    text-align: center;
    color: #fff;
    font-size: 19px;
    font-weight: 700;
    line-height: 2;
    margin-bottom: 20px;
  }
  #main_nsd .conts_whats_nsd .slogan span.line_yellow {
    display: inline-block;
    line-height: 1.2;
    padding: 1px 2px 0;
    background-color: #fdff71;
    border-radius: 3px;
    color: #000;
  }
  #main_nsd .conts_whats_nsd .text {
    line-height: 2.3;
    text-align: left;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 35px;
  }
  #main_nsd .conts_whats_nsd .memory_img {
    width: 106%;
    margin: 0 0 0 -3%;
  }
  #main_nsd .conts_whats_nsd .text .under_line {
    border-bottom: 2px solid #247dea;
    padding-bottom: 2px;
  }
  /*=========================
▲▲conts_whats_nsd▲▲
===========================*/
  /*=========================
▼▼conts_merit▼▼
===========================*/
  #main_nsd .conts_merit {
    background: linear-gradient(180deg, rgba(88, 213, 217, 1) 0%, rgba(100, 232, 210, 1) 35%, rgba(159, 232, 185, 1) 65%, rgba(81, 225, 230, 1) 100%);
    padding: 40px 0 39px;
  }
  #main_nsd .conts_merit::before {
    content: "";
    display: block;
    width: 100%;
    height: 148px;
    position: absolute;
    top: -70px;
    right: 0;
    background-image: url(../img/wave_01.png);
    background-repeat: repeat-x;
    background-position: center;
    background-size: 680px;
  }
  #main_nsd .conts_merit .auto::before {
    content: "";
    display: block;
    width: 40%;
    height: 3%;
    position: absolute;
    top: -92px;
    left: -66px;
    background-image: url(../img/cloud_01.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
  }
  #main_nsd .conts_merit .auto::after {
    content: "";
    display: block;
    width: 168px;
    height: 65px;
    position: absolute;
    top: -80px;
    right: -80px;
    background-image: url(../img/cloud_04.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  #main_nsd .conts_merit h3.title_big {
    width: 124%;
    margin: 0 0 55px -12%;
  }
  #main_nsd .conts_merit .block_wrapper {
    background-color: #fff;
    padding: 45px 5% 0;
    border: 4px solid #000;
    box-shadow: 2px 3px 0 1px #fff9b1;
    border-radius: 20px;
    position: relative;
    margin-bottom: 80px;
  }
  #main_nsd .conts_merit .block_title {
    font-size: 26px;
    text-align: center;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.02em;
    width: 100%;
  }
  #main_nsd .conts_merit hgroup {
    position: relative;
    margin-bottom: 13px;
  }
  #main_nsd .conts_merit hgroup .number {
    width: 70px;
    margin: -79px auto 15px;
  }
  #main_nsd .conts_merit hgroup h4.block_title.sub {
    line-height: 1.1;
    margin-bottom: 3px;
    font-size: 20px;
    letter-spacing: 0
  }
  #main_nsd .conts_merit .block_img {
    width: 100%;
    margin: 0 0 0 -2px;
  }
  #main_nsd .conts_merit .merit_02 .block_img, #main_nsd .conts_merit .merit_03 .block_img {
    margin: 0 auto;
  }
  #main_nsd .conts_merit .block_img img {
    border-radius: 15px;
    border: 3px solid #000;
    box-shadow: 2px 3px 0 1px #fff9b1;
  }
  #main_nsd .conts_merit .ic_img_yoko {
    width: 58%;
    border: 2px solid #000;
    margin-right: 2%;
    border-radius: 3px;
  }
  #main_nsd .conts_merit .ic_img_tate {
    width: 40%;
    border: 2px solid #000;
    border-radius: 3px;
  }
  #main_nsd .conts_merit .img_group {
    position: relative;
    margin-bottom: 18px;
  }
  #main_nsd .conts_merit .ic_group {
    margin-top: -30px;
  }
  #main_nsd .conts_merit .ic_img_group {
    display: flex;
    align-items: flex-end;
    justify-content: center;
  }
  #main_nsd .conts_merit .ic_text {
    content: "";
    display: block;
    width: 100%;
    max-width: 300px;
    height: auto;
    position: relative;
    top: 3px;
    left: 50%;
    transform: translateX(-50%);
    background-image: url(../img/ic_text.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }
  #main_nsd .conts_merit .block_text {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
  }
  #main_nsd .conts_merit .apply_button {
    position: relative;
    bottom: -22px;
  }
  /*▼▼大ボタン▼▼*/
  #main_nsd .apply_button a {
    width: 100%;
    max-width: 280px;
    text-align: center;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    padding: 14px 0px 14px;
    border-radius: 30px;
    box-shadow: 1.2px 1px 0 2.5px #000;
    border: solid 1px #000;
    background: linear-gradient(135deg, rgba(255, 108, 96, 1) 0%, rgba(255, 86, 150, 1) 100%);
    position: relative;
    z-index: 0;
  }
  #main_nsd .apply_button a::after {
    content: "";
    display: block;
    width: 25px;
    height: 6px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 6px;
    background-image: url(../img/arrow_right.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  /*▲▲大ボタン▲▲*/
  /*=========================
▲▲conts_merit▲▲
===========================*/
  /*=========================
▼▼conts_guide▼▼
===========================*/
  #main_nsd .conts_guide {
    background: linear-gradient(180deg, #3fbfe3 0%, rgba(117, 197, 193, 1) 35%, rgba(76, 197, 211, 1) 65%, rgba(62, 175, 227, 1) 100%);
    padding: 56px 0 85px;
  }
  #main_nsd .conts_guide::before {
    content: "";
    display: block;
    width: 100%;
    height: 148px;
    position: absolute;
    top: -70px;
    right: 0;
    background-image: url(../img/wave_02.png);
    background-repeat: repeat-x;
    background-position: center;
    background-size: 600px;
  }
  #main_nsd .conts_guide .auto::before {
    content: "";
    display: block;
    width: 168px;
    height: 56px;
    position: absolute;
    top: -102px;
    left: -66px;
    background-image: url(../img/cloud_03.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  #main_nsd .conts_guide .auto::after {
    content: "";
    display: block;
    width: 135px;
    height: 47px;
    position: absolute;
    top: -83px;
    right: -43px;
    background-image: url(../img/cloud_02.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  #main_nsd .conts_guide h3.title_big {
    width: 118%;
    margin: 0 0 25px -9%;
  }
  #main_nsd .conts_guide .title_text {
    text-align: left;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.8;
    margin-bottom: 32px;
  }
  #main_nsd .conts_guide nav.in_page_link_block .page_link_group {
    width: 100%;
    max-width: 340px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #main_nsd .conts_guide nav.in_page_link_block .page_link_group::after {
    content: "";
    display: block;
    width: 32%;
    height: 0;
  }
  #main_nsd .conts_guide nav.in_page_link_block .page_link {
    margin-bottom: 25px;
    width: 32%;
    margin: 0 0 10px;
  }
  #main_nsd .conts_guide nav.in_page_link_block .page_link a {
    text-align: center;
    color: #000;
    font-size: 16px;
    font-weight: 700;
    padding: 8px 0px 8px;
    border-radius: 10px;
    box-shadow: 1.2px 2px 0 0.5px #000;
    border: solid 2px #000;
    background: #fff;
    position: relative;
    transition: .3s
  }
  #main_nsd .conts_guide nav.in_page_link_block {
    margin-bottom: 65px;
  }
  #main_nsd .conts_guide nav.in_page_link_block .page_link a::after {
    content: "";
    display: block;
    width: 11px;
    height: 6px;
    position: absolute;
    top: 18px;
    right: 7px;
    background-image: url(../img/arrow_down.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    transition: .3s;
  }
  #main_nsd .conts_guide .ski_resort_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    margin: 0 auto -40px;
    flex-direction: column;
  }
  #main_nsd .conts_guide .ski_resort_block {
    max-width: 400px;
    padding: 42px 5% 24px;
    background: #fff;
    border-radius: 20px;
    border: solid 4px #000;
    position: relative;
    margin: 0 auto 88px;
  }
  #main_nsd .conts_guide .resort_name {
    width: 120%;
    margin: -90px 0 20px -10%;
  }
  #main_nsd .conts_guide .explanation_text {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 16px;
  }
  #main_nsd .conts_guide .hashtag {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 10px;
  }
  /*▼▼小ボタン▼▼*/
  #main_nsd .conts_guide .ski_resort_block .apply_button {
    position: relative;
    bottom: -44px;
  }
  #main_nsd .conts_guide .ski_resort_block .apply_button a {
    padding: 10px 0 10px;
    max-width: 260px;
    font-size: 15px;
  }
  #main_nsd .conts_guide .join_text {
    width: 100%;
    margin: 0 auto 23px;
  }

  /*▲▲小ボタン▲▲*/
  /*=========================
▲▲conts_guide▲▲
===========================*/
  /*=========================
▼▼conts_rental▼▼
===========================*/
  #main_nsd .conts_rental {
    background: linear-gradient(180deg, rgba(80, 207, 230, 1) 0%, rgba(81, 221, 230, 1) 35%, rgba(80, 200, 230, 1) 65%, rgba(81, 191, 230, 1) 99%);
    padding: 45px 0 73px;
  }
  #main_nsd .conts_rental::before {
    content: "";
    display: block;
    width: 100%;
    height: 148px;
    position: absolute;
    top: -69px;
    right: 0;
    background-image: url(../img/wave_03.png);
    background-repeat: repeat-x;
    background-position: center;
    background-size: 600px;
  }
  #main_nsd .conts_rental .auto::before {
    content: "";
    display: block;
    width: 40%;
    height: 11%;
    position: absolute;
    top: -109px;
    left: -71px;
    background-image: url(../img/cloud_01.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
  }
  #main_nsd .conts_rental .auto::after {
    content: "";
    display: block;
    width: 168px;
    height: 65px;
    position: absolute;
    top: -80px;
    right: -80px;
    background-image: url(../img/cloud_04.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  #main_nsd .conts_rental .lental_merit {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 12px;
    text-align: center;
  }
  #main_nsd .conts_rental .lental_support {
    font-size: 14px;
    line-height: 1.7;
    text-align: left;
    margin-bottom: 8px;
  }
  #main_nsd .conts_rental h3.title_big {
    width: 110%;
    margin: 0 0 16px -5%;
  }
  #main_nsd .conts_rental .lental_point_block {
    margin-bottom: 40px;
  }
  #main_nsd .conts_rental .lental_point {
    margin-bottom: 20px;
  }
  #main_nsd .conts_rental .lental_point img {
    margin: -9px 0;
  }
  /*=========================
▲▲conts_rental▲▲
===========================*/
  /*=========================
▼▼conts_family▼▼
===========================*/
  #main_nsd .conts_family {
    background: linear-gradient(180deg, rgba(66, 170, 224, 1) 0%, rgba(76, 197, 211, 1) 35%, rgba(121, 197, 192, 1) 75%, rgba(95, 172, 208, 1) 99%);
    padding: 62px 0 44px;
  }
  #main_nsd .conts_family::before {
    content: "";
    display: block;
    width: 100%;
    height: 148px;
    position: absolute;
    top: -66px;
    right: 0;
    background-image: url(../img/wave_04.png);
    background-repeat: repeat-x;
    background-position: center;
    background-size: 600px;
  }
  #main_nsd .conts_family .auto::before {
    content: "";
    display: block;
    width: 168px;
    height: 56px;
    position: absolute;
    top: -102px;
    left: -66px;
    background-image: url(../img/cloud_03.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  #main_nsd .conts_family .auto::after {
    content: "";
    display: block;
    width: 135px;
    height: 47px;
    position: absolute;
    top: -83px;
    right: -43px;
    background-image: url(../img/cloud_02.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  #main_nsd .conts_family h3.title_big {
    width: 110%;
    margin: 0 0 15% -5%;
  }
  #main_nsd .conts_family .block_wrapper {
    background-color: #fff;
    border: 4px solid #000;
    box-shadow: 2.2px 3.8px 0 1px #008ee8;
    border-radius: 20px;
    position: relative;
    margin-bottom: 66px;
  }
  #main_nsd .conts_family .block_title {
    width: 100%;
    margin-bottom: 19px;
  }
  #main_nsd .conts_family .block_inner {
    padding: 0 3%;
  }
  #main_nsd .conts_family .block_title img {
    border-radius: 16px 16px 0 0;
  }
  #main_nsd .conts_family .block_title.speech_bubble::after {
    content: "";
    display: block;
    width: 40%;
    height: 10%;
    position: absolute;
    top: -6%;
    right: -6%;
    background-image: url(../img/speech_bubble_01.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
  }
  #main_nsd .conts_family .block_wrapper .block_text_group {
    margin: 0 0 15px;
  }
  #main_nsd .conts_family .block_wrapper .block_text {
    font-size: 17px;
    font-weight: 700;
    text-align: center;
    line-height: 1.5;
  }
  #main_nsd .conts_family .block_wrapper .block_text_small {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.6;
    text-align: left;
    margin-bottom: 20px;
  }
  #main_nsd .conts_family .block_wrapper .explanation_block {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
  }
  #main_nsd .conts_family .block_img {
    margin: 0 auto;
  }
  #main_nsd .conts_family .block_img img {
    border-radius: 15px;
    border: 3px solid #000;
  }
  #main_nsd .conts_family .block_img {
    width: 90%;
    margin: 0 auto 21px;
  }
  #main_nsd .conts_family .apply_button {
    position: relative;
    bottom: -22px;
  }
  /*=========================
▲▲conts_family▲▲
===========================*/
  /*=========================
▼▼conts_reason▼▼
===========================*/
  #main_nsd .conts_reason {
    background: linear-gradient(180deg, rgba(113, 192, 212, 1) 0%, rgba(88, 172, 226, 1) 30%, rgba(81, 167, 230, 1) 100%);
    padding: 45px 0 100px;
  }
  #main_nsd .conts_reason::before {
    content: "";
    display: block;
    width: 100%;
    height: 148px;
    position: absolute;
    top: -67px;
    right: 0;
    background-image: url(../img/wave_05.png);
    background-repeat: repeat-x;
    background-position: center;
    background-size: 600px;
  }
  #main_nsd .conts_reason .auto::before {
    content: "";
    display: block;
    width: 41%;
    height: 11%;
    position: absolute;
    top: -90px;
    left: -61px;
    background-image: url(../img/cloud_01.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
  }
  #main_nsd .conts_reason .auto::after {
    content: "";
    display: block;
    width: 168px;
    height: 65px;
    position: absolute;
    top: -80px;
    right: -80px;
    background-image: url(../img/cloud_04.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  #main_nsd .conts_reason h3.title_big {
    width: 108%;
    margin: 0 0 32px -4%;
  }
  #main_nsd .conts_reason .text_block {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.7;
    text-align: left;
  }
  #main_nsd .conts_reason .text_block .text {
    margin-bottom: 17px;
  }
  #main_nsd span.font_big {
    font-size: 18px;
    line-height: 1.6;
  }

  #pokemon-bnr a{
  	padding:10px 20px !important;
  	margin-bottom:30px;
  	margin-left:-20px;
  }
  /*=========================
▲▲conts_reason▲▲
===========================*/
}