/*
Template: storefront
Theme Name: storefront_child
Version: 2.5.2
Description: A child theme of Storefront
Author: HT
*/

/* ボタンリンク関係 */
button, input[type="button"], input[type="reset"], input[type="submit"], .button, .added_to_cart, .widget a.button, .site-header-cart .widget_shopping_cart a.button {
	background-color: #1E5D85;
}
.added_to_cart.alt, .added_to_cart.cta, .button.alt, .button.cta, button.alt, button.cta, input[type=button].alt, input[type=button].cta, input[type=reset].alt, input[type=reset].cta, input[type=submit].alt, input[type=submit].cta {
	background-color: #1E5D85;
}

/* カートに入れるボタンの角を少しだけ丸く（商品一覧・商品詳細ページ）
 * - border-radius: 4px → 控えめな丸み
 * - white-space: nowrap → スマホでもボタン文字が2行に折り返さないよう保険
 * - padding等は変更しないため、現在のボタンサイズ・改行状況に影響を与えない */
.add_to_cart_button,
.single_add_to_cart_button {
	border-radius: 4px !important;
	white-space: nowrap !important;
}

/* ヘッダーカートログイン隠す */
#masthead .site-header-cart {display:none;}
.menu {width:127%;}
#masthead .col-full .secondary-navigation {display:none;}
#masthead .widget form {display:none;}
.search-field#woocommerce-product-search-field-0 {display:none;}

.hentry .wp-post-image {width:550px; height:auto;}
div#wpadminbar {margin-top:-1px;}
.woocommerce-customer-details {display:block!important; background-color:#f8f8f8!important;}

@font-face {
    font-family: 'FontAwesome';
    src: url(../../../../../../../themes/storefront_child/assets/fonts/fa-solid-900.woff2) format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap; /* これを追加することで警告が消えます */
}


/* ホバー（PC時のみ） */
@media screen and (min-width:1200px) {
	a:hover {opacity:0.7;}
}
/* 商品ライトボックスでキャプション非表示 */
.pswp__caption__center {
    display: none;
}

/* 全体の基本調整 */
.col-full {
	margin-top:1em;
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;
	box-sizing:content-box;
	padding-left:3.3%;
	padding-right:3.3%;
}
/* homeアイキャッチ画像非表示 */
#post-27572 .entry-thumbnail {display:none;}
#post-25 .entry-thumbnail {display:none;}
body {font-size:1rem;}
.page-title {display:none;}
h3, .gamma {font-size:23px!important;}
h4, h5, h6, p, .site-content p, .has-large-font-size {
	font-size:18px!important;
	letter-spacing:2px;
}
div.site-content p, div.entry-content {
	font-size:18px!important;
	letter-spacing:1px;
}
/* 段落間余白を2割詰める（Storefrontデフォルト 1.41575em → 1.13em ≒ -20%）*/
.site-content p {margin-bottom:1.13em!important;}

.woocommerce-breadcrumb {
	font-size:17px!important;
	letter-spacing:1px;
}
#searchBtnPhone {display:none;}
iframe {max-width:98%;}
article.post .entry-meta {display:none;}

.single-product div.product p.price {font-size:1.2rem; margin:10px 0;}
.product_title, .woocommerce-tabs .panel h2:first-of-type {font-size:1.2rem!important;}
/* 商品グリッド表示時の文字少し小さめ*/
ul.products li.product .woocommerce-loop-product__title, ul.products li.product h2, ul.products li.product h3 {font-weight:510; font-size:1.0rem!important;}
.woocommerce-tabs ul.tabs li.active a, ul.products li.product .price, .onsale form:before {font-size:1.2rem;}

.section-title {font-size:1.4rem;}
ul.products li.product.product-category img, ul.products li.product img {border:0.5px solid #ccc;}
ul.products li.product .button {padding:10px;}
.single-product div.product .woocommerce-product-gallery .flex-viewport {margin-bottom:15px;}
.single-product div.product form.cart {margin-bottom:0;}
.stock.in-stock {margin-bottom:0;}
.woocommerce-tabs {padding-top:0;}
.storefront-breadcrumb {margin-bottom:0;}
.storefront-full-width-content.single-product div.product .summary {margin-bottom:20px;}
.storefront-full-width-content.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li {margin:0 15px 15px 0;}
.site-header {padding-top:30px;}
.storefront-full-width-content .woocommerce-products-header, .storefront-full-width-content.woocommerce-account .entry-header, .storefront-full-width-content.woocommerce-cart .entry-header, .storefront-full-width-content.woocommerce-checkout .entry-header {padding-bottom:30px;}

.storefront-handheld-footer-bar {height:8.5%; margin-top:0;}
.woocommerce-info, .woocommerce-message, .woocommerce-noreviews, p.no-comments {display:none;}

.site-header {background-color:#43596b;}
.pagination .page-numbers li .page-numbers.current, .woocommerce-pagination .page-numbers li .page-numbers.current {background-color:#cfcfcf; border-color:#cfcfcf;}
#masthead.site-header {margin-bottom:0;}

.single-product div.product .woocommerce-product-rating {font-weight:100; margin-bottom:1.618em; margin-top:0;}
/* ウィンドウ幅に追随・狭くなったら折り返す */
.main-navigation ul.menu, .main-navigation ul.nav-menu {max-width:1200px; flex-wrap:wrap;}
.cart-contents {margin-left:50px; color:#eeee22;}
.single .post-author, .posted-on, .post-author {display:none!important;}

/* コメント表示 */
dl.mycomment {width:100%; margin:0 auto;}
dl.mycomment dt {text-align:left; clear:left; float:left; width:40px; white-space:nowrap; padding-top:16px;}
dl.mycomment dd {margin-left:0; padding:1px 0 5px 0; border-bottom:#C3CDCE 2px dotted; padding-top:16px;}
dl.mycomment dd:last-child {border-bottom:0;}
dl.mycomment dd span.my_author {font-weight:600;}
dl.mycomment dd span.my_comments_content {font-size:14px;}

/* 注文同意 */
.woocommerce-terms-and-conditions {max-height:300px; font-size:25%!important; overflow:auto;}
.entry-content > table > tbody > tr > th {font-size:13px!important; width:100px!important;}

/* お客様ログイン */
.u-columns.col2-set h2 {font-size:24px;}

/* お支払いページ */
body.page-id-542 .hentry .entry-header h1 {font-size:25px;}
body.page-id-542 #billing_country_field label {display:none;}
body.page-id-542 #billing_country_field .woocommerce-input-wrapper {display:none;}
body.page-id-542 .woocommerce-order .woocommerce-order-details h2 {font-size:24px;}
body.page-id-542 .woocommerce-order .woocommerce-customer-details h2 {font-size:24px;}

/* Global */
body .primary-navigation .menu > .menu-item > a {font-size:16px;}
body #main .hentry p {font-size:17px;}
body .entry-content div div div {font-size:17px;}
body .entry-content > div > div {font-size:17px;}
body .hentry .entry-content div {font-size:17px;}
body .entry-summary .woocommerce-product-details__short-description p {font-size:17px;}
body .wp-block-media-text a strong {font-size:20px;}
body #secondary .widget .widget-title {font-size:21px!important; padding-bottom:0;}
body #main .entry-title a {font-size:24px!important;}
body .hentry .entry-header h1.entry-title {font-size:24px!important;}
body #main .hentry h2 {font-size:24px!important;}
body #page .storefront-breadcrumb .col-full nav {font-size:17px!important;}

/* Post Template */
body.single-post .hentry .entry-header h1 {font-size:28px;}
body.single-post .storefront-breadcrumb .col-full nav {font-size:14px!important;}
body.single-post #main .hentry .entry-header {display:inline-block;}
body.single-post .hentry .post-comments a {display:inline-block; min-height:42px;}

/* Category Page */
body.category #main .entry-title a {font-size:25px;}

/* Product Template */
body.single-product #tab-description p {font-size:17px;}
body.single-product .storefront-breadcrumb .col-full nav {font-size:15px!important;}
body.single-product #main .product h1 {font-weight:500;}

/* ABOUT Page */
body.page-id-26 .primary-navigation .menu > .menu-item > a {font-size:16px;}

/* カートページ */
body.page-id-540 .hentry .entry-header h1 {font-size:25px; display:none;}
body.page-id-540 .woocommerce-cart-form tr .actions {font-size:14px;}
body.page-id-540 #coupon_code {font-size:13px;}
body.page-id-540 .actions .coupon .button {font-size:14px;}
body.page-id-540 .cart-collaterals .cart_totals h2 {display:none;}
body.page-id-540 .cart_totals .wc-proceed-to-checkout a {font-size:22px!important;}

@media (max-width:767px) {
	body.page-id-540 #main .hentry .entry-content h6 .woocommerce .cart-collaterals .cross-sells h2 {font-size:20px!important;}
}


/* スマホ削除ボタン位置：サムネ右側にずらす */
@media (max-width: 600px) {
	body.woocommerce-cart {
		overflow-x: hidden;
	}
	.woocommerce-cart .woocommerce-cart-form {
		margin-top: 10px !important;
	}
	.woocommerce-cart table.woocommerce-cart-form__contents td.product-remove {
		position: relative !important;
		top: 25px !important;
		left: 290px !important;
		vertical-align: middle !important;
		overflow: visible !important;
		padding: 2px !important;
		z-index: 999 !important;
	}
	.woocommerce-cart .cart_totals {
		width: 100% !important;
	}

/* スマホ：商品フル画面表示の左右矢印を表示 */

  .pswp__button--arrow--left,
  .pswp__button--arrow--right {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    top: auto !important;
    bottom: 80px !important;
    width: 50px !important;
    height: 50px !important;
  }
  .pswp__button--arrow--left {
    left: 10px !important;
  }
  .pswp__button--arrow--right {
    right: 10px !important;
  }
  .pswp__button--arrow--left::before,
  .pswp__button--arrow--right::before {
    background-color: rgba(0,0,0,0.5) !important;
    border-radius: 50% !important;
  }

/* PhotoSwipe関連：キャプション非表示 */
.pswp__caption__center {display:none;}
/* ×ボタンをタップで隠れないよう常時表示 */
.pswp--ui-hidden .pswp__button--close,
.pswp--ui-hidden .pswp__counter {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
}
/* ×ボタンのスマホ位置調整 */

  .pswp__button--close {
    right: 0 !important;
    left: auto !important;
    margin-right: -15px !important;
  }
}

/* 特定商取引法 */
body.page-id-644 .entry-content td th {font-size:11px!important;}
body.page-id-644 .entry-content td td {font-size:12px!important; padding-right:0;}
body.page-id-644 .entry-content > table > tbody > tr > th {font-size:11px!important;}
body.page-id-644 .entry-content > table > tbody > tr > td {font-size:12px;}
body.page-id-644 .entry-content tr p {font-size:12px!important;}
body.page-id-644 .entry-content tr div {font-size:12px!important;}
body.page-id-644 .hentry .entry-header h1 {font-size:18px!important;}

/* SHOP Page */
body.post-type-archive-product .wp-block-media-text a strong {font-size:14px;}
body.post-type-archive-product #secondary .widget .widget-title {font-size:18px!important;}

/* BLOG Page */
body.blog #main .entry-title a {font-size:25px;}
body.blog #main .hentry h2 {font-size:25px;}

/* お客様の声 */
body.postid-11000 .storefront-breadcrumb .col-full nav {font-size:18px!important;}

.hentry .entry-header h1 {font-weight:400;}
#main .entry-header a {font-weight:400;}
.single-product-main-image button svg {display:inline-block;}

/* スマホ商品カタログ横並び */
ul.products li.product {width:48%; float:left; margin-right:2.8823529412%;}
ul.products li.product:nth-of-type(2n) {margin-right:0;}
@media (min-width:768px) {
	ul.products li.product:nth-of-type(2n) {margin-right:2.8823529412%;}
}

/* Thumbnails */
#wooswipe .thumbnails {max-height:120px; min-height:120px; position:relative; top:-45px;}
#wooswipe {height:500px;}
@media (min-width:768px) {
	#wooswipe {margin-bottom:20px;}
}

/* メニューアロー */
.handheld-navigation .menu > .menu-item > button {left:8em; right:auto!important;}

/* フッターバー隠す */
#colophon .col-full .storefront-handheld-footer-bar {display:none;}

/* 投稿日非表示 */
.entry-meta .entry-date.published {display:none;}

/* Termsチェックボックス */
#terms {width:20px; height:20px; box-shadow:0 0 2px 1px #43454b inset;}
#cr_customer_consent{width:20px; height:20px; box-shadow:0 0 2px 1px #43454b inset;}

/* 商品ページ虫眼鏡背景 */
.product .woocommerce-product-gallery a {background-color:rgba(0,0,0,0.4)!important;}

/* 検索・ブログ・カテゴリ一覧 画像サイズ */
body.search .product img {max-width:50%;}
body.search .hentry img,
body.blog .hentry img,
body.category .hentry img {max-width:45%;}

/* 投稿コメント非表示 */
#main .hentry .post-comments {display:none;}

/* メニュー強調色 */
.primary-navigation a b,
.menu-item-20325 a b {color:#f0e90e;}

/* 虫眼鏡アイコン差し替え */
.woocommerce-product-gallery__trigger::before {
	content:""!important;
	display:block;
	width:32px;
	height:32px;
	background-image:var(--wpr-bg-dafaae78-695a-4bd0-9bf5-7f9fed11d45e);
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center;
}
.woocommerce-product-gallery__trigger {background-color:transparent!important; border:none!important;}

/* 投稿タグ・カテゴリLink色 */
.cat-links a,
.tags-links a {color:#3B3F4A;}

/* カートテーブル：余白を詰める */
.woocommerce-cart .woocommerce-cart-form {margin-top:-15px!important;}
.woocommerce-cart table.woocommerce-cart-form__contents th,
.woocommerce-cart table.woocommerce-cart-form__contents td {padding:8px 10px!important; vertical-align:middle!important; font-size:15px;}

/* 商品名：2行まで */
.woocommerce-cart table.woocommerce-cart-form__contents td.product-name {white-space:normal; font-size:16px; line-height:1.5;}
.woocommerce-cart table.woocommerce-cart-form__contents td.product-name a {display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; line-height:1.5;}

/* カートサムネイル小さめ */
.woocommerce-cart table.woocommerce-cart-form__contents td.product-thumbnail {width:62px!important; padding:6px!important;}
.woocommerce-cart table.woocommerce-cart-form__contents td.product-thumbnail img {width:60px!important; height:60px!important; object-fit:cover; display:block;}

/* 数量 */
.woocommerce-cart table.woocommerce-cart-form__contents td.product-quantity input {width:54px!important; font-size:15px; padding:4px 6px!important; text-align:center;}

/* 金額・小計 */
.woocommerce-cart table.woocommerce-cart-form__contents td.product-price,
.woocommerce-cart table.woocommerce-cart-form__contents td.product-subtotal {font-size:17px; white-space:nowrap;}

/* 削除ボタン */
.woocommerce-cart table.woocommerce-cart-form__contents td.product-remove {
  width: 15px !important;
  padding: 10px 10px !important;
	font-size: 20px !important;
}

/* クーポン欄非表示 */
.woocommerce-cart .coupon {display:none!important;}

/* 合計テーブル */
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {padding:8px!important; font-size:15px;}
.woocommerce-cart .cart_totals {width:65%!important; max-width:100vw!important;}



/* かご更新ボタン余白 */
.woocommerce-cart table.woocommerce-cart-form__contents td.actions {position:relative!important; top:-5px!important;}

/* 小計行 */
.woocommerce-cart .cart_totals table.shop_table tr.cart-subtotal th,
.woocommerce-cart .cart_totals table.shop_table tr.cart-subtotal td,
.woocommerce-cart .cart_totals table.shop_table tr.cart-subtotal .amount {font-size:17px!important;}

/* 合計行：大きめ太字 */
.woocommerce-cart .cart_totals table.shop_table tr.order-total th,
.woocommerce-cart .cart_totals table.shop_table tr.order-total td,
.woocommerce-cart .cart_totals table.shop_table tr.order-total .amount {font-size:20px!important; font-weight:bold!important;}

/* 配送区分 */
.woocommerce-cart .cart_totals table.shop_table tr.shipping th,
.woocommerce-cart .cart_totals table.shop_table tr.shipping td {font-size:13px!important; line-height:1.6;}

/* 配送先 */
.woocommerce-cart .cart_totals .shipping-calculator-button,
.woocommerce-cart .cart_totals table tr.shipping td address,
.woocommerce-cart .cart_totals table tr.shipping td p {font-size:16px!important;}

/* アップセル・クロスセル */
.woocommerce-cart .cross-sells,
.woocommerce-cart .upsells {transform:scale(0.55); transform-origin:top left; margin-bottom:-280px!important;}

/* 通知メッセージ */
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-message {font-size:16px!important; padding:8px 12px!important; line-height:1.6!important; margin-bottom:10px!important;}

/* お支払い手続きボタン */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {margin-top:-15px!important; padding-top:7px!important; padding-bottom:9px!important; border-radius:5px!important;}

/* スマホ〜タブレット：cart_totals(=デフォルト65%幅)を全幅に。
   これがないとボタンが親の65%の中に収まり半分サイズになる */
@media (max-width: 768px) {
	.woocommerce-cart .cart_totals {
		width: 100% !important;
	}
}

/* Express Payment ラベル */
#wc-stripe-express-checkout-element::before {
	content:"― もしくはワンクリックでご注文 ―";
	display:block;
	width:100%;
	text-align:center;
	font-size:1em;
	color:#000;
	margin-bottom:-2px;
	margin-top:-18px;
}
#wc-stripe-express-checkout-element {display:flex; flex-wrap:wrap;}
.cart_btn_remove {display:none;}

/* 小計以下の余白調整 */
.woocommerce-cart .cart-collaterals {margin-top:-65px!important;}
.woocommerce-cart .cart_totals table tr.shipping th {font-size:0!important;}
.woocommerce-cart .cart_totals table tr.shipping th::before {content:"配送"; font-size:15px;}

/* トップページのパンくず非表示 */
.home .breadcrumb_last,
.home .storefront-breadcrumb {display:none!important;}

/* 商品検索ボタン非表示 */
.wp-block-search__button {display:none!important;}

/* メニュークリック時の枠線を消す */
.main-navigation a:focus,
.main-navigation a:active,
.main-navigation ul li a:focus,
.menu-item a:focus,
.menu-item a:active,
.site-branding a:focus,
.site-branding a:active {outline:none!important; box-shadow:none!important;}


/* ===== 特定商取引法ページ（page-id-644）文字サイズ125%化 ===== */
body.page-id-644 .entry-content table p,
body.page-id-644 .entry-content table th,
body.page-id-644 .entry-content table td {
	font-size: 1em !important;
	line-height: 1.7 !important;
	letter-spacing: 1px;
}
body.page-id-644 .entry-content > table > tbody > tr > th {
	font-size: 1em !important;
	width: auto !important;
}

/* ==========================================================
 * HOME ページ専用CSS（SiteOrigin廃止後・Gutenbergブロック化）
 * 2026-04 追加
 * ========================================================== */

/* --- ホームヘッダー（テキスト＋検索バー）--- */
.zuko-home-header {
  padding: 0 0 10px 0;
  background: transparent;
}
.zuko-home-header h3 {
  font-weight: 500 !important;
  line-height: 1.7 !important;
  margin: 0 0 8px !important;
  letter-spacing: 1px;
}
.zuko-home-header > p {
  margin: 0 0 10px !important;
  letter-spacing: 0 !important;
}
.zuko-search-box {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #ddd;
  padding: 6px 12px;
  background: #fff;
  box-sizing: border-box;
}
.zuko-search-box form {
  flex: 1;
  margin: 0;
  padding: 0;
}
.zuko-search-box .search-field {
  width: 100% !important;
  border: none !important;
  box-shadow: none !important;
  outline: none;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 16px !important;
  background: transparent;
  letter-spacing: 1px;
  height: auto !important;
}

/* --- スライダー --- */
/* クローンが作成されるまでのレイアウト崩れ防止 */
.zuko-slide {
    flex-shrink: 0;
    width: 100%;
}
body { overflow-x: hidden; }
.zuko-slider {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  min-height: 670px;
  overflow: hidden;
  background: #333;
  touch-action: pan-y;
}
.zuko-slides {
  display: flex;
  height: 100%;
}
.zuko-slide {
  min-width: 100%;
  min-height: 670px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.zuko-slide-inner {
  text-align: center;
  color: #fff;
  padding: 20px;
  text-shadow: 1px 1px 4px rgba(0,0,0,.7);
}
.zuko-slide-inner h2 {
  color: #fff;
  font-size: 1.8rem;
  margin: 0 0 12px;
  letter-spacing: 2px;
}
.zuko-btn {
  display: inline-block;
  margin: 6px 4px 0;
  padding: 13px 28px;
  background: #1E5D85;
  color: #fff !important;
  text-decoration: none;
  font-size: 20px;
  border-radius: 3px;
}
.zuko-btn:hover { opacity: .8; }
.zuko-prev, .zuko-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,.35);
  color: #fff;
  border: none;
  font-size: 22px;
  padding: 12px 16px;
  cursor: pointer;
  z-index: 10;
  line-height: 1;
}
.zuko-prev { left: 0; }
.zuko-next { right: 0; }
.zuko-dots { display: none; }

/* キーホルダースライド：タイトル上、ボタン下 */
.zuko-slide-keyholder { align-items: stretch !important; }
.zuko-slide-keyholder .zuko-slide-inner {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 60px 20px !important;
  width: 100%;
}

/* --- TOPICS グリッド --- */
.home-topics-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
  margin: 0 0 2em;
}
.home-topics-grid a {
  display: block;
  text-decoration: none;
  color: inherit;
  text-align: center;
}
.home-topics-grid img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
}
.home-topics-grid p {
  font-size: 14px !important;
  margin: 4px 0 0;
  letter-spacing: 0;
}

/* --- 通販SHOPグリッド --- */
.home-shop-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  margin: 0 0 2em;
}
.home-shop-grid a {
  display: block;
  text-decoration: none;
  color: inherit;
}
.home-shop-grid img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
}
.home-shop-grid h3 {
  font-size: 14px !important;
  margin: 4px 0 2px;
}
.home-shop-grid p {
  font-size: 12px !important;
  margin: 0;
  letter-spacing: 0;
}

/* --- 3カラム情報セクション（ふるさと納税/REVIEW・LINE/海外発送）--- */
.zuko-3col-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  margin: 1.5em 0;
  align-items: start;
}

/* --- ACCESSセクション --- */
.zuko-access-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 0 0 2em;
  align-items: start;
}
@media (max-width: 767px) {
  .zuko-access-wrap { grid-template-columns: 1fr; }

  /* スライダーのスマホ調整 */
  .zuko-prev, .zuko-next {
    font-size: 14px !important;
    padding: 10px 12px !important;
  }
  .zuko-slide-inner h2 { font-size: 1.2rem; }
  .zuko-btn { font-size: 17px; padding: 10px 18px; }
  .zuko-slide {
  min-height: 720px;
}
}

/* 登録商標・インボイス登録済リンクを小さく */
.zuko-home-header > p a {
  font-size: 14px !important;
}

/* ==========================================================
 * 検索結果・アーカイブページ グリッド表示
 * 2026-04 修正版（PC/SP共通 2カラム固定）
 *
 * ※前回の style-search-grid.css と style-archive-additions.css の
 *   両方をこのファイルに統合しました。前回追記分は全て削除して、
 *   このファイルの中身に置き換えてください。
 * ========================================================== */

/* ===== タイトル表示（既存 .page-title { display:none } の打ち消し） ===== */
body.search .page-title,
body.archive .page-title {
	display: block !important;
	font-size: 22px !important;
	font-weight: 500 !important;
	line-height: 1.5 !important;
	margin: 0 0 16px !important;
	padding: 0 !important;
	letter-spacing: 1px;
}
body.archive .archive-description,
body.archive .archive-description p {
	font-size: 15px !important;
	line-height: 1.7 !important;
	margin: 0 0 12px !important;
	color: #555;
	letter-spacing: 0.5px !important;
}
@media (max-width: 767px) {
	body.search .page-title,
	body.archive .page-title {
		font-size: 18px !important;
		margin: 0 0 12px !important;
	}
}

/* ===== グリッド本体（PC/SP共通 4,2カラム） ===== */
ul.zuko-search-grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 16px !important;
	list-style: none !important;
	margin: 0 0 2em !important;
	padding: 0 !important;
}
ul.zuko-search-grid li.zuko-search-grid__item {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	width: auto !important;
	float: none !important;
	display: block !important;
}

/* リンク：カード全体クリック可 */
.zuko-search-grid__link {
	display: block !important;
	text-decoration: none !important;
	color: inherit !important;
}
.zuko-search-grid__link:hover {
	opacity: 0.8;
}

/* サムネイル枠（正方形） */
.zuko-search-grid__thumb {
	width: 100% !important;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #e8e8e8;
	margin: 0 0 8px !important;
	border: 0.5px solid #ccc;
	box-sizing: border-box;
}
.zuko-search-grid__thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block !important;
	margin: 0 !important;
	max-width: none !important;
}

/* アイキャッチなしのプレースホルダー（SVG data URI） */
.zuko-search-grid__placeholder {
	width: 100%;
	height: 100%;
	background-color: #d4d4d4;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><rect fill='%23d4d4d4' width='100' height='100'/><path fill='%23a8a8a8' d='M30 35h40v30H30z'/><circle fill='%23d4d4d4' cx='40' cy='45' r='3.5'/><path fill='%23d4d4d4' d='M35 60l8-10 7 8 10-13 10 15z'/></svg>");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* タイトル */
.zuko-search-grid__title {
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	margin: 0 0 4px !important;
	padding: 0 !important;
	letter-spacing: 0.5px !important;
	color: #222;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* プレビュー（1行省略） */
.zuko-search-grid__excerpt {
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: #666;
	margin: 0 !important;
	padding: 0 !important;
	letter-spacing: 0 !important;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* スマホ：間隔とサイズ調整 */
@media (max-width: 767px) {
	ul.zuko-search-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 10px !important;
	}
	.zuko-search-grid__title {
		font-size: 14px !important;
	}
	.zuko-search-grid__excerpt {
		font-size: 12px !important;
	}
}
/* 検索結果グリッド：商品バッジ（通販購入） */
.zuko-search-grid__thumb {
	position: relative;
}
.zuko-search-grid__badge {
	position: absolute;
	top: 0;
	left: 0;
	background: #1E5D85;
	color: #fff;
	font-size: 12px !important;
	font-weight: 600;
	padding: 3px 8px;
	letter-spacing: 1px;
	line-height: 1.6;
}

/* 検索バー：フォーカス時のアニメーション削除（パッと反応） */
.zuko-search-box .search-field,
.zuko-search-box .search-field:focus,
.zuko-home-header input[type="search"],
.zuko-home-header input[type="search"]:focus {
  transition: none !important;
  animation: none !important;
}

/* 商品のみ検索：WC標準ループの通販商品バッジ */
ul.products li.product {
	position: relative;
}
ul.products li.product .zuko-search-grid__badge {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	background: #1E5D85;
	color: #fff;
	font-size: 12px !important;
	font-weight: 600;
	padding: 3px 8px;
	letter-spacing: 1px;
	line-height: 1.6;
}

/* --- reCAPTCHA：左寄せ基本設定 --- */
.grecaptcha-badge {
    left: 0 !important;
    right: auto !important;
    bottom: 14px !important;
    width: 70px !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    z-index: 9999 !important;
}
.grecaptcha-badge:hover { width: 256px !important; }
/* --- スマホ専用設定（767px以下） --- */
@media (max-width: 767px) {
    /* reCAPTCHA：50%縮小 */
    .grecaptcha-badge {
        transform: scale(0.4) !important;
        transform-origin: left bottom !important;
        bottom: 0px !important;
    }}
/* --- スマホ左右余白 --- */
@media (max-width: 767px) {
    /* Storefrontの全てのページで、横幅を決定している大元のコンテナを強制上書き */
    .col-full {
        padding-left: 15px !important;
        padding-right: 15px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: auto !important;
    }
    
    /* 支払い画面などのフォームがはみ出さないように調整 */
    .woocommerce-checkout .col2-set, 
    .woocommerce-checkout #order_review_heading, 
    .woocommerce-checkout #order_review {
        width: 100% !important;
        float: none !important;
    }
}


/* --- 1. メイン画像の拡大制限と正方形維持 --- */
.single-product .woocommerce-product-gallery img {
    max-width: 1553px !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
}

/* --- 2. 読み込み時の「ガクッ（縦並び）」を防止 --- */
.woocommerce-product-gallery__wrapper {
    
    flex-wrap: nowrap !important;
    overflow: hidden !important;
}

/* --- 3. 商品ギャラリー：初期＆スライド切替時のグリッチを目隠し ---
 *  ・初回ロード時の画像縦並び
 *  ・ズーム機能が一瞬働いてガクッとなる挙動
 *  これらを 0.1s のフェードで隠す。WooCommerce標準の opacity:0 を活かす。
 */
.single-product .woocommerce-product-gallery {
    transition: opacity 0.13s ease !important;
}

.flex-active-slide {
    display: block !important;
    opacity: 1 !important;
}

/* --- 4. 読み込み競合の防止 --- */
.zoomImg {
    display: none !important;
}

/* --- 5. ガタつき防止の補足 --- */
.flex-viewport {
    aspect-ratio: 1 / 1 !important;
}

/* Customer Reviews for WooCommerce調整追加CSSにも記載
レビュー完了後の「おすすめ商品」と「変更ボタン」をすべて非表示 */
.cr-form-recommend-cont,   /* おすすめ商品エリア */
.cr-form-recommend-title,  /* おすすめ商品のタイトル帯 */
.cr-form-edit-container,
.cr-form-edit{             /* レビューを変更する。ボタン */
    display: none !important;
}
/* ==========================================================
 * Customer Reviews for WooCommerce: ライトボックス見た目調整
 *  - 背景を黒に（PhotoSwipe風）
 *  - 中央のモーダル枠の白を消して画像だけが浮く形に
 *  - ヘッダーのグレーバーを除去
 *  - ×ボタンを大型化＋画面右上に固定（黒背景上に白で表示）
 *  - サムネイル選択エリアの白背景を除去・横長画像を切り抜きなしに
 *  - スマホで主画像を画面いっぱいに切り抜きなしで表示
 *  ※ プラグインJSは触らない・CSSだけで完結。プラグイン更新にも強い
 * ========================================================== */

/* オーバーレイ（背景）を黒に */
#reviews.cr-reviews-ajax-reviews .cr-ajax-reviews-cus-images-modal-cont,
.cr-all-reviews-shortcode .cr-ajax-reviews-cus-images-modal-cont {
	background: rgba(0, 0, 0, 0.92) !important;
}

/* 中央の白いモーダル枠を消す */
.cr-reviews-ajax-reviews .cr-ajax-reviews-cus-images-modal,
.cr-all-reviews-shortcode .cr-ajax-reviews-cus-images-modal {
	background: transparent !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	width: 100vw !important;
	max-width: 100vw !important;
}

/* グレーのヘッダーバーを除去 */
#reviews.cr-reviews-ajax-reviews .cr-ajax-reviews-cus-images-modal div.cr-ajax-reviews-cus-images-hdr,
.cr-all-reviews-shortcode .cr-ajax-reviews-cus-images-modal div.cr-ajax-reviews-cus-images-hdr {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	height: 0 !important;
}

/* ×ボタン：大型化＋画面右上に固定・白色 */
#reviews.cr-reviews-ajax-reviews .cr-ajax-reviews-cus-images-modal button.cr-ajax-reviews-cus-images-close,
.cr-all-reviews-shortcode .cr-ajax-reviews-cus-images-modal button.cr-ajax-reviews-cus-images-close {
	position: fixed !important;
	top: 15px !important;
	right: 15px !important;
	margin: 0 !important;
	padding: 12px !important;
	width: 48px !important;
	height: 48px !important;
	background: rgba(0, 0, 0, 0.5) !important;
	border-radius: 50% !important;
	z-index: 100002 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}
#reviews.cr-reviews-ajax-reviews .cr-ajax-reviews-cus-images-modal button.cr-ajax-reviews-cus-images-close svg,
.cr-all-reviews-shortcode .cr-ajax-reviews-cus-images-modal button.cr-ajax-reviews-cus-images-close svg {
	width: 24px !important;
	height: 24px !important;
	opacity: 1 !important;
}
#reviews.cr-reviews-ajax-reviews .cr-ajax-reviews-cus-images-modal .cr-ajax-reviews-cus-images-close .cr-no-icon,
.cr-all-reviews-shortcode .cr-ajax-reviews-cus-images-modal .cr-ajax-reviews-cus-images-close .cr-no-icon {
	fill: #ffffff !important;
}

/* サムネイル選択エリア：白背景を除去 */
#reviews.cr-reviews-ajax-reviews .cr-ajax-reviews-cus-images-modal .cr-ajax-reviews-cus-images-slider-nav,
.cr-all-reviews-shortcode .cr-ajax-reviews-cus-images-modal .cr-ajax-reviews-cus-images-slider-nav {
	background-color: transparent !important;
}
/* サムネ画像：横長を切り抜かず全体表示（白枠も除去） */
#reviews.cr-reviews-ajax-reviews .cr-ajax-reviews-cus-images-modal .cr-ajax-reviews-cus-images-slider-nav .cr-ajax-reviews-slide-nav img,
.cr-all-reviews-shortcode .cr-ajax-reviews-cus-images-modal .cr-ajax-reviews-cus-images-slider-nav .cr-ajax-reviews-slide-nav img {
	object-fit: contain !important;
	background: transparent !important;
}

/* コメント部分の文字色を白へ（黒背景でも読める様に） */
#reviews.cr-reviews-ajax-reviews .cr-ajax-reviews-cus-images-modal .cr-ajax-reviews-slide-main-comment,
.cr-all-reviews-shortcode .cr-ajax-reviews-cus-images-modal .cr-ajax-reviews-slide-main-comment {
	color: #fff !important;
}

/* スマホ：×ボタン位置調整 + 主画像を画面いっぱいに切り抜きなし表示 */
@media (max-width: 767px) {
	#reviews.cr-reviews-ajax-reviews .cr-ajax-reviews-cus-images-modal button.cr-ajax-reviews-cus-images-close,
	.cr-all-reviews-shortcode .cr-ajax-reviews-cus-images-modal button.cr-ajax-reviews-cus-images-close {
		top: 10px !important;
		right: 10px !important;
		width: 44px !important;
		height: 44px !important;
	}
	/* 主画像：max-width/max-heightの400px縛りを外して画面幅まで拡大・縦横比維持 */
	#reviews.cr-reviews-ajax-reviews .cr-ajax-reviews-cus-images-modal .cr-ajax-reviews-cus-images-slider-main .cr-ajax-reviews-slide-main img,
	.cr-all-reviews-shortcode .cr-ajax-reviews-cus-images-modal .cr-ajax-reviews-cus-images-slider-main .cr-ajax-reviews-slide-main img {
		max-width: 100% !important;
		max-height: 70vh !important;
		width: auto !important;
		height: auto !important;
		object-fit: contain !important;
		margin: 0 auto !important;
	}
}

/* ==========================================================
 * スマホ表示：文字サイズ全体縮小（2026-05）
 *  - スクロール量を約2割削減（PC基準20px → SP 17pxへ）
 *  - 基準：カテゴリグリッドタイトル(15px)よりやや大きい17px
 *  - 投稿・チェックアウト・カート・マイアカウントを統一
 *  - パンくず / カテゴリグリッド(cpgb) / ホーム関連は対象外（既に適正）
 *  - 不要になった場合はこのブロックごと削除すれば元のサイズに戻る
 * ========================================================== */
@media (max-width: 767px) {

	/* --- 本文系（h4/h5/h6/p / site-content / entry-content）20px･18px → 17px --- */
	body h4, body h5, body h6,
	body p,
	body .site-content p,
	body .has-large-font-size,
	body div.site-content p,
	body div.entry-content,
	body #main .hentry p,
	body .entry-content div div div,
	body .entry-content > div > div,
	body .hentry .entry-content div,
	body .entry-summary .woocommerce-product-details__short-description p {
		font-size: 17px !important;
		letter-spacing: 1px !important;
	}

	/* --- h3 / 一覧タイトルリンク / 注文情報h2 / ログインh2  → 20px --- */
	body h3, body .gamma,
	body #main .entry-title a,
	body .hentry .entry-header h1.entry-title,
	body #main .hentry h2,
	body.page-id-542 .woocommerce-order .woocommerce-order-details h2,
	body.page-id-542 .woocommerce-order .woocommerce-customer-details h2,
	body .u-columns.col2-set h2 {
		font-size: 20px !important;
	}

	/* --- 投稿記事タイトル (single-post h1) 28px → 23px --- */
	body.single-post .hentry .entry-header h1 {
		font-size: 23px !important;
	}

	/* --- チェックアウト/カート h1 25px → 21px --- */
	body.page-id-542 .hentry .entry-header h1,
	body.page-id-540 .hentry .entry-header h1 {
		font-size: 21px !important;
	}

}
