@charset "utf-8";

:root {
--main-font-color: #3c3c3c;
--strong-font-color: #e6580d;
--cvr-button-background: #006db8;
}
.nodisplay{
display: none;
}
.fs-c-productListItem__productDescription {
    display: none;
}
a img:hover {
    opacity: 0.8;
}
.vegan-wine {
    display: block;
    text-align: center;
    border: 2px solid #969d44;
    padding: 5px 0;
font-size: 16px;
}
.vegan-wine h5{
font-size: 16px;
font-weight: bold;
}
.logout.my-false { display: none; }
.login.my-true { display: none; }
body{
color: var(--main-font-color);
font-family: var(--font-japanese) !important;
}
/*カートボタン回り*/
br.sp_br {
    display: none;
}
button.fs-c-button--addToCart--detail.fs-c-button--primary {
    background: var(--cvr-button-background);
    border-radius: 8px;
    width: 100%;
    border: none;
    padding: 18px;
    font-weight: 900;
    line-height: 24px;
    font-size: 20px;
}
.fs-c-button--addToCart--detail > span.fs-c-button__label:before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    margin: -3px 15px 0 0;
    background: url(https://cocoscocos.itembox.design/item/img/common/cart-button-icon.png) no-repeat;
    background-size: contain;
    vertical-align: middle;
}
.fs-c-button--particular.fs-c-button--addToWishList--detail::after {
    color: var(--strong-font-color);
}
.fs-c-productPointDisplay{
background: transparent;
color: var(--main-font-color);
}
span.fs-c-productPointDisplay__quantity {
color: #e6580d;
font-size: 14px;
}
.fs-c-productPrice--listed{
    display: none;
}
.fs-c-breadcrumb__listItem {
    display: none;
}
.fs-c-breadcrumb__listItem:nth-last-of-type(2){
    display: inline-block;
}
.fs-c-breadcrumb__listItem + .fs-c-breadcrumb__listItem::before{
content:"";
}
li.fs-c-breadcrumb__listItem {
/*border: 1px #222 solid !important;*/
/*border-radius: 8px;*/
margin: 14px 10px;
font-size: 14px;
/*box-shadow: 2px 2px 5px #ab9c77;*/
/*background: #ffffff;*/
/*color: #222 !important;*/
text-decoration: none;
white-space: nowrap;
transition: all .5s;
}
li.fs-c-breadcrumb__listItem:hover {
/*box-shadow: 0px 0px 0px #ab9c77;*/
/*transform: translate(3px, 3px);*/
opacity: 0.7;
}
li.fs-c-breadcrumb__listItem > a{
color: black;
text-decoration: none;
display: block;
padding: 5px;
background: #e8e8e8;
}
.fs-c-breadcrumb {
    max-width: 1216px;
    margin: 0px auto;
    display: inline;
}
ol.fs-c-breadcrumb__list {
    display: inline;
}
.fs-c-productNameHeading__copy{
display:block;
}
.fs-p-productDescription.fs-p-productDescription--full {
    padding: 0 24px;
}
.select_wine_pc, .iframe_slide1, .iframe_slide2 {
    position: relative;
    width: 100%;
    height: 0;
}
.select_wine_pc{
    padding-top: 68%;
}
.iframe_slide1{
    padding-top: 58%;
}
.iframe_slide2{
    padding-top: 53%;
}

.select_wine_pc iframe, .iframe_slide1 iframe, .iframe_slide2 iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#fullsize_squareslide_wrapper{
	position: relative;
	margin-top: 50px;
	margin-bottom: 20px;
	width: 100%;
}
#fullsize_squareslide_wrapper:before {
	content:"";
	display: block;
}
@media screen and (min-width: 1400px){
	#fullsize_squareslide_wrapper:before {
			padding-top: 31%; /* 高さと幅の比固定。9/16*100=56.25 */
	}
}
@media screen and (min-width: 1025px) and (max-width: 1399px){
	#fullsize_squareslide_wrapper:before {
			padding-top: 31%; /* 高さと幅の比固定。9/16*100=56.25 */
	}
}
@media screen and (max-width: 1024px){
	#fullsize_squareslide_wrapper:before {
		padding-top: 42%;
	}
}
#fullsize_squareslide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media screen and (min-width: 960px) {
  .oshiharai {
    margin-top: 0;
    flex-grow: 1;
    flex-basis: 320px;
    min-width: 320px;
  }
}
.breadcrumb-cocos {
    margin: 0 auto;
    padding: 8px;
    max-width: 1216px;
}
.fs-p-drawer__heading{
border-bottom: none;
}
div.image-font-none{
	font-size: 0;
}

li.fs-c-subgroupList__item {
    border: 1px #c9bc9c solid !important;
    border-radius: 8px;
    margin: 5px 5px;
    font-size: 14px;
    box-shadow: 2px 2px 5px #ab9c77;
    background: #ffffff;
    color: #000000 !important;
    text-decoration: none;
    white-space: nowrap;
    transition: all .5s;
}
li.fs-c-subgroupList__item a{
    background: transparent;
}
/* カテゴリリストCSS*/
a.fs-c-subgroupList__link {
    border: none;
    padding: 8px 10px;
}
li.fs-c-subgroupList__item:hover {
    box-shadow: 0px 0px 0px #ab9c77;
    transform: translate(3px, 3px);
}

@media screen and (min-width: 960px){
	.fs-c-subgroupList__item {
		max-width: calc(33% - 5px);
	}
}


@media screen and (min-width: 768px) and ( max-width:959px){
	.fs-c-subgroupList__item{
		max-width: 48%;
	}
}
a:visited {
    color: #9C27B0;
}
.smp320-display-none{
  display: none;
}
/*//////////////////
長すぎるカテゴリ文の省略//////
*/
.fs-c-subgroupList__label{
    overflow: hidden;
    text-overflow: ellipsis;
}
/*//////////////////
フリーページ関連//////
*/
/*見出し*/
.fs-c-documentArticle__heading{
    font-size: 2rem;
    margin: 30px 0 16px;
    padding: 10px 8px;
}
.fs-l-pageMain{
    padding-right: 8px;
    padding-left: 8px;
}
.smp-only{
display: none;
}

/* 認証マーク */
.ninsho-block{
	border: 1px solid #77af26;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
	align-items: center;
}
.ninsho-box-left{
	display:inline-block;
	width:25%;
}
.ninsho-box-left img{
	width: 100%;
	display:block;
}
.ninsho-box-right{
	display:inline-block;
	width:70%;
	vertical-align: top;
	padding: 5px 0;
}
.ninsho-name{
	background: #77af26;
	padding: 2px;
	font-size: 14px;
	text-align: center;
	vertical-align: top;
	color: #ffffff;
	font-weight: bold;
	margin: 0 0 10px 0;
}
.ninsho-div {
    text-align: center;
}

.blog-image-link img{
	width:100%;
	margin:5px auto;
}

/* --- 流れるテキストバー（アナウンスバー） --- */
.announcement-bar {
  width: 100%;
  background-color: #2b2b2b; /* 背景色 */
  color: #ffffff;            /* 文字色 */
  overflow: hidden;          /* 枠外を非表示 */
  white-space: nowrap;       /* 改行防止 */
  padding: 8px 0;            /* 上下余白 */
  font-size: 14px;           /* 文字サイズ */
  box-sizing: border-box;
}

.announcement-track {
  display: inline-block;
  padding-left: 100%;
  /* 速度指定を個別で明記（35s→45sなどに変更） */
  animation-name: marquee;
  animation-duration: 45s !important; /* !importantを追加して強制適用 */
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

.announcement-track span {
  margin-right: 60px; /* テキストとテキストの間のすき間 */
}

/* 右から左へ流れるアニメーション */
@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

/* --- 送料・決済エリアのデザイン整列 --- */
.shipping-pay-info {
  background-color: #fdfdfd;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 14px 16px;
  margin: 15px 0;
  font-size: 14px;
  color: #333333;
  box-sizing: border-box;
  width: 100%;
}

.shipping-pay-info .info-block {
  display: flex;
  flex-direction: column;
}

.shipping-pay-info .info-header {
  display: flex;
  align-items: center;
  gap: 8px;
}

.shipping-pay-info .info-header img {
  height: 24px;
  width: auto;
  flex-shrink: 0;
}

.shipping-pay-info .main-text {
  font-weight: bold;
}

.shipping-pay-info .highlight-text {
  font-weight: bold;
  color: #c02626; /* 送料無料ライン（深めの赤） */
  margin-left: 4px;
}

.shipping-pay-info .info-detail {
  padding-left: 32px;
  margin-top: 4px;
}

.shipping-pay-info .sub-note {
  font-size: 12px;
  color: #777777;
  margin: 0 0 4px 0;
}

.shipping-pay-info .detail-link {
  font-size: 13px;
  color: #0066cc;
  text-decoration: underline;
}

.shipping-pay-info .detail-link:hover {
  color: #003399;
}

/* 区切り線 */
.shipping-pay-info .info-divider {
  border: none;
  border-top: 1px dashed #e0e0e0;
  margin: 12px 0;
}

/* --- お支払い方法ブロック --- */
.shipping-pay-info .payment-block {
  gap: 8px;
}

.shipping-pay-info .payment-title .payment-link {
  color: #333333;
  text-decoration: none;
  font-weight: bold;
  font-size: 13px;
}

.shipping-pay-info .payment-title .payment-link:hover {
  color: #0066cc;
  text-decoration: underline;
}

.shipping-pay-info .payment-icons-link {
  text-decoration: none;
  display: block;
}

.shipping-pay-info .payment-icons {
  display: flex;
  align-items: center;
  flex-wrap: wrap; /* スマホで溢れたら自動改行 */
  gap: 6px;
}

.shipping-pay-info .payment-icons img {
  height: 22px;
  width: auto;
}

/* バッジ全体のデザイン統一 */
.shipping-pay-info .payment-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: bold;
  color: #444444;
  background-color: #ffffff;
  border: 1px solid #cccccc;
  border-radius: 4px;
  padding: 2px 6px;
  line-height: 1.2;
}

/* 補足テキスト */
.shipping-pay-info .payment-text-list {
  font-size: 12px;
  color: #666666;
  line-height: 1.5;
  margin-top: 2px;
}

/* PCのみ改行を表示する */
.shipping-pay-info .pc-only {
  display: inline;
}

/* 2行になるためトラックアイコンを上寄せにする */
.shipping-pay-info .info-header {
  align-items: flex-start !important;
}

.shipping-pay-info .info-header img {
  margin-top: 2px; /* アイコンの位置調整 */
}

/* ヴィンテージ注意事項ブロック */
.vintage-notes {
  background-color: #f9f9f9;
  border: 1px solid #e2e2e2;
  border-radius: 6px;
  padding: 12px 14px;
  margin: 12px 0;
  font-size: 12px;
  color: #333333;
  line-height: 1.6;
}

.vintage-notes-title {
  font-weight: bold;
  font-size: 13px;
  color: #444444;
  margin-bottom: 6px;
}

.vintage-notes-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.vintage-notes-list li {
  position: relative;
  padding-left: 14px;
  margin-bottom: 4px;
}

.vintage-notes-list li:last-child {
  margin-bottom: 0;
}

/* 行頭の箇条書きドット（ワインレッドアクセント） */
.vintage-notes-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #900c3f; /* ワインレッド */
  font-weight: bold;
}

/* 強調テキスト */
.vintage-notes-list .highlight {
  color: #c02626;
  font-weight: bold;
}

#related-blog-heading,.blog-link,#winery-map-title,.iframe-wrap{
display:none !important;
}
