﻿@charset "UTF-8";

@import "imports/reset.css";
@import "imports/base.css";
@import "imports/order.css";
@import "imports/user.css";
@import "imports/hack.css";
@import "imports/parts.css";
@import "imports/general_classes.css";
@import "imports/coordinate.css";
@import "imports/silveregg_recommend.css";
@import "./responsive.css";


:root {
--mincho:"Shippori Mincho", serif;
--basecolor:#8A0068;
--subBtnBgTx:#0099cc;
--subBtnBg:#fff;
--fsize3L:30px;
--fsize2L:24px;
--fsizeL:20px;
--fsizeM:16px;
--fsizeD:14px;
--fsizeS:12px;
--main-width:1200px;
--slim-width:1000px;
--wide-width:100%;
--marginS:12px 0;
--marginM:20px 0;
--marginL:24px 0;
--black:#333;
--lightGray:#f8f8f8;
--Accolor:#222;
--saleccolor:#0099cc;
--normalBtnwidth:340px;
--nextBtnColor:#333;
--borderBtnColor:#fff;
--mb_normal:12px;
--mb_large:20px;
--mb_short:12px;
--mb_mini:8px;
--padLL:60px;
--box-pad-ss:16px;
--box-pad-m:32px;
--box-pad-s:20px;
}

html{
font-size:10px;
}
@media screen and (max-width: 767px){
:root {
--main-width:100%;
--slim-width:100%;
--fsize2L:20px;
--fsizeL:18px;
--fsizeD:13px;
}
}
				
		#tblLayout{
width:100%;
}		
::placeholder {
font-family: var(--font-en);
  color: #ccc !important;
}

select, input[type="text"], input[type="password"], input[type="email"], input[type="tel"] {
    padding: 10px;
    margin: 5px 0;
    font-size: var(--fsizeD);
    border: 1px solid #ccc;
    border-radius: 4px;
				max-width:600px;
}

#tblLayout{
max-width:1280px;
margin:0 auto;
}									
#main {
    width: 100%;
}
#main h1 img{
width:100%;
}
img{
max-width:100%;
}
#dvUserBox h2,
.ttlH2{
    font-family: var(--mincho);
    font-size: var(--fsizeL);
    margin-bottom: var(--mb_large);
}
.ttlH3{
    font-size: var(--fsize2L);
    margin-bottom: var(--mb_large);
}
.sTtl{
    font-size: var(--fsizeL);
    padding: 10px 16px;
    margin-bottom: var(--mb_normal);
    background: #aaa;
    color: #fff;
    border-radius: 4px;
    margin-bottom: 24px;
				font-weight:600;
}
.mt3L{
    margin-top: var(--padLL);
}
.l-inner{
    width: var(--main-width);
				margin:0 auto;
}
.BtnFlex {
    display: flex;
    gap: 20px;
    margin: 40px 0;
    text-align: center;
    flex-direction: row-reverse;
    justify-content: center;
}


#breadcrumbs{
font-size:13px;
color:#666;
}
#breadcrumbs ul{
display:flex;
flex-wrap:wrap;
gap:12px;
}
.btnBasic {
text-decoration:none !important;
    width: var(--normalBtnwidth);
    font-size: var(--fsizeM);
    display: inline-block;
    text-align: center;
				padding:12px 8px;
				border-radius:4px;
}

.dark {
    color: #fff;
    background: #98207B;
    border: 1px solid #333;
}
.wht {
    color: #222;
    border: 1px solid #ccc;
    background: var(--borderBtnColor);
}

.menu-btn {
    margin: 0 auto;
    display: flex;
    height: 24px;
    position: relative;
    width: 34px;
    justify-content: center;
    align-items: center;
    z-index: 999;

}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 2px;
    width: 25px;
    border-radius: 3px;
    background-color: #333;
    position: absolute;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}
#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
				  background-color: #333;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
				    background-color: #333;
    transform: rotate(-45deg);
}
.menu-content {
font-size:var(--fsizeD);
    width: 300px;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 80;
    background-color: #fff;
				box-shadow:-2px 0 12px #999 !important;
}
.menu-content ul {
 
    width: 100%;
}
.menu-content {
				padding: 70px 15px 0 15px;
    width: 320px;
    height: 100%;
    position: fixed;
				box-shadow:5px 0 10px #ccc;
    top: 0px;
    right: -450px;
    z-index: 80;
    background-color: #fff;
    transition: all 0.5s;
}

#menu-btn-check:checked ~ .menu-content {
    right: 0;
}

.mincho{
font-family: 'Shippori Mincho B1', serif;
}

header{
background: #fff;
z-index:999;
position:fixed;
width:100%;
top:0;
}
.all-flex{
max-width:1280px;
margin:0 auto;
display:flex;
gap:32px;
}
.all-flex-left{
width:265px;
margin-bottom:32px;
}
.all-flex-right{
width: 980px;
}
#ov_custom,#main{
    margin: 0 0 0 auto;
    width: 980px;
}
				
.morebtn{
    padding: 40px 0;
    text-align: center;
}
.slick-dotted.slick-slider {
    margin-bottom: 0;
}
.morebtn a{
				color:var(--basecolor);
    border: 1px solid var(--basecolor);
    padding: 10px 30px;
    min-width: 280px;
    display: inline-block;
				    position: relative;
}
.main-slider {
margin-bottom:32px;
}
.menu-content ul li a::before{
    content: "";
    width: 10px;
    height: 10px;
    border-top: solid 2px var(--basecolor);
    border-right: solid 2px var(--basecolor);
    transform: rotate(45deg);
    position: absolute;
    right: 12px;
    top: 36%;
}
a .arrow{
    content: "";
    width: 10px;
    height: 10px;
    border-top: solid 2px var(--basecolor);
    border-right: solid 2px var(--basecolor);
    transform: rotate(45deg);
    position: absolute;
    right: 12px;
    top: 36%;
}
.wineset .slick-slide{
padding:5px;
}
.wfix{
    max-width: 1280px;
    margin: 0 auto;
}
.item-list{
display:grid;
    grid-template-columns: 1fr 1fr 1fr 1fr ;
    gap: 12px
}
.item-list .price{
color:var(--basecolor);
     font-weight: 600;
}
.item-list .thumb{
margin-bottom:12px;
}



.important-news{
margin-bottom:32px;
}
.important-news-ttl{
font-family:var(--mincho);
 font-size: var(--fsizeL);
background-color:var(--basecolor);
color:#fff;
padding:8px 12px;
margin-bottom:12px;
}

.season-items ul{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px
}
.season-items img{
width:100%;
}

.itemlist .contry{
    font-size: 12px;
}
.itemlist .price{
color:var(--basecolor);
     font-weight: 600;
}
.itemlist .prize{
color:#ff9900;
}
.itemlist .tocart a{
    background:var(--basecolor);
    width: 100%;
    display: block;
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 10px;
    color: #fff;
    font-size: 12px;
}
.top-item{
    margin-bottom: 48px;
}
.special-items{
    padding-bottom: 48px;
    margin-bottom: 48px;
}
.special-items h2{
text-align:center;
}
.speciallist ul{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 20px
}
.speciallist ul img{
margin-bottom:12px;
}
.top-search-wrap{

}
.top-search-wrap h2{
font-family:var(--mincho);
text-align:center;
margin-bottom:32px;
  font-size: var(--fsizeL);
}
.top-search-flex{
    justify-content: center;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
				max-width:1000px;
				margin:0 auto;
    margin-bottom: 48px;
}
.top-search-flex li a{
    min-width: 200px;
    border-radius: 5px;
    display: flex;
								    justify-content: center;
    gap: 12px;
    align-items: center;
    border: 1px solid #ccc;
    padding: 12px;
}
.top-search-county li a{
								    min-height: 67px;
}
.top-search-flex li a img{
width:40px;
}




.headFlex{
margin: 0 auto;
display: flex;
padding:10px;
justify-content: space-between;
max-width: 1280px;
align-items: center;
}
.headFlex .logo{
    width: 280px;
}
.headFlex .logo img{
width:100%;
}
.headFlex .icArea {
display: flex;
align-items: center;
}
.headFlex .icArea a{
position: relative;
    display: inline-block;
    padding: 0 8px;

}
.headFlex .icArea a span{
display: block;
font-size: 10px;
text-align: center;
font-weight: 500;
}
.hamburger-menu{
    color: #333;
    border-radius: 6px;

}
.menuname{
font-size: 10px;
    text-align: center;
    display: block;
    font-weight: 500;

				
				}
.headFlex .icArea .num {
    position: absolute;
    top: -10px;
    right: -4px;
    background: var(--basecolor);
    color: #fff;
    zoom: 0.8;
    padding: 4px;
    border-radius: 100%;
    font-size: 10px;
    width: 24px;
    font-weight: bold;
    line-height: 18px;
}
.headFlex .icArea img{
    height: 24px;
    margin: 5px auto;
    display: block;
}
.headFlex .icArea .cartic{
position:relative;
}
.headFlex .icArea .cartic span{
position:absolute;
top:0;
right:0;
}
.isPC{
display:block;
}
.sp-wine-link img{
height:48px !important;
}
.accordion-body li:first-child{
border-radius:5px 5px 0 0;
}
.accordion-body li:last-child{
border-radius:0 0 5px 5px ;
}
.bgsel{
background:#f8f8f8;
}
.menu-content ul li {
padding:10px;
    list-style: none;
				font-weight:500;
}
#menu-btn-check {
    display: none;
}
.sp_catemenu ul li ul li{
background:#fff;
}
.spmenu{
    border: 2px solid var(--basecolor);
    border-radius: 4px;
				}
				
.spmenu-half{
display: flex;

}
.spmenu-half li{
width:50%;
}
.spmenu-half li a{
display:block;
}
.sp-head-bn{
    display: grid;
				gap:12px;
				margin-top:20px;
    grid-template-columns: 1fr 1fr;
}
.sp-head-bn a{
padding:0;
display:block;
width:100%;
}
.sp-head-bn img {
    height: auto !important;
    width: 100%;
    display: block;
    padding: 0;
}

.menu-content ul li a {
    display: block;
    width: 100% !important;
				padding:0;
    box-sizing: border-box;
				text-align:left;
    text-decoration: none;
    position: relative;
}
.menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px var(--basecolor);
    border-right: solid 2px var(--basecolor);
    transform: rotate(45deg);
    position: absolute;
    right: 2px;
    top: 8px;
}
.zoomContainer{
display:none;
}



.dlFlex{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}


#detailImage .subImage{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;

}

.subImage li{
  flex-basis:calc((100% - 40px) / 4);
  max-width:calc((100% - 40px) / 4);
  margin-top:20px;

}


.btn.disabled, .btn[disabled] {
    cursor: default;
    background-color: #f4f4f4 !important;
    border: 1px solid #f4f4f4;
    color: #888 !important;
    text-shadow: none;
    background-image: none;
    opacity: 1;
    filter: alpha(opacity=65);
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}



.center {
    text-align: center;
}
.sougoukei {
    font-size: 26px;
    font-weight: bold;
    border-bottom: 3px solid #222;
    width: auto;
    display: inline-block;
}

.boxttl {
    font-size: 18px;
    padding: 0 0 0px 0;
    font-weight: bold;
    margin-bottom: 0;
}


.opencate{
position: relative;
    padding: 5px 10px;
    background: #41B1AC;
    border-radius: 40px;
    color: #fff;
    font-weight: bold;
    width: 116px;
}

.opencate::before{
	left: 3px;
	width: 3px;
	height: 3px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}


.spcategory select{width:100% !important;}
.spSearchTx input{width:100% !important;}
.spSearchBtn{
text-align:right;
}
.spSearchBtn a{
    color: #333 !important;
    font-size: 14px !important;
    border: 1px solid #333;
    background: #eee;
    border-radius: 4px;
    padding: 6px 8px !important;
    width: 72px !important;
    display: inline-block !important;
    margin: 1px 0 0 0 !important;
				}

.productList h3{
margin-bottom: 0px !important;
}

.rank-tab{
display: flex;
margin-bottom:24px;
gap:4px;
}
.rank-tab li{
    padding: 13px;
    border-bottom: 2px solid #ccc;
    width: 20%;
    text-align: center;
				}
.rank-tab li.sel{
    border-bottom: 2px solid var(--basecolor);
				color:var(--basecolor);
				font-weight:bold;
}
.slick-dots{
position:relative !important;
bottom: unset !important;
}
.bon{

    margin-right: 10px;
				}
.bon img{
width:130px;
}
.ttlH2-2{
padding: 5px 10px;
    margin-top: 20px;
    /* border-top: 1px solid #ccc; */
    font-size: 18px !important;
    font-weight: bold !important;
    border-left: 4px solid var(--basecolor);
    margin-bottom: var(--mb_large);
}
.top-search-county{

}
.top-search-county img{
border-radius:100%;
}

.btnSearch{
        background-color: var(--basecolor);
        text-align: center;
        border-radius: 5px;
}
																							
.btnSearch a{
width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.btnSearch a img{
width:20px;
}


.wrapSearch{
width:36%;
}

.wrapSearch .textBox{
width:100%;
}
.wrapSearch .textBox input[type="text"]{
width:100%;
}

.hamburger-menu{
display:none;
}
.pc{
display:block;
}
.sp{
display:none;
}
.moreBtn-r{

}
.moreBtn-r .btnBasic{
    width: 149px;
    font-size: 14px !important;
    padding: 6px 10px !important;
    border: 0 !important;
    margin: 0 0 0 auto;
    display: block;
    font-size: 13px !important;
    font-weight: normal;
    margin-bottom: 30px ! IMPORTANT;
}
.wineset h3{
    background: #F1E7EF;
    font-weight: bold;
    padding: 10px 12px;
    margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
.top-search-county li a{
min-height: 80px;
}
.top-about-message p {
    font-size: 14px !important;
}
.top-about .subtxt {

    font-size: 10px;

}
.top-about-btn {
    margin: 20px 0 20px 0 !important;
gap:16px !important;
    flex-direction: column;
				}
.pc{
display:none;
}
.sp{
display:block;
}
.hamburger-menu{
        display: block;
        padding: 0px 8px;
}
#ov_custom{
    margin: 0 0 0 0;
				padding: 0 0;
    width: 100%;
}
#main{
    margin: 0 0 0 0;
				padding: 0 15px;
    width: 100%;
}
.headFlex .icArea a span {

}
.top-search-flex {
    justify-content: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-width: 1000px;
    margin: 0 auto;
    margin-bottom: 48px;
}
.wrapSearch{
display:none !important;
}
.top-search-flex li{
width:100%;
}
.top-search-flex li a {
    min-width: auto;

    border-radius: 5px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: 4px;
    align-items: center;
    border: 1px solid #ccc;
    padding: 8px;
}
.top-search-flex li a span{
font-size:10px;
}
.speciallist ul {
    grid-template-columns: 1fr 1fr;
    gap: 12px;

}
.top-search-flex {
    justify-content: center;
    display: grid;
    gap: 8px;
    max-width: 100%;
    margin: 0 auto;
    margin-bottom: 24px;
    grid-template-columns: 1fr 1fr 1fr;
}
    .headFlex .logo {
        width: 152px;
    }
.all-flex-right.top-page,.wfix{
    padding: 0 15px;
}


#Wrap {
    margin: 100px auto 0 auto;
}

.all-flex-left{
display:none;
}
.all-flex-right {
    width: 100%;
}


.opencate{
display:none;
}
.CartOption{
font-size:12px;
}
.userPointContent {
border-bottom:0 !important;
}

#dvUserBox #dvOrderHistoryDetail table th,
#dvUserBox #dvUserModifyInput table th, #dvUserBox #dvUserModifyConfirm table th,#dvUserBox #dvUserShippingInput table th,
#dvUserBox #dvUserRegistInput table th, #dvUserBox #dvUserRegistConfirm table th,#dvUserBox #dvFixedPurchaseDetail table th,
#dvUserBox #dvFixedPurchaseList table th,
#dvUserBox #dvFixedPurchaseDetail table th,
#dvUserBox #dvPasswordReminderInput .dvReminder table th,
#dvUserBox #dvPasswordModifyInput .dvModify table th{
		border:0;
		display:block;
    padding: 10px;
    width: 100%;
    text-align: left;
}
#dvUserBox #dvOrderHistoryDetail table td,#dvUserBox #dvUserModifyInput table td, #dvUserBox #dvUserModifyConfirm table td,
#dvUserBox #dvUserShippingInput table td,#dvUserBox #dvUserRegistInput table td, #dvUserBox #dvUserRegistConfirm table td,
#dvUserBox #dvFixedPurchaseDetail table td,
#dvUserBox #dvFixedPurchaseList table td,
#dvUserBox #dvPasswordReminderInput .dvReminder table td,
#dvUserBox #dvPasswordModifyInput .dvModify table td{
		padding: 10px 20px;
		display:block;
		  width: 100%;
}
#dvUserBox #dvFixedPurchaseList table table td,#dvUserBox #dvOrderHistoryDetail table table td{
 padding: 10px 0px !important;
}
#dvUserBox #dvOrderHistoryList table th {
    border:0;
				display:block;
    padding: 10px ;
    width: 100%;
    text-align: left;
}
.dvFixedPurchaseDetail td small{
font-size:12px;
}
#dvUserBox #dvOrderHistoryList table td {
				display:block;
padding: 10px 10px;
}
#dvUserBox #dvOrderHistoryList table td table{
margin-bottom:0;
}
#dvUserBox #dvOrderHistoryList table td table td {
				display:block;
padding: 0px !important;
}
#dvUserBox #dvOrderHistoryList table, #dvUserBox #dvOrderHistoryDetail table,
#dvUserBox #dvUserModifyConfirm table,#dvUserBox #dvUserModifyInput table,
#dvUserBox #dvUserShippingInput table,
#dvUserBox #dvUserRegistInput table,
#dvUserBox #dvOrderHistoryDetail table,
#dvUserBox #dvFixedPurchaseList table,

#dvUserBox #dvPasswordReminderInput .dvReminder table,
#dvUserBox #dvPasswordModifyInput .dvModify table{
margin:0 0 30px 0;
border-bottom:0;
}
.dvOrderHistoryProduct .productName,
.dvOrderHistoryProduct .productPrice,
.dvOrderHistoryProduct .orderCount{
border-bottom:0 !important;
}
#dvUserBox #dvFixedPurchaseList table table{
margin: 0 0 0px 0;
}
.dvOrderHistoryProduct .orderCount{
padding-top:0px !important;
padding-bottom:0px !important;
}
.dvOrderHistoryProduct .orderSubtotal,
.dvOrderHistoryProduct .productPrice{
padding-top:5px !important;
}
.dvOrderHistoryProduct .productPrice{
padding-bottom:0px !important;
}
.dvFixedPurchaseItem #imgProductImage {
    margin: 0 10px 0 0;
				}
#dvUserBox #dvFixedPurchaseItem table table{
margin: 0 0 0px 0;
}
.dvFixedPurchaseItem table .productName{
    padding: 10px !important;;

}
.dvFixedPurchaseItem .orderCount{
padding-top:0px !important;
padding-bottom:0px !important;
}

.dvFixedPurchaseItem .productName{
border-bottom:0 !important;
}
.dvFixedPurchaseItem .productPrice,
.dvFixedPurchaseItem .orderCount{
border-bottom:0 !important;
text-align:right !important;
}

.dvFixedPurchaseItem .orderSubtotal,
.dvFixedPurchaseItem .productPrice{
padding-top:5px !important;
text-align:right !important;
}
.dvFixedPurchaseItem .productPrice{
padding-bottom:0px !important;
text-align:right !important;
}


.orderBox .btn_change{
margin-top:0;
}
.subCartList2 {
    padding: 40px 0px;
}

.orderBox div.box dt,.orderBox div.box dt{
width: 100%;
    float: none;
    padding: 6px 0px 4px 0;
}
.orderBox div.box dd,.orderBox div.box dd{
 padding: 0px 10px 0px 10px;
    float: none;
}
select, input[type="text"], input[type="password"], input[type="email"], input[type="tel"] {
 font-size: 16px;
}
.priceList dl.result {
font-size: 16px;
}

.dvProductAdvancedSearch table th, .dvProductAdvancedSearch table td {
    padding: 0 0 10px 0px;
				display:block;
    width: 100%;
}
.dvProductAdvancedSearch table td {
padding:0 0 10px 5px;
				display:block;
    width: 100%;
}
.dvProductAdvancedSearch table td table td{
display:table-cell !important;
width:auto !important;
}
.footer {
    padding: 20px 4%;
				}
.searchpanel {
height: 95vh;
    padding-bottom: 50px;
    top: 45px;
				}
.searchpanel tr{
    border-top: 1px solid #ccc;
    display: block;
    padding-top: 15px;
				}
.slick-slide{

}
.slick-dots li{
width:auto !important;
}
.memberonly .slick-arrow{
display:none !important;
}
#detailTwo table th,#detailTwo table td{
font-size:13px;
}
#dvErrorInfoBox {
    width: 100%;
    margin: 30px auto;
    padding: 0 4%;
}

.sp{
display:block !important;
}
.pc{
display:none !important;
}


.headFlex .logo {
    margin: 0;
				margin-left:0px;
}


.headFlex .logo img {
    width: 100%;
    margin: 0;
}
.headFlex .icArea {
    right: 0;

}


.headFlex .icArea img {
        height: 22px;
        margin: 100%;
        margin: 0 auto 2px auto;
}
.sp-head-bn a{
padding:0 !important;
}

header{
padding-top: 0px;
min-width: 100%;
}
.inner{
width:100% !important;
}
#tblLayout{
width:100%;
margin-top:0;
}
#dvProductDetailArea #detailOne,#dvProductDetailArea #detailImage{
float:none;
}
.CouponBtn{
padding: 7px 22px !important;

}
#ctl00_ContentPlaceHolder1_hgcCompleteMessage{
width:100%;
padding:0 4% !important;
}
.detailBlock p {
    font-size: 13px;
    padding: 20px;
				    line-height: 2;
}
.detailBlock div:nth-child(even) p {
    padding: 20px;
}
.detailBlock {
    width: 100%;
    margin: 0 auto;
}
.slider_c li {
    width: 50%!important;
    margin: 0;
    padding: 10px !important;
}
.detailBlock div {
    display: block;
    margin: 30px 0;
    align-items: center;
}
.seibun{
margin:0;
}
.menu-content {
    padding: 90px 4%;
    width: 82%;
    top: 0;
				right: -111%;
    box-shadow: 0px 0 0px #ccc;
				}
.menu-content ul {
    width: 100%;
}
.menu-content ul li{
text-align:left;
    list-style: none;
    padding: 10px;
    font-weight: 500;
}
.menu-content ul li a{

}
.headFlex .logo{

}
.menu-btn{
        top: 0;
        left: 0;
        margin-top: 0px;
        margin-bottom: 0;
        position: relative;
}
.addCart p a,.selectValiation select{
width:100% !important;
}
.squre{
    width: 100%;
				}
				.squre .list-inner {
    width: 100%;
    margin-left: 0;
    padding: 0 20px;
}
.selectValiation select {
    width: 100%;
				}
.headFlex .logo img{
    max-height: 54px;
    margin-top: 0px;
}

#dvUserFltContents{
width:100%;
}
#dvUserBox #dvUserMenu ul li a {
    width: 100%;
    display: inline-block;
    padding: 10px 0px;
    border-bottom: 1px solid #eee;
}
#dvProductDetailArea #detailImage {
    width: 100% !important;
    float: none;
		margin-bottom:40px;
}
.itemname{
font-size: 20px !important;
margin-bottom: 15px !important;

}
#dvProductReviewImage .title,#dvCheckList .title,#dvProductReviewImage .title,#dvCheckList .title{
    font-size: 18px !important;
}
#dvUserBox ul, #dvUserBox li {
    width: 100%;
    margin: 0 auto;
}
#primary {
    width: 100%;
				}
				.glbPlist.column5 {
    width: 50%;
padding: 5px;
}
#dvProductDetailArea #detailOne {
    width: 100% !important;
float: none !important;
    font-size: 14px;
				padding: 0;
}

.dlflex{
display:block;

}
#dvUserBox ul, #dvUserBox li {

}
.priced{
padding-left:20px;
}

.orderWrap{
    padding: 0px 4% 0 4%;
width:100%;
}

.BtnFlex{
display:block;
}
.cartFlex{
display:block;
flex-wrap:warp;
}
.cartFlex-left{
    margin-bottom: 10px;
				}
				
.CartTxt{
        width: calc(100% - 100px);
        display: block;

}
#CartList div.productList div.product p.delete {
    margin: 0 0 0 auto;
}
.BtnFlex a{
margin-bottom:12px;
}
#CartList div.productList div.priceList{
width:100%;
float:none;
}

.detailBlock div img{
width:100%;
}
.seibun .inner{
width:100%;
display:block;
}
.seibun .inner div {
    width: 100%;
    padding: 20px 15px;
}

#dvProductDetailArea{
    min-width: 320px;
    max-width: 100vw;
				padding:0 4%;

}


#CartList h2{
font-size: 20px;
}
.btnBasic {
text-decoration:none;
    width: 100%;
    display: inline-block;
    text-align: center;
}

#dvUserBox #dvFavoriteList table .productImage {
    display: table-cell;
    width: 90px !important;
}
#CartList div.productList div.priceList div{
padding:0;
}
.priceList dl {
    padding: 10px 0;

}

}
.moreLink{
display: block;
    border: 1px solid #555;
    border-radius: 60px;
    padding: 7px 40px;
    margin: 40px auto 0 auto;
    width: 200px;
    text-align: center;
}

.on{
display:none;
}

.ftmenus {
    width: 80%;
    display: flex;
    gap: 20px;
}

#footerMenu {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-evenly;
    color: #fff;
}
.dvLoginRegist .BtnFlex{
    display: block;
}
.dvLoginRegist .BtnFlex a{
margin-bottom:20px;
}
#HeadSearch .btnSearch img{
    width: 24px;
}
.foot-top-inner{
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 32px;
}
.foot-top-inner-one{
    width: 25%;
}
.foot-top-inner-one .ttl{
font-weight:bold;
margin-bottom:8px;
font-size:15px;
}
.foot-top-inner-one .tx{
font-size:13px;
}
.foot-top{
    border-top: 1px solid #ccc;
    padding: 32px 15px 0 15px;
				
				}
.foot-bottom{
    background: #f8f8f8;
    padding: 40px 15px;
}
.head-topic-area{
    background: #000;
				color:#fff;
    text-align: center;
    padding: 4px 15px;
  white-space: nowrap;       /* 改行しない */
  overflow: hidden;          /* はみ出た部分を非表示にする */
  text-overflow: ellipsis;   /* 省略記号を表示 */
  max-width: 100%;           /* 親要素を基準に制限 */
  display: block;            /* または inline-block でも可 */
}
.head-topic-area a{
color:#fff;
text-decoration:underline;
}
.col5-2 .slick-track{
margin:0 !important;
}

.col8-2 .slick-slide{
  padding: 0 10px;
}
.col8-2 .slick-list {
  margin: 0 -10px; /* 両端調整 */
}

.itemlist .slick-slide{
  padding: 0 6px;
}
.itemlist .slick-list {
  margin: 0 -6px; /* 両端調整 */
}
.search_vintage{
    display: flex;
    align-items: center;
    gap: 4px;
				margin: 0 0 16px 0;
}
#vintage_search_btn{
    background-color: var(--basecolor);
    width: 60px;
    height: 36px;
    display: flex;
    align-items: center;
    color: #fff;
    justify-content: center;
    border: 0;
    border-radius: 4px;
}

.item-list .icon,.cicon{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2px;
    flex-wrap: wrap;
margin:8px 0;
}

@media screen and (max-width: 1185px) {
.itemlist .slick-slide{
  padding: 0 6px;
}
.itemlist .slick-list {
  margin: 0 -6px; /* 両端調整 */
}


.col8-2 .slick-slide{
  padding: 0 5px;
}
.col8-2 .slick-list {
  margin: 0 -5px; /* 両端調整 */
}

.foot-top-inner{
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    gap: 32px;
    flex-direction: column;
}
.foot-top-inner-one {
    width: 100%;
				}
    .ftlogoarea {
        text-align: center;
        padding-bottom: 25px;
    }
    .ftlogoarea {
        text-align: center;
        padding-bottom: 25px;
    }
}
.copyright {
    font-size: 10px;
    text-align: center;
    margin: 40px auto 20px auto;
}

#footerMenu a {
    color: #fff;
}
#footerMenu .col1 {
    width: 20%;
}
#footerMenu dt {
    font-weight: bold;
    font-size: 15px;
    margin-bottom: 10px;
    background: #666;
    padding: 6px 12px;
    border-radius: 6px;
}
#footerMenu dd a {
    color: #fff;
    display: block;
    padding: 8px 0;
}
#breadcrumb a{
color:var(--basecolor);
text-decoration:underline;
}
#breadcrumb ul li::after {
  content: " >";

  margin-left: 4px;
}

/* 最後の<li>には「>」を付けない */
#breadcrumb ul li:last-child::after {
  content: "";
}

.sp_catemenu ul li ul a::before {
    content: "";
    width: 8px;
    height: 8px;
    border-top: solid 2px #999;
    border-right: solid 2px #999;
    transform: rotate(45deg);
    position: absolute;
    right: 2px;
    top: 8px;
}

#main .cart-btn a{
    background: var(--basecolor);
    margin: 20px 0 32px auto;
    padding: 12px 30px;
    font-size: 15px;
    font-weight: normal;
    justify-content: center;
    display: flex;
    gap: 20px;
    color: #fff;
    width: 280px;
    border-radius: 4px;
}
#main .cart-btn a{
color:#fff;
}

.foot-flex{
    display: grid;
    gap: 20px;
    justify-content: space-between;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}
.foot-ttl{
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 8px;
}
.foot-one ul{
margin-bottom:20px;
}
.foot-one ul li{
position:relative;
padding-left:16px;
}
.foot-one ul li a{
padding:4px 0;
display:inline-block;
}
.foot-one ul li::before {
    content: "・";
    color: #8A0068;
    position: absolute;
    left: 0;
    top: 5px;
}
#FootNav{
margin:20px auto;
    width: var(--main-width);
    justify-content: center;
}
#coryRight {
    font-size: 10px;
    text-align: center;
    border-top: 1px solid #ccc;
    padding: 20px 0;
}
.top-linkbn-flex{
display:flex;
gap:20px;
    justify-content: center;
}
.top-linkbn-flex li{
width:360px;
}
.top-linkbn-flex li p{
text-align:center;
padding:8px 0;
}
.top-recipe-wrap{
border-top:1px solid #ccc;
border-bottom:1px solid #ccc;
padding:32px 0;
margin:32px 0;
}
.top-recipe-flex {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    justify-content: center;
    margin: 0 auto;
    gap: 20px;
    max-width: 1000px;
}
.top-recipe-flex p{
text-align:center;
padding:8px 0;
}
.top-recipe-wrap .morebtn {
    display: flex;
    padding: 40px 0;
    text-align: center;
    justify-content: center;
    gap: 20px;
}
.seq_info{
    font-size: 10px;
    border: 1px solid #333;
    padding: 10px;
}
@media screen and (max-width: 767px) {
.top-recipe-flex {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    max-width: 100%;
}
.top-recipe-wrap .morebtn {
        justify-content: center;
        flex-direction: column;
        padding: 40px 20px 10px 20px;
}
.foot-flex{
    grid-template-columns: 1fr;
    flex-direction: column;
}
.top-linkbn-flex{
        gap: 12px;
        margin-bottom: 32px;
}
#main .cart-btn a {

    width: 80%;
   margin:20px auto 20px auto;
}
#FootNav {
    margin: 20px auto;
    width: 100%;
    flex-direction: column;
    gap: 16px;
    padding: 0 15px;
}
.num{
display:block !important;
}
.important-news-ttl{
font-size: 15px;
}
.top-item {
    margin-bottom: 0;
}
.season-items ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}
    #footerMenu .col1 {
        width: 100%;
        margin-bottom: 20px;
    }
    .ftmenus {
        display: block;
        width: 100%;
    }
#dvUserBox #dvFavoriteList table .productName{
    display: block;
}
#pagination{
display:block;
}
			#pagination .flex{
			margin-top:20px;
			}

.flexbox{
width:100%;
}
#breadcrumb {
        padding: 0 15px;
        font-size: 10px;
        margin-bottom: 8px;
        margin-top: 0px;
}


#dvUserBox #dvOrderHistoryDetail table th, #dvUserBox #dvUserModifyInput table th, #dvUserBox #dvUserModifyConfirm table th, #dvUserBox #dvUserShippingInput table th, #dvUserBox #dvUserRegistInput table th, #dvUserBox #dvUserRegistConfirm table th, #dvUserBox #dvFixedPurchaseDetail table th, #dvUserBox #dvFixedPurchaseList table th, #dvUserBox #dvFixedPurchaseDetail table th, #dvUserBox #dvPasswordReminderInput .dvReminder table th, #dvUserBox #dvPasswordModifyInput .dvModify table th{
padding:12px;
}
}

.cate-wrap {
margin: 0 auto;
    display: inline-block;
				position: relative;
}
.menuflex{
display: flex;
    align-items: center;
				}
.logoflex{
display: flex;
    align-items: center;
}				
.cate-wrap a{
color:#555 !important;
}
.cate-btn {
    padding: 6px 16px !important;
    margin: 16px 10px 30px !important;
    background: #ccc;
    color: #fff !important;
    border-radius: 44px;
}
.sp_catemenu{
margin:20px 0;
}
.sp_catemenu .menuttl,a.menuttl{
    cursor: pointer;
    padding: 10px;
    border-radius: 5px;
    color: #555;
    display: block;
    position: relative;
	
    border: 1px solid #ccc;
    margin-bottom: 12px;
}
.single-menu{
display:block;
padding:0 !important;
width:100%;
}
.single-menu p{
text-align:left !important;

}
.single-menu .menuttl::before{
content:unset;
}
.menuttl.open{
    color: #fff;
    background: var(--basecolor);
				margin-bottom:0;
				border-bottom:0;
				border-radius:5px 5px 0 0;
}
.sp_catemenu li {
  cursor: pointer;
		border-bottom:0;
}
.sp_catemenu ul{
display:none;
padding:0;
}
.sp_catemenu ul {
    border: 1px solid #ccc;
    position: relative;
    margin-bottom: 12px;
    border-radius: 0 0 5px 5px;
}
.sp_catemenu ul li ul{
margin-top:26px;
    border-radius: 5px;
}
.sp-wine-menu .sp-wine-link{
border: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px;
    margin: 16px 0 0 0;
}
.sp-wine-menu .accordion-body a::before{ 
display:none;
}
.sp-wine-link li{
border:0 !important;
padding:0 !important;
}
.sp-wine-link a{
padding: 12px 6px !important;
    border: 1px solid #ccc;
    border-radius: 4px;
    text-align: center !important;
    font-size: 10px;
}
.accordion-head{
display:block;
}
.sp_catemenu ul li {
    position: relative;
    font-weight: 300;
    border-bottom: 1px solid #ccc;
}
.sp_catemenu ul li:last-child{
    border-bottom: 0px solid #ccc;
}
.menu-content{
overflow-y: scroll;
}
.spmenu li a{
padding: 10px;
}
.dropdown__list{
cursor: pointer;
}
.spmenu li{
border-bottom: 1px solid #ccc;
}

.
.sp_catemenu ul{
position:relative;
}
.sp_catemenu ul li{
position: relative;
    font-weight: 300;
}
.sp_catemenu ul li ul li,.userbd li{
 border-bottom: 1px solid #ccc;
	}
.sp_catemenu li a{
padding:10px;
text-align:left;
}

.sp_catemenu p{
text-align:center;

}
.cate-contents {
display:none !important;
}
.cate-contents.show{
display:block !important;
}
.cate-contents li{
display:block;
}
.catelist{
display: block;
    margin-top: 10px;
    width: 20%;
}
.catetflex{
display:flex;
}
.catetflex p{
font-weight:600;
}
.catelist a{
    font-size: 13px;
    width: 225px;
    margin: 0 10px;
    display: flex;
    padding: 4px;
    justify-content: left;
    align-items: center;
    border-bottom: 1px solid #ccc;
    color: #222;
    text-decoration: none;
    position: relative;
    background: unset;
}
.cate-contents li {
    margin-bottom: 25px;
}
.cate-contents li ul li{
    margin-bottom: 0px;
}

.cate-btn.show{
font-weight:bold;
background:#d32d26;
}
.close{
position: absolute;
    top: 20px;
    width: 32px;
    right: 0;
    cursor: pointer;
}
.close2{
    position: absolute;
    top: 36px;
    width: 30px;
    right: 20px;
    cursor: pointer;
				}
.close img,.close2 img{
width:100%;
height:auto !important;
}
.dvProductAdvancedSearch{
position:relative;
    width: auto;
    margin: 0 auto 24px 0;
    padding: 0px 0;
}

.dvProductAdvancedSearch .title{
width: 200px;
    margin: 0 0 0 auto;
				}
.menu {
justify-content: center;
  display: flex;
  position: relative;
		width:1200px;
		margin:0px auto;
}
.itemlist li{
    position: relative;
}
.itemlist .rank{
border-radius: 100%;

    display: flex;
    width: 24px;
    height: 24px;
    position: absolute;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 13px;
    top: 8px;
    left: 8px;
}
.itemlist li:nth-of-type(1) .rank{
    background: #C6A973;
}
.itemlist li:nth-of-type(2) .rank{
    background: #AAAAAA;
}
.itemlist li:nth-of-type(3) .rank{ 
    background: #C1740B;
}
.itemlist li:nth-child(n + 5) .rank {
    background: #767676;
}

.tocart{
    display: block;
margin-top: 8px;
}
.tocart input{
border:0;
    background: var(--basecolor);
    width: 100%;
    display: block;
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 10px;
    color: #fff;
    font-size: 12px;
}
				
				
a:hover{
opacity:0.8;
}
.menu .menu_list {
  width:auto !important;;
}
.menu_list a{

    font-weight: bold;
    font-size: 15px !important;
}
.menu .menu_list > a {
    display: block;
    padding: 14px 18px;
    text-align: center;

  transition: .1s;
}

.slick-next {
    right: 0 !important;
}
.menu_contents {
padding: 32px 15px 32px 15px;
    background: #fff;
				box-shadow: 0 3px 10px #ccc;
  display: none;
  position: fixed;
  top: 175px;
  left: 0;
		width:100vw;
}




.product_info_icons{
width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    margin: 20px 0;
}
.product_info_icons .icname {
    border: 1px solid #ccc;
    padding: 1px 6px;
    font-size: 10px;
    border-radius: 12px;
}
.leftCateList{
    height: 460px;
    overflow-y: scroll;
						font-weight:bold;
}


.menu_contents .frm {
    padding: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
.menu_contents .frm li{
		display:inline-block;
		font-weight:bold;
		    width: 31%;
}
.menu_contents .frm li a{
position:relative;
		padding:10px;
}

.menu_contents .frm li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #42B1AC;
    border-right: solid 2px #42B1AC;
    transform: rotate(45deg);
    position: absolute;
    right: 16px;
    top: 20px;
}


.menu_contents li a {
  color: #555;
		width:100%;
		display:inline-block;
		font-weight:normal !important;
    font-size: 14px !important;

}
.menu_contents li.active a:hover{
color:#fff !important;
opacity:1 !important;
}



.cate_contents{
    background: #fff;
    padding: 20px;
    width: calc(100% - 280px);
}
.wrapSearch .wrapSearch-flex{
    display: flex;

}
.cate_contents ul{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}
.cate_contents li a{
padding:12px;
}

.pagelinks{
    display: flex;
    gap: 20px;
    font-size: 14px;
    margin: 40px 0;
    justify-content: center;
}
.pagelinks a{
    color: #333;
    background: #eee;
    padding: 4px;
    font-size: 12px;
    width: 28px;
				font-weight:normal;
    text-align: center;
    border-radius: 4px;
}
.pagelinks b{
    color: #fff;
    background: var(--basecolor);
    padding: 4px;
    font-size: 12px;
    width: 28px;
    text-align: center;
    border-radius: 4px;
}
.left-nav-banner li{
margin-bottom:16px;
}
.left-nav-category h3{
font-family:var(--mincho);
    font-size: 18px;
    margin-bottom: 18px;
}
.left-nav-category a{
text-decoration:underline;
}
.left-nav-category li{
    font-size: 16px;
}
.left-nav-category li ul li{
    font-size: 14px;
				position: relative; 
				padding-left: 1em;
}
.left-nav-category li ul li::before {
  content: "・";
		color:#8A0068;
  position: absolute;
  left: 0;                 /* 行頭に表示 */
  top: 0;
}
.left-nav-category li ul{
margin:12px 0 32px 0;
}
.special-items .ttlH2,
.top-page .ttlH2 {
font-family:var(--mincho);
    font-size: var(--fsizeL);
    margin-bottom: var(--mb_large);
    margin: 0px 0 32px 0;
    border-top: 1px solid #ccc;
    padding-top: 32px;
}

.page-top .displayContentText span{
font-weight:bold;
font-size:20px;
color:var(--basecolor);
}
.page-top .pagelinks{
display:none;
}
.page-nav {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    justify-content: space-between;
}

.left-nav{
width:240px;margin-right:28px

}

.head-scene-flex-{
display:flex;
gap:20px;
}
.wine-menu {
  display: flex;
  width: 100%;
}
.wine-left {
  width: 220px;
}
.wine-right {
    flex: 1;
    padding-left: 20px;
    width: calc(100% - 220px);
}
.wine-left-menu li {
    border: 1px solid var(--basecolor);
    cursor: pointer;
    margin-bottom: 5px;
    padding: 10px;
    line-height: 1.2;
}
.wine-left-menu li.active {
  background: #eee;
}

.menuttl:before {
content: "+";
    position: absolute;
    font-size: 20px;
    right: 9px;
    top: 4px;
    color: var(--basecolor);
				}
				
.menuttl.open:before {
    content: "-";
				color:#fff;

				}
.accordion-head::before {
    content: "+";
    position: absolute;
    font-size: 20px;
    right: 9px;
    top: 4px;
    color: var(--basecolor);
}
.accordion-head.open:before {
    content: "-";

				}
				
.wine-menu {
    display: flex;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}
.type-flex{
    display: flex;
    gap: 20px;
}
.type-flex .one{

}
.tlink a{
text-decoration:underline !important;
}
.type-flex h3{
    background: #F1E7EF;
    font-weight: bold;
    padding: 10px 12px;
    margin-bottom: 12px;
}
.menu_contents-sub{
    justify-content: center;
    display: flex;
    gap: 20px;
    max-width: 1000px;
    margin: 0 auto;
}
.menu_contents-sub li{
text-align:center;
    justify-content: center;
    display: flex;
    width:25%;
}
.menu_contents-sub li img{
max-width:172px;
border-radius:5px;
}
.menu_contents-sub li p{
margin: 8px 0;
    font-weight: normal;
    text-align: center;
    line-height: 1.4;
    font-size: 14px;
    color: var(--basecolor);
}
.imglink {
width:300px;
    display: grid;
    gap: 20px;

    align-items: center;
    grid-template-columns: 1fr 1fr 1fr;
}
.imglink img{
width:60px;
height:60px;
border-radius:100%;
}
.imglink li{
width:auto;
text-align: center;
}
.wine-left-menu{
font-weight:bold;
}
.wine-left-menu .active{
background:#7D1765 !important;
color:#fff;
}
.imglink li p{
margin-top:4px;
font-size: 12px;
text-align: center;
line-height: 1.3;
}
.tlink{
width:200px;
}
.tlink a{
  position: relative;
padding:4px 0 0 16px;
}
.tlink a::before {
  content: "・";
		color:#8A0068;
  position: absolute;
  left: 0;                 /* 行頭に表示 */
  top: 2px;
}
.menu_contents-sub-tx{
display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
}
.menu_contents-sub-tx li{
    width: 20%;
}
.menu_contents-sub-tx li a{
    border: 1px solid #ccc;
    padding: 11px 20px;
    font-weight: bold;
    display: block;
    text-align: center;
}


.top-subsc{
    background-color: var(--basecolor);
				padding:10px;
}
.top-subsc-inner{
    display: flex;
    background: #fff;
}
.top-subsc-inner img{
width:50%;
}
.top-subsc-inner .tx{
width:50%;
padding:30px;
}


.top-subsc-inner .tx .ttl{
    font-family: var(--mincho);
    font-weight: bold;
    color: var(--basecolor);
    font-size: 20px;
    margin-bottom: 20px;
}
.top-subsc-inner .tx .subttl{
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 14px;
    color: var(--basecolor);
}
.top-subsc-inner .top-subsc-tx{
    font-family: var(--mincho);
			}	
.top-subsc-inner .line{
    border: 1px solid var(--basecolor);
    text-align: center;
    color: var(--basecolor);
    padding: 3px 7px;
    margin-left: 6px;
    font-size: 18px;
}

.btnsubsc{
    background-color: var(--basecolor);
    display: flex;
    gap: 16px;
    align-items: center;
    width: 280px;
    justify-content: center;
    padding: 12px 20px;
    color: #fff;
    margin: 20px 0;
}
.btnsubsc img{
width:50px;
}

.top-about h2 img,.special-items.top-about-wrap h2 img,.top-seisan h2 img
{
    height: 86px;
    margin: 0 auto 40px auto;
    display: block;
				}
				
.top-about-img img{
max-width:100%;
margin-bottom:40px;
}
.top-about-message p{
font-family:var(--mincho);
    line-height: 2.2;
    margin-bottom: 32px;
    font-size: 16px;
    text-align: center;
				}
.top-about-message p.point{
    color: var(--basecolor);
}


.top-about-btn{
display:flex !important;
gap:40px;
margin:40px 0 60px 0;

justify-content: center;
}
.top-about-btn li a{
min-width:300px;
}
.top-about-btn a{
font-family:var(--mincho);
justify-content: center;
display:flex;
color:#fff;
padding:12px 20px;
gap:12px;
    background-color: var(--basecolor);
				}
.loop-slider{
margin-bottom:20px;
}
.loop-slider img {
padding:10px;
}

.top-about .subtxt{
color:#9B8B8B;
font-size:13px;
text-align:center;
margin-bottom:40px;
}

.loop-slider {
  display: flex;
  width: max-content;
  animation: scrollLoop 30s linear infinite;
}
@keyframes scrollLoop {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
html{
width:100%;
overflow-x:hidden;
}
.slider-wrapper{
overflow: hidden;
  width: 100%;
  position: relative;
}
.loop-slider img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto; /* 中央寄せ */
}

.loop-slider li {
width:240px;
}

.special-items .ttlH2{
padding-top: 96px;
}

@media screen and (max-width: 767px) {
.dvProductAdvancedSearch{
padding:0 15px;
}
.loop-slider li {
width:180px;
}
}


.top-subsc-menu{
display: flex;
    gap: 30px;
}
.top-subsc-menu a{
position: relative;
    padding-right: 30px;
}
.top-about-list{
display: grid;
    grid-template-columns: 1fr 1fr  ;
    padding: 0 15px;
    gap: 20px;
}
.top-about-list li{
position:relative;
    padding: 0 0 30px;
}
.top-about-list img{
width:72%;
margin-bottom:10px;
}
.pnanel{
padding:10px;
    background: #fff;
    position: relative;
    width: 270px;
margin: -142px 53px 0 auto;
}
.pnanel .lines{
    border: 1px solid var(--basecolor);
				padding:10px 20px 20px 10px;
    margin: 0 -18px -18px 0;
}		
.top-about-list .ttl{
color: var(--basecolor);
    font-weight: bold;
    font-family: var(--mincho);
    font-size: 19px;
    margin-bottom: 10px;
}
.top-about-wrap{
    background: #EBEAEA;
    margin: 60px 15px;
    padding: 60px;
}
.top-about-wrap h2{
border:0 !important;
}
.top-about-mes{
    display: flex;
    max-width: 1000px;
    gap: 50px;
    align-items: center;
    margin: 80px auto;
}
.top-about-mes .tx{
padding: 20px;
    width: 74%;
    font-size: 14px;
    font-family: var(--mincho);
				}
.top-seisan{
    padding: 30px 15px;

}
.top-seisan .top-seisan-left{
width:100%;
    padding: 0px 0px;
				    position: relative;

}
.top-seisan .top-seisan-left h2{
font-family: var(--mincho);
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 20px;
}
.top-seisan .top-seisan-left .tx{
    position: absolute;
    line-height: 2;
    top: 0;
    z-index: 10;
    background: #63005A;
    padding: 20px;
    color: #fff;
    width: 320px;
    height: 100%;
    left: 100px;
}
.top-seisan .top-seisan-left  .ttl{
    text-align: center;
    margin: 40px 0;
    font-family: var(--mincho);
    font-size: 20px;
}
.top-seisan .top-seisan-left  .t{
				    font-family: var(--mincho);
				}
.top-seisan .top-seisan-right{
    width: 100%;
    margin: 60px 0 0 0;
}
.top-seisan .top-seisan-right ul{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 24px;
}
.top-seisan .top-seisan-right li {

    background: #fff;

    margin-bottom: 10px;

}
.top-seisan-right img{

}

.top-seisan-right .top-about-btn li a {
    min-width: 248px;
}

	.top-seisan-right li a{	
   /* font-family: var(--mincho);*/
    justify-content: center;
    display: block;
    /*color: #fff;*/
    padding: 0;
    background-color: unset;
}
		
	.top-seisan .top-seisan-right {
    width: 85%;
				    margin: 60px auto 0 auto;
}	

		.top-seisan-right .ttl{
    color: var(--basecolor);
    font-family: var(--mincho);
    margin-bottom: 12px;
    font-size: 14px;
		}
		
.top-seisan-right .tx{
margin:10px 0 0 0;
/*font-weight: bold;
font-size:15px;
color: var(--basecolor);
font-family: var(--mincho);
*/
}
@media screen and (max-width: 767px){
.top-about-wrap {
    background: #EBEAEA;
        margin: 60px 0 20px 0;
        padding: 60px 20px 20px 20px;
}

.top-seisan {
    padding: 40px 0px;
    background-image: url();


flex-direction: column;
}
.top-seisan-right li a {
    font-size: 14px;
				}
.top-seisan .top-seisan-right {
    width: 100%;
    margin: 60px auto 0 auto;
}
.top-seisan-right .top-about-btn li a {
    min-width: 90%;
}
.top-seisan-right .ttl{
    font-size: 12px;
    line-height: 1.4;
}
.top-seisan-right .tx{
font-size: 15px;
    line-height: 1.3;
}
.top-seisan .top-seisan-left {
    width: 100%;
    padding: 20px 0;
}
.top-seisan .top-seisan-left .tx {
    position: relative;
    line-height: 2;
    top: 0;
    z-index: 10;
    background: #63005A;
    padding: 20px;
    color: #fff;
    width: 100%;
    height: auto;
    left: auto;
}
.top-seisan .top-seisan-left .ttl {
    text-align: center;
    margin: 0 0 20px 0;
    font-family: var(--mincho);
    font-size: 18px;
}
.top-seisan .top-seisan-right ul {
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr 1fr;
}
.top-seisan .top-seisan-left .tx {

    padding: 20px 32px 32px;
				}
.top-seisan-left img{
    aspect-ratio: 4 / 3;
    background-size: cover;
}
				
.top-subsc-inner {
    flex-direction: column;
				}
.top-subsc-inner img {
    width: 100%;
}
.top-subsc-inner .tx {
    width: 100%;
    padding: 12px;
}

.top-subsc-inner .line{
    font-size: 16px;
    display: block;
}
.btnsubsc{
    margin: 20px auto;
}
.rank-scroll{
overflow-x: scroll;
    width: 92vw;
				}
.rank-tab{
display: flex;
    margin-bottom: 24px;
    min-width: 500px;
}
.rank-tab li {
    padding: 13px;
    border-bottom: 2px solid #ccc;
    width: 20%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.top-about-list img {
    width: 84%;
				}
.pnanel {
    padding: 10px;
    background: #fff;
    position: relative;
    width: 94%;
    margin: -40px 0px 0 15px;
}
.top-subsc-inner .tx .subttl {
    text-align: center;
				}
.top-about-list {
    display: grid;
    grid-template-columns: 1fr ;
    padding: 0;
    gap: 15px;
}
.top-about-list .ttl {
    font-size: 14px;
    margin-bottom: 10px;
    line-height: 1.4;
}
.top-about-list .tx{
    font-size: 13px;
    line-height: 1.4;
}
.top-subsc-menu {
    display: flex;
    gap: 30px;
    margin-bottom: 20px;
    justify-content: center;
}
.top-about-mes {
width:80%;
    flex-direction: column-reverse;
    gap: 20px;
    align-items: center;
    margin: 60px auto;
}
.top-about-mes .tx {
    padding: 20px 0;
    width: 100%;
				}
.page-nav{
padding: 0 15px;
}
.item-list {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding: 0 15px;
}
select, input[type="text"], input[type="password"], input[type="email"], input[type="tel"] {
    font-size: 16px;
}
.left-nav{
display:none;

}
.logoflex{
min-width:auto;
}
#page-title{
padding:0 15px;
}
#HeadSearch{
display:none;
}
.close2{
    position: absolute;
    top: 26px;
    width: 30px;
    right: 10px;
    cursor: pointer;
}
.container-fluid{
padding: 0 15px !important;
}
}



  .cate_contents {
		position:absolute;
		top:0;
		left:280px;
    display: none;
  }
  .on {
		    display: block !important;
  }
  .onview {
    display: block;
  }
		.open{
    display: block !important;
		}
		.subon{
		background:#fff;
		margin-bottom:2px;
    padding: 6px 10px;
		}
		.subon.sel{
		font-weight: bold;
    background: #42B1AC;
    color: #fff;
    padding: 6px 10px;
				}
.user-menu-flex{
    display: flex;
				justify-content: space-between;

    gap: 40px;
				}
.user-menu-side{
width:240px;
}
.user-menu-cont{
    width: calc(100% - 290px);
}

.tanhou-img{
woidth:100%;
max-width:500px;
}
.tanhou-flex{
    display: flex;
				margin:40px 0;
}
.tanhou-flex{
display:flex;
margin:40px 0;
}
.tanhou-tx{
    background: #fff;
    padding: 32px;
    margin-top: 160px;
    margin-left: -92px;
				}
.tanhou-tx .tx1{
    font-family: var(--mincho);
    margin-bottom: 4px;
				}
.tanhou-tx .tx2{
    font-size: 20px;
    font-family: var(--mincho);
    margin-bottom: 20px;
    font-weight: bold;
				}
.tanhou-tx .tx3{
    font-family: var(--mincho);
				line-height:1.9;
}

.tanhou_ct{
    display: flex;
    gap: 20px;
				}
.tanhou_ct .photo{
margn-bottom:12px;
}

@media screen and (max-width: 767px){
.tanhou-flex {
    display: block;
    margin: 20px 0;
}
.tanhou-tx {
    background: #fff;
    padding: 18px;
    margin: -32px auto 0 auto;
    /* margin-left: 0; */
    z-index: 40;
    position: relative;
    width: 94%;
}
.tanhou_ct {
    display: flex;
    gap: 6px;
}
.tanhou_ct p{
    font-size: 12px;
    line-height: 1.3;
    margin-top: 4px;
}
}

.season-items .arrow{
    transform: rotate(135deg);
}
.season-items .open .arrow{
    transform: rotate(-45deg);
    right: 12px;
    top: 44%;
}
.season-items .open{
    display: inline-block !important;
}

.top-news{
  border: 1px solid var(--basecolor);
		padding:10px;
		border-radius:5px;
}
		
.top-news .title {
    position: relative;
    padding: 16px 0;
    cursor: pointer;
    background: no-repeat;
    margin-bottom: 2px;
}

.top-news .title::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--basecolor);
  border-bottom: 2px solid var(--basecolor);
  transform: translateY(-50%) rotate(45deg); /* 下向き */
  transition: transform 0.2s;
}

.top-news .title.open::after {
  transform: translateY(-50%) rotate(-135deg); /* 上向き */
}

.top-news .cont {
  display: none;
  padding: 15px;
  background: #fff;
}

.top-news .one{
    border-bottom: 1px solid #ccc;
				}
.top-news .one:last-child{
border-bottom:0;
}

.top-search-wrap .slick-slide{
padding:0 6px;
}
.chk-history{
margin:32px auto;

}
.chk-history .name{
margin-top:10px;
}
.chk-history .price{
    color: var(--basecolor);
    font-weight: 600;
}
@media screen and (max-width: 767px){
.chk-history{
width:92%;
}
}



.menu .menu_list > a{
position:relative;
}
header .update{
    display: block;
    width: 8px;
    height: 8px;
    background: var(--basecolor);
    position: absolute;
    top: 12px;
    left: 8px;
    border-radius: 100%;
}
.sp_catemenu .update{
    width: 12px;
    height: 12px;
    top: -5px;
    left: -5px;
}


@media screen and (max-width: 767px) {
    .CreditCardDetail .itemname {
        font-size: 14px !important;
        margin-bottom: 3px !important;
    }
}