.site-header {
position: fixed;
top: 0;
width: 100vw;
background: white;
z-index: 999;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}
.site-header .container {
display: flex;
align-items: center;
justify-content: space-between;
max-width: 1200px;
margin: 0 auto;
padding: 10px 20px;
}
.menu-icon {
font-size: 2rem;
cursor: pointer;
display: none;
}
.nav-list {
display: flex;
gap: 20px;
list-style: none;
padding: 0;
margin: 0;
}
.nav-list li a {
text-decoration: none;
font-weight: bold;
color: #333;
} @media screen and (max-width: 768px) {
.menu-icon {
display: block;
}
.nav-list {
display: none;
flex-direction: column;
background: white;
position: absolute;
top: 60px;
left: 0;
width: 100%;
padding: 10px 0;
}
.site-nav.active .nav-list {
display: flex;
}
}  @media screen and (min-width: 769px) {
.site-nav .nav-list {
display: flex !important;
flex-direction: row !important;
justify-content: flex-end !important;
align-items: center !important;
gap: 20px;
list-style: none;
margin: 0;
padding: 0;
}
.site-nav .nav-list li {
margin-left: 20px;
}
.site-nav .nav-list li a {
text-decoration: none;
font-size: 0.85rem; font-weight: bold;
color: #333;
}
}
.menu-icon {
display: none;
}
.site-nav {
display: flex;
align-items: center;
}
} @media screen and (min-width: 769px) {
nav.site-nav ul.nav-list {
display: flex !important;
flex-direction: row !important;
justify-content: flex-end !important;
align-items: center !important;
list-style: none;
padding: 0;
margin: 0;
}
nav.site-nav ul.nav-list > li {
margin-left: 20px;
}
nav.site-nav ul.nav-list > li > a {
text-decoration: none;
font-weight: bold;
color: #333;
display: block;
padding: 10px 15px;
}
.menu-icon {
display: none !important;
}
}
@media screen and (max-width: 768px) {
.menu-icon {
display: block !important;
cursor: pointer;
position: absolute;
top: 15px;
right: 20px;
z-index: 1001;
}
.nav-list {
display: none;
flex-direction: column;
background: white;
position: absolute;
top: 60px;
right: 0;
width: 100%;
padding: 10px 0;
z-index: 999;
}
.site-nav.active .nav-list {
display: flex !important;
align-items: flex-end !important; ← 追加（右寄せ）
justify-content: flex-start;
}
.nav-list li {
padding: 10px 20px;
text-align: right; ← 追加
width: 100%;
}
.nav-list li a {
display: block;
font-size: 0.9rem; width: 100%;
text-align: right; ← 追加
}
} .favorites-page {
max-width: 1000px;
margin: 0 auto;
padding: 2rem 1rem;
}
.product-list {
display: flex;
flex-wrap: wrap;
gap: 2rem;
justify-content: center;
}
.product-card {
width: 240px;
border: 1px solid #ddd;
border-radius: 8px;
background: #fff;
padding: 1rem;
text-align: center;
box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}
.product-thumb img {
width: 100%;
height: auto;
max-height: 200px;
object-fit: cover;
border-radius: 4px;
margin-bottom: 0.5rem;
}
.product-title {
font-size: 1rem;
margin: 0.5rem 0;
}
.product-link {
color: #0073aa;
font-size: 0.9rem;
text-decoration: underline;
} .favorite-toggle {
font-size: 1.8rem;
background: none;
border: none;
cursor: pointer;
color: #bbb;
transition: color 0.2s ease;
}
.favorite-toggle:hover {
color: #ff7777; }
.favorite-toggle.favorited {
color: #ff4444; }  .woocommerce div.product {
display: flex;
flex-wrap: wrap;
gap: 40px;
align-items: flex-start;
justify-content: center; padding: 40px 20px;
max-width: 1200px; margin: 0 auto; } .woocommerce div.product .woocommerce-product-gallery {
flex: 0 0 45%;
max-width: 45%;
} .woocommerce div.product .summary {
flex: 1;
max-width: 50%;
}
.woocommerce div.product .favorite-product-toggle {
display: inline-block;
vertical-align: middle;
margin-left: 10px;
background: none;
border: none;
font-size: 24px;
color: #ccc;
cursor: pointer;
}
.favorite-product-toggle.favorited {
color: red;
}
.favorite-full-button {
display: block;
width: 100%;
margin-top: 20px;
padding: 12px;
font-size: 16px;
background-color: #fff8f8;
border: 1px solid #f0c0c0;
border-radius: 6px;
color: #d33;
cursor: pointer;
transition: background-color 0.2s ease;
text-align: center;
}
.favorite-full-button.favorited {
background-color: #ffecec;
color: #a00;
font-weight: bold;
}
.favorite-full-button:hover {
background-color: #ffeeee;
} .single-product .product-summary {
display: flex;
flex-wrap: wrap;
gap: 40px;
align-items: flex-start;
justify-content: center;
}
@media (max-width: 767px) {
.single-product .product-summary {
width: 100% !important;
max-width: 100% !important;
padding: 0 16px;
box-sizing: border-box;
}
.single-product .product-summary .woocommerce-product-gallery,
.single-product .product-summary .summary {
width: 100% !important;
max-width: 100% !important;
}
.single-product .product-summary .summary {
text-align: center;
}
body.single-product .product-summary {
display: block !important;
padding: 0 16px;
box-sizing: border-box;
}
body.single-product .woocommerce-product-gallery {
width: 100% !important;
max-width: 100% !important;
margin: 0 auto 20px;
}
body.single-product .woocommerce-product-gallery img {
width: 100% !important;
height: auto;
display: block;
}
body.single-product .summary {
width: 100%;
max-width: 100%;
text-align: center;
}
body.single-product .favorite-product-toggle {
display: inline-block;
margin-top: 16px;
}
} .woocommerce ul.products li.product .product-card-wrap {
border: 1px solid #eee;
padding: 16px;
border-radius: 12px;
background: #fff;
text-align: center;
transition: box-shadow 0.3s ease;
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.woocommerce ul.products li.product .product-card-wrap:hover {
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
} .woocommerce ul.products li.product .product-card-wrap img {
width: 100%;
height: auto;
border-radius: 8px;
} .woocommerce ul.products li.product .product-card-wrap h2 {
font-size: 1.1rem;
margin: 12px 0 6px;
line-height: 1.4;
} .woocommerce ul.products li.product .product-card-wrap .price {
color: #666;
margin-bottom: 12px;
} .woocommerce ul.products li.product .product-card-wrap .button {
background-color: #8e44ad;
color: #fff;
padding: 10px 20px;
border-radius: 6px;
font-weight: bold;
transition: background-color 0.3s ease;
}
.woocommerce ul.products li.product .product-card-wrap .button:hover {
background-color: #732d91;
} .woocommerce-page .page-title {
text-align: center;  padding-top: 60px !important;       margin-bottom: 30px; font-size: 2rem;
font-weight: bold;
}
.archive.woocommerce .page-title,
body.post-type-archive-product .page-title {
text-align: center;
 margin-top: 60px;
margin-bottom: 30px;
}
.woocommerce-page .site-main {
padding-top: 60px !important; } .shop-page,
.single-product-page,
.woocommerce-account{
padding-top: 120px; }