@charset "utf-8";

/*帯バナー非表示*/
.oneColumnWrap{display:none;}

/*reset_start*/
#ns_mainContent{margin: 0;padding: 0;}
#ns_lpWrap a,
#ns_lpWrap a img{transition:0.3s;}
#ns_lpWrap a{text-decoration: none;}
#mainContent{padding: 0;margin-bottom: 0;}
/*reset_end*/



/*common_start*/
#ns_lpWrap{
	color: #444444;
	box-sizing: border-box;
	font-weight: 600;
	line-height: 1.5;
}

.ns_mainContent{
	padding-top: 100px;
}


.ns_wrapAll img{height: auto;display: block;}
.ns_commonSize{max-width: 980px; width: 100%; margin: auto;}
.ns_innerSize{padding: 0 40px;}

.ns_sectionWrap{padding: 150px 0 50px; border: none; position: relative;}
.ns_sectionWrap:last-of-type{padding-bottom: 180px;}

.ns_rainbow{
	position: absolute;
	top: clamp(4.375rem, -12.804rem + 26.82vw, 19.375rem);
	left: 0;
	z-index: -1;
}


.ns_mountain_bg{
	margin-top: 25%;
	background: linear-gradient(0deg,rgba(245, 242, 211, 1) 0%, rgba(201, 234, 175, 1) 100%);
	position: relative;
	padding-bottom: 530px!important;
}

.ns_mountain_bg::before{
	position: absolute;
	content: '';
	background: url("https://7net-img.omni7.jp/cm/0001/sc_image/inc/pc/special/250709summercp/mountain.png") no-repeat center center;
	background-size: contain;
	top: clamp(-27.875rem, -13.797rem + -11.73vw, -21.313rem);
	left: 0;
	width: 100%;
	height: 448px;
}

.ns_sunflower{
	position: absolute;
}


.ns_sunflower:nth-of-type(1){
	top: clamp(2.25rem, -9.489rem + 18.32vw, 12.5rem);
	right: clamp(-4.75rem, -20.927rem + 25.25vw, 9.375rem);
	animation:30s linear infinite rotation2;
}

.ns_sunflower:nth-of-type(2){
	top: clamp(14.688rem, -0.702rem + 24.02vw, 28.125rem);
	right: 65px;
	animation:30s linear infinite rotation1;
}


.ns_sunflower:nth-of-type(3){
	top: clamp(48.438rem, 38.774rem + 15.08vw, 56.875rem);
	left: clamp(-5.875rem, -22.982rem + 26.7vw, 9.063rem);
	animation:30s linear infinite rotation2;
}


.ns_sunflower:nth-of-type(4){
	top: clamp(66.75rem, 57.302rem + 14.75vw, 75rem);
	left: 55px;
	animation:30s linear infinite rotation1;
}

.ns_sunflower:nth-of-type(5){
	top: clamp(73.125rem, 64.536rem + 13.41vw, 80.625rem);
	right: clamp(-9.563rem, -26.956rem + 27.15vw, 5.625rem);
	animation:30s linear infinite rotation2;
}

.ns_sunflower:nth-of-type(6){
	top: clamp(99.688rem, 89.309rem + 16.2vw, 108.75rem);
	left: clamp(-9.063rem, -24.81rem + 24.58vw, 4.688rem);
	animation:30s linear infinite rotation1;
}


@keyframes rotation2{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(-360deg); }
}



.ns_sea_bg{
	background: url("https://7net-img.omni7.jp/cm/0001/sc_image/inc/pc/special/250709summercp/sea.png") no-repeat center center;
	background-size: cover;
	position: relative;
	margin-top: -510px;
    padding-top: 587px !important;
}

.ns_seaItem{
	position: absolute;
}

.ns_seaItem:nth-of-type(1){
	top: clamp(7.5rem, -0.016rem + 11.73vw, 14.063rem);
	left: 180px;
}

.ns_seaItem:nth-of-type(2){
	top: clamp(13.375rem, 3.282rem + 15.75vw, 22.188rem);
	left: 84px;
}

.ns_seaItem:nth-of-type(3){
	top: clamp(5.313rem, 12.687rem + -6.15vw, 8.75rem);
	right: clamp(2.75rem, -2.547rem + 8.27vw, 7.375rem);
}



/*背景アニメーションここから*/



.ns_circles li{
    position: absolute;
    display: block;
    list-style: none;
    width: 20px;
    height: 20px;
    border: 2px solid rgba(255, 255, 255, 0.7);
    animation: bubble 25s linear infinite;
    bottom: -100px;
    border-radius: 100%;
}

.ns_circles li:nth-child(1){
    left: 17%;
    width: 80px;
    height: 80px;
    animation-delay: 0s;
}


.ns_circles li:nth-child(2){
    left: 10%;
    width: 40px;
    height: 40px;
    animation-delay: 2s;
    animation-duration: 13s;
}

.ns_circles li:nth-child(3){
    left: 80%;
    width: 30px;
    height: 30px;
    animation-delay: 4s;
}

.ns_circles li:nth-child(4){
    left: 40%;
    width: 60px;
    height: 60px;
    animation-delay: 0s;
    animation-duration: 10s;
}

.ns_circles li:nth-child(5){
    left: 95%;
    width: 20px;
    height: 20px;
    animation-delay: 0s;
}

.ns_circles li:nth-child(6){
    left: 75%;
    width: 30px;
    height: 30px;
    animation-delay: 13s;
}

.ns_circles li:nth-child(7){
    left: 35%;
    width: 50px;
    height: 50px;
    animation-delay: 7s;
}

.ns_circles li:nth-child(8){
    left: 50%;
    width: 25px;
    height: 25px;
    animation-delay: 15s;
    animation-duration: 10s;
}

.ns_circles li:nth-child(9){
    left: 20%;
    width: 30px;
    height: 30px;
    animation-delay: 2s;
    animation-duration: 35s;
}

.ns_circles li:nth-child(10){
    left: 85%;
    width: 70px;
    height: 70px;
    animation-delay: 0s;
    animation-duration: 11s;
}



@keyframes bubble {
    0%{
        transform: translateY(0) rotate(0deg);
        opacity: 1;
    }
    100%{
        transform: translateY(-1500px) rotate(720deg);
        opacity: 0;
    }
}

/*背景アニメーションここまで*/


h2.ns_H2{margin: 0 0 80px; border: none; display: block; padding: 0; position: relative;}
h2.ns_mb_small{margin: 0 0 30px!important;}
.ns_H2 img{width: 100%; margin: auto;}
#ns_campaign_sec{padding-top: 85px;margin-top: -85px;}
.ns_commonSize section:nth-of-type(n+2){margin-top: 120px;}
.ns_shadow{box-shadow: 5px 5px 12px rgba(0, 0, 0, 0.2);}
/*common_end*/

/*breadcrumbs_start*/

.ns_breadWrap { 
	margin:-20px 0 0;
	padding: 12px;
	line-height: 1.2em;
	font-size: 14px;
	width: 98%;
	display: flex;
	white-space: nowrap;
	position: relative;
	z-index: 2;
	color: #fff;
	background: none;
}
.ns_breadWrap li { display:inline-block; font-weight: 400; position: relative;}
.ns_breadWrap li:nth-of-type(n+2):before {
	position: absolute;
    content: "";
    display: block;
    top: 43%;
    left: 0.18em;
    width: 6px;
    height: 6px;
    border: 0 solid #fff;
    border-width: 1px 1px 0 0;
    transform: rotate(45deg) translate(0, -25%);}
.ns_breadWrap li:last-child::after {content:none;}
.ns_breadWrap li:nth-of-type(n+2){padding-left: 20px;}
.ns_breadWrap a { color:#fff; transition: .3s; text-decoration: none;}
.ns_breadWrap a:hover { opacity: .7; }
.ns_breadWrap span { margin-right:0.3em; }

/*breadcrumbs_end*/

/*ns_mainVisual_start*/
h1.ns_H1{
	margin: 0 ;
	padding: 40px 0 0;
	border: none;
	height:auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
}
header{background: #fff;}

.ns_mvBg{background: url("https://7net-img.omni7.jp/cm/0001/sc_image/inc/pc/special/250709summercp/mv_bg.jpg") no-repeat center center; background-size: cover;}

.ns_top_anc{
	position: absolute;
	top: clamp(-1.875rem, -4.022rem + 3.35vw, 0rem);
	right: 20px;
	width: clamp(13.438rem, 6.638rem + 10.61vw, 19.375rem);
	z-index: 2;
}

.ns_top_anc img{
	width: 100%;
}

.ns_top_anc_wrap{
	position: relative;
	display: block;
	width: 100%;
}

.ns_top_anc_wrap::before{
	content: "";
    display: block;
    position: absolute;
    width: 15px;
    height: 15px;
    top: 78%;
    right: 50%;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg) translate(-50%, 0);
	transition: .3s;
	z-index: 2;
}

.ns_top_anc:hover img{
	opacity: 1!important;
}


.ns_top_anc:hover {
	transform: translateY(8px);
	transition: .3s;
}



.ns_top_anc_bg img{
	animation:15s linear infinite rotation1;
}

@keyframes rotation1{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}


.ns_top_anc_tx{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 68%;
	z-index: 2;
}

.ns_mainVisual{
	margin: auto;
}

.ns_mainVisual img{width: 100%; margin: auto;}

/*ns_mainVisual_end*/

/*anc_start*/
.ns_anc {
	background: #fff;
	padding: 100px 0;
	margin-top: -1px;
}

.ns_anc_list {
  width: 90%;
  max-width: 980px;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  height: auto;
  padding-bottom: 8px;
  margin: auto;
  /* font-size: clamp(0px,1.7svw,100%); */
}

.ns_anc_list li{width: calc((100% - (10px * 2)) / 3); max-width: 260px;}


.ns_anc_list > li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 50%;
  border: 2px solid #0191ff;
  margin: 0 auto;
  font-size: 30px;
  line-height: 1.2;
  font-weight: 400;
  text-align: center;
  text-decoration: none!important;
  color: #0191ff;
  transition: 0.3s;
}

.ns_anc_list > li a:before {
    content: "";
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    top: 80%;
    right: 50%;
    margin-top: 2px;
    border-top: 2px solid #0191ff;
    border-right: 2px solid #0191ff;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg) translate(-50%, 0);
}

.ns_anc_list > li a:after{
	content: '';
    display: block;
    padding-top: 100%;
}

.ns_ancRibbon{
	display: block;
	margin-top: 4px;
}

.ns_anc_list > li a:hover {
  transform: translateY(8px);
}

.ns_anc_list > li a:hover .ns_ancRibbon img{
  opacity: 1!important;
}

/*anc_end*/


/*kikan_start*/
.ns_kikanWrap{
	margin-bottom: 65px;
}
/*kikan_end*/






/*tab_start*/

.ns_tab_caption{
	margin-bottom: 40px;
	padding-bottom: 18px;
	border-bottom: 2px solid #ff5b35;
	position: relative;
	background: #fff;
}

/*fadein*/

.ns_trigger{opacity: 0;}

/* 条件を満たしたあとに追加するクラス */
.ns_fadein{
	opacity:0;
  	animation: fadein 0.5s forwards 0.1s;
}

@keyframes fadein {
  0% {
    transform: translateY(40px) scale(0.8);
    opacity: 0;
  }
  100% {
    transform: translateY(0) scale(1.0);
  }
  80%, 100% {
    opacity: 1;
  }
}


.ns_way_tit{
	font-size: 38px;
	margin-bottom: 36px;
	position: relative;
}

.ns_way_tit .ns_large{
	font-size: 50px;
}

.ns_balloon{
	position: absolute;
    display: block;
    width: 443px;
    height: 86px;
    top: -120%;
    left: 50%;
    transform: translateX(-50%);
}

.ns_balloon img{
	animation: pyonpyon1 1.5s linear 0s infinite ;
}

@keyframes pyonpyon1 {
	0% {
		transform: translate(0%, 2%);
	}
	50% {
		transform: translate(0%, -2%);
	}
	100% {
		transform: translate(0%, 2%);
	}
}

.ns_tab_caption img{
	position: relative;
	z-index: 2;
}

.ns_tab_caption::before{
	position: absolute;
	content: "";
	bottom: -12px;
    left: 25%;
    width: 30px;
    height: 30px;
    box-sizing: border-box;
    background-color: #ffffff; /* 背景色と同じ色を指定 */
    rotate: 135deg;
    translate: -50%;
}

.ns_tab_caption::after{
    content: "";
  	position: absolute;
  	bottom: -15px;
  	left: 25%;
  	z-index: -1;
  	width: 30px;
  	height: 30px;
  	box-sizing: border-box;
  	border: 2px solid;
  	border-color: #ff5b35 #ff5b35 transparent transparent;
  	background-color: #ffffff;
  	rotate: 135deg;
  	translate: -50%;
}
     
    .ns_tab-btn {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .ns_tabbtn {
        width: 50%;
        text-align: center;
    }
    .ns_tabbtn a {
        display: block;
        position: relative;
        font-size: 32px;
        padding: 20px;
        text-decoration: none;
        line-height: 1.2;
        cursor: pointer;
		border-radius: 30px 30px 0 0;
    }
	.ns_tabbtn:nth-of-type(1) a {
        background-color: #ff5b35;
		color: #fff;
    }
	.ns_tabbtn:nth-of-type(2) a {
        background-color: #ffe50b;
		color: #444;
    }

    .ns_tab-contents-item {
        display: none;
        width: 100%;
        height: auto;
		padding: 150px 25px 75px;
        justify-content: center;
		border-radius: 0 0 30px 30px;
    }

    .ns_tab-contents-item.is-active {
        display: block;
    }

	#way1{background: #ff5b35; color: #fff!important;}
	#way2{background: #ffe50b;}

    .ns_tab-contents-item>p {
		text-align: center;
        opacity: 0;
    }
    .ns_tab-contents-item.is-active>p {
      animation:  fadeinAnime .5s forwards;
    }

    @keyframes fadeinAnime{
        from {
          opacity: 0;
        }
        to {
          opacity: 1;
        }
    }


.ns_stepWrap{
	position: relative;
}

.ns_stepWrap .ns_btn{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -38%);
	width: 100%;
	margin: 0;
}


.ns_stepWrap .ns_txt{
	position: absolute;
	left: 50%;
	bottom: 3%;
	font-size: 15px;
	margin-top: 64px;
	text-align: center;
	transform: translate(-50%, 0);
}


.ns_attention{
	text-align: right;
	margin-top: 10px;
	position: relative;
}

.ns_attention .ns_large{
	font-size: 25px;
}

.ns_attention.ns_center{
	text-align: center!important;
	text-shadow: #d9edbd 2px 0px 2px, #d9edbd -2px 0px 2px, #d9edbd 0px -2px 2px, #d9edbd -2px 0px 2px, #d9edbd 2px 2px 2px, #d9edbd -2px 2px 2px, #d9edbd 2px -2px 2px, #d9edbd -2px -2px 2px, #d9edbd 1px 2px 2px, #d9edbd -1px 2px 2px, #d9edbd 1px -2px 2px, #d9edbd -1px -2px 2px, #d9edbd 2px 1px 2px, #d9edbd -2px 1px 2px, #d9edbd 2px -1px 2px, #d9edbd -2px -1px 2px, #d9edbd 1px 1px 2px, #d9edbd -1px 1px 2px, #d9edbd 1px -1px 2px, #d9edbd -1px -1px 2px;
}

/*tab_end*/



/*bnr_start*/
.ns_bnWrap{padding-top: 200px;}
.ns_bnr{display: flex;justify-content: center; position: relative;}
.ns_bnr:nth-of-type(n+2){margin-top: 45px;}

.ns_end{
	position: relative;
}

.ns_end::before{
	position: absolute;
	display: block;
	content: '';
	background: rgb(0,0,0,0.5);
	width: 750px;
	height: 250px;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
}

.ns_end::after{
	position: absolute;
	content: '終了しました';
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #fff;
	font-size: 50px;
	font-weight: bold;
	text-align: center;
	text-shadow: #000 1px 0 10px;
	z-index: 3;
}
/*bnr_end*/



/*btn_start*/
.ns_btn{margin: 70px auto 0; display: flex; justify-content: center; position: relative;}
.ns_btn a{
	padding: 30px 160px;
	background: #0191ff;
	color: #fff;
	font-size: 24px;
	font-weight: 600;
	text-decoration: none;
	border-radius: 100px;
	border: 1px #fff solid;
	position: relative;
}
.ns_btn a::after{
	content: "";
    position: absolute;
    right: 40px;
    top: 50%;
    width: 14px;
    height: 14px;
    transform: rotate(45deg) translateY(-50%);
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
    border-top: #fff 2px solid;
    border-right: #fff 2px solid;
}

/*btn_end*/

/*hover_start*/
.ns_btn a:hover{transform: translateX(8px); }
.ns_bnr a:hover img{opacity: 1;transform: translateX(8px);}
.ns_detailLink a:hover .ns_dli-arrow-right{
	margin: -0.2em 0 0 0.5em;
	color: #0191ff;
}
.ns_detailLink a:hover{
	color: #0191ff;
}
/*hover_end*/


/*detail_start*/
.ns_innerScroll{
	width: 980px;
	height: 600px;
	padding: 45px 20px 45px 30px;
	background: #fff;
	border: 2px solid #0191ff;
	border-radius: 20px;
	position: relative;
}
.ns_detail::-webkit-scrollbar {
  display: none;
}
.simplebar-scrollbar::before{background:#0191ff!important; top:0; bottom:0; left:1px; right:1px; opacity: 1!important;}
.simplebar-scrollbar.simplebar-visible:before{opacity:1;}
.simplebar-track{background:#eee;}
.simplebar-track.simplebar-vertical{
	width:7px;
	margin:6px 0 0;
	border-radius:7px;
}


.ns_mtop50{margin-top: 50px; padding-right: 30px;}
.ns_detail{font-size: 18px;}
.ns_bold{font-weight: bold; font-size: 20px;}
.ns_detail dt{font-weight: bold; color: #0191ff;}
.ns_detail dd{text-indent: -1.2rem; margin-left: 1.2rem;}
.ns_noIndent{text-indent: 0!important; margin-left: 0.2rem!important;}
.ns_detailLink{
	display: inline-block;
	margin: 3px 0 10px 19px;
}
.ns_detailLink a{
	padding: 1px 10px 3px;
	color: #0191ff;
	background: #ffe50b;
}

.ns_dli-arrow-right {
  display: inline-block;
  vertical-align: middle;
  color: #0191ff;
  line-height: 1;
  position: relative;
  width: 1em;
  height: 1em;
  border: 0.075em solid currentColor;
  background: currentColor;
  border-radius: 50%;
  box-sizing: content-box;
  transition: 0.3s;
  margin: -0.2em 0 0 0.3em;
}

.ns_dli-arrow-right::before {
  content: '';
  color: #fff;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  border-width: 0.18em 0.31177em;
  border-left-color: currentColor;
  border-right: 0;
  transform: translateX(15%);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

/*detail_end*/


/*footer_start*/
.ns_areaBottom{text-align: center;padding: 10px 0; background-color: #ffebf4;}
/*footer_end*/



/*-------------max-width_1024px_start-------------*/

@media screen and (max-width:1024px){

/*common_start*/
.ns_wrapAll img{width: 100%;}
.wrapAll img{height: auto;display: block;}
.ns_commonSize{max-width: 94%; width: 100%; margin: auto;}
.ns_mainContent{padding-top: 5vw}
h2.ns_H2{margin: 0 0 4vw; padding: 0;}
#ns_campaign_sec{padding-top: 17vw;margin-top: -17vw;}
.ns_sectionWrap{padding: 10vw 0;}
.ns_sectionWrap:last-of-type{padding-bottom: 15vw;}
.ns_mountain_bg{padding-top: 20vw!important; padding-bottom: 53vw!important;}
.ns_mountain_bg::before{top: clamp(-21.25rem, -13.898rem + -11.49vw, -18.5rem);}
.ns_rainbow{top: clamp(7.688rem, -1.204rem + 22.19vw, 13rem);}
	
	
	
.ns_sunflower:nth-of-type(1){
	top: 7vw;
	right: 2vw;
	width: 17%;
}

.ns_sunflower:nth-of-type(2){
	top: 21vw;
	right: -6vw;
	width: 13%;
}


.ns_sunflower:nth-of-type(3){
	top: 98vw;
	left: -5vw;
	width: 24%;
}


.ns_sunflower:nth-of-type(4){
	top: 132vw;
	left: 86vw;
	width: 26%;
}

.ns_sunflower:nth-of-type(5){
	top: 158vw;
	right: 6vw;
	width: 15%;
}

.ns_sunflower:nth-of-type(6){
	width: 23%;
	top: 169vw;
	left: -3vw;
}
	
	
.ns_sea_bg{margin-top: -40vw; padding-top: 52vw !important;}
	
	
.ns_seaItem:nth-of-type(1){width: 8%; top: 9vw; left: 16vw;}
.ns_seaItem:nth-of-type(2){width: 8%; top: 16vw; left: 5vw;}
.ns_seaItem:nth-of-type(3){width: 14%; top: 14vw; right: 5vw;}
	
	
	
	
/*背景アニメーションここから*/



.ns_circles li{
    position: absolute;
    display: block;
    list-style: none;
    width: 20px;
    height: 20px;
    border: 2px solid rgba(255, 255, 255, 0.7);
    animation: bubble2 25s linear infinite;
    bottom: -150px;
    border-radius: 100%;
	animation-duration: 12s;
}

@keyframes bubble2 {
    0%{
        transform: translateY(0) rotate(0deg);
        opacity: 1;
    }
    100%{
        transform: translateY(-130vw) rotate(720deg);
        opacity: 0;
    }
}
	
	
	
	
	
.ns_circles li:nth-child(1){
    left: 17%;
    width: 30px;
    height: 30px;
    animation-delay: 0s;
}


.ns_circles li:nth-child(2){
    left: 10%;
    width: 40px;
    height: 40px;
    animation-delay: 2s;
    animation-duration: 13s;
}

.ns_circles li:nth-child(3){
    left: 80%;
    width: 30px;
    height: 30px;
    animation-delay: 4s;
}

.ns_circles li:nth-child(4){
    left: 40%;
    width: 60px;
    height: 60px;
    animation-delay: 0s;
    animation-duration: 10s;
}

.ns_circles li:nth-child(5){
    left: 95%;
    width: 20px;
    height: 20px;
    animation-delay: 0s;
}

.ns_circles li:nth-child(6){
    left: 75%;
    width: 30px;
    height: 30px;
    animation-delay: 13s;
}

.ns_circles li:nth-child(7){
    left: 35%;
    width: 20px;
    height: 20px;
    animation-delay: 7s;
}

.ns_circles li:nth-child(8){
    left: 50%;
    width: 50px;
    height: 50px;
    animation-delay: 15s;
    animation-duration: 10s;
}

.ns_circles li:nth-child(9){
    left: 20%;
    width: 30px;
    height: 30px;
    animation-delay: 2s;
    animation-duration: 35s;
}

.ns_circles li:nth-child(10){
    left: 85%;
    width: 45px;
    height: 45px;
    animation-delay: 0s;
    animation-duration: 11s;
}

/*背景アニメーションここまで*/	
	
/*common_end*/
	
/*ns_mainVisual_start*/
h1.ns_H1{padding: 3vw 0 0; border: none; height:auto; display: flex;flex-direction: column; justify-content: center; align-items: center;}
.ns_mainVisual{
	margin: auto;
}
	
	
.ns_top_anc{
	top: clamp(-2.188rem, -2.815rem + 1.57vw, -1.813rem);
	right: clamp(0.375rem, -1.089rem + 3.66vw, 1.25rem);
	width: clamp(9.563rem, 3.077rem + 16.19vw, 13.438rem);
}
/*ns_mainVisual_end*/
	

/*anc_start*/
.ns_anc{padding: 5vw 0 12vw;}
.ns_anc_list li{width: calc((100% - (10px * 10)) / 3);}
.ns_anc_list > li a{width: 100%; font-size: clamp(1.125rem, 0.079rem + 2.61vw, 1.75rem);}
.ns_anc_list > li a:before{width: 15px; height: 15px;}
.ns_ancRibbon{width: 85%; margin: 4px auto 0;}
/*anc_end*/

/*kikan_start*/
.ns_kikanWrap{
	margin-bottom: 4vw;
}
/*kikan_end*/
	
/*tab_start*/
.ns_tab-contents-item{padding: 15vw 3vw 10vw;}
.ns_tabbtn a,.ns_way_tit{font-size: clamp(1.375rem, 0.747rem + 1.57vw, 1.75rem);}
.ns_way_tit{margin-bottom: 3vw;}
.ns_way_tit .ns_large{font-size: clamp(1.875rem, -0.217rem + 5.22vw, 3.125rem);}
.ns_balloon{width: 50%; height: auto;}
.ns_attention{text-align: left; text-indent: -1.2rem; margin-left: 1.2rem; line-height: 1.1;}
.ns_stepWrap .ns_txt{bottom: 2%;}
.ns_stepWrap .ns_btn{transform: translate(-50%, -47%);}
/*tab_end*/


/*bnr_start*/
.ns_bnWrap{padding-top: 15vw;}
.ns_bnr{width: 85%; margin: auto;}
.ns_bnr:nth-of-type(n+2){margin-top: 4vw;}
.ns_end::before{
	width: 100%;
	height: 100%;
	max-width: 750px;
}

.ns_end::after{
	font-size: 5vw;
	font-weight: bold;
	text-shadow: #000 1px 0 10px;
}
/*bnr_end*/

	
/*btn_start*/
.ns_btn{margin: 6vw auto 0; display: flex; justify-content: center;}
.ns_btn a{
	padding: 3vw 16vw;
}
/*btn_end*/

	
/*hover_start*/
.ns_breadWrap li .is-tap,.ns_anc_list .is-tap, .ns_btn .is-tap, .ns_btn_blue .is-tap{text-decoration: none!important;}
.ns_anc_list .is-tap img, .ns_bnr .is-tap img{opacity: 1!important;}
/*hover_end*/
	
	
/*detail_start*/
.ns_mtop50{margin-top: 5vw;}
.ns_detail{font-size: 2.2vw;}
.ns_bold{font-weight: bold; font-size: 2.4vw;}
.nx_noIndent{text-indent: 0!important; margin-left: 1.2rem!important;}
.ns_detail dd{text-indent: -1.2rem; margin-left: 1.2rem;}

.ns_innerScroll{width: 100%;height: 58vw;}

.ns_detail::-webkit-scrollbar {
  display: none;
}
.simplebar-scrollbar::before{top:0; bottom:0; left:0; right:0;}
.simplebar-scrollbar.simplebar-visible:before{opacity:1;}
.simplebar-track{background:#ccc;}
.simplebar-track.simplebar-vertical{
	width:10px;
	margin:6px 0 0;
	border-radius:7px;
}
/*detail_end*/

	
}


@media screen and (min-width:641px){
.ns_SP{display: none;}
}




/*-------------mobile_start-------------*/



@media screen and (max-width:640px){

/*common_start*/
.ns_commonSize{max-width: 92%; width: 100%; margin: auto;}
.ns_PC{display: none;}
h2.ns_H2{margin: 0 0 8vw; padding: 0;}
h2.ns_mb_small{margin: 0 0 5vw!important;}
#ns_campaign_sec{margin-top: 0;}
#ns_info_sec{padding-top: 10vw;}
.ns_sectionWrap{padding: 15vw 0;}
.ns_sectionWrap:last-of-type{padding-bottom: 4vw;}
/*common_end*/

/*breadcrumbs_start*/
.ns_breadWrap { margin:-27px auto 0; padding: 7px; line-height: 1.3em; font-size: 12px; font-weight: 600; color:#fff; width: 100%;}
.ns_breadWrap li { display:inline-block;}
.ns_breadWrap li:last-child::after {content:none;}
.ns_breadWrap li:nth-of-type(n+2){padding-left: 3vw;}
.ns_breadWrap li:nth-of-type(n+2):before{top: 47%; left: 0; width: 1vw;height: 1vw;}
.ns_breadWrap a { color:#fff; transition: .3s; text-decoration: none;}
.ns_breadWrap a:hover { opacity: .7; }
.ns_breadWrap span { margin-right:0.3em; }
/*breadcrumbs_end*/
	
/*ns_mainVisual_start*/
h1.ns_H1{width: 100%; margin: -5.6vw 0 0 ; padding: 0; border: none; height:auto; display: flex;flex-direction: column; justify-content: center; align-items: center;}
.ns_mvBg{background: url("https://7net-img.omni7.jp/cm/0001/sc_image/inc/sp/special/250709summercp/mv_bg_sp.jpg") no-repeat center center; background-size: cover;}

.ns_mainVisual{
	max-width: 100%;
	margin: auto;
}
	
.ns_mainVisual img{width: 100%; margin: auto;}
	
	
.ns_top_anc{
	top: clamp(9.125rem, -1.063rem + 50.94vw, 19.313rem);
	right: clamp(0.375rem, -0.063rem + 2.19vw, 0.813rem);
	width: 34%;
}
	
.ns_top_anc.is-tap img{opacity: 1!important;}
.ns_top_anc_wrap::before{
	position: absolute;
	width: clamp(0.5rem, 0.063rem + 2.19vw, 0.938rem);
	height: clamp(0.5rem, 0.063rem + 2.19vw, 0.938rem);
	border-top: 2px solid #fff;
    border-right: 2px solid #fff;
	top: 80%;
}
	
.ns_top_anc_tx{width: 72%;}
	
/*ns_mainVisual_end*/	

	
/*anc_start*/
.ns_anc {
	padding: 10vw 0 0;
}

.ns_anc_list {
  width: 94%;
  display: flex;
  align-items: stretch;
}
.ns_anc_list:nth-of-type(n + 2) {
  margin-top: 30px;
}
	
.ns_anc_list li{width: calc((100% - (4px * 2)) / 3);}

.ns_anc_list > li a {
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  font-size: clamp(0.75rem, 0.32rem + 2.15vw, 1.125rem);
  line-height: 1.2;
  font-weight: 700;
  text-align: center;
  text-decoration: none!important;
  border: 1px solid #0191ff;
}

.ns_anc_list > li a:before {
    content: "";
    display: block;
    position: absolute;
    width: 7px;
    height: 7px;
    top: 76%;
    right: 46.5%;
    margin-top: 2px;
    border-top: 1px solid #0191ff;
    border-right: 1px solid #0191ff;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

.ns_ancRibbon{
	width: 83%;
	margin-top: 1px;
}
/*anc_end*/
	
	
/*kikan_start*/
.ns_kikanWrap{
	margin-bottom: 7vw;
}
/*kikan_end*/
	
/*content_start*/	
.ns_mountain_bg{padding: 28vw 0 53vw!important;}
.ns_mountain_bg::before{top: clamp(-18.563rem, -13.813rem + -11.88vw, -16.188rem);}
.ns_sea_bg{margin-top: -49vw; padding-top: 65vw !important;}
	
ul.ns_termsCol{position: relative;}
.ns_rainbow{z-index: 0; top: clamp(3.5rem, -0.688rem + 20.94vw, 7.688rem);}
	
.ns_sunflower:nth-of-type(1){
	top: 6vw;
	right: 16vw;
	width: 13%;
}

.ns_sunflower:nth-of-type(2){
	top: 15vw;
	right: 4vw;
	width: 10%;
}


.ns_sunflower:nth-of-type(3){
	display: none;
	top: 5vw;
	left: 7vw;
	width: 11%;
}


.ns_sunflower:nth-of-type(4){
	display: none;
	top: 149vw;
	left: 73vw;
	width: 16%;
}

.ns_sunflower:nth-of-type(5){
	top: clamp(34.813rem, 2.125rem + 163.44vw, 67.5rem);
    left: 15vw;
	right: auto;
    width: 13%;
}

.ns_sunflower:nth-of-type(6){
	top: clamp(34.063rem, 2.813rem + 156.25vw, 65.313rem);
	left: 4vw;
	width: 9%;
}
	
	
	
	
.ns_seaItem:nth-of-type(1){width: 8%; top: 27vw; left: 19vw;}
.ns_seaItem:nth-of-type(2){width: 8%; top: 32vw; left: 5vw;}
	
.ns_seaItem:nth-of-type(3){
		width: 20%;
        top: 23vw;
        right: 7vw;
}
	
	
	
	
	
/*背景アニメーションここから*/



.ns_circles li{
    position: absolute;
    display: block;
    list-style: none;
    width: 20px;
    height: 20px;
	border: 1px solid rgba(255, 255, 255, 0.7);
    background: none;
    animation: bubble3 25s linear infinite;
    bottom: -50px;
    border-radius: 100%;
	animation-duration: 8s;
}

.ns_circles li:nth-child(1){
    left: 17%;
    width: 3vw;
    height: 3vw;
    animation-delay: 0s;
}


.ns_circles li:nth-child(2){
    left: 10%;
    width: 40px;
    height: 40px;
    animation-delay: 2s;
    animation-duration: 7s;
}

.ns_circles li:nth-child(3){
    left: 80%;
    width: 10px;
    height: 10px;
    animation-delay: 4s;
}

.ns_circles li:nth-child(4){
    left: 40%;
    width: 8vw;
    height: 8vw;
    animation-delay: 0s;
    animation-duration: 5s;
}

.ns_circles li:nth-child(5){
    left: 95%;
    width: 20px;
    height: 20px;
    animation-delay: 0s;
}

.ns_circles li:nth-child(6){
    left: 75%;
    width: 30px;
    height: 30px;
    animation-delay: 13s;
	animation-duration: 8s;
}

.ns_circles li:nth-child(7){
    left: 35%;
    width: 10px;
    height: 10px;
    animation-delay: 7s;
}

.ns_circles li:nth-child(8){
    left: 50%;
    width: 25px;
    height: 25px;
    animation-delay: 15s;
    animation-duration: 10s;
}

.ns_circles li:nth-child(9){
    left: 20%;
    width: 20px;
    height: 20px;
    animation-delay: 2s;
    animation-duration: 10s;
}

.ns_circles li:nth-child(10){
    left: 85%;
    width: 3vw;
    height: 3vw;
    animation-delay: 0s;
    animation-duration: 11s;
}

	
@keyframes bubble3 {
    0%{
        transform: translateY(0) rotate(0deg);
        opacity: 1;
    }
    100%{
        transform: translateY(-130vw) rotate(720deg);
        opacity: 0;
    }
}
/*背景アニメーションここまで*/
	
	
	
.ns_app_licence{
	margin-top: 20vw;
	color: #fff;
	font-size: 11px;
	font-weight: 400;
	text-indent: -0.75rem;
    margin-left: 1rem;
	text-shadow: #19cdfc 2px 0px 2px, #19cdfc -2px 0px 2px, #19cdfc 0px -2px 2px, #19cdfc -2px 0px 2px, #19cdfc 2px 2px 2px, #19cdfc -2px 2px 2px, #19cdfc 2px -2px 2px, #19cdfc -2px -2px 2px, #19cdfc 1px 2px 2px, #19cdfc -1px 2px 2px, #19cdfc 1px -2px 2px, #19cdfc -1px -2px 2px, #19cdfc 2px 1px 2px, #19cdfc -2px 1px 2px, #19cdfc 2px -1px 2px, #19cdfc -2px -1px 2px, #19cdfc 1px 1px 2px, #19cdfc -1px 1px 2px, #19cdfc 1px -1px 2px, #19cdfc -1px -1px 2px;
}
/*content_end*/
	
	
	

/*btn_start*/
.ns_btn{margin: 7vw auto 0; display: flex; justify-content: center;}
.ns_btn a{
	width: 100%;
	padding: 3.5vw 10vw;
	font-size: 18px;
	display: flex;
	justify-content: center;
	position: relative;
}
.ns_btn a::after{
	top: 48%;
    right: 10%;
    width: 2.5vw;
    height: 2.5vw;
}
/*btn_end*/
	
	
/*hover_start*/
.ns_breadWrap li .is-tap,.ns_anc_list .is-tap, .ns_btn .is-tap, .ns_btn_blue .is-tap{text-decoration: none!important;}
.ns_anc_list .is-tap img, .ns_bnr .is-tap img{opacity: 1!important;}
.ns_anc_list li a:hover{transform: translateY(0);}
.ns_btn a:hover,
.ns_bnr a:hover img{transform: translateX(0);}
/*hover_end*/
	
	
/*tab_start*/
.ns_tab_caption{padding-bottom: 2vw; margin-bottom: 6vw;}
.ns_tab_caption::before{
	position: absolute;
    content: "";
    bottom: -2vw;
    left: 25%;
    width: 5vw;
    height: 5vw;
    background-color: #ffffff;
    rotate: 135deg;
    translate: -50%;
}
.ns_tab_caption::after{
	content: "";
    position: absolute;
    bottom: -2.5vw;
    left: 25%;
    z-index: 0;
    width: 5vw;
    height: 5vw;
    border: 2px solid;
    border-color: #ff5b35 #ff5b35 transparent transparent;
    background-color: #ffffff;
    rotate: 135deg;
    translate: -50%;
}
.ns_tab-contents-item{padding: 20vw 3vw 12vw;}
.ns_tabbtn a{padding: 4vw 2vw; border-radius: 6vw 6vw 0 0;}
.ns_tabbtn a:hover,.ns_tabbtn .is-tap{text-decoration: none!important;}
.ns_tabbtn a,.ns_way_tit{font-size: clamp(0.875rem, -0.125rem + 5vw, 1.875rem);}
.ns_way_tit{margin-bottom: 3vw;}
.ns_way_tit .ns_large{font-size: clamp(1.375rem, -0.125rem + 7.5vw, 2.875rem);}
.ns_balloon{
		width: 75%;
        height: auto;
        top: -119%;
}
	
.ns_balloon img{
	animation: pyonpyon 2s linear 0s infinite ;
}

@keyframes pyonpyon {
	0% {
		transform: translate(0%, 0%);
	}
	50% {
		transform: translate(0%, -10%);
	}
	100% {
		transform: translate(0%, 0%);
	}
}
.ns_attention{text-align: left; text-indent: -0.9rem; margin-left: 1.1rem; line-height: 1.25; font-size: clamp(0.688rem, 0.125rem + 2.81vw, 1.25rem);}
.ns_attention .ns_large{font-size: clamp(1.125rem, 0.25rem + 4.38vw, 2rem);}
.ns_attention.ns_center{margin: 2px 0 5vw 1.1rem; text-align: left!important; text-shadow: none;}
.ns_stepWrap .ns_txt{width: 100%; font-size: clamp(0.75rem, -0.063rem + 4.06vw, 1.563rem); font-weight: 800; }
.ns_stepWrap .ns_btn{transform: translate(-50%, -35%);}
.ns_stepWrap .ns_btn a{width: 85%;}
.ns_stepWrap .ns_btn a::after{right: 5vw;}
	
.ns_step_table{position: relative;}
.ns_dlbtn{
	position: absolute;
	width: 38%;
}
.ns_dlbtn.ns_appstore{top: 9.2%; left: 50%; transform: translateX(-50%);}
	
.ns_dlbtn.ns_googleplay{top: 15.2%; left: 50%; transform: translateX(-50%);}
/*tab_end*/	
	
	

	
/*detail_start*/
.ns_mtop50{margin-top: 7vw;}
.ns_detail{font-size: clamp(0.688rem, 0.125rem + 2.81vw, 1.25rem);}
.ns_noIndent{text-indent: 0!important; margin-left: 0.02rem!important;}
.ns_mtop50 dt{line-height: 1.2;}
.ns_detail dd{text-indent: -4vw; margin-left: 4vw;}
.ns_sppzIndent{margin-left: clamp(1.563rem, 0.625rem + 4.69vw, 2.5rem);}
.ns_innerScroll{width: 100%;height: 85vw;padding: 6vw 3.5vw 6vw 5vw;}
.simplebar-scrollbar::before{top:0; bottom:0; left:0; right:0;}
.simplebar-scrollbar.simplebar-visible:before{opacity:1;}
.simplebar-track{background:#ccc;}
.simplebar-track.simplebar-vertical{
	width:3px;
	margin:6px 0 0;
	border-radius:7px;
}
.ns_detailLink{
	margin: 1vw 0 4vw 4vw;
}
.ns_detailLink .is-tap{text-decoration: none!important;}
/*detail_end*/
	
	
	

/*bn_start*/
.ns_bnr{width: 100%;}
.ns_bnWrap{padding-top: 22vw;}
.ns_end::after{
	font-size: 8vw;
	font-weight: bold;
	text-shadow: #000 1px 0 10px;
}
/*bn_end*/
	

/*footer_start*/	
.ns_areaBottom {
    text-align: center;
    padding: 9px 7px 11px;
    font-size: 4vw;
	line-height: 1.25;
}
/*footer_end*/	
}