@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

/***************** common *****************/
body{
/*font-family: 'Noto Sans JP', sans-serif;
font-weight: 400;
font-style: normal;*/
min-width: auto;
}

html{
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
*, *:before, *:after{
-webkit-box-sizing: inherit;
box-sizing: inherit;
}

#nekobu{
font-family: 'Noto Sans JP', sans-serif;
font-weight: 400;
font-style: normal;
width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);   
}
#nekobu img{
vertical-align: top;
width: 100%;
height: auto;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.pc{
display: block;
}
.sp{
display: none;
}
.sp_br{
display: none;
}
.pc_br{
display: inline;
}
.nowrap{
white-space: nowrap;
}
.sp-nowrap{
white-space: inherit;
}
.font-red{
color: #ff0000;
font-weight: bold;
}
a:hover{
opacity: 0.5;
-webkit-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
.inner{
max-width: 1280px;
width: 100%;
margin: 0 auto;
padding: 0 30px;
position: relative;
}
.flex{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.arrow-orange{
background: url(/img/brand/nekobu/common/arrow-orange@2x.png) no-repeat;
background-position: left 60%;
background-size: auto 70%;
color: #da791c;
font-size: 24px;
font-weight: 900;
padding-left: 40px;
}
.arrow-black{
background: #fff url(/img/brand/nekobu/common/arrow-black@2x.png) left 15px top 52% no-repeat;
background-size: 26px;
border: 1px solid #333333;
color: #da791c;
font-size: 16px;
font-weight: 900;
line-height: 1.75;
text-align: left;
display: block;
margin: 0 auto 10px auto;
padding: 24px 0 26px 45px;
}
p.p-underline span{
background:-o-linear-gradient(transparent 70%, #f8e7d7 0%);
background:-webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0%, #f8e7d7));
background:linear-gradient(transparent 70%, #f8e7d7 0%);
}
p.p-linethrough{
-webkit-text-decoration: line-through 3px solid #ff0000;
text-decoration: line-through 3px solid #ff0000;
}
.balloon{
max-width: 360px;
width: 80%;
margin: 0 auto;
}

.box--link{
	display: flex;
	flex-direction: column;
	gap:40px;
}
.reservation-box{
background-color: #ffffff;
border: 3px solid #f0d6bf;
border-radius: 30px;
text-align: center;
max-width: 865px;
width: 100%;
height: auto;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin: 0 auto 15px auto;
padding: 32px 36px 32px 36px;
}
.reservation-box div{
padding: 0 0 30px 0;
}
.reservation-box div:last-child{
padding: 0 0 0 0;
}
.reservation-box h3{
font-size: 28px;
width: 100%;
margin: 0 0 7px 0;
}
.reservation-box p{
font-size: 28px;
margin: 0 0 14px 0;
}
.reservation-box p.concept-p-margin{
margin-top: -9px;
margin-bottom: 5px;
}
.reservation-box span.sub-text{
font-size: 14px;
margin: 10px 0 0 0;
}
.reservation-box-bk{
background: url(/img/brand/nekobu/concept/concept-footprint@2x.png) no-repeat 2.5% 90% / 14%;
padding: 0 0 140px 0;
margin: 0 0 60px 0;
}
#preorder .reservation-box{
padding-top: 25px;
padding-bottom: 20px;
}
#preorder .reservation-box p{
margin: 0 0 20px 0;
}
.reservation-box-online{
background: none !important;
margin-top: 53px !important;
}
.reservation-calender{
padding: 22px 0 !important;
}
.reservation-calender figure{
max-width: 530px;
margin: 0 auto 30px;
}
.reservation-calender a{
margin: 0 auto 30px auto;
}
.reservation-calender span.text{
text-align: left;
font-size: 14px;
display: block;
margin: 35px auto 5px auto;
padding: 0 20px;
}

.reservation-box-link{
	max-width: 700px;
	background-color: #ffffff;
	border: 3px solid #f0d6bf;
	border-radius: 50px;
	text-align: center;
	height: auto;

	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;

	padding: 20px;
}

.reservation-box-link:first-child{
	margin-bottom: 40px;
}

/***************** header *****************/
.header{
background: url(/img/brand/nekobu/main/main-backimage.jpg) center bottom / auto 100%;
background-repeat: repeat-x;
max-height: inherit;
width: 100%;
height: 800px;
}

.header-link{
max-width: 1160px;
width: 100%;
margin: 0 auto;
padding: 38px 60px 0 20px;
overflow: hidden;
z-index: 10 !important;
position: relative;
}
.header-link .sns{
float: right;
}
.header-link .sns li{
margin-left: 20px;
float: left;
}
.header-link .sns li img{
max-width: 26px;
width: 100%;
}

/***************** main *****************/
.main{
color: #747474;
text-align: center;
position: relative;
}
.main h1{
max-width: 400px;
width: 66%;
margin: 24px auto;
}
.main h2{
max-width:735px;
width: 60%;
padding-top: 220px;
margin: auto;
}

.main p{
font-size: 12px;
padding-top: 120px;
}

/***************** news-banner *****************/
.news-banner{
background-color: #3c0000;
text-align: center;
padding: 11px 0 19px 0;
margin: 0 auto;
}
.news-banner h2{
color: #ffffff;
font-size: 26px;
letter-spacing: 0.3px;
padding: 0 30px;
}
.news-banner a{
color: #ffffff;
font-size: 26px;
font-weight: bold;
text-align: center;
text-decoration: underline;
}
.news-banner a:hover{
text-decoration: none;
}

/***************** concept *****************/
#concept{
padding: 100px 0 0 0;
}
#concept .concept-text{
background: url(/img/brand/nekobu/common/footprints1@2x.png) no-repeat 95% 92% / 14%;
}
#concept .concept-text h2{
font-size: 27px;
font-weight: 500;
text-align: center;
line-height: 1.55;
letter-spacing: 0.06em;
margin: 0 0 17px 0;
color: #3c0000;
}
#concept .concept-text p{
text-align: center;
margin: 0 0 18px 0;
color: #3c0000;
}
#concept .concept-text p.notes{
color: #747474;
font-size: 12px;
}
#concept .concept-pre{
max-width: 690px;
width: 100%;
margin-top: 60px;
margin-inline: auto;
display: flex;
flex-direction: column;
gap: 40px;
}
/* #concept .concept-pre img{
max-width: 690px;
} */
#concept .concept-pre .flex div:last-child img{
float: right;
}


/***************** product *****************/
#product{
margin: 0 auto 200px auto;
padding-top: 200px;
}
#product h3.title{
width: 27%;
margin-inline: auto;
}
#product .product-link{
	background: url(/img/brand/nekobu/concept/concept-footprint2@2x.png) no-repeat center bottom / 161px;
	padding: 0 0 220px 0;
	margin-top: 60px;
}
.product-list a{
	position: relative;
	z-index: 1000;
	display: block;
}
#product .product-link ul{
	display: grid;
	grid-template-columns: repeat(3, 186px);
	gap: 50px 80px;
	justify-content: center;
	max-width: 876px;
	margin: 0 auto;
	padding: 18px 0 0 0;
	list-style: none;
}

#product .product-link ul li{
	color: #3c0000;
	width: 186px;
}

/* ← 真ん中だけ下げる */
#product .product-link ul li:nth-child(2),
#product .product-link ul li:nth-child(5){
	margin-top: 40px;
}

#product .product-link ul li a{
	color: #3c0000;
	font-size: 12px;
	text-align: center;
	line-height: 1.6;
	display: block;
}

#product .product-link ul li a img{
    display: block;
    max-width: 170px;
    height: auto;
    margin: 0 0 8px 0;
    margin-inline: auto;
}


#product .product-pickup{
text-align: center;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
max-width: 960px;
width: 100%;
margin-inline: auto;
padding: 70px 0 0 0;
gap:40px;
}
#product .product-pickup h3{
text-align: left;
font-size: 21px;
font-weight: 500;
padding: 0 7px 10px 0;
}
#product .product-pickup p{
font-size: 14px;
text-align: left;
line-height: 1.6;
}
#product .product-pickup .product-pickup-set{
min-width: 337px;
max-width: 40%;
width: 40%;
color: #3c0000;
}

#product .product-pickup .product-pickup-set img{
max-width: 340px;
margin-top: 20px;
}


#product .product-pickup .image img{
width: 100%;
border-radius: 20px;
}
#product .product-explanation{
text-align: center;
max-width: 870px;
width: 100%;
margin: 0 auto 106px auto;
padding: 38px 30px 38px 30px;
border: 3px solid #729d24;
border-radius: 30px;
}
#product .product-explanation .title h3{
font-size: 22px;
}
#product .product-explanation p{
font-size: 16px;
max-width: 444px;
margin: 27px auto 13px auto;
text-align: left;
line-height: 1.6;
}
#product .product-explanation span{
font-size: 14px;
max-width: 300px;
margin: 0 auto;
}
#product .product-set .product-img{
background: url(/img/brand/nekobu/common/footprints4@2x.png) no-repeat center bottom / 100px;
margin: 60px 0 70px 0;
padding: 0 0 140px 0;
}
#product .product-set{
background: url(/img/brand/nekobu/common/footprints2@2x.png) no-repeat center bottom / 170px;
max-width: 870px;
margin: 0 auto 17px auto;
padding: 40px 0 140px 0;
}
#product .product-set .product-title{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
padding: 0 20px 0 20px;
align-items: center;
}
#product .product-set .product-title h3{
max-width: 255px;
width: 60%;
padding: 11px 26px 0 1px;
}
#product .product-set .product-title p{
line-height: 1.6;
max-width: 476px;
width: 100%;
padding: 15px 0 14px 0;
color: #3c0000;
font-weight: 500;
}
#product .product-set .product-title p span{
font-size: 12.5px;
display: block;
margin: 9px 0 0 0;
color: #3c0000;
}

#product .product-set .product-list{
	padding: 0 26px;
	background: none;
}

#product .product-set .product-list a{
	color: #3c0000;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;

	padding: 0 0 12% 0;
	background: url(/img/brand/nekobu/common/footprints3@2x.png) no-repeat center 95% / 96px;
}

#product .product-set .product-list:last-child a{
	background: none;
}


#product .product-set .product-list .text{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
min-width: 290px;
max-width: 42%;
-webkit-box-ordinal-group: 1;
-ms-flex-order: 0;
order: 0;
}
#product .product-set .product-list:nth-child(odd) .text{
-webkit-box-ordinal-group: 2;
-ms-flex-order: 1;
order: 1;
}
#product .product-set .product-list:nth-child(even) .text h4:nth-child(odd){
-webkit-box-ordinal-group: 2;
-ms-flex-order: 1;
order: 1;
}
#product .product-set .product-list .text h4{
max-width: 180px;
padding: 0 0 10px 0 ;
}
#product .product-set .product-list .text div{
padding: 0 6px 0 6px;
min-width: 180px;
}
#product .product-set .product-list .text div h5{
	margin: 0 auto 10px auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

#product .product-set .product-list .text div h5 img{
	max-width: 150px;
	max-height: 34px;
	width: auto;
	height: auto;
	display: block;
}

#product .product-set .product-list .text div p{
font-size: 13.5px;
line-height: 1.55;
max-width: 163px;
}
#product .product-set .product-list .text div p span{
display: block;
font-size: 12px;
line-height: 1.5;
margin: 12px 0 0 0;
}
#product .product-set .product-list .photo h3{	
max-width: 466px;
}
#product .li-margin1{
margin-top: 16px;
}
#product .li-margin2{
margin-top: 68px;
}
#product .li-margin3{
margin-top: 35px !important;
}

/***************** present *****************/
#present{
background-color: #FDECB6;
padding-top: 100px;
padding-bottom: 160px;
}
#present h3{
max-width: 320px;
margin: 0 auto 20px auto;
}
#present h4{
font-size: 28px;
font-weight: bold;
text-align: center;
margin-inline: auto;
color: #3c0000;
}
#present .present-set-in{
padding-top: 40px;
}
#present .present-set--flex{
display: flex;
max-width: 940px;
margin-inline: auto;
gap:40px;
justify-content: space-between;
}
#present .present-set--img img{
width: 550px;
border-radius: 20px;
}
#present .present-set--text{
font-size: 13px;
width: 340px;
color: #3c0000;
}
#present .present-set--text p{
line-height: 1.55;
margin-bottom: 20px;
}

/***************** otheritems *****************/
#otheritems{
background-color: #fff7de;
padding-top: 100px;
padding-bottom: 160px;
}
#otheritems h3{
max-width: 400px;
margin: 0 auto 20px auto;
}
#otheritems h4{
font-size: 28px;
font-weight: bold;
text-align: center;
margin-inline: auto;
color: #3c0000;
}
.otheritems-box--ttl{
max-width: 200px;
margin: 0 auto 20px auto;
}
#otheritems .flex{
max-width: 940px;
margin: 0 auto;
padding: 0 0 0 0;
gap:40px;
}
#otheritems .otheritems-set-in{
padding-top: 40px;
}
#otheritems .otheritems-set-in:nth-child(2){
background: none;
padding: 40px 0 81px 0;
}
#otheritems .otheritems-set-in:nth-child(2) .flex .images{
-webkit-box-ordinal-group: 2;
-ms-flex-order: 1;
order: 1;
max-width: 55.75%;
margin: 21px 50px 0 3.5%;
}
#otheritems .otheritems-set-in:nth-child(2) .flex .text{
-webkit-box-ordinal-group: 3;
-ms-flex-order: 2;
order: 2;
max-width: 44%;
padding: 20px 3.5% 18px 0;
}
#otheritems .images img{
max-width: 550px;
margin-top: -20px;
}
#otheritems .text{
font-size: 14px;
font-weight:500;
max-width: 340px;
color: #3c0000;
}
#otheritems .text h5{
font-size: 22px;
font-weight: 500;
padding: 0 0 14px 0;
color: #3c0000;
}
#otheritems .text p{
line-height: 1.55;
}
#otheritems .text .subtext p{
margin: 46px 0 12px 0;
}
#otheritems .text .subtext p:nth-child(2){
margin: 6px 0 12px 0;
}
#otheritems .text .subtext p span{
display: block;
font-size: 12px;
margin: 0 0 0 20px;
}
#otheritems .text .subtext p span.otheritems-price{
font-size: 14px;
margin: 4px 0 0 20px;
}
#otheritems .text .subtext p span.otheritems-price span{
display: inline;
font-size: 10px;
margin: 0;
}
#otheritems .otheritems-box{
text-align: center;
height: auto;
max-width: 1160px;
width: 100%;
margin-inline: auto;
margin-top:60px;
}
#otheritems .box--link{
margin-inline: auto;
}
#otheritems .otheritems-ornament-box{
position: relative;
max-width: 1160px;
width: 100%;
margin: 0 auto;
}
#otheritems .otheritems-ornament1{
max-width: 236px;
width: 21%;
position: absolute;
bottom: 470px;
left: calc(17.5% - 123px);
}
#otheritems .otheritems-ornament2{
max-width: 244px;
width: 21%;
position: absolute;
right: calc(16% - 119px);
bottom: -10px;
}
#otheritems .otheritems-box .otheritems-box-inner{
background-color: #ffffff;
border-radius: 30px;
max-width: 940px;
margin-inline: auto;
padding: 60px 100px;
position: relative;
color: #3c0000;
font-weight: 500;
}
#otheritems .otheritems-box h3{
font-size: 24px;
max-width: inherit;
width: 100%;
margin: 0 0 26px 0;
}

/* #otheritems .otheritems-box a{
max-width: 458px;
width: 100%;
} */
#otheritems .otheritems-box a span{
font-size: 14px;
}

#otheritems .concept-pre--link {
	margin-inline:auto;
	padding: 60px 36px 32px 36px;
}

/***************** preorder *****************/
#preorder{
background-color: #f8e7d7;
padding: 0 0 0 0;
}
#preorder .preorder-h4-box{
margin: 33px auto;
width: 530px;
background: url(/img/brand/nekobu/preorther/preorder-icon@2x.png) no-repeat 100% 87% / 63px;
}
#preorder .preorder-h4-box-inner{
border-top: solid 4px #3b0100;
text-align: center;
display: inline-block;
width: 100%;
position: relative;
}
#preorder .preorder-h4-box-inner::before{
border: solid 1px #714842;
content: "";
position: absolute;
top: 4px;
left: 0;
right: 0;
}
#preorder .preorder-h4-box h4{
border-bottom: solid 4px #3b0100;
display: inline-block;
font-weight: bold;
line-height: normal;
width: 100%;
padding: 5px 40px 20px 40px;
position: relative;
}
#preorder .preorder-h4-box h4::before{
content: "";
border: solid 1px #714842;
position: absolute;
bottom: 4px;
left: 0;
right: 0;
}
#preorder h3.title{
max-width: 225px;
width: 27%;
margin: 0 auto 19px auto;
}
#preorder h4{
font-size: 28px;
font-weight: normal;
text-align: center;
margin: 12px auto 2px auto;
}
#preorder .preorder-bk{
background: url(/img/brand/nekobu/preorther/preorder-bk@2x.png) repeat-x top center / 1280px;
width: 100%;
}
#preorder .preorder-inner{
max-width: 1280px;
width: auto;
margin: auto;
padding: 106px 0 90px 0;
background: url(/img/brand/nekobu/preorther/preorder-ornament1@2x.png) no-repeat 94.6% 6.4% / 14%;
}
#preorder .preorder-set-last{
background: url(/img/brand/nekobu/preorther/preorder-ornament2@2x.png) no-repeat 0 93% / 14%;
text-align: center;
margin: 64px auto 0 auto;
padding: 0 0 0 0;
}
#preorder .preorder-set-last h3{
font-size: 28px;
font-weight: 500;
line-height: 1.4;
margin: 4px auto 2px auto;
padding: 0 0 0 0;
}
#preorder .preorder-set-last .text{
margin: 15px auto 32px auto;
}
#preorder .preorder-set-last a{
max-width: 455px;
margin: 0 auto;
padding-bottom: 18px;
}
#preorder .preorder-set-last a span{
font-size: 15px;
line-height: 2.5;
letter-spacing: 1.5px;
}
#preorder p{
text-align: center;
margin: 20px auto 60px auto;
}
#preorder .figure{
max-width: 530px;
width: 90%;
margin: 10px auto;
}
#preorder .last-text{
font-size: 14px;
font-weight: normal;
text-align: left;
display: block;
padding: 27px 0 2px 0;
width: 100%;
max-width: 574px;
}
#preorder .last-text span{
margin: 0 0 10px 0;
display: block;
}
#preorder .last-text span:last-child{
margin: 0 2px 10px 0;
display: block;
}
#preorder .end-text{
font-size: 16px;
font-weight: normal;
line-height: 1.6;
display: block;
text-align: center;
margin: -17px auto 28px auto;
}

/***************** shop *****************/


#shop{
font-family: 'Noto Sans JP', sans-serif;
font-weight: 400;
font-style: normal;
width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);   
text-align: center;
padding: 100px 0 57px 0;
width: 940px;
margin-inline: auto;
}
#shop .inner{
padding-top: 30px;
background: url(/img/brand/nekobu/common/footprints1@2x.png) no-repeat 96.5% 0.15% / 13.1%;
}
#shop .shop-inner{
padding-bottom: 87px;
background: url(/img/brand/nekobu/common/footprints2@2x.png) no-repeat 0 99.55% / 15.55%;
color: #3c0000;
}

#shop h3{
font-weight: 700;
font-size: 36px;
padding: 0 0 26px 0;
color: #3c0000;
}
#shop p{
padding: 0 0 30px 0;
}
#shop p.last-text{
padding: 0 0 60px 0;
}
#shop .shop-set{
max-width: 452px;
width: 50%;
border-bottom: 2px dotted #707070;
padding: 0 0 38px 0;
margin: 0 auto 40px auto;
text-align: center;
}
#shop .shop-set:last-child{
border-bottom: none;
padding: 0 0 0 0;
margin: 0 auto 0 auto;
}
#shop .shop-set h4{
padding: 8px 0 13px 0;
}

#shop .concept-pre--link {
display: flex;
flex-direction: column;
text-align: center;
padding-inline: 110px;
}

@media (max-width: 767px){

	#shop{
		width: 100%;
		padding: 15% 0 12% 0;
		margin: 0 auto;
	}

	#shop .inner{
		width: 100%;
		padding: 8% 5% 0;
		background: url(/img/brand/nekobu/common/footprints1@2x.png) no-repeat 96% 2% / 18%;
		box-sizing: border-box;
	}

	#shop .shop-inner{
		padding-bottom: 18%;
		background: url(/img/brand/nekobu/common/footprints2@2x.png) no-repeat 0 99% / 22%;
	}

	#shop h3{
		font-size: 7vw;
		padding: 0 0 5% 0;
	}

	#shop p{
		font-size: 3.8vw;
		line-height: 1.8;
		padding: 0 0 6% 0;
	}

	#shop p.last-text{
		padding: 0 0 10% 0;
	}

	#shop .shop-set{
		max-width: 100%;
		width: 88%;
		padding: 0 0 10% 0;
		margin: 0 auto 10% auto;
	}

	#shop .shop-set h4{
		padding: 3% 0 4% 0;
	}

	#shop .concept-pre--link{
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 20px;
		padding-inline: 0;
	}

}


/***************** about *****************/
#about{
font-family: 'Noto Sans JP', sans-serif;
font-weight: 400;
font-style: normal;
width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);   
background: #987346;
text-align: center;
}
#about .about-inner{
background: url(/img/brand/nekobu/about/about-backimage@2x.png);
background-repeat: no-repeat;
background-position: center top;
background-size: auto 100%;
text-align: center;
padding: 60px 0 112px 0;
}
#about .white-area{
background: #fff;
border-radius: 30px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
max-width: 1060px;
width: 85%;
margin: 0 auto;
padding: 20px 0 50px 0;
}
#about .about-title{
max-width: 246px;
width: 33%;
margin: 0 auto 14px auto;
}
#about .list{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
max-width: 780px;
padding: 0 3%;
margin: 0 auto 14px auto;
}
#about .list li{
background: url(/img/brand/nekobu/about/about-footprints@2x.png) left 10% no-repeat;
background-size: 26px;
font-weight: 700;
line-height: 1.5;
text-align: left;
width: 48%;
min-height: 35px;
margin: 0 0 15px 0;
padding-left: 35px;
}
#about .list li:nth-child(even){
width: 48%;
}
#about .last-text{
font-size: 12px;
padding: 4px 7px 14px 7px;
font-weight: 600;
}
#about .arrow-orange{
font-size: 16px;
}
#about .arrow-orange span{
font-size: 13px;
}

/***************** footer *****************/
.footer{
color: #747474;
font-size: 12px;
text-align: center;
max-width: 1060px;
margin: 0 auto;
padding: 1.6rem;
}
.pagetop{
position: fixed;
bottom: 15px;
right: 15px;
width: 40px;
z-index: 5000;
}

/***************** sp *****************/
/***************** common *****************/
@media all and (max-width: 767px) {
.sp {
display: block;
}
.pc {
display: none;
}
.sp_br{
display: inline;
}
.pc_br{
display: none;
}
.nowrap{
white-space:inherit;
}
.sp-nowrap{
white-space: nowrap;
}
.font-red{
font-size: 3.4vw;
color: #ff0000;
}
body {
font-size: 15px;
}
.arrow-orange{
background-position: left 100%;
background-size: auto 90%;
}
.inner{
width: 100%;
margin: 0 auto;
padding: 0;
position: relative;
}
.flex{
display: flex;
}
.arrow-orange{
background: url(/img/brand/nekobu/common/arrow-orange@2x.png) no-repeat;
background-position: left center;
background-size: auto 20px;
color: #da791c;
font-size: 1rem;
font-weight: 900;
padding-left: 24px;
text-align: center;
}
.arrow-black{
background: #fff url(/img/brand/nekobu/common/arrow-black@2x.png) left 15px top 52% no-repeat;
background-size: 26px;
border: 1px solid #333333;
color: #da791c;
font-size: 1rem;
font-weight: 900;
line-height: 1.5;
text-align: left;
display: block;
margin: 0 auto 10px auto;
padding: 24px 0 26px 45px;
}
p.p-linethrough{
-webkit-text-decoration: line-through 3px solid #ff0000;
text-decoration: line-through 3px solid #ff0000;
}
.balloon{
max-width: 320px;
width: 96%;
margin: 0 auto 1.5% auto;
}
.reservation-box{
background-color: #ffffff;
border: 3px solid #f0d6bf;
border-radius: 30px;
text-align: center;
max-width: 96%;
width: 96%;
height: auto;
display: flex;
flex-direction: column;
align-items: center;
padding: 16% 5% 16% 5%;
margin: 0 auto 6% auto;
}
.reservation-box div{
padding: 0 0 3% 0;
}
.reservation-box div:last-child{
padding: 0 0 0 0;
}
.reservation-box h3{
font-size: 5.3vw;
width: 100%;
}
.reservation-box p{
font-size: 5.5vw;
margin: 4% 0;
}
.reservation-box p.concept-p-margin{
font-size: 5.3vw;
margin: 0;
}
.reservation-box span.sub-text{
font-size: 3.4vw;
margin: 6% 0 0 0;
display: block;
}
.reservation-box-bk{
background: none;
padding: 0 0 39% 0;
}
.reservation-box-bk .reservation-box{
padding-top: 9%;
}
#preorder .reservation-box{
padding-top: 11.5%;
padding-bottom: 6%;
margin-bottom: 22.5%;
max-width: 90%;
}
#preorder .reservation-box p{
margin: 0 0 6% 0;
}
.reservation-box-online{
margin-top: 3% !important;
}
.reservation-calender{
padding: 12% 0 6% 0 !important;
}
.reservation-calender figure{
max-width: 100%;
margin: 0 auto 6%;
}
.reservation-calender a{
margin: 0 auto 6% auto;
}
.reservation-calender span.text{
text-align: left;
font-size: 3vw;
display: block;
margin: 6% auto 0 auto;
padding: 0 3%;
}

/***************** header *****************/
.header {
background: none;
width: 100%;
height: 100%;
}
.header-inner {
background: none;
}
.header-link {
position: absolute;
top: 0;
right: 5px;
max-width: 100%;
width: 100%;
margin: 0 auto;
padding: 4.2vw 0 0 0;
}
.header-link .sns {
float: right;
}
.header-link .sns li {
margin-left: 0;
float: left;
}
.header-link .sns li img {
max-width: 32px;
width: 73%;
}

/***************** main *****************/
.main {
width: 100%;
max-width: 100%;
}

/***************** news-banner *****************/
.news-banner{
padding: 3% 0 2.8% 0;
margin: 0 auto;
line-height: normal;
}
.news-banner h2{
font-size: 4.4vw;
letter-spacing: 0.3px;
padding: 0 3%;
}
.news-banner a{
font-size: 4vw;
text-align: center;
}

/***************** concept *****************/
#concept {
padding: 10% 3% 0 3%;
}
#concept .concept-text {
background: none;
}
#concept .concept-text h2 {
font-size: 5vw;
margin: 0 0 5.5vw 0;
font-weight: 600;
}
#concept .concept-text p {
font-size: 3.8vw;
margin: 6% 1.75% 5% 1.75%;
line-height: 1.8;
font-weight: 500;
}
#concept .concept-text p.notes {
font-size: 0.75rem;
margin: 5.5% 0 5% 0;
line-height: normal;
}
#concept .concept-pre{
max-width: 100%;
width: 100%;
margin: 0;
}
#concept .concept-pre .flex{
display: block;
text-align: center;
}

#concept .concept-pre .flex div:last-child img{
float: none;
}

/***************** product *****************/
#product {
margin: 0 auto 0 auto;
padding: 15% 0 0 0;
}
#product h3.title{
width: 60%;
margin: 0 auto 20px auto;
}

#product .product-link{
		background: url(/img/brand/nekobu/common/footprints2@2x.png) no-repeat center bottom / 150px;
		padding: 10% 2% 48% 2%;
		margin: 0 auto 4.5% auto;
	}

	#product .product-link ul{
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 8vw 4vw;
		max-width: 100%;
		width: 100%;
		padding: 4%;
		list-style: none;
		margin: 0;
		align-items: start;
	}

	#product .product-link ul li{
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 0;
	}

	#product .product-link ul li a{
		font-size: 0.77rem;
		color: #3c0000;
		text-align: center;
		line-height: 1.6;
		display: block;
	}

	#product .product-link ul li a img{
		display: block;
		width: 100%;
		height: auto;
		margin: 0 0 2vw 0;
	}

#product .product-pickup{
background: none;
display: block;
max-width: 100%;
width: 100%;
margin: 40% auto 37% auto;
padding: 0 6% 0 3%;
}
#product .product-pickup h3{
text-align: center;
font-size: 4.9vw;
font-weight: 500;
padding: 1% 2% 4% 0.5%;
}
#product .product-pickup p{
font-size: 3.4vw;
text-align: left;
line-height: 1.6;
margin: 0 0 10% 0;
padding: 2% 0% 0 1%;
font-weight: 500;
}
#product .product-pickup .product-pickup-set{
min-width: 100%;
max-width: 100%;
width: 100%;
}
#product .product-pickup .image{
max-width: 100%;
width: 100%;
}
#product .product-pickup .text img{
max-width: 92%;
width: 92%;
margin: 2% auto 2% auto;
}
#product .product-explanation{
text-align: center;
max-width: 620px;
width: 92%;
margin: 0 auto 25% auto;
padding: 14% 9%;
border: 3px solid #729d24;
border-radius: 30px;
}
#product .product-explanation .title h3{
font-size: 4vw;
}
#product .product-explanation p{
font-size: 3.2vw;
max-width: 320px;
width: 100%;
margin: 7.5% auto 2% auto;
text-align: left;
line-height: 1.6;
}
#product .product-explanation span{
font-size: 2.4vw;
max-width: 300px;
width: 70%;
margin: 0 auto;
}
#product .product-set .product-img{
background: url(/img/brand/nekobu/common/footprints3@2x.png) no-repeat center bottom / 90px;
margin: 0 auto 8% auto;
padding: 0 0.5% 16% 0.5%;
}
#product .product-set{
background: url(/img/brand/nekobu/common/footprints2@2x.png) no-repeat center bottom / 170px;
max-width: 100%;
margin: 0 auto 0 auto;
padding: 10.6% 0 30% 0;
}
#product .product-set .product-title{
display: block;
padding: 0 4%;
}
#product .product-set .product-title h3{
max-width: 50%;
width: 50%;
margin: 0 auto 2% auto;
padding: 0 0 0 0.7%;
}
#product .product-set .product-title p{
font-size: 3.875vw;
line-height: 1.65;
max-width: 100%;
width: 100%;
padding: 1% 1.5% 0 1.5%;
color: #3c0000;
font-weight: 500;

}
#product .product-set .product-title p span{
font-size: 2.9vw;
display: block;
margin: 1% 0 0 0;
}
#product .product-set .product-list{
background: url(/img/brand/nekobu/common/footprints3@2x.png) no-repeat center bottom / 96px;
padding: 7% 1.5% 16% 1.5%;
}
#product .product-set .product-list:last-child{
	background: none;
}
#product .product-set .product-list a{
display: block;
margin: 0 0 0 0;
}
#product .product-set .product-list .text{
min-width: inherit;
max-width: 100%;
margin: 0 6% 0% 3%;
order: 0;
}
#product .product-set .product-list:nth-child(odd) .text{
margin: 0 3% 0% 8%;
order: 1;
}
#product .product-set .product-list:nth-child(even) .text h4:nth-child(odd){
max-width: 32%;
order: 1;
}
#product .product-set .product-list .text h4{
max-width: 32%;
}
#product .product-set .product-list .text div{
min-width: inherit;
width: 66%;
padding: 0 0 0 0;
}
#product .product-set .product-list .text div h5{
max-width: 46%;
width: 46%;
margin: 1% auto 4% auto;
}
#product .product-set .product-list .text div p{
font-size: 3.025vw;
line-height: 1.75;
max-width: 92%;
width: 92%;
margin: 0 auto;
font-weight: 500;
}
#product .product-set .product-list .text div p span{
font-size: 78%;
line-height: 1.5;
display: block;
margin: 3% 0 0 0;
}
#product .product-set .product-list .photo h3{	
max-width: 466px;
width: 93%;
margin: 0 auto;
}
#product .product-set:last-child{	
background: none;
}
#product .li-margin1{
margin-top: 4%;
}
#product .li-margin2{
margin-top: 6% !important;
}
#product .li-margin3{
margin-top: 9% !important;
}

/***************** present *****************/
#present h3 {
width: 60%;
}
#present h4{
font-size: 6vw;
margin: 3% auto 0 auto;
}
#present .present-set-in {
padding-inline: 4%;
}
#present .present-set--flex {
flex-direction: column;
gap:4vw;
}
#present .present-set--text {
font-size: 3.2vw;
line-height: 1.6;
width:100%;
font-weight: 500;
}

/***************** otheritems *****************/
#otheritems{
padding: 25.25% 0 29% 0;
}
#otheritems h3{
width: 80%;
margin: 0 auto 5.75% auto;
}
#otheritems h4{
font-size: 5.5vw;
margin: 3% auto 0 auto;
}

#otheritems .flex{
display: block;
padding: 0 0 0 0;
}
#otheritems .otheritems-set-in{
background: url(/img/brand/nekobu/otheritems/otheritems-footstanp@2x.png) no-repeat center bottom / 92px;
padding: 0 0 24.5% 0;
}
#otheritems .otheritems-set-in:nth-child(2) {
background: none;
padding: 9.5% 0 20.5% 0;
}
#otheritems .otheritems-set-in:nth-child(2) .flex .text{
order: 2;
max-width: 100%;
padding: 6.5% 4% 0 4%;
}
#otheritems .otheritems-set-in:nth-child(2) .flex .text img{
padding: 1% 1% 0 1%;
margin-bottom: 1%;
}
#otheritems .images{
max-width: 100%;
}
#otheritems .text{
font-size: 0.8rem;
max-width: 100%;
padding: 9.4% 4% 0 4%;
margin: 0 auto;
}
#otheritems .text h5{
font-size: 5.5vw;
font-weight: normal;
padding: 0 0 3% 0;
text-align: center;
}
#otheritems .text h5 img{
padding: 0 1%;
margin: 5.2% auto 0 auto;
}
#otheritems .text p{
font-size: 4vw;
line-height: 1.65;
padding: 0 0.5% 0 0.5%;
}
#otheritems .text .subtext p{
margin: 5% 0 3% 0;
font-size: 0.85rem;
}
#otheritems .text .subtext p span{
font-size: 0.75rem;
display: block;
margin: 0 0 0 4%;
}
#otheritems .text .subtext p span.otheritems-price{
font-size: 0.8rem;
margin: 1% 0 0 4%;
}
#otheritems .text .subtext p span.otheritems-price span{
display: inline;
font-size: 0.5rem;
margin: 0;
}
#otheritems .otheritems-box{
text-align: center;
height: auto;
max-width: 100%;
margin: 0 auto;
padding: 10% 5%;
width: 100%;
}
#otheritems .otheritems-ornament-box{
position: relative;
max-width: 100%;
width: 100%;
margin: 0 auto;
}
#otheritems .otheritems-ornament1{
max-width: 236px;
width: 52%;
position: absolute;
top: 70%;
left: -18%;
}
#otheritems .otheritems-ornament2{
max-width: 244px;
width: 52%;
position: absolute;
right: 0%;
bottom: 3%;
}
#otheritems .otheritems-box .otheritems-box-inner{
background-color: #ffffff;
border-radius: 30px;
max-width: 100%;
width: 100%;
margin: auto;
padding: 18% 4% 30% 4%;
position: relative;
}
#otheritems .otheritems-box h3{
font-size: 4.4vw;
max-width: inherit;
width: 100%;
margin: 0 0 5% 0;
}
#otheritems .otheritems-box p{
font-size: 4vw;
}
#otheritems .otheritems-box a{
max-width: 458px;
width: 100%;
}
#otheritems .otheritems-box a span{
font-size: 14px;
}

#otheritems .concept-pre--link {
padding-inline: 0px;
padding-top: 90px;
}

#otheritems .reservation-box-link {
padding: 20px 16px;
}



/***************** shop *****************/

	#shop{
		width: 100%;
		padding: 15% 0 12% 0;
		margin: 0 auto;
	}

	#shop .inner{
		width: 100%;
		padding: 8% 5% 0;
		background: url(/img/brand/nekobu/common/footprints1@2x.png) no-repeat 96% 2% / 18%;
		box-sizing: border-box;
	}

	#shop .shop-inner{
		padding-bottom: 18%;
		background: url(/img/brand/nekobu/common/footprints2@2x.png) no-repeat 0 99% / 22%;
	}

	#shop h3{
		font-size: 7vw;
		padding: 0 0 5% 0;
	}

	#shop p{
		font-size: 3.8vw;
		line-height: 1.8;
		padding: 0 0 6% 0;
	}

	#shop p.last-text{
		padding: 0 0 10% 0;
	}

	#shop .shop-set{
		max-width: 100%;
		width: 88%;
		padding: 0 0 10% 0;
		margin: 0 auto 10% auto;
	}

	#shop .shop-set h4{
		padding: 3% 0 4% 0;
	}

	#shop .concept-pre--link{
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 0px;
		padding-inline: 0;
	}

	

/***************** shop *****************/
#shop {
padding: 16% 0 20.5% 0;
}
#shop .inner{
padding-top: 0;
background: none;
}
#shop .shop-inner{
padding-bottom: 0;
background: none;
}
#shop h3 {
font-size: 7.6vw;
padding: 0 0 6% 0;
}
#shop p {
line-height: 1.75;
padding: 0 6%;
}
#shop p.last-text {
padding: 6% 6%;
}
#shop .shop-set{
max-width: 452px;
width: 90%;
border-bottom: 2px dotted #707070;
padding: 13% 2% 7% 2%;
margin: 0 auto 5% auto;
text-align: center;
}
#shop .shop-set:last-child{
border-bottom: none;
padding: 0 0 0 0;
margin: 0 auto 0 auto;
}
#shop .shop-set h4{
padding: 2% 2% 3% 2%;
margin-bottom: 2%;
}
#shop .shop-set a{
margin-bottom: 6%;
}

/***************** about *****************/
#about .about-inner{
background: none;
text-align: center;
padding: 12% 0 11% 0;
}
#about .white-area {
background: #fff;
border-radius: 30px;
box-sizing: border-box;
max-width: 85%;
width: 85%;
margin: 0 auto;
padding: 7% 1%;
}
#about .about-title {
width: 66%;
margin: 0 auto 1.2% auto;
padding-left: 12%;
}
/* 260225修正 猫部ロゴ縦伸び回避 こちらを追加してみてください */
#about .about-title img {
width: 100%;
height: auto;
}
/* 260225修正 猫部ロゴ 縦伸び回避ここまで */
#about .list {
display: block;
width: 100%;
margin: 12% auto 2%;
padding-left: 7%;
}
#about .list li {
background: url(/img/brand/nekobu/about/about-footprints@2x.png) left center no-repeat;
background-size: 26px;
line-height: normal;
width: 100%;
margin: 0 0 2.5vw 0;
padding: 2% 4% 0 14%;
color: #3c0000;
font-weight: 800;
font-size: 3.5vw;
}
#about .list li:nth-child(even){
width: 100%;
}
#about .last-text {
font-size: 3vw;
line-height: 2;
padding: 11% 5%;
color: #3c0000;
font-weight: 500;
}
#about .arrow-orange{
font-size: 3vw;
}
#about .arrow-orange span{
font-size: 76%;
}

/***************** footer *****************/
/* 
.footer {
color: #747474;
font-size: 0.8rem;
text-align: center;
width: 100%;
margin: 0 auto;
padding: 1.4rem;
}
.pagetop {
position: fixed;
bottom: 15px;
right: 15px;
z-index: 5000;
width: 30px;
}
*/
}