@charset "UTF-8";

.nouki-plan{display:flex;flex-wrap:wrap;justify-content: center;}
.nouki-plan a{display:block;margin:.5rem 1rem;-webkit-transition: all .3s;transition: all .3s;}
.nouki-plan a:hover {-webkit-transform: translateY(-5px);-ms-transform: translateY(-5px);transform: translateY(-5px);}
.nouki-plan a img{display:block;width:250px;max-width: 100%;}
.heading-21 {position:relative;padding:.5rem .5rem .1rem;border-bottom: 3px solid #E4007F;border-top: 3px solid #E4007F;color: #E4007F;font-size: 1.3rem;text-align: center;font-weight: bold;width:83%;margin:.5rem auto 2rem;}
.heading-21 span{font-size:.8rem;}
.heading-21::before,
.heading-21::after {position: absolute;left:70px;bottom: -15px;width: 30px;height: 15px;clip-path: polygon(0 0, 100% 0, 50% 100%);content: '';}
.heading-21::before { background-color: #E4007F;}
.heading-21::after { bottom: -11px;background-color: #fff;}
.int{justify-content:center;}
.int img{width:300px;max-width:45%;margin:.5rem;}

.plans_grid-items{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top: 2rem;}
/* 1商品だけ */
.plans_grid-items:has(> :only-child){grid-template-columns:1fr 1fr;}
/* 2商品 */
.plans_grid-items:has(> :first-child:nth-last-child(2)){grid-template-columns:repeat(2,1fr);}
.vp-cart-box{max-width: 90%;padding: .5rem;margin:.25rem auto;background:#fff;border-radius:16px;overflow:hidden;}


.grid-items-gek>.vp-cart-box{background:#ffeef7;}
.grid-items-nor>.vp-cart-box{background:#e8f6ff;}
.grid-items-exp>.vp-cart-box{background:#f2f2f2;}

.vp-product-head{display:flex;flex-direction:column;justify-content:end;align-items: center; height: 100%;}
.vp-product-head h3{width:100%;margin:0 0 auto;font-size:18px;font-weight: bold;text-align: center;padding: 4px;
/* border-top:1px solid #E4007F;border-bottom:1px solid #E4007F; */}
.vp-product-head.gek-head h3::before{content:'';display:inline-block;width:1.6rem;height:1.6rem;margin:0 .4rem 0 0;
background-image:url(https://visipri.com/img/icon/cart_gek.svg);
background-repeat:no-repeat;background-size:contain;background-position:center;}
.vp-product-head.nor-head h3::before{content:'';display:inline-block;width:1.6rem;height:1.6rem;margin:0 .4rem 0 0;
background-image:url(https://visipri.com/img/icon/cart_nor.svg);
background-repeat:no-repeat;background-size:contain;background-position:center;}
.vp-product-head.exp-head h3::before{content:'';display:inline-block;width:1.6rem;height:1.6rem;margin:0 .4rem 0 0;
background-image:url(https://visipri.com/img/icon/cart_exp.svg);
background-repeat:no-repeat;background-size:contain;background-position:center;}
.vp-product-head h3 span{font-size:.87rem;display:block;
/* color: #ef0000;border-bottom: 2px solid;*/
}
.vp-product-head .head_inner-box{padding: 5px;margin-bottom: 11px;}
.vp-product-head p{font-size:.8rem;color:#000;}
.vp-product-head>.item_image{display:block;width:130px;max-width:100%;margin:0 auto auto;position:relative;}
.vp-product-head>.item_image>img{display:block;width:100%;}
.vp-product-head>.item_image>.ex-low_price {color:#ff0000;font-weight:bold;font-size:.98rem;white-space: nowrap;position: absolute;bottom: 0;right: 7px;
text-shadow: 0 0 1px #fff, 0 0 1px #fff,0 0 1px #fff,0 0 1px #fff,0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff;}
.ex-low_price span{font-size:.58rem;}

.vp-product-content {
	/* height: 100%; */
	text-align:center;align-items:center;align-content:end;padding:7px .5rem;}
.vp-product-content .inner_badge{display: inline-block;color: #E4007F;border: 2px solid #E4007F;border-radius: 19px;margin: 1px;padding: .2rem .25rem;}
.vp-product-body{margin-top: 5px;}	
.vp-label{display:block;margin:1rem 0 0;text-align: left;font-size:14px;font-weight:bold;color:#333;}
.vp-size-select{width:100%;height:45px;padding:0 14px;font-size:14px;border:1px solid #ccc;background:#fff;box-sizing:border-box;}
.vp-size-select:focus{outline:none;border-color:#00A1E9;box-shadow:0 0 0 3px rgba(0,161,233,.16);}
.vp-delivery-select{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;}
.vp-delivery-btn{cursor:pointer;height:60px;border:none;border-radius:8px;padding: 1rem;color:#fff;font-size:16px;font-weight:bold;cursor:pointer;opacity:.45;transition:.2s;}
.vp-delivery-btn:hover{opacity:.85;}
.vp-delivery-btn.is-active{opacity:1;transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,.18);}
.vp-gek{background: #E4007F;}
button.vp-cart-btn.vp-gek:hover{background: #ff64ba;}
.vp-nor{background: #00A1E9;}
button.vp-cart-btn.vp-nor:hover{background: #64f5ff;}
.vp-exp{background: #000000;}
button.vp-cart-btn.vp-exp:hover{background: #7e7e7e;}
.vp-cart-btn{cursor:pointer;display:flex;align-items:center;justify-content:center;margin:.5rem auto;width:98%;padding:1.25rem 1rem;color:#fff !important;text-decoration:none;font-size:14px;font-weight:bold;border-radius:8px;transition:.2s;box-sizing:border-box;}
.vp-cart-btn:hover{background: #ff64ba;}
.vp-cart-btn.is-disabled{background:#ccc;color:#888 !important;pointer-events:none;cursor:not-allowed;}
.vp-selected-price{margin:0;padding:14px 16px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:12px;}
.vp-selected-price-label{font-size:12px;font-weight:bold;white-space:nowrap;}
.vp-selected-price-text{font-size:17px;border-bottom:1px solid;font-weight:bold;color:#ff0000;text-align:right;white-space:nowrap;
text-shadow:0 0 1px #fff, 0 0 1px #fff,0 0 1px #fff,0 0 1px #fff,0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff;}
@media screen and (max-width:821px){
.plans_grid-items{display:grid;grid-template-columns:1fr 1fr;}
}

@media screen and (max-width:767px){
	.vp-size-select{font-size:13px;}
	.vp-product-head h3{font-size:18px;}
	.vp-product-head{flex-direction: column;}
	.vp-product-head>.item_image{max-width:90%;}
	.vp-product-content {width: 90%;margin: 0 auto;padding: 10px;}
	.vp-delivery-select{grid-template-columns:1fr;}
	.vp-delivery-btn{height:54px;}
	.vp-selected-price-text{font-size:18px;}
}

@media screen and (max-width:440px){
	.vp-cart-box{border-right:0;}
	/* .vp-product-body {margin-top: 13px;} */
	.vp-product-head p {font-size:.9rem;}
	.plans_grid-items{display:grid;grid-template-columns:1fr;}
	/* 1商品だけ */
	.plans_grid-items:has(> :only-child){grid-template-columns:1fr;}
	/* 2商品 */
	.plans_grid-items:has(> :first-child:nth-last-child(2)){grid-template-columns:1fr;}
	.vp-product-head h3{font-size:1.3rem;margin-bottom: 5px;}
	.vp-product-head h3 span {font-size: 1rem;}
	.vp-product-head .head_inner-box{padding:5px;}
	.vp-product-head>.item_image{width:200px;}
	.vp-product-head>.item_image>.ex-low_price{font-size:1.4rem;}
	.vp-product-head>.item_image>.ex-low_price>span{font-size:1rem;}
	.vp-cart-btn {font-size:17px;}
	.vp-selected-price-label {font-size: 14px;}
	.vp-selected-price-text{font-size:1.5rem;}
}
.vp-hidden-cart-link{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

.grid-items-exp>.vp-cart-box {background: #f2f2f2;border-radius:16px;max-width: 90%;padding: .5rem;margin: .25rem auto;border-right:none;border-top:none;border-bottom:none;overflow: hidden;}


/* 説明文を少し控えめに */
.grid-items-gek .head_inner-box{margin-bottom:8px;padding:8px 10px;background:#fff;border-radius:10px;}
.grid-items-gek .head_inner-box p{margin:0;font-size:.82rem;line-height:1.5;color:#333;}
/* タイトルまわり */
.grid-items-gek .vp-product-head h3{margin-bottom:6px;font-size:1.05rem;line-height:1.35;}
.grid-items-gek .vp-product-head h3 span{margin-top:2px;font-size:.86rem;color:#555;}
/* 説明文を少し控えめに */
.grid-items-nor .head_inner-box{margin-bottom:8px;padding:8px 10px;background:#fff;border-radius:10px;}
.grid-items-nor .head_inner-box p{margin:0;font-size:.82rem;line-height:1.5;color:#333;}
/* タイトルまわり */
.grid-items-nor .vp-product-head h3{margin-bottom:6px;font-size:1.05rem;line-height:1.35;}
.grid-items-nor .vp-product-head h3 span{margin-top:2px;font-size:.86rem;color:#555;}
/* 説明文を少し控えめに */
.grid-items-exp .head_inner-box{margin-bottom:8px;padding:8px 10px;background:#fff;border-radius:10px;}
.grid-items-exp .head_inner-box p{margin:0;font-size:.82rem;line-height:1.5;color:#333;}
/* タイトルまわり */
.grid-items-exp .vp-product-head h3{margin-bottom:6px;font-size:1.05rem;line-height:1.35;}
.grid-items-exp .vp-product-head h3 span{margin-top:2px;font-size:.86rem;color:#555;}
/* スマホ調整 */


/* 画像なしカード用 */
.vp-product-head>.item_image-none{display:flex;justify-content:center;align-items:center;height:100%;margin:0 auto .55rem;padding:12px 10px;position:relative;background:#fff;border:1px solid #e5e5e5;box-sizing:border-box;text-decoration:none;}
.vp-product-head>.item_image-none>.ex-low_price {position:static;margin:0;padding:0;font-size:1.2rem;line-height:1.2;font-weight:bold;text-align:center;text-shadow:none;white-space:nowrap;
color:#ff0000;font-weight:bold;white-space: nowrap;
text-shadow: 0 0 1px #fff, 0 0 1px #fff,0 0 1px #fff,0 0 1px #fff,0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff;}
.item_image-none .ex-low_price::before{content:"最安価格";display:block;margin-bottom:4px;color:#555;font-size:.72rem;font-weight:bold;letter-spacing:.05em;}

@media screen and (max-width:767px){
	.vp-product-head>.item_image-none{max-width:90%;}
}
@media screen and (max-width:440px){
	.vp-product-head>.item_image-none{width:200px;}
	.vp-product-head>.item_image-none>.ex-low_price{font-size:1.4rem;}
	.vp-product-head>.item_image-none>.ex-low_price>span{font-size:1rem;}
}