/*
Theme Name: Welcart Basic Child
Description: Welcart Basic Child Theme
Author: 株式会社ノイズ
Template: welcart_basic
Version: 1.0.0-beata002
*/
:root{
	--brand-base-color:#d4c2a1;
	--brand-accent-color:#f5a524;
	--brand-earth-color:#3E3E3E;
	--brand-natural-color:#F6F5F2;
	--brand-emphasis-color:#e76f5a;
	--brand-auxiliary-color:#d1e8b2;

	--max-width:1200px;
	--content-width:1080px;
	--fs14px:clamp(0.813rem, 0.79rem + 0.11vw, 0.875rem);
	--fs16px:clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
	--fs18px:clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
	--fs20px:clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem);
	--fs21px:clamp(1.125rem, 1.057rem + 0.34vw, 1.313rem);
	--fs24px:clamp(1.313rem, 1.244rem + 0.34vw, 1.5rem);
	--fs25px:clamp(1.438rem, 1.392rem + 0.23vw, 1.563rem);
	--fs28px:clamp(1.625rem, 1.58rem + 0.23vw, 1.75rem);
	--fs32px:clamp(1.875rem, 1.83rem + 0.23vw, 2rem);
	--fs60px:clamp(1.313rem, 0.426rem + 4.43vw, 3.75rem);
	--fs80px:clamp(3.75rem, 3.295rem + 2.27vw, 5rem);
	--fs100px:clamp(5rem, 4.545rem + 2.27vw, 6.25rem);
}
.bold{ font-weight:bold; }
.red{ color:#FF0000; }
.ta_c,.text_center,.txt_center{ text-align:center; }
.text_left,.txt_left{ text-align:left; }
.text_right,.txt_right{ text-align:right; }

body {
	background: var(--brand-natural-color);
	font-family: "Noto Serif Japanese", serif;
	font-size:var(--fs16px);
}
header#masthead {
	margin-bottom: 0;
}
nav#site-navigation ul li {
	font-size: var(--fs16px);
}
footer{
	background: var(--brand-base-color);
}
p.copyright {
	font-size: var(--fs14px);
}
#main{
	width:100%;
	max-width:var(--content-width);
	margin-top:0;
}
div#main.one-column {
    max-width:var(--content-width);
}
div#content {
	padding: 0;
}
#primary .entry-content ,aside#secondary{
	width:100%;
	max-width: var(--content-width);
	margin: auto;
	margin-bottom:5em;
}
aside#secondary .widget {
	font-size: 15px;
}
@media only screen and (max-width:1080px){
	#primary .entry-content ,aside#secondary{
		padding:0 15px;
	}
}
h1.site-title, div.site-title{
	font-family: "Noto Serif JP", serif;
	font-style: normal;
	padding:5px 0;
}
h1.site-title img, div.site-title img{
	height: 100px;
	width: auto;
}
h3.widget_title, .widget_title {
	color: var(--brand-earth-color);
	padding-left: 0;
	background-image: none;
}
.entry-content p, .item-description p {
	line-height: 2;
}
@media only screen and (max-width:650px){
	h1.site-title img, div.site-title img{
		height: 60px;
	}
}
/*
@media only screen and (max-width: 62.4em){
	.site-description{
		background: var(--brand-base-color);
		padding:.8333em;
	}
}
*/

dl {
	display: flex;
	flex-wrap:wrap;
	gap: 15px;
	padding: 1em 0;
	border-bottom: dashed 1px;
}
dt{
	width:25%;
	min-width: fit-content;
	white-space: nowrap;
}
dd{
	width:calc(75% - 15px);
}
@media only screen and (max-width:620px){
	dl{
		gap:1em;
	}
	dd{
		width:fit-content;
	}
	dt br{ display:none; }
}

/**/
.pc-none,.tab-only,.sp-only,.ssp-only{ display:none; }
.pc-only,.tab-none,.sp-none,.ssp-none{ display:block; }
@media only screen and (max-width:768px){
	.pc-only,.tab-none{ display:none; }
	.pc-none,.tab-only{ display:block; }
}
@media only screen and (max-width:420px){
	.tab-only,.sp-none{ display:none; }
	.sp-only,.tab-none{ display:block; }
}
@media only screen and (max-width:320px){
	.ssp-none{ display:none; }
	.ssp-only{ display:block; }
}

.hamburger-wrap{
	opacity: 0;
	background: #1e1e1e85;
	width: 100%;
	transition: all .5s;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -99;
}
.hamburger-wrap.open {
	z-index: 99;
	opacity: 1;
}
.hamburger-nav-menu {
	width: 80%;
	max-width:320px;
	position: absolute;
	top: 0;
	bottom: 0;
	right: -320px;
	transition:all .5s;
	z-index: 100;
	background: #FFF;
	padding: 30px;
}
.hamburger-wrap.open .hamburger-nav-menu{
	right:0;
}
span.hamburger-close {
	display: none;
	cursor: pointer;
	color: #da0b92;
}
.hamburger-wrap.open span.hamburger-close{
	display:block;
	position:absolute;
	top:15px;
	right:15px;
	z-index:101;
}
/**/
/* ベース：装飾リセット */
.hamburger-nav,
.hamburger-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.hamburger-nav > li {
  border-bottom: 1px solid #eee;
}
.hamburger-nav a {
  display: block;
  padding: 12px 16px;
  text-decoration: none;
  color: #222;
}

/* 子メニューをデフォルトは閉じる（アコーディオンの土台） */
.hamburger-nav .sub-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height .25s ease, visibility .25s ease;
  visibility: hidden;
  background: #fafafa;
}

/* インジケーター（三角）を親リンクの右に表示 */
.hamburger-nav .menu-item-has-children > a {
  position: relative;
  padding-right: 40px;
}
.hamburger-nav .menu-item-has-children > a::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-50%) rotate(-45deg); /* 閉じた状態（▶） */
  transition: transform .2s ease;
}

/* --- 開く条件 ------------------------------------------
   1) :has() で「親liが自分直下のaにフォーカス or ホバー」を検知
   2) :focus-within / :hover でも開く（フォールバック）
   3) 現在ページの祖先メニューは常に展開（WPが付ける .current-menu-ancestor）
-------------------------------------------------------- */

/* 1) :has() を使える環境では “クリック/タップでフォーカス” しても開く */
.hamburger-nav .menu-item-has-children:has(> a:focus),
.hamburger-nav .menu-item-has-children:has(> a:focus-visible),
.hamburger-nav .menu-item-has-children:hover {
  /* 開く */
}
.hamburger-nav .menu-item-has-children:has(> a:focus) > .sub-menu,
.hamburger-nav .menu-item-has-children:has(> a:focus-visible) > .sub-menu,
.hamburger-nav .menu-item-has-children:hover > .sub-menu,
.hamburger-nav .current-menu-ancestor > .sub-menu {
  max-height: 1000px; /* 中身に十分な値ならOK（必要に応じて増やす） */
  visibility: visible;
}

/* 2) :focus-within / :hover のフォールバック（:has()非対応でも開く） */
.hamburger-nav .menu-item-has-children:focus-within > .sub-menu,
.hamburger-nav .menu-item-has-children:hover > .sub-menu {
  max-height: 1000px;
  visibility: visible;
}

/* 開いたときは矢印を下向き（▼っぽく）に回転 */
.hamburger-nav .menu-item-has-children:has(> a:focus) > a::after,
.hamburger-nav .menu-item-has-children:has(> a:focus-visible) > a::after,
.hamburger-nav .menu-item-has-children:hover > a::after,
.hamburger-nav .menu-item-has-children:focus-within > a::after,
.hamburger-nav .current-menu-ancestor > a::after {
  transform: translateY(-50%) rotate(45deg);
}

/* 子メニュー内のリンク装飾 */
.hamburger-nav .sub-menu a {
  padding: 10px 16px 10px 28px;
  font-size: .95rem;
  border-top: 1px solid #f0f0f0;
}

/* アコーディオンらしく1つずつ余白 */
.hamburger-nav .sub-menu li:last-child a {
  border-bottom: 0;
}

/* キーボード操作の見やすいフォーカス */
.hamburger-nav a:focus-visible {
  outline: 2px solid #999;
  outline-offset: 2px;
}

.front-il .itemname{
	max-height:unset;
}

div#breadcrumb{
	max-width:var(--content-width);
	margin:1.5em auto;
}