@charset "utf-8";

@media screen and (min-width: 641px){.ns_SP{display: none!important;}}
@media screen and (min-width: 1025px){.ns_outPC{display: none;}}
@media screen and (max-width:1024px){
#wrapper {
min-width: auto;
overflow:hidden;
}
}

.ns_ContentsWrapAll {
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  width: 100%;
  margin-top: -20px;
  font-size: 16px;
  color: #000;
  font-feature-settings: "palt";
  letter-spacing: 1.3px;
  line-height: 1.6;
}


#mainContent {
  padding: 0;
  margin-bottom: 0;
}
.ns_ContentsWrapAll a {
  text-decoration: none;
  transition: 0.3s;
  display: block;
}
.ns_ContentsWrapAll a img {
	margin: auto;
}

.ns_ContentsWrapAll a:hover img {
  opacity: 1;
}
.ns_ContentsWrapAll img {
  height: auto;
  display: block;
}
.ns_ContentsWrapAll a {
}
.ns_ContentsWrapAll a:before,
.ns_ContentsWrapAll a:after {
  position: absolute;
  content: "";
  display: block;
}

.ns_contentWrapper{
	padding: 0;
}


/*nav_start*/

@media screen and (max-height: 518px) {.ns_nav{overflow-y: scroll;}}	

/*anc_start*/
.ns_anc {
  position: relative;
  padding: 0;
  margin-top: -42px;
  z-index: 2;
  height: 78px;
}
.ns_anc .ns_anc__list {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
}
.ns_anc .ns_anc__list:nth-of-type(n + 2) {
  margin-top: 30px;
}
.ns_anc .ns_anc__list.col5 > li {
  width: calc((100% - (7px * 4)) / 4);
}
.ns_anc .ns_anc__list.col5 > li:first-child {
  margin-left: 0;
}
.ns_anc .ns_anc__list .ns_txt {
  width: 100%;
  text-align: center;
  font-size: clamp(14px, 1.5vw, 16px);
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  line-height: 1.1;
}

.ns_anc .ns_anc__list .ns_txt .ns_line{
	font-size: clamp(11px, 1.5vw, 14px);
}

.ns_anc .ns_anc__list > li a {
  position: relative;
  display: flex;
  align-items: center;
  padding: 15px 0 27px;
  justify-content: space-evenly;
  filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.2));
  height: 84px;
  box-sizing: border-box;
  color: #1ca87d;
  background: #fff;
  border-radius: 100px;
  border: 3px solid #1ca87d;
}

.ns_anc .ns_anc__list > li a:hover{transform: translateY(8px);}

.ns_anc .ns_anc__list > li a:before {
	content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    top: 66%;
    right: 47%;
    margin-top: 2px;
    border-top: 2px solid #1ca87d;
    border-right: 2px solid #1ca87d;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

.ns_anc.fixed {
  position: fixed;
  height: 103px;
  top: 90px;
  left: 0;
  z-index: 10;
  width: 100%;
  padding: 12px 0 14px;
  filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.3));
  background-color:rgba(0,0,0,0.1);
}

.ns_anc.fixed .ns_anc__list > li a {
  height: 77px;
}

.ns_anc.fixed .ns_anc__list .ns_txt {
  width: 100%;
  text-align: center;
  font-size: clamp(12px, 1.2vw, 14px);
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  line-height: 1.1;
}

.ns_ancHiddenList{
	visibility: hidden;
	display: none;
}

.ns_anc__list li:hover .ns_ancHiddenList{
	visibility:visible;
	display: block;
}

.ns_ancHiddenList li a{
  width: 90%;
  margin: auto;
  height: 56px!important;
  border: 1px solid #fff;
  border-radius: 0!important;
}

.ns_anc .ns_anc__list .ns_ancHiddenList > li a{transition: 0s!important;}

.ns_anc .ns_anc__list .ns_ancHiddenList > li a:hover{transform: none!important; background: #fff;}

.ns_ancHiddenList li:nth-of-type(1) a{
	border-radius: 20px 20px 0 0!important;
}
.ns_ancHiddenList li:last-of-type a{
	border-radius:  0 0 20px 20px!important
}

.ns_ancHiddenList li{
	margin-top: 0;
	position: relative;
	z-index: 2;
}

/*anc_end*/

/*btn_start*/	
.ns_openbtn {
    display: none;
    z-index: 9999; /*ボタンを最前面に*/
	top: 60px!important;
    right: 17px;
    cursor: pointer;
    width: 50px;
    height: 50px;
    background-color: #fff;
	border-radius: 100px;
	border: #000 3px solid;
  }
  /*×に変化*/
  .ns_openbtn span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 9px;
    height: 3px;
	border-radius: 100px;
    background-color: #000;
    width: 60%;
  }
  .ns_openbtn span:nth-of-type(1) {
    top: 13px;
  }
  .ns_openbtn span:nth-of-type(2) {
    top: 21px;
  }
  .ns_openbtn span:nth-of-type(3) {
    top: 29px;
  }
  .ns_openbtn.active span:nth-of-type(1) {
    top: 15px;
    left: 9px;
    transform: translateY(6px) rotate(-45deg);
    width: 60%;
  }
  .ns_openbtn.active span:nth-of-type(2) {
    opacity: 0;
  }
  .ns_openbtn.active span:nth-of-type(3) {
    top: 27px;
    left: 9px;
    transform: translateY(-6px) rotate(45deg);
    width: 60%;
  }
	
/*btn_end*/


/* 全体の重なり start */

.ns_areaMiddle {
	position: relative;
	z-index: 1;
	clip-path: inset(0);
	background: linear-gradient(180deg, rgba(199,241,228,1) 0%, rgba(241,241,241,1) 100%);
}
/* 全体の重なり end */


/* ns_areaMiddle　内の重なり　start 
.ns_bg {
position: relative;
width: 100%;
 background-image: none;
}
.ns_bg::before {
    content: "";
    display: block;
    position: fixed;
    top: 0;
	left: 0;
    width: 100%;
    min-height: 100%;
    z-index: -10;
	background-color: #c7f1e4;
}*/

/* 背景 */
.ns_parallax {
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.ns_parallax_inner {
	position: fixed;
	top: 0;
	left: 50%;
    transform: translateX(-50%)
               translateY(0);
	z-index: 2;
	width: 100%;
	max-width: 100%;
	height: 100dvh;
	background: url("https://7net-img.omni7.jp/cm/0001/sc_image/inc/pc/special/240625wbanime/parallax_bg.png") no-repeat;
	background-size: cover;
}

.ns_parallax_inner img {
	width: 100%;
	height: auto;
    display: block;
}

.ns_float {
	position: relative;
	z-index: 3;
}
/* ns_areaMiddle　内の重なり　end */




/*common_start*/

/* フェードインするボックスの設定 */
.ns_slideBox{
  transform:translateX(-50px);
  opacity:0;
  transition:opacity 1s,transform 0.8s;
}

/* 条件を満たしたあとに追加するクラス */
.ns_fadein{
  opacity:1;
  transform:translateX(0);
}





.ns_commonSize{max-width: 1000px; margin: auto;}

/*hover_start*/
.ns_ContentsWrapAll a,
.ns_ContentsWrapAll a img {
  transition: 0.3s;
  opacity: 1;
}

.ns_ancHiddenList li a:hover .ns_ancHiddenList li{
	transform: transleteY(5px);
	transition: .3s;
}
/*hover_end*/

/*breadcrumbs_start*/
.ns_breadWrap {margin:0; padding: 8px 12px; line-height: 1.2em; font-size: 14px; width: 100%; display: flex; color: #fff; white-space: nowrap; background: #000; position: relative; z-index: 10;}
.ns_breadWrap li { display:inline-block; position: relative; font-weight: 400!important;}
.ns_breadWrap li:nth-of-type(n+2):before {
	position: absolute;
    content: "";
    display: block;
    top: 36%;
    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; font-weight: 400;}
.ns_breadWrap a:hover {text-decoration: none!important; transform: translateX(0); opacity: 0.5;}
.ns_breadWrap span { margin-right:0.3em; }
/*breadcrumbs_end*/

/*top_start*/

h1.ns_H1{
	position: relative;
	width: 100%;
	padding: 40px 0 75px;
	background: #1ca87d;
	background-size: cover;
}

.ns_mvImg{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.ns_mvImg img{
	text-align: center;
	margin: auto;
}

.ns_mvtx{
	margin-bottom: 13px;
	padding: 16px 0;
	background: #fff;
	border-top: 1px solid #15936d;
	border-bottom: 1px solid #15936d;
}




.ns_leftSlide{
	animation-name:slideinLeft;
  	animation-duration:0.4s;
	animation-timing-function:ease-out; /*ease-outは最初早くてで後半に加速*/
  	animation-delay:0;
  	animation-iteration-count:1;
  	animation-play-state:running;
}


@keyframes slideinLeft {
  0% {
    transform: translateX(-1000px);
	opacity: 0;
  }
  100% {
    transform: translateX(0);
	opacity: 1;
  }
}

.ns_bottomSlide{
	animation-name:slideinBottom;
  	animation-duration:0.5s;
	animation-timing-function:ease-out; /*ease-outは最初早くてで後半に加速*/
  	animation-delay:1;
  	animation-iteration-count:1;
  	animation-play-state:running;
}


@keyframes slideinBottom {
  0% {
    transform: translateY(50px);
	opacity: 0;
  }
  100% {
    transform: translateX(0);
	opacity: 1;
  }
}

/*top_end*/



/*intro_start*/
.ns_intro{
	margin: auto;
	width: 100%;
	background-size: cover;
	padding: 100px 0 170px;
	text-align: center;
	font-size: 20px;
	font-weight: 700;
	position: relative;
	text-shadow: 3px 3px 5px #fff ,
-3px 3px 5px #fff ,
3px -3px 5px #fff ,
-3px -3px 5px #fff
}


.ns_intro p:nth-of-type(n+2){margin-top: 30px;}

.ns_intro .ns_large{font-size: 30px;}
.ns_intro .ns_large .ns_small{font-size: 20px;}


/*intro_end*/


.ns_limitedGoods{
	width: 100%;
}

#ns_sec01,#ns_sec02,#ns_sec03,#ns_sec04{
	padding-top: 180px;
	margin: -180px 0 200px;
}
#ns_sec04{margin-bottom: 0;}


h2.ns_H2{
	margin: 0 auto 40px;
	font-size: 40px;
	font-weight: 900;
	line-height: 1.4;
	color: #1ca87d;
	text-align: center;
	padding: 20px 65px;
	background: #fff;
	border: 4px solid #1ca87d;
	border-radius: 100px;
	width: max-content;
	position: absolute;
	top: -52px;
    left: 50%;
	transform: translateX(-50%);
}


h2.ns_H2 .ns_small{
	font-size: 20px;
	display: block;
	margin-bottom: -62px;
}

#ns_sec02 h2.ns_H2{
	top: -64px;
}

.ns_intro h2.ns_H2{
	border: none;
	padding: 0;
	position: static;
	transform: translateX(0);
	background: none;
}


.ns_secCap{
	width: 100%;
    font-size: 30px;
    color: #000;
    font-weight: 900;
    margin-left: 23px;
    text-align: left;
}

h3.ns_H3{
	font-size: 36px;
	color: #fff;
	text-align: center;
	background: none;
	margin: 0 0 35px;
	padding: 0 0 15px;
	position: relative;
}

h3.ns_H3:after{
	display: block;
	content: '';
	position: absolute;
	width: 110px;
	height: 3px;
	background: #fff;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}


h4.ns_H4{
	border: none;
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	padding: 0;
	margin: 20px auto 0;
	color: #fff;
	background: none;
	line-height: 1.1;
}


.ns_sectionWrap{
	margin: auto;
	padding: 130px 0 150px;
	max-width: 1000px;
	background: #1ca87d;
	border-radius: 50px;
	position: relative;
}

.ns_sectionWrap:nth-of-type(n+2){
	margin-top: 200px;
}

.ns_goodsCaption{
	text-align: center;
	font-size: 20px;
	color: #fff;
	font-weight: 700;
	margin: 30px 0;
}

.ns_bnWrap{
	margin: auto;
	padding: 150px 0;
	max-width: 1400px;
	text-align: center;
}

.ns_bnCaption{
	margin: 0 auto 20px;
	font-size: 40px;
	font-weight: 900;
	line-height: 1.4;
	color: #1ca87d;
	text-align: center;
	display: flex;
	justify-content: center;
}

.ns_bnCaption .ns_txt{
	margin: 0 10px;
}

.ns_bnCaption .ns_L{
	transform: scale(-1,1);
}

.ns_choco{
	max-width: 750px;
	margin: auto;
}

.ns_chusyaku{
	color: #000;
	font-size: 14px;
	line-height: 1.2;
	text-align: left;
}

.ns_bnWrap a{
	filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.3));
	transition: .3s;
	display: inline-block;
	margin-top: 70px;
}

.ns_bnWrap a:hover{
	transform: translateX(8px);
}

.ns_goodsImg, .ns_goodsWrap img{width: 100%;}

#ns_sec03 .ns_goodsSection:nth-of-type(1) .ns_goodsWrap,
#ns_sec03 .ns_goodsSection:nth-of-type(3) .ns_goodsWrap1000,
#ns_sec03 .ns_goodsSection:nth-of-type(4) .ns_goodsWrap1000{width: 40%;}


#ns_sec03 .ns_goodsSection:nth-of-type(3) .ns_goodsWrap1000,
#ns_sec03 .ns_goodsSection:nth-of-type(4) .ns_goodsWrap1000{margin: auto;}

.ns_goodsFlex{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

.ns_goodsFlex:nth-of-type(n+2){
	margin-top: 80px;
}


.ns_goodsWrap{
	display: flex;
    flex-direction: column;
    justify-content: center;
}


.ns_goodsFlex .ns_goodsWrap:nth-of-type(n+2){
	margin-left: 40px;
}

.ns_goodsFlex:nth-of-type(2) .ns_goodsWrap:nth-of-type(2){
	margin-left: 0;
}

.ns_2col .ns_goodsFlex:nth-of-type(2) .ns_goodsWrap:nth-of-type(2){
	margin-left: 40px;
}

.ns_goodsSection:nth-of-type(n+2){margin-top: 120px;}
.ns_goodsWrap1000{max-width: 1000px!important; width: auto;}
.ns_goodsImg{margin:0 auto; position: relative; z-index: 1; text-align: center;}
.ns_goodsImg img{text-align: center; filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.3));}
.ns_goodsImg a{transition: 0.3s; display: inline-block;}
.ns_goodsImg a:hover img{transform: translateX(8px);}

/*作品概要_start*/
.ns_overview{
	text-align: center;
	color: #fff;
	font-size: 20px;
	line-height: 2;
	font-weight: 700;
	margin-bottom: 80px;
}

.ns_overview p:nth-of-type(n+2){
	margin-top: 30px;
}

.ns_overview .ns_index{
	font-size: 36px;
}

.ns_overview .ns_large{
	font-size: 26px;
}

.ns_overview p.ns_large{line-height: 1.7;}

.ns_ruby{position: relative;}
.ns_rubytx{
	position: absolute;
	font-size: 50%;
	top: -13px;
	transform: translate(-50%, 0);
    left: 50%;
	width: 9em;
}

.ns_youtube{
	display: flex;
	justify-content: center;
}
/*作品概要_end*/

/*goods_btn start*/
.ns_goodsBtnWrap{
	filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.3));
}

.ns_goodsBtn {
  display: grid!important;
  margin: 20px auto 0;
  align-items: center;
  text-align: center;
  outline: none;
  cursor: pointer;
  width: 100%;
  max-width: 300px;
  height: 64px;
  background: #000;
  border-radius: 100px;
  transition: 0.3s;
  font-size: 21px;
  font-weight: 600;
  color: #fff;
  position: relative;
}


.ns_btnFlex{display: flex; justify-content: center; margin-top: 50px;}
.ns_btnFlexInner{width: 34%;}
.ns_btnFlexInner:nth-of-type(n+2){margin-left: 20px;}
.ns_goodsBtnSmall{
	height: 53px!important;
	font-size: 18px;
}

.ns_goodsBtn::before{
	content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    width: 10px;
    height: 10px;
    margin-top: -4px;
    transform: rotate(45deg);
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
    border-top: #fff 2px solid;
    border-right: #fff 2px solid;
}
.ns_goodsBtn:hover {
  transform: translateX(8px);
  color: #fff;
}

.ns_goodsWrap1000 .ns_goodsBtn{margin-top: 50px;}
.ns_goodsWrap1000 .ns_btnFlex .ns_goodsBtn{margin-top: 0;}


/*goods_btn end*/


.ns_areaBottom {
  padding: 7px 0;
  text-align: center;
  font-size: 12px;
  background: #000;
  color: #fff;
  position: relative;
  z-index: 10;
}

/*contents_end*/


@media screen and (max-width: 1300px) {
	.ns_sectionWrap{max-width: 85%;}
	
	.ns_parallax_inner img {
	width: auto;
	height: 100dvh;
}
}


/*------------------- 1024px以下 -------------------*/
@media screen and (min-width: 641px) and (max-width: 1024px) {
	#wrapper {
    min-width: 100%;
  }


/*breadcrumbs_start*/
.ns_breadWrap { padding: 7px; line-height: 1.2em; font-size: 12px; width: 100%; display: flex; white-space: nowrap; }
.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: 32%;
    left: 0.18em;
    width: 6px;
    height: 6px;
    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 { transition: .3s; text-decoration: none;}
.ns_breadWrap span { margin-right:0.3em; }
/*breadcrumbs_end*/
	
/*top_start*/
h1.ns_H1{width: 100%; padding: 4vw 0 8vw;}

.ns_mainVisual img{
	width: 90%;
}
.ns_mvImg{
	max-width: 100%;
	padding: 0;
	margin: auto;
	justify-content: space-between;
}
	
.ns_mvImg::before, .ns_mvImg::after{
	
}
.ns_anc{padding: 0 2vw; margin-top: -5.5vw;}
.ns_anc .ns_anc__list > li a{font-size: clamp(12px, 3vw, 14px); font-weight: 600; padding: 1.5vw 0 3vw; height: 11vw;}

.ns_anc.fixed .ns_anc__list > li a{height: 10vw;}
.ns_anc.fixed .ns_anc__list .ns_txt .ns_line{line-height: 1; margin-bottom: -1.5vw;}	
	
.ns_anc .ns_anc__list.col5 > li{width:  calc((100% - (7px * 3)) / 4);}
.ns_anc .ns_anc__list .ns_txt{font-size: clamp(11px, 1.8vw, 16px); line-height: 1.2;}
.ns_anc .ns_anc__list .ns_txt .ns_line{
	font-size: clamp(11px, 1.1vw, 14px);
	line-height: 1.1;
	display: block;
	margin-bottom: -2vw;
}
.ns_anc .ns_anc__list > li a:before{width: 8px; height: 8px; top: 75%;}
.ns_anc.fixed{
	top: clamp(5rem, 3.222rem + 4.44vw, 6.063rem);
	padding: 18px 2vw 14px;
	height: auto;
}
/*top_end*/
	
/*common_start*/
	
#ns_sec01,#ns_sec02,#ns_sec03,#ns_sec04{
	padding-top: 17vw;
    margin: -17vw 0 20vw;
}
#ns_sec04{margin-bottom: 0;}	
	
	
.ns_commonSize{max-width: 100%;}
.ns_limitedGoods{width: 100%; margin: auto; }
.ns_sectionWrap{width: 100%; padding: 11vw 3vw 15vw;}
.ns_sectionWrap:nth-of-type(n+2){margin-top: 18vw;}

.ns_goodsSection:nth-of-type(n+2){margin-top: 11vw;}
	
.ns_bnWrap a{
	margin-top: 8vw;
}
.ns_intro{width: 100%; padding: 9vw 3vw 13vw; font-size: clamp(18px, 2vw, 28px);}
.ns_intro p:nth-of-type(n+2){margin-top: 4vw;}
.ns_intro .ns_large,
.ns_intro .ns_largeW{font-size:clamp(1.375rem, 0.538rem + 2.09vw, 1.875rem); }
.ns_intro .ns_large .ns_small{font-size: clamp(0.938rem, 0.414rem + 1.31vw, 1.25rem);}
h2.ns_H2{font-size: clamp(28px, 3vw, 36px); line-height: 1.2; margin-bottom: 4vw; top: -5vw;}
#ns_sec02 h2.ns_H2{
	top: -6vw;
}
h2.ns_H2 .ns_small{margin-bottom: -1.7em;}
h3.ns_H3{font-size: clamp(24px, 3vw, 32px); margin: 0 0 5vw; padding: 0 0 1.5vw;}
#ns_sec01 .ns_goodsSection h3.ns_H3{margin-bottom: 3vw;}
h4.ns_H4{font-size: clamp(0.75rem, 0.122rem + 1.57vw, 1.125rem);}
/*common_end*/	

/*goods_start*/
.ns_goodsWrap{width: 25%;}
.ns_goodsWrap1000{width: 70%; margin: auto;}

.ns_goodsCaption{font-size: clamp(12px, 3vw, 16px); margin: 0 0 3vw;}

#ns_sec03 .ns_goodsSection:nth-of-type(1) .ns_goodsWrap,
#ns_sec03 .ns_goodsSection:nth-of-type(3) .ns_goodsWrap1000,
#ns_sec03 .ns_goodsSection:nth-of-type(4) .ns_goodsWrap1000{width: 40%;}	
	
.ns_goodsFlex > .ns_goodsWrap:nth-of-type(n+2),
.ns_2col .ns_goodsFlex:nth-of-type(2) .ns_goodsWrap:nth-of-type(2){margin-left: 3.5vw;}

	
	
	
.ns_goodsFlex:nth-of-type(n+2){margin:6vw 0 0;}
.ns_goodsFlex .ns_goodsWrap .ns_goodsImg{width: 100%;}
.ns_goodsImg, .ns_goodsWrap img{width: 100%;}
.ns_btnFlex{justify-content: space-between; margin-top: 5vw;}
.ns_goodsBtn{width: 100%; height: 7vw; font-size: 2vw;}
	
.ns_goodsWrap1000 .ns_goodsBtn{margin-top: 5vw;}
.ns_goodsWrap1000 .ns_btnFlex .ns_goodsBtn{margin-top: 0;}

.ns_goodsBtn::before{right: 1.7vw;}
.ns_goodsBtnSmall{height: 6vw !important;font-size: clamp(0.75rem, 0.122rem + 1.57vw, 1.125rem);}
.ns_goodsBtnSmall::before{right: 1.5vw;}
.ns_btnFlexInner{width: 48%;}
/*goods_end*/
	
/*overview*/
.ns_overview{font-size: clamp(12px, 3vw, 16px); margin-bottom: 7vw;}
.ns_overview .ns_index,
.ns_overview .ns_large{font-size: clamp(16px, 3vw, 22px);}
.ns_overview p:nth-of-type(n+2){margin-top: 3vw;}
/*overview*/

.ns_bnWrap{width: 85%; padding: 11vw 0;}
.ns_bnCaption{
	margin: 0 auto 3vw;
	font-size: clamp(28px, 3vw, 36px);
	line-height: 1.2;
}
	
.ns_bnCaption .ns_txt{margin: 0.05em 10px 0;}
	
.ns_bnCaption .ns_deco{
	width: 1.2em;
	height: auto;
}
.ns_bnCaption .ns_deco img{
	width: 100%;
}
.ns_bnWrap img{width: 100%;}

}


/*------------------- mobile -------------------*/

@media screen and (max-width: 640px) {
  .ns_commonSize{width: 96%}
  .ns_ContentsWrapAll {
    overflow: hidden;
    box-sizing: border-box;
    margin-top: -25px;
    -webkit-text-size-adjust: 100%;
    font-size: clamp(14px, 3.5vw, 16px);
  }
  .ns_ContentsWrapAll {
  }
  .ns_ContentsWrapAll img {
    width: 100%;
    display: block;
  }


.ns_PC{display: none!important;}
/*SP_contents_start*/
	

/*breadcrumbs_start*/
.ns_breadWrap {padding: 5px 6px 7px; line-height: 1.3em; font-size: 12px; white-space: nowrap;}
.ns_breadWrap li { display:inline-block;}
.ns_breadWrap li:last-child::after {content:none;}
.ns_breadWrap a {transition: .3s; text-decoration: none;}
.ns_breadWrap span { margin-right:0.3em; }
/*breadcrumbs_end*/

	
/*SP_top_start*/
h1.ns_H1{padding: 0; position: static; background: #1ca87d;}
h1.ns_H1::after,.ns_mvImg::before, .ns_mvImg::after{display: none;}
	
.ns_mvImg{
	display: block;
}
	
.ns_mvimg{
	position: relative;
	padding: 2vw;
}
	
.ns_mvtx{
	position: absolute;
	bottom: 8vw;
	left: 0;
	width: 100%;
	padding: 4vw 2vw;
	border-top: 2px solid #15936d;
	border-bottom: 2px solid #15936d;
}
/*SP_top_end*/
	
	
	
	
.ns_parallax_inner {
	position: fixed;
	top: 0;
	left: 50%;
  transform: translateX(-50%)
             translateY(0);
	z-index: 2;
	width: 100%;
	max-width: 100%;
	height: 100dvh;
	background: url("https://7net-img.omni7.jp/cm/0001/sc_image/inc/sp/special/240625wbanime/parallax_bg_sp.png") no-repeat;
	background-size: cover;
}
	

/*SP_anc_start*/
  .ns_anc {
	margin-top: 0;
    padding: 5vw 0 0;
    width: 100%;
	position: relative;
	height: 100%;
  }
  .ns_anc .ns_anc__list {
    display: flex;
	flex-wrap: wrap;
    width: 100%;
    margin: 0 auto;
  }
	
  .ns_anc .ns_anc__list.col5 > li{
	  width: calc((100% - (1vw * 2)) / 2);
	  display: flex;
	  flex-direction: column;
	  justify-content: center;
	  filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.3));
}
  .ns_anc .ns_anc__list.col5 > li:nth-of-type(n+3){margin-top: 2.5vw;}
  .ns_anc_sp .ns_anc__list > li{
	  width: 100%;
	  margin-top: 5vw;
	  background: #fff;
	  height: 5em;
	  border-radius:10px;
	  border: 2px solid #000;
	  filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.3));
	}
	
@media screen and (max-height: 461px) {
.ns_anc_sp{overflow-y: scroll;}
.ns_anc_sp .ns_anc__list > li{
	  height: clamp(3.625rem, 1.113rem + 9.8vw, 3.938rem);
	}
}

	
  .ns_anc .ns_anc__list > li a {
  align-items: center;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1vw 0 4vw;
  border-radius: 100px;
  height: 21vw;
  }
	
  .ns_anc .ns_anc__list li a:before {
    left: auto;
    right: 46%;
    top: auto;
    bottom: 11%;
	width: 8px;
	height: 8px;
  }
	
  .ns_anc .ns_anc__list .ns_txt {
    font-size: clamp(12px, 4vw, 18px);
	line-height: 1.1;
	height: auto;
	display: block;
  }
	
  .ns_anc .ns_anc__list .ns_txt .ns_line{display: block; font-size: 3vw; line-height: 1.1; margin-bottom: -4vw;}
  .ns_anc.fixed {
    display: none;
  }
	
	
.ns_anc .ns_anc__list > li a:hover{transform: translateY(0);}
	
	
  /*========= ボタンのためのCSS ===============*/
  .ns_openbtn {
    position: absolute;
    display: none;
    z-index: 9999; /*ボタンを最前面に*/
    top: 60px;
    right: 10px;
    cursor: pointer;
    width: 50px;
    height: 50px;
    background-color: #fff;
	border-radius: 10px;
  }
  .ns_openbtn.fixed {
    position: fixed;
    display: block;
  }
  /*×に変化*/
  .ns_openbtn span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 12px;
    height: 3px;
    border-radius: 2px;
    background-color: #000;
    width: 45%;
  }
  .ns_openbtn span:nth-of-type(1) {
    top: 13px;
  }
  .ns_openbtn span:nth-of-type(2) {
    top: 21px;
  }
  .ns_openbtn span:nth-of-type(3) {
    top: 29px;
  }
  .ns_openbtn.active span:nth-of-type(1) {
    top: 14px;
    left: 13px;
    transform: translateY(6px) rotate(-45deg);
    width: 40%;
  }
  .ns_openbtn.active span:nth-of-type(2) {
    opacity: 0;
  }
  .ns_openbtn.active span:nth-of-type(3) {
    top: 26px;
    left: 13px;
    transform: translateY(-6px) rotate(45deg);
    width: 40%;
  }
  /*========= ボタンのためのCSS  end ===============*/
  .ns_anc_sp {
    position: fixed;
    padding: calc(50px + 25vw) 0 25vw;
    z-index: 999;
    top: -120%;
    width: 100%;
    height: 100dvh;
    background: #1ca87d;
    transition: all .6s;
  }
  .ns_anc_sp.panelactive {
    top: 0;
  }
  .ns_anc_sp .ns_anc__list {
    display: flex;
    align-items: center;
    flex-direction: column;
    width: 90%;
    margin: 0 auto;
  }
  .ns_anc_sp .ns_anc__list .ns_txt {
    width: 100%;
    text-align: center;
    font-size: clamp(14px, 4vw, 18px);
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    line-height: 1.2;
  }
	
	.ns_anc_sp .ns_anc__list .ns_txt span{
		font-size: 0.9em;
	}
	
  .ns_anc_sp .ns_anc__list.col5 > li:first-child {
    margin-top: 0;
  }
  .ns_anc_sp .ns_anc__list li a {
    position: relative;
    display: flex;
    justify-content: space-between;
	align-items: center;
    padding: 3.5vw 2vw;
    height: 100%;
    box-sizing: border-box;
	color: #000;
  }
  .ns_anc_sp .ns_anc__list li a:before {
	content: "";
    display: block;
    position: absolute;
    width: 8px;
    height: 8px;
    top: 38%;
    right: 5%;
    margin-top: 2px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
	
  .ns_ancHiddenList li a{
	  justify-content: center!important;
	  font-weight: 600;
	  text-align: center;
	  font-size: clamp(0.625rem, 0.25rem + 1.88vw, 1rem);
	  padding: 4vw 2vw !important;
      height: 16vw !important;
	  line-height: 1.1;
	  width: 94%;
  }
	
  .ns_ancHiddenList li a:before{right: 10vw!important;}
	
	.ns_anc .ns_anc__list .ns_ancHiddenList li a:before{
		right: 2vw!important;
		bottom: 38%;
	}
	
	
  .ns_anc_sp .ns_ancHiddenList{visibility: visible; display: none;}
  .ns_anc_sp .ns_anc__list li:hover .ns_ancHiddenList{display: block;}
  .ns_anc_sp .ns_ancHiddenList li a{
	  justify-content: center!important;
	  font-weight: 600;
	  padding: 4vw 2vw !important;
	  font-size: clamp(14px, 4vw, 18px)!important;
  }
	
  .ns_anc_sp .ns_ancHiddenList li a:before{
	  right: 7%!important;
  }
  /*SP_anc_end*/

	
/*SP_intro_start*/
	.ns_intro{
		padding: 15vw 0 20vw;
		font-size: clamp(12px, 4.6vw, 18px);
	}
	.ns_intro .ns_float{width: 90%; margin: auto;}
	.ns_intro p:nth-of-type(n+2){margin-top: 6vw;}
	.ns_intro .ns_large{font-size: clamp(1.25rem, 0.938rem + 1.56vw, 1.563rem);}
	.ns_intro .ns_largeW{font-size: clamp(1.25rem, 0.938rem + 1.56vw, 1.563rem); margin: 0 5px 0 7px;}
	.ns_intro .ns_large .ns_small{font-size: clamp(0.813rem, 0.625rem + 0.94vw, 1rem);}
/*SP_intro_end*/

	
#ns_sec01,#ns_sec02,#ns_sec03,#ns_sec04{
	padding-top: 38vw;
    margin: -38vw 0 24vw;
}
#ns_sec04{margin-bottom: 0;}
	

h2.ns_H2{
	font-size: clamp(17px, 6vw, 28px);
	margin: 0 auto 6vw;
    padding: 15px 20px;
    top: -8vw;
}
#ns_sec02 h2.ns_H2{top:-9vw;}
.ns_intro h2.ns_H2{width: auto;}
	
h2.ns_H2 .ns_small{font-size: clamp(12px, 4vw, 18px); margin-bottom: -9.5vw; display: block;}

h3.ns_H3{width: 100%; font-size: clamp(14px, 6vw, 22px); margin: auto; padding: 0 0 4vw;}
h3.ns_H3:after{width: 13vw;}
h4.ns_H4{font-size: clamp(11px, 4vw, 18px); margin: 4vw auto 0; line-height: 1.2; position: relative;}
	
/*SP_goods_start*/	
.ns_mainContent{
	position: relative;
}
	
.ns_sectionWrap{padding: 19vw 3vw 20vw; width: 90%; border-radius: 25px;}

.ns_sectionWrap:nth-of-type(n+2){margin-top: 25vw;}
#ns_sec02 .ns_sectionWrap{padding-top: 23vw;}

.ns_goodsWrap1000{width: 100%!important;}
	
.ns_bnWrap{padding: 20vw 0; width: 100%;}
.ns_bnCaption{
	margin: 0 auto 3vw;
	font-size: clamp(17px, 6vw, 28px);
	line-height: 1.2;
}

.ns_bnCaption .ns_txt{margin: -0.5em 0.2em 0;}
	
.ns_bnCaption .ns_deco{
	width: 1.6em;
	height: auto;
}
.ns_bnCaption .ns_deco img{
	width: 100%;
}
	
	
.ns_bnWrap a,.ns_choco{width: 90%; margin: auto;}
.ns_chusyaku{font-size: clamp(11px,3vw,14px);}
.ns_bnWrap a{
	margin-top: 12vw;
}
.ns_limitedGoods{width: 100%; padding: 0;}

.ns_secCap{font-size: clamp(0.875rem, 0.125rem + 3.75vw, 1.625rem); line-height: 1.3; margin: 0; font-weight: 800; text-align: center; order: 0; margin-bottom: 3vw;}
	
.ns_goodsCaption{font-size: clamp(12px, 4.6vw, 18px); margin: 4vw 0 0;}
	
.ns_goodsFlex{justify-content: space-between;}
.ns_goodsFlex > .ns_goodsWrap:nth-of-type(n+2),
.ns_2col .ns_goodsFlex:nth-of-type(2) .ns_goodsWrap:nth-of-type(2){margin:0 ;}
.ns_goodsSection:nth-of-type(n+2){margin-top: 15vw;}
#ns_sec03 .ns_goodsSection:nth-of-type(1) .ns_goodsWrap,
.ns_goodsWrap, .ns_goodsWrap:nth-of-type(2){width: 48.5%; padding-top: 6vw;}
.ns_goodsFlex:nth-of-type(n+2){margin: auto;}
.ns_goodsImg{width: 100%;}

.ns_goodsImg a:hover img{transform: translateX(0);}
/*SP_goods_end*/
	
/*SP_btn_start*/
.ns_goodsBtn{width: 100%; height: 13vw; font-size: clamp(11px, 4vw, 18px); margin-top: 4vw;}
.ns_goodsWrap1000 .ns_goodsBtn{margin-top: 6vw;}
.ns_btnFlexInner:nth-of-type(n+2){margin-left: 0;}
.ns_goodsBtnSmall{height: 13vw!important;}
.ns_btnFlex{margin-top: 6vw; flex-direction: column;}
.ns_btnFlexInner{width: 100%;}
.ns_goodsBtn::before{width: 8px; height: 8px; right: 3.5vw;}
.ns_goodsBtnSmall::before{width: 8px; height: 8px;right: 2.5vw;}
.ns_btnFlexInner:nth-of-type(n+2) .ns_goodsBtn{margin-top: 2vw;}
/*SP_btn_end*/
	
	
/*SP_gaiyou_start*/
.ns_overview{font-size: clamp(12px, 4vw, 18px); line-height: 1.5; margin-bottom: 10vw;}
.ns_overview p:nth-of-type(n+2){margin-top: 10vw;}
.ns_overview .ns_index{font-size: clamp(17px, 6vw, 28px);line-height: 1.2;}
.ns_overview .ns_large{font-size: 1.2em;}
.ns_overview p.ns_large{line-height: 1.5;}
.ns_rubytx{top: -1em;}
.ns_youtube	iframe{width: 100%; height: 42vw;}
/*SP_gaiyou_end*/


.ns_areaBottom {
  padding: 5px 0 ;
  text-align: center;
  font-size: 9px;
  color: #fff;
  position: relative;
  z-index: 2;
}	
	
	
/*hover_start*/
  .ns_ContentsWrapAll a:hover{
    transform: translate(0px, 0px);
  }
  .ns_ContentsWrapAll .ns_anc a:hover {
    transform: translate(0px, 0px);
    transition: 0.3s;
  }
  a.is-tap{text-decoration: none!important; color: #fff;}
  /*hover_end*/
  .ns_copy {
    font-size: 10px;
    padding: 30vw 0 2vw;
  }
  /*SP_contents_end*/
}
