@charset "UTF-8";
/*
Theme Name: びおとーぷ2 （Welcart Basic Child）
Description: Welcart Basic Child Theme
Author: Collne Inc
Template: welcart_basic
Version: 1.0.0
*/


body {
/*	font-family:Roboto, "游ゴシック", YuGothic, "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, "メイリオ", Meiryo, sans-serif; */
/*  font-family: "Klee One", serif; */
	font-family: "Noto Serif JP", serif;

	font-size:16px;
}

/* 親テーマフロート解除 */
.snav,
.snav .membership,
.incart-btn,
.search-box,
.search-box div.s-box,
h1.site-title,
div.site-title {
	float:none;
}

/* ======== ヘッダー ========= */

header.site-header {
	margin-bottom:0;
	border-bottom:0;
}

header .inner {
	padding-bottom:0;
}


body:not(.front-page) header.site-header {
 box-shadow: 0 4px 6px -2px rgba(220, 220, 220, 0.3);
}

h1.site-title, div.site-title {
	padding: 0.2em 0.5em;
	width:auto;
	flex-shrink:0;
	text-align:left;
}

.site-title img {
	max-width:150px;
}

.site-header .inner {
	display:flex;
}

/* 検索ボックス */

.search-box {
	padding-bottom:0;
	background-color:#000;
	color:#fff;
	width:28px;
	height:28px;
}

.snav .search-box i {
	padding: .5em;
	font-size: 14px;
	position:relative;
	display:block;
	height:100%;
}

.search-box form {
	display: block;
	width:0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s ease;
	position:absolute;
	left: auto;
	right: 0;
}

.search-box div.s-box {
	display:none;
}

.search-box input[type="text"]{
	display:none;
}

.search-box .searchsubmit {
	display:none;
}

/* クリックでOnクラス付与 */
.search-box.On form {
	position: absolute;
	width: 240px;
	padding: 0.5em;
	background-color: #fff;
	top:2.6em;
	left:auto;
	opacity: 1;
	visibility: visible;
}

.search-box.On div.s-box{
	display:flex;
	width:100%;
	border-radius:9999px;
}

.search-box.On input[type="text"],
.search-box.On .searchsubmit {
	display:block;
}

.search-box.On input[type="text"]{
	width:100%;
	background-color:transparent;
	padding:5px 10px;
}

.search-box.On .searchsubmit {
	width:50px;
	font-size:14px;
}

/* Chrome自動入力時に角丸が崩れるため */
.search-box input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px #fff inset;
	border-radius: 9999px;
}

/* 検索結果タイトル */
.search h1.page-title::after {
	content:"Search";
    font-size: 0.8rem;
    text-align: center;
    position: absolute;
    bottom: -26px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
/* ======= welcart ナビゲーション ====== */

.snav {
	width:auto;
	display:flex;
	flex-wrap:wrap;
	padding:10px 0;
	margin-bottom:30px;
	margin-left:auto;
	justify-content:center;
	align-items:center;
}

.snav i {
	padding:0;
}

.snav .membership {
	width:auto;
	padding:0;
}

.snav .membership ul {
	display:flex;
	background-color:transparent;
	position:static;
	border-bottom:none;
	padding:0;
}

.snav .membership ul li {
	border-bottom:none;
	margin:0;
	padding-bottom:0;
}

	.snav .membership li:first-child,
	.snav .membership li a {
		padding:0 10px;
		border-right:none;
		line-height:1.4;
	}

.snav .link-text {
	display:none;
}

/* カートボタン */
.incart-btn {
	min-width:auto;
	float:none;
	margin-top:0;
}

.incart-btn a {
	background-color:transparent;
	padding:0 10px;
	display:inline;
}

.incart-btn a:hover {
	background-color:transparent;
}

.incart-btn i::before{
	color:#000;
	margin-right:0;
}




.cf::before,
.cf::after {
  content: none !important;
  display: none !important;
}

.cf .username {
	display:none;
}

.usces_login_a::before {
	font-family: "Font Awesome 7 Free";
	content:"\f023";
	font-weight:bold;
}

.usces_logout_a::before {
	font-family: "Font Awesome 7 Free";
	content:"\f08b";
	font-weight:bold;
}

.mypage-link::before {
	font-family: "Font Awesome 7 Free";
	content:"\f007";
	font-weight:bold;
}

.wishlist-link::before {
	font-family: "Font Awesome 7 Free";
	content:"\f004";
	font-weight:bold;
}




.incart-btn a::before{
	font-family: "Font Awesome 7 Free";
	content:"\f07a";
	font-weight:bold;
}

.incart-btn span.link-text {
	color:#000;
	font-weight:normal;
}

.incart-btn .total-quant {
	position:static;
	background-color:#000;
	color:#fff;
	margin-left:0;
	line-height:1.6;
	font-size:12px;
	vertical-align:middle;
}


/* ======= navigation ナビゲーション ====== */




/* メインナビゲーション */
.nav-menu-open {
	background-color:#fff;
  transition: max-height .3s ease; /* 任意でアニメ */
	width:100%;
}

#site-navigation ul {
	width:auto;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-around;
	gap:30px;
	max-width:800px;
	padding:10px 0;
}


#site-navigation label {
	top:20px;
	z-index:999;
}

#site-navigation label span::before {
content :"\f0c9";
color:#000;
}

/* 開いているとき（checked状態） */
#site-navigation label:has(+input#panel:checked) span::before {
  content: "\f00d"; /* FontAwesomeのアイコン（例：times） */
	color:#fff;
}

#site-navigation li {
	border-right:none;
}

#site-navigation ul li:first-child {
	border-left:none;
}

#site-navigation li a {
	border-bottom:none;
	color:#000;
	margin-bottom:0;
}

#site-navigation li a:hover {
	background-color:transparent;
	color:#000;
	opacity:0.7;
}

header #site-navigation input#panel.on-off + div.nav-menu-open,
header #site-navigation input#panel.on-off:checked + div.nav-menu-open,
header #site-navigation input#panel.on-off + div.header-nav-container {
	background-color:rgba(0,0,0,0.8);
	top:0;
}

header #site-navigation input#panel.on-off + div.nav-menu-open a,
header #site-navigation input#panel.on-off:checked + div.nav-menu-open a,
header #site-navigation input#panel.on-off + div.header-nav-container a {
	color:#fff;
}

.site-description {
	background-color:#fff;
}

#site-navigation li.current-menu-item > a,
#site-navigation li.current-menu-ancestor > a {
	background-color:transparent;
}

#site-navigation li.current_page_item a,
#site-navigation li.current-menu-parent a {
	background-color:#transparent;
}


/* ======= パンくずリスト ====== */
.breadcrumbs {
	background-color:#000;
	color:#fff;
	display:flex;
	font-size:12px;
	overflow-x:auto;
}

.breadcrumbs > span {
	flex-shrink:0;
}

.breadcrumbs > span > a {
	position: relative;
	background: #d7d7d7;
	display:block;
	padding-right:20px;
	padding-left:40px;
}

.breadcrumbs > span > a:hover {
	opacity:1;
}

.breadcrumbs > span:first-of-type > a:first-of-type {
	padding-left:20px;
}

.breadcrumbs > span > a::after {
	content: "";
	position: absolute;
	top: 0;
	width: 30px;
	height: 100%;

	background: #d7d7d7;

	border-right:1px solid #000;
	transform:skewX(24deg);
	z-index:9;
}

.breadcrumbs span.current-item {
	display:block;
	padding-left:20px;
}




/* ======= その他 ====== */

a {
	color:#000;
}

a:link {
	color:#000;
}

a:hover {
	text-decoration:none;
	opacity:0.8;
}


#toTop{
    position: fixed;
    right: 50px;
    bottom: 50px;
}

#toTop i {
    color: #cedce0;
}

#toTop i:hover {
    color: #4b8386;
}

.main-image {
	max-width:1000px;
	margin:auto;
}


.entry-content h2, .item-description h2 {
/*    margin-bottom: 1.25em; */
	margin-bottom: 0.5em;
    padding-bottom: .312502em;
    border-bottom: none;
    font-size: 1.4em;
    line-height: 1.25em;
}

.entry-content h3, .item-description h3 {
    margin-bottom: 1.071428em;
    padding-left: 0;
    border-left: none;
    line-height: 140%;
}

.bottom-area #secondary {
    padding: 2.14289em 0;
    border-top: none;
	background-color:#f8f8f1;
}

/* ブロックエディタ全幅対応 */
.alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

.alignfull > [class*="__inner-container"] > *:not(.alignwide):not(.alignfull){
	max-width: 1000px;
	width:90%;
	margin-left: auto;
	margin-right: auto;
}


/* ======= コンテンツ共通 ====== */
.site-content {
	padding-top:50px;
}

h1.page-title {
    text-align: center;
    font-size: 1.8rem;
    margin-bottom: 2.6em;
    position: relative;
    line-height: 1.25;
}

h1.page-title::before {
    content: '';
    position: absolute;
    bottom: -40px;
    display: inline-block;
    width: 60px;
    height: 1px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: black;
    border-radius: 2px;
}

.no-image {
    aspect-ratio: 1;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f5;
    color: #999;
    font-size: 14px;
    letter-spacing: 0.1em;
}

/* ==============
 front-page 
================= */

.front-site-title {
	text-align:center;
}

.front-site-title img {
	max-width:150px;
}




/* ヒーローエリア */
.hero {
	overflow:hidden;
	margin-top:30px;
	margin-bottom:30px;
}

.hero .wrapper {
	display:grid;
}

.hero-image {
	width: 100%;
	margin-left: auto;
	grid-area: 1 / 1;
}

.hero-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	object-position:center;
}

.hero-title {
	font-size:38px;
	line-height:1.4;
}

.hero-title img {
	width:100%;
}

.hero-content {
	color: #fff;
	z-index: 2;
	grid-area: 1 / 1;
	width:90%;
	margin:10% auto;
}

.hero-title,
.hero-text {
	text-shadow: 0 2px 3px rgba(0, 0, 0, .5);
}



/* OUR MAKERS */

#makers {
	overflow: hidden;
	margin-top:30px;
}

#makers .wrapper {
	max-width:1400px;
	margin:auto;
}

#makers .makers-image {
	width: 100%;
/*	height: 50vh; */
	object-fit: cover;
	display: block;
	object-position:bottom;
}

#makers  .metaslider,
#makers  .metaslider .slides,
#makers  .metaslider .slides li {
/*	height: 50vh; */
}

#makers .metaslider .slides img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position:left;
	display: block;
}

#makers .makers-title img {
	width:100%;
}

#makers .makers-content {
/*
	top: 50%;
	right: 10%;
	transform: translateY(-50%);
*/
	color: #000;
	background-color:#fff;
	z-index: 2;
	aspect-ratio:1 / 1;
/*
	height:400px;
*/
	padding:2em;
	margin:auto;
	display:block;
}

#makers h2 {
    text-align: center;
    font-size: 1.8rem;
    position: relative;
    margin-bottom: 1.6em;
}


#makers h2:before {
    content: '';
    position: absolute;
    bottom: -36px;
    /* bottom: 20px; */
    display: inline-block;
    width: 60px;
    height: 1px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: black;
    border-radius: 2px;
}

#makers h2:after {
    content: "OUR MAKERS";
    font-size: 0.8rem;
    text-align: center;
    position: absolute;
    bottom: -30px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

#makers .separator {
	text-align:center;
}

#makers h3 {
	margin:14px auto;
	font-size:1.4em;
}

#makers p {
	font-size:14px;
	text-align: justify;
}

.pickup-items {
	background-color:#1F4E79;
	padding:2em;
	margin-bottom:4em;
}

.pickup-items .topics-list {
	display:flex;
	flex-direction:column;
	gap:30px;
	justify-content:center;
	align-items:center;
}

.pickup-items .topics-list .topics-thumb {
	max-width:80%;
	margin:auto;
	aspect-ratio:1 / 1;
	object-fit:cover;
}

.pickup-items .topics-list .topics-thumb img{
	width:100%;
	height:100%;

}

.pickup-items .topics-list a {
	color:#fff;
	text-align:center;
}


.pickup-items .btn-more a {
	display:block;
	background-color:#fff;
	color:#1F4E79;
	width:200px;
	margin:30px auto;
	text-align:center;
	padding:10px;
}

/* ============== info（カスタム投稿タイプのお知らせ） =========== */

/* front-page内 */
#info {
	margin:4em auto;
	max-width:600px;
}

#info h2 {
	text-align:center;
	font-size:1.8rem;
  position: relative;
  margin-bottom: 1em;
}

#info h2:before {
  content: '';
  position: absolute;
  bottom: -15px;
  /* bottom:20px; */
  display: inline-block;
  width: 60px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
  border-radius: 2px;
}



#info li {
	display:flex;
	border-bottom:1px solid #efefef;
	padding:10px 0;
}

#info li span {
	display:block;
	width:100px;
	font-size:0.8em;
}

/* single内 */
.single-info #content h1.entry-title {
	margin-bottom:0;
	text-align:left;
}

/* ============== magazine（カスタム投稿タイプの読み物） =========== */

/* template-parts magazine-list.php */
#magazine {
	background-color: #f8f8f1;
	padding: 2em 1em;
}

#magazine h2 {
	text-align: center;
	font-size: 1.8rem;
	margin-bottom: 2.6em;
	position: relative;
	line-height: 1.25;
}

#magazine h2::before {
	content: '';
	position: absolute;
	bottom: -40px;
	display: inline-block;
	width: 60px;
	height: 1px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: black;
	border-radius: 2px;
}

#magazine h2::after {
	content: "MAGAZINE";
	font-size: 0.8rem;
	text-align: center;
	position: absolute;
	bottom: -26px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.magazine-list {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	max-width: 1200px;
	margin: auto;
}

.magazine-list article {
	width: 100%;
	background-color: #fff;
}

.magazine-list .magazine-thumb {
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.magazine-list article .inner-content {
	padding: 10px;
}

.magazine-list .magazine-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.magazine-list .magazine-title {
	font-size: 1.2rem;
}

.magazine-list .magazine-date {
	font-size: 0.8rem;
	color: #999;
	text-align: right;
}

.magazine-list .magazine-excerpt {
	font-size: 0.9rem;
}

#magazine .btn-more a {
	display: block;
	background-color: #000;
	color: #fff;
	width: 200px;
	margin: 30px auto;
	text-align: center;
	padding: 10px;
}


/* magazine-archive */

.post-type-archive-magazine h1.page-title::after {
    content: "MAGAZINE";
    font-size: 0.8rem;
    text-align: center;
    position: absolute;
    bottom: -26px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.post-type-archive-magazine #content .magazine-list {
	display:grid;
	gap:30px;
}

/* single-magazine */
.single-magazine #content h1.entry-title {
	margin-bottom:1em;
}

.single-magazine .entry-meta .date::before {
	content:"";
}

.single-magazine .entry-meta {
	text-align:center;
	color:#999;
	font-size:0.8rem;
	border-left:none;
	padding-left:0;
}

/* maker-archive */
.post-type-archive-maker h1.page-title::after {
    content: "OUR MAKERS";
    font-size: 0.8rem;
    text-align: center;
    position: absolute;
    bottom: -26px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}


/* single-maker */


/* ============== widget =========== */


.widget_welcart_calendar th {
	font-size:0.8em;
	border-bottom:1px solid #ddd;
	border-top:none;
	border-right:none;
	border-left:none;

}

.widget_welcart_calendar td {
	border-bottom:1px solid #ddd;
	border-top:none;
	border-right:none;
	border-left:none;    text-align: center;
    font-size: 0.8em;
}

#content .page-title,
#content .entry-title {
	text-align:center;
	font-size:2em;
	line-height:1.2;
}

.widget_welcart_featured .thumimg {
    width: 100% !important;
    float: none;
    text-align: center;
	margin-bottom:10px;
}

.widget_welcart_featured .thumtitle {
    width: 100%;
    text-align: left;
	font-size:0.9em;
	line-height:1.2;
}

/* ============== category =========== */

/* categor-item / category-usces */

.shop-parent-category-header {
	text-align:center;
	margin-bottom:2em;
}


.shop-category-section {
	margin-bottom:80px;
}
.item-wrapper{
	display:grid;
	gap:30px;
}

.item-box a{
	display:block;
	height:100%;
	text-decoration:none;
	color:inherit;
}

.shop-category-header {
	border-bottom:1px solid #999;
	margin-bottom:40px;

	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:10px;
}

.shop-category-header .shop-category-title {
	margin-bottom:0;
	padding-bottom:0;
	font-size:1.4em;
	line-height:1.25em;
}

.shop-category-header .shop-category-description {
	font-weight:normal;
	font-size:1rem;
	margin:0 5px;
}

.shop-category-header .makers-button{
	display:inline-block;
	padding:3px 10px;
	background-color:#000;
	color:#fff;
	text-align:center;
	line-height:1.2em;
	font-size:0.8em;
	margin-bottom:3px;
}

.shop-category-header .makers-button span {
	display:block;
}

.items-wrapper .itembox {
	padding:10px;
}

.items-wrapper .itemimage {
	margin-bottom:10px;
}

.items-wrapper .item-header > a {
	display:flex;
	flex-wrap:wrap;
	align-items:end;

}

.items-wrapper .item-header > * {
	font-size:14px;
	margin-bottom:0;
	line-height:1.6;
}

.items-wrapper .itemimage{
	aspect-ratio:1;
}

.items-wrapper .itemimage img {
	width:100%;
	height:100%;
	object-fit-cover;
}

.items-wrapper .sku-price {
	font-size:14px;
}

@media screen and (min-width:62.5em){
	.items-wrapper{
		grid-template-columns:repeat(3,minmax(0,1fr));
	}
}


#content .items-page-header .page-title {
    text-align: center;
    font-size: 2em;
    margin-bottom: 1.8em;
    position: relative;
	padding-bottom:0;
	font-weight:bold;
}

#content .items-page-header .page-title::before {
    content: '';
    position: absolute;
    bottom: -10px;
    display: inline-block;
    width: 60px;
    height: 1px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: black;
    border-radius: 2px;
}

.items-wrapper {
	display:grid;
}

.itemimage img {
	width:100%;
	height:auto;
}

.item-box {
	padding:20px;
}

.for-members {
	margin: 0 15px 15px 15px;
	border: 1px dotted #f00;
	padding: 15px;
	font-size: 0.9em;
	color: #f00;
}

.for-members .btn-area {
	display:flex;
	justify-content:center;
	gap:20px;
	margin:10px auto;

	flex-direction:column;
	text-align:center;
}

.for-members .btn-area a{
	padding:5px 10px;
	border-radius:3px;
}

.for-members .btn-area a.signup {
	background-color:#000;
	color:#fff;
	border:1px solid #000;
}

.for-members .btn-area a.signin {
	background-color:#fff;
	color:#000;
	border:1px solid #000;
}

.item-stock {
	font-size:14px;
	color:#900;
}

/* ============== 商品ページ（item_single） =========== */
.field-wrapper {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-around;
}

.single-post .item-header {
	text-align:center;
}

.single-post .item-header h1 {
	margin-bottom:10px;
}

.single-post .detail-header {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	border-bottom:1px solid #ccc;
	justify-content:space-between;
	align-items:center;
	padding-bottom:5px;
	margin-bottom:20px;
}

.single-post .detail-header h2.item-name {
	border-bottom:none;
}

.single-post .detail-header h2.item-name .sku-name {
	font-size:0.9em;
}

.single-post .detail-header .makers-button{
	display:inline-block;
	padding:3px 10px;
	background-color:#F0EEE2;
	color:#000;
	text-align:center;
	line-height:1.2em;
	font-size:0.8em;
}

.single-post .detail-header .makers-button span{
	display:block;
}


.storycontent #itempage {
	width:100%;
	display:flex;
	flex-direction:column;
	gap:30px;
}


#itempage .itemcode {
	display:none;
}

#itempage #img-box,
#itempage .detail-box {
	float:none;
	width:100%;
}

#itempage .price-title {
	font-size:14px;
}

#itempage .currency-unit {
	font-size:14px;
}

#itempage .c-box{
	display:flex;
	flex-wrap:wrap;
	gap:1px;
	margin:20px auto;
}

#itempage .c-box > div {
	flex-grow:1;
}


#itempage .c-box input[type="submit"], 
#itempage .c-box input[type="button"]{
	padding:0;
	display:block;
	width:100%;
	height:100%;
	background-color:#000;
	color:#fff;
	border-radius:0;
	font-size:14px;
	font-weight:normal;
	padding:5px 10px;
}

#itempage .c-box button {
/* お気に入りボタン */
	display:block;
	width:170px;
	height:100%;
	padding:5px 10px;
}

.simplefavorite-button {
	border:1px solid #000;
}

.simplefavorite-button::before {
	font-family: "Font Awesome 7 Free";
	content:"\f005";
	font-weight:bold;
	margin-right:3px;
}


#itempage .c-box button i {
	position:static;
	font-size:1em;
	margin-right:5px;
}

#itempage .c-box .itemsoldout {
	/* 品切れ表示 */
	font-family:sans-serif;
	font-size:14px;
	font-weight:normal;
	background-color:#000;
	color:#fff;
	text-align:center;
	letter-spacing:0;
	padding:5px 10px;
}

.single-post .item-description {
	background-color:#eee6d6;
/*	padding:30px 0; */
}

.single-post .item-description .wp-block-image {
	position: relative;
}

.single-post .item-description .image-caption {
    position: absolute;
    right: 10px;
    bottom: 10px;
    margin: 0;
    padding: 3px 6px;
    background: rgba(255, 255, 255, 0.8);
    font-size: 12px;
    line-height: 1.4;
}

.single-post .four-square {
	padding:40px 0;
	margin-bottom:2em;

    max-width: 1000px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;

	display:flex;
	flex-direction:column;
}

.single-post .four-square .text-column {
	background-color:#fff;
    display: flex;
    justify-content: center;
    align-items: center;
}


.single-post .four-square .text-column .inner-text {
    width: 80%;
    margin: 20px 0;
}


.single-post .four-square h2 {
	font-size:1.2em;
}

.single-post .four-square .wp-block-columns{
margin-top:0;
margin-bottom:0;
gap:0;
}

.single-post figure.makers-image {
	overflow:hidden;
	aspect-ratio:1 / 1;
}

.single-post figure.makers-image img {
	width:100%;
	height:100%;
	object-fit:cover;
}


.single-post .four-square .wp-block-columns:nth-of-type(even) .wp-block-column:first-of-type {
	order:2;
}

.single-post .four-square .wp-block-columns .text-area {
	display:flex;
	justify-content:center;
	align-items:center;
}

.single-post .four-square .wp-block-columns .text-area .inner-text {
	width:80%;
	margin:20px 0;
}



.single-post .four-square figure {
	width:100%;
	height:100%;
	overflow:hidden;
}

.single-post .four-square figure img {
	width:100%;
	height:100%;
	object-fit:cover;
	aspect-ratio:1;
}

.single-post .notes {
	padding:40px 0;
	margin-bottom:2em;

/*
    max-width: 1000px;
    width: 90%;
    margin: 30px auto;
*/
	background-color:rgba(255,255,255,.5);
}

.single-post .notes .inner-content {
	width:90%;
	margin:auto;
}


/* カートへ追加　オーバーレイ */
#biotope-cart-modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 9998;
}

/* モーダル本体 */
#biotope-cart-modal-content {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 9999;
	background: #fff;
	border-radius: 4px;
	padding: 40px 32px;
	width: 320px;
	max-width: 90vw;
	text-align: center;
}

/* メッセージ */
#biotope-cart-modal-message {
	font-size: 16px;
	margin-bottom: 24px;
}

/* カートへ進むボタン */
#biotope-cart-modal-go {
	display: block;
	width: 100%;
	padding: 14px;
	margin-bottom: 12px;
	background: #000;
	color: #fff;
	text-decoration: none;
	font-size: 14px;
	letter-spacing: 0.05em;
	border-radius: 2px;
	box-sizing: border-box;
}

#biotope-cart-modal-go:hover {
	background: #222;
}

/* 買い物を続けるボタン */
#biotope-cart-modal-close {
	display: block;
	width: 100%;
	padding: 14px;
	background: transparent;
	color: #333;
	font-size: 13px;
	letter-spacing: 0.05em;
	border: 1px solid #ccc;
	border-radius: 2px;
	cursor: pointer;
	box-sizing: border-box;
}

#biotope-cart-modal-close:hover {
	background: #f5f5f5;
}

/* -----------------------------------------------------------------------
   数量入力欄
   ----------------------------------------------------------------------- */
.biotope-quant-wrap {
	display: inline-flex;
	align-items: center;
}
 
.biotope-quant-minus,
.biotope-quant-plus {
	width: 40px;
	height: 40px;
	background: #fff;
	cursor: pointer;
	font-size: 16px;
	line-height: 1;
	color: #333;
	border:1px solid #ccc;
	border-radius:3px;
}

.biotope-quant-minus{
	border-right:none;
}


.biotope-quant-plus{
	border-left:none;
}
 
.biotope-quant-minus:hover,
.biotope-quant-plus:hover {
	background: #f5f5f5;
}
 
.biotope-quant-wrap input.skuquantity {
	width: 48px;
	height: 36px;
	border: none;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	text-align: center;
	font-size: 14px;
	-moz-appearance: textfield;
	margin:0 !important;
}

 
/* 数量ボタン無効状態 */
.biotope-quant-minus:disabled,
.biotope-quant-plus:disabled {
	opacity: 0.3;
	cursor: default;
}

#itempage .skuform {
	padding-bottom:2em;
	border-bottom:1px dotted #ccc;
	display:flex;
	flex-wrap:wrap;
	gap:30px;
}

#itempage .skuform:last-of-type{
	border-bottom:none;
}

#itempage .skuform .sku-image {
	aspect-ratio:1 / 1;
	max-width:300px;
	margin:auto;
	overflow:hidden;
}

#itempage .skuform .sku-image img{
	width:100%;
	height:100%;
	object-fit:cover;
}

#itempage .skuform .sku-image .no-image {
    aspect-ratio: 1;
    width: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f5;
    color: #999;
    font-size: 14px;
    letter-spacing: 0.1em;

}

#itempage .skuform .sku-detail {
	flex:1;
}

/* SKU単位非表示 */
#itempage .skuform .unit {
	display:none;
}

#itempage .skuform .quantity-title {
	font-size:14px;
	margin-bottom:10px;
}

#itempage .item-info .skuname {
	display:none;
	background-color:transparent;
	padding:0;
	margin-bottom:10px;
	font-size:1.2rem;
}

/* 送料込み表示追加 */
.item-info .field_price .shipping-included {
	font-size:0.5em;
	content:"送料込";
	margin-left:10px;
	color:#000;
	border:1px solid #000;
	padding:2px 4px;
	border-radius:3px;
	font-weight:normal;
}

/* --------- カートページ -------- */
.send input.to_customerinfo_button,
.send input.to_memberlogin_button,
.send input.to_deliveryinfo_button,
.send input.to_confirm_button,
.send input#purchase_button {
	background-color: #000;
}


.send input.to_customerinfo_button:hover,
.send input.to_memberlogin_button:hover,
.send input.to_deliveryinfo_button:hover,
.send input.to_confirm_button:hover,
.send input#purchase_button:hover {
	background-color: #000;
}

#wc_customer .send input.to_reganddeliveryinfo_button {
	background-color: #000;
}


#wc_customer .send input.to_reganddeliveryinfo_button:hover {
	background-color: #000;
}

#wc_ordercompletion a.redownload_button {
	background-color: #000;
}


#wc_ordercompletion a.redownload_button:hover {
	background-color: #000;
}

.member-page .send input {
	background-color: #000;
}

.member-page .send input:hover {
	background-color: #000;
}

#wc_login .loginbox #member_login,
#wc_member .loginbox #member_login {
	background-color: #000;
}

#wc_login .loginbox #member_login:hover,
#wc_member .loginbox #member_login:hover {
	background-color: #000;
}

#wc_login .loginbox .new-entry #nav a,
#wc_member .loginbox .new-entry #nav a {
	background-color: #000;
}

#wc_login .loginbox .new-entry #nav a:hover,
#wc_member .loginbox .new-entry #nav a:hover {
	background-color: #000;
}

#wc_changepassword #member_login {
	background-color: #000;
}

#wc_changepassword #member_login:hover {
	background-color: #000;
}

#wc_lostmemberpassword #member_login {
	background-color: #000;
}

#wc_lostmemberpassword #member_login:hover {
	background-color: #000;
}

#memberinfo table.retail .redownload_link a {
	background-color: #000;
}


#memberinfo table.retail .redownload_link a:hover {
	background-color: #000;
}


/* 入力チェックjs */
.input-error {
	margin-top: 10px;
	color: #c00;
	font-size: 0.9rem;
}


/* ============== page =========== */



/* ============== footer =========== */
footer {
	background-color:#fff;
}


footer nav {
	margin:0;
	padding:1em;
	width:100%;
}

footer nav li {
/*	width:100% !important; */
	float:none;
	margin-bottom:0.5em;
}

footer .address {
	padding:1em;
}

footer .footer-icon img {
	width:80px;
	height:auto;
	margin:auto;
	display:block;
}


footer a:link {
	color:#000;
}

footer a:visited {
	color:#000;
}

footer a:hover {
	color:#000;
	text-decoration:underline;
}

footer a:active {
	color:#000;
}

.footer-icon {
	margin:20px auto;
}


/* ======= ブロックエディタ　パターン用 ====== */
h1.entry-title {
  position: relative;
  margin-bottom: 1em;
}
h1.entry-title:before {
  content: '';
  position: absolute;
  bottom: -20px;
  display: inline-block;
  width: 60px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
}

.makers-page .footnote {
padding:20px 0;
 border-top:1px solid #ccc;
 border-bottom:1px solid #ccc;
}

.makers-page .four-square {
	padding:40px 0;
}

.makers-page .four-square .wp-block-columns{
margin-top:0;
margin-bottom:0;
gap:0;
}

.makers-page figure.makers-image {
	overflow:hidden;
	aspect-ratio:1 / 1;
}

.makers-page figure.makers-image img {
	width:100%;
	height:100%;
	object-fit:cover;
}


.makers-page .four-square .wp-block-columns:nth-of-type(even) .wp-block-column:first-of-type {
	order:2;
}

.makers-page .four-square .wp-block-columns .text-area {
	display:flex;
	justify-content:center;
	align-items:center;
}

.makers-page .four-square .wp-block-columns .text-area .inner-text {
	width:80%;
	margin:20px 0;
}

.makers-page .four-square figure {
	aspect-ratio:1;
	height:100%;
	width:100%;
	overflow:hidden;
}

.makers-page .four-square figure img {
	width:100%;
	height:100%;
	object-fit:cover;
}

/* 関連商品 */
.related-items {
	padding:20px 0;
}

.related-items h2 {
    text-align: center;
    font-size: 1.8rem;
    margin-bottom: 2.6em;
    position: relative;
	padding-bottom:0;
}

.related-items h2::before {
    content: '';
    position: absolute;
    bottom: -40px;
    display: inline-block;
    width: 60px;
    height: 1px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: black;
    border-radius: 2px;
}

.related-items h2::after {
    content: "Related Items";
    font-size: 0.8rem;
    text-align: center;
    position: absolute;
    bottom: -26px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
	line-height:1.25em;
}

.related-items .wp-block-buttons>.wp-block-button.wp-block-button__width-25 {
	min-width:250px;
}

.related-items-button {
	text-align:center;
}

.related-items-button a{
	text-align:center;
	min-width:250px;
	display:inline-block;
	background-color:#000;
	color:#fff;
	margin:30px auto;
	padding:10px 20px;
}


/* ============== 関連商品ショートコード =========== */
.producer-products {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:30px;
}

.producer-products article {
	min-width:0;
}

.producer-products article h3{
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
	text-align:center;
	margin:10px auto;
}

.producer-products__image {
	aspect-ratio:1;
	overflow:hidden;
}

.producer-products__image img {
	width:100%;
	height:100%;
	object-fit:cover;
}

/* ============== プラグイン由来 =========== */
ul.favorites-list {
	margin:20px 0;
}

ul.favorites-list li{
	list-style:none;
}

ul.favorites-list li:last-of-type{
	border-bottom:1px solid rgba(0, 0, 0, .2);
}

ul.favorites-list li p {
	margin-bottom:0;
}

ul.favorites-list button {
	margin-right:10px;
}


/** =====================================================

 * 16.1 Mobile Large 620px

========================================================= */
@media screen and (min-width: 38.75em) {
}

/** =====================================================

 * 16.2 Tablet Small 740px

========================================================= */
@media screen and (min-width: 46.25em) {
	header .inner {
		flex-wrap:nowrap;
	}

	.snav .membership .link-text {
		display:inline;
		margin-left:5px;
	}

	.snav .incart-btn .link-text {
		display:inline;
	}

	.hero .wrapper {
		transform:translateX(10vw);
	}

	.hero-image {
		aspect-ratio: 16 / 6;
	}

	.hero-content {
		width:50%;
		max-width:500px;
		margin:auto 5%;
	}

	#makers .wrapper {
		display:grid;
	}

	#makers .makers-image {
		grid-area: 1 / 1;
		margin-left:-50px;
	}

	#makers .makers-content {
		grid-area:1 / 1;
		width:400px;
		margin:20px 0 0 auto;
	}

	.pickup-items {
		padding-top:6em;
		margin-top:-50px;
	}

	.pickup-items .topics-list {
		flex-direction:row;
		max-width:1200px;
		margin:auto;
		align-items:flex-start;
	}

	section#magazine .magazine-list article {
		width: calc((100% - 30px) / 4);
	}

	.snav {
	justify-content:flex-end;
	}

	.footer-navigation {
		border-bottom:1px dotted #ccc;
		display:flex;
		justify-content:center;
		gap:30px;

	}

	.footer-menu {
		display:flex;
		gap:30px;
		max-width:1000px;
		margin:auto;
		justify-content:space-around;
	}

	.footer-menu li {
		width:auto;
		padding-right:0;
		text-align:center;
		margin-bottom:0;
	}

	/* magazine archive */
	.post-type-archive-magazine #content .magazine-list {
		grid-template-columns:repeat(3,minmax(0,1fr));
	}


	/* ブロックエディタテンプレート用 */
	.makers-page .four-square .wp-block-columns:nth-of-type(even) .wp-block-column:first-of-type {
		order:1;
	}

	.makers-page .four-square .wp-block-columns:nth-of-type(even) .wp-block-column:last-of-type {
		order:2;
	}

	.producer-products {
		flex-wrap:nowrap;
	}

	/* 商品詳細ページ */
	.single-post .four-square {
		display:grid;
		grid-template-columns:1fr 1fr;
	}

	.single-post .four-square .wp-block-columns:nth-of-type(even) .wp-block-column:first-of-type {
		order:1;
	}

	.single-post .four-square .wp-block-columns:nth-of-type(even) .wp-block-column:last-of-type {
		order:2;
	}

	.single-post .four-square > div:nth-of-type(3){
		order:4;
	}

	.single-post .four-square > div:nth-of-type(4){
		order:3;
	}

	.storycontent #itempage {
		flex-direction:row;
	}

	.for-members {
		text-align:center;
	}

	.for-members .btn-area {
		flex-direction:row;
	}

	/* ------ 商品一覧 ---- */

	.shop-category-header {
		position:relative;

		align-items:baseline;
		padding-bottom:10px;
	}

	.shop-category-header .makers-button{
		position:absolute;
		right:0;
		top:0;
	}

	.items-wrapper {
		grid-template-columns:1fr 1fr;
	}

	/* カラムブロックをタブレット端末では横に並べる */
	.wp-block-columns {
		flex-wrap:nowrap !important;
	}


	/* --------- category ---------- */
	.items-wrapper {
		grid-template-columns:1fr 1fr 1fr;
	}
}


/** =====================================================

 * 16.3 Tablet Large 880px

========================================================= */
@media screen and (min-width: 55em) {
	.nav-menu-open {
		width:auto;
	}


	.single-post .four-square figure {
		aspect-ratio:1;
	}
}

/** =====================================================

 * 16.4 Desktop Small 1000px

========================================================= */
@media screen and (min-width: 62.5em) {
	header #site-navigation input#panel.on-off + div.nav-menu-open,
	header #site-navigation input#panel.on-off:checked + div.nav-menu-open,
	header #site-navigation input#panel.on-off + div.header-nav-container {
		background-color:rgba(255,255,255,0.95);
		top:0;
	}

	header #site-navigation input#panel.on-off + div.nav-menu-open a,
	header #site-navigation input#panel.on-off:checked + div.nav-menu-open a,
	header #site-navigation input#panel.on-off + div.header-nav-container a {
		color:#000;
	}

	header .inner {
		width:100%;
		max-width:1920px;
		padding:0 20px;
	}

	.snav {
		margin-bottom:0;
	justify-content:flex-end;
	}

	.snav .membership li:first-child, .snav .membership li a {
		font-size:12px;
	}

	.incart-btn {
		font-size:12px;
	}

	.snav .search-box i {
		display:inline;
	}

	.item-box {
/*		max-width:250px; */
	}

	footer nav {
		width:auto !important;
	}


	.items-wrapper {
		grid-template-columns:1fr 1fr 1fr;
	}
}

/** =====================================================

 * 16.5 Desktop normal 1200px

========================================================= */
@media screen and (min-width: 75em) {

	#makers .makers-content {
	    margin: auto 100px auto auto;
	}

}