:root {
--color-bg: #ffffff;
--color-text: #1a1a1a;
--color-muted: #888888;
--color-accent-purple: rgb(117 26 133 /1);
--color-accent-green: #62b5b9;
--color-accent-green-rgb: rgb(98 181 185 /1);
}


*, *::before, *::after {
  box-sizing: border-box;
}
html {
font-size: 16px;
}

/* 基本のマージン・パディング調整 */
body, h1, h2, h3, h4, h5, h6, p, figure {
margin: 0;
padding: 0;
}

/* リストのデフォルトスタイルを削除 */
ul, ol {
list-style: none;
padding: 0;
margin: 0;
}

/* 画像の余白を消して、レスポンシブ対応 */
img {
max-width: 100%;
height: auto;
display: block;
}

/* ボタンの標準スタイルを調整 */
button {
background: none;
border: none;
cursor: pointer;
}

/* フォーム要素のリセット */
input, textarea, select {
font: inherit;
border: none;
outline: none;
}

/* aタグのデフォルト装飾を削除 */
a {
text-decoration: none;
color: inherit;
}
@media (hover: hover) and (pointer: fine) {
a:hover,
a img:hover {
transition: .3s;
}
}

@media (min-width:601px) {
a[href^="tel:"] {
pointer-events: none;
color: inherit;
}
}


body {
font-family: "Helvetica Neue", "Arial", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", "sans-serif";
overflow-wrap: anywhere; /* 収まらない場合に折り返す */
  word-break: normal; /* 単語の分割はデフォルトに依存 */
  line-break: strict; /* 禁則処理を厳格に適用 */
background-image: linear-gradient(to right top, #f0d1e4, #f1d6ea, #f2dbef, #f4e0f4, #f5e5f9, #f3e5fa, #f1e6fc, #efe6fd, #e9e3fb, #e2dffa, #dbdcf8, #d3d9f6);
overflow-x: hidden;
font-size: clamp(15px, 1.2vw, 18px);
background-image: url(images/bg_body.webp);
background-position: center top;
background-repeat: no-repeat;
background-size: cover;
}
body {font-size: clamp(1rem, 4vw, 1rem); /* 画面のサイズに応じて動き、最小1rem、最大2rem */}
h1 {font-size: clamp(2rem, 6vw, 3rem);}
h2 {font-size: clamp(1.5rem, 5vw, 2rem);}
h3 {font-size: clamp(1.375rem, 6vw, 1.5rem);}
h4 {font-size: clamp(1.25rem, 5vw, 1.5rem);}
h5 {font-size: clamp(1.125rem, 6vw, 1.25rem);}
h6 {font-size: clamp(1.125rem, 5vw, 1.25rem);}
p {font-size: clamp(1rem, 3vw, 1rem);}

@media (max-width: 834px) {
body {font-size: clamp(1rem, 5vw, 1rem); /* タブレット用 */}
}
@media (max-width: 600px) {
body {font-size: clamp(1rem, 6vw, 1.2rem); /* スマホ用 */}
}
h1{
margin: 0 auto 1rem;
font-family: 'Roboto Condensed', sans-serif;
font-size: 1.5rem;
line-height: 1.2;
letter-spacing: .1em;
color: #101010;
}

body{
animation: name 1s ease-in 0.1s both;
transform-origin: center top;
}
@keyframes name{
0%{ opacity: 0; }
100%{ opacity: 1; }
}

a{color: var(--color-accent-red);}
a:hover{color: var(--color-accent-green);}

header.gm-navbar{
position: fixed;
top: 0;
width: 100%;
font-weight: 600;
}

.text-center{text-align: center;}
.text-md-center{text-align: center;}
.text-end{text-align: right;}

.mb-1{margin-bottom: .5rem;}
.mb-2{margin-bottom: 1rem;}
.mb-3{margin-bottom: 1.5rem;}
.mb-4{margin-bottom: 2rem;}
.mb-5{margin-bottom: 2.5rem;}
.mb-6{margin-bottom: 3rem;}
.mb-7{margin-bottom: 3.5rem;}
.mb-8{margin-bottom: 4rem;}

.d-block{
display: block;
}
.mx-auto{
margin: 0 auto;
}
.container{
width: 1200px;
max-width:100%;
margin: 0 auto;
grid-column:1 / 3;
grid-row:2 / 3;
display: grid;
grid-template-columns: 1fr 300px;
grid-template-rows: 1fr;
gap: 0 60px;
}
.site-main{
grid-column:1 / 2;
grid-row:1 / 2;
}
.widget-area{
grid-column:2 / 3;
grid-row:1 / 2;
}

.vw-100{
width: calc(100vw - 1vw);
}
.w-900{
max-width: 900px;
margin: 0 auto;
}
.w-800{
max-width: 800px;
margin: 0 auto;
}
.text-center{
text-align: center;
}


.site{
display:grid;
grid-template-columns: 1fr;
grid-template-rows: auto 1fr auto;
gap: 0 60px;
min-height: 100vh;
margin: 0 auto;
}
.site-header{
grid-column:1 / 3;
grid-row:1 / 2;
}
.site-footer{
grid-column:1 / 3;
grid-row:3 / 4;
}

.grid{
display:grid;
width: 100%;
box-sizing: border-box;
--gap-size: 30px; /* デフォルトのgap */
gap: var(--gap-size);
}
.gap-5 { --gap-size: 5px; }
.gap-10 { --gap-size: 10px; }
.gap-15 { --gap-size: 15px; }
.gap-20 { --gap-size: 20px; }
.gap-30 { --gap-size: 30px; }
.gap-60 { --gap-size: 60px; }
.gap-80 { --gap-size: 80px; }
.gap-90 { --gap-size: 90px; }

.grid-2{grid-template-columns: calc(50% - var(--gap-size) / 2) calc(50% - var(--gap-size) / 2);}
.grid-3{grid-template-columns: repeat(3, calc((100% - 2 * var(--gap-size)) / 3));}
.grid-4{grid-template-columns: repeat(4, calc((100% - 3 * var(--gap-size)) / 4));}
.grid-5{grid-template-columns: repeat(5, calc((100% - 4 * var(--gap-size)) / 5));}
.grid-1-2 {grid-template-columns: calc((100% - var(--gap-size)) * (1 / 3)) calc((100% - var(--gap-size)) * (2 / 3));}
.grid-2-1 {grid-template-columns: calc((100% - var(--gap-size)) * (2 / 3)) calc((100% - var(--gap-size)) * (1 / 3));}


.pc{display: block;}
.tablet{display: none;}
.sp{display: none;}


.site-main{
}

@media (max-width:834px) {
.site-main{
width: 100%;
}
.text-md-center{
text-align: left;
}
}
@media (max-width:600px) {
.widget-area{
width: 100%;
}
.pc{display: none;}
.tablet{display: none;}
.sp{display: block;}
.grid-2{
grid-template-columns: 1fr;
}
.grid-3{
grid-template-columns: 1fr;
}
.grid-4{
grid-template-columns: 1fr;
}
.grid-1-2{
grid-template-columns: 1fr;
}
.grid-2-1{
grid-template-columns: 1fr;
}
}

.section{
padding: 4rem 0 0;
}

.center-center {
display: grid;
place-content: center;
gap: 1ch;
}




/********************************

	WOO EDIT

********************************/
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt {
background-color: var(--color-accent-green);
color: #fff;
-webkit-font-smoothing: antialiased;
border: 1px solid var(--color-accent-green);
transition: .3s;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt:hover {
color: var(--color-accent-green);
background-color: #fff;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
margin-bottom: 1rem;
color: var(--color-accent-purple);
font-size: 1.5rem;
}
.woocommerce-price-suffix{
font-size: 1rem;
color: #404040;
}

.woocommerce-Tabs-panel h2,
.related h2{
margin: 3rem 0 1rem;
padding-bottom: .5rem;
font-size: 1.25rem;
border-bottom: 1px solid #cfc8d8;
}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price {
color: var(--color-accent-purple);
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button {
color: #fff;
background-color: var(--color-accent-green);
border: 1px solid var(--color-accent-green);
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button:hover {
background-color: #fff;
color: var(--color-accent-green);
}

.woocommerce-notice {
margin-bottom: 1.5rem;
}
.woocommerce ul.order_details li{
border-right: 1px solid rgb(0 0 0 /.75);
}

.woocommerce-order h2{
position: relative;
margin-bottom: 1rem;
padding: .5rem .5rem .5rem 1rem;
font-size: 1.5rem;
border-top: 1px solid rgba(0,0,0,.1);
border-bottom: 1px solid rgba(0,0,0,.1);
}
.woocommerce-order h2::before{
position: absolute;
left: 0;
top: 0;
content: "";
display: block;
width: 3px;
height: 100%;
background-color: var(--color-accent-purple);
}

.woocommerce-order p{
margin-bottom: 1.5rem;
}
.woocommerce ul.order_details {
margin: 0 0 3rem;
}
.order_details.bankjp_details{
margin-bottom: 2.5rem !important;
border: 1px solid rgba(0,0,0,.1);
border-bottom-width: 2px;
border-right-width: 2px;
border-radius: 5px;
padding: 6px 12px;
}
.woocommerce table.my_account_orders .button{
margin-right: 10px;
}
.woocommerce .woocommerce-info .button{
margin-top: .5rem;
float: none;
}
.woocommerce-Address-title{
}
.woocommerce-Address-title h2{
margin: 1rem 0 1rem;
font-size: 1.5rem;
}
.woocommerce-Address-title .edit{
display: inline-block;
margin: 0 0 1rem;
padding: .25rem .5rem;
font-size: .937rem;
background-color: rgb(255 255 255 /.75);
border-radius: 3px;
}
.woocommerce-Address address{
line-height: 1.75;
font-style: normal;
}
.woocommerce-EditAccountForm fieldset{
margin-bottom: 1rem;
}
#invoicejapanresending,
p.order-print{
display: none;
}

.product_meta{
margin: 1.5rem 0 0;
padding: .5rem;
font-size: clamp(1rem, 3vw, 1rem);
border: 1px solid #cfc8d8;
border-radius: 3px;
}
.product_meta .posted_in{
display: block;
margin: 0 0 .5rem;
}
.product_meta .tagged_as{
display: block;
}

/********************************

	UTILITY

********************************/

/********************************

	NAVIGATION

********************************/

.burger {
position: fixed;
top: 24px;
right: 20px;
width: 30px;
height: 30px; /* 少し高さに余裕を持たせた */
display: flex;
justify-content: space-between;
align-items: center;
padding: 8px;
border-radius: 50px; /* 丸めて円矩形に */
background-color: transparent;
transition: background-color 0.3s ease, box-shadow 0.3s ease;
z-index: 100;
box-sizing: content-box;
}

/* ドットの見た目そのまま */
.burger .dot {
width: 5px;
height: 5px;
background: black;
border-radius: 50%;
transition: transform 0.3s ease, opacity 0.3s ease;
}

/* open時に背景を表示 */
.burger.open {
background-color: rgba(0, 0, 0, 0.1); /* ほんのり黒背景、調整OK */
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); /* ちょっと浮かせる */
backdrop-filter: blur(4px); /* 半透明感が出て高級っぽくなる */
}

.menu-overlay {
 position: fixed;
top: 0;
right: 0;
width: 100%;
max-width: 600px;
height: 100vh;
background: #fff;
background-color: rgb(255 255 255 /.85);
backdrop-filter: blur(10px);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;

/* 👇 最初は右に隠しておく */
transform: translateX(100%);
z-index: 90;
}

.menu-overlay a {
color: black;
text-decoration: none;
font-family: 'Roboto Condensed', sans-serif;
font-weight: 700;
font-size: 1.5rem;
margin: 20px 0;
opacity: 0;
}

.open .dot:nth-child(1) {
  transform: translateX(12.5px); /* 左側にスライド */
}

.open .dot:nth-child(3) {
  transform: translateX(-12.5px); /* 右側にスライド */
}

.open .dot:nth-child(2) {
  opacity: 0; /* 真ん中消す */
}

/********************************

	HEADER

********************************/

.site-branding{
margin: 0;
padding: 30px 0;
display: grid;
place-content: center;
gap: 1ch;
background-color: #fff;
}
.custom-logo{
display: block;
margin: 0 auto;
width: 320px;
}

.site-title{
margin: 0 auto 15px;
text-align: center;
}
.site-header{
margin: 0 0 30px;
background-color: rgb(0 0 0 /.025);
}
.main-navigation{
box-shadow: rgba(0, 0, 0, 0.16) 0px 30px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 0px;
}
.main-navigation ul{
margin: 0;
padding: 0;
gap: 0 30px;
justify-content: center;
background-color: rgb(255 255 255 /.85);
}
.main-navigation ul li a{
padding: 1rem 1rem;
}
.wpmenucartli {
padding-left: 1rem;
border-left: 1px solid  rgb(0 0 0 /.1);
white-space: nowrap;
display: grid;
align-items: center;
font-family: 'Roboto Condensed', sans-serif;
font-weight: 700;
font-size: 1.125rem;
}
.main-navigation ul li.wpmenucartli a{
display: block;
padding: .2rem .5rem;
color: #fff;
background-color: var(--color-accent-green);
border-radius: 100px;
}


/********************************

	FOOTER

********************************/
.container_footer-nav{
margin: 0 auto 3rem;
padding: 0;
}
.footer-nav{
display: flex;
justify-content: center;
}
.footer-nav li{
margin: 0 .5rem;
font-size: .875rem;
}
.footer-nav li a{
display: block;
margin: 0;
padding: .5rem;
}


.site-footer{
position: relative;
z-index: 1;
padding: 1rem 0;
border-top: 1px solid rgb(0 0 0 /.1);
}
.site-footer h3{
margin: 0 auto 1rem;
text-align: center;
font-size: 1rem;
}
.site-footer h3 span{
font-family: 'Roboto Condensed', sans-serif;
font-size: .875rem;
letter-spacing: .2em;
}
.site-footer address{
line-height: 1.75;
font-size: .875rem;
font-style: normal;
text-align: center;
}
.site-footer address a{
font-family: 'Roboto Condensed', sans-serif;
font-size: 1.25rem;
letter-spacing: .1em;
text-align: center;
}
.copyright{
font-family: 'Roboto Condensed', sans-serif;
font-size: .75rem;
letter-spacing: .1em;
text-align: center;
letter-spacing: .2em;
}

/********************************

	WIDGET

********************************/

.widget {
padding: 15px;
background-color: rgb(255 255 255 /.05);
background-color: rgb(0 0 0 /.025);
border-radius: 20px;
box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 0px;
box-shadow: 0 2px 8px rgb(0 0 0 /.05) inset;
}
.widget h2 {
margin-bottom: .75rem;
font-size: clamp(1rem, 5vw, 1.125rem);
}


/********************************

	FRONTPAGE

********************************/
.front_link {
padding: 3rem 2rem;
background-color: rgb(255 255 255 /.05);
box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 0px;
border-radius: 20px;
}
.front_link a{
display: block;
text-align: center;
padding: 15px;
font-size: 1.25rem;
font-weight: 600;
background-color: rgb(255 255 255 /.45);
border: 1px solid rgb(255 255 255 /.45); 
border-radius: 100px;
box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 0px;
}
.front_link a:hover{
background-color: rgb(255 255 255 /1);
border: 1px solid rgb(255 255 255 /1); 
}
.front_link a:nth-child(1){
color: #fff;
border: 1px solid rgb(98 181 185 /.5); 
background-color: rgb(98 181 185 /1);
}
.front_link a:nth-child(1):hover{
color: var(--color-accent-green);
background-color: rgb(255 255 255 /.75);
border: 1px solid rgb(98 181 185 /1); 
}

.fig_01{
display: block;
margin: 4rem auto 0;
filter: grayscale(.3);
opacity: .75;
}

/********************************

	SECONDARY PAGE

********************************/

.woocommerce-page h1,
.page h1{
margin-bottom: 3rem;
padding: 2rem 1rem;
line-height: 1;
background-color: rgb(255 255 255 /.1);
border-top: 1px solid rgb(255 255 255 /.75);
border-bottom: 1px solid rgb(255 255 255 /.75);
}
.wc-block-cart-items{}
.wc-block-cart-item__total{
font-family: 'Roboto Condensed', sans-serif;
font-size: 1.25rem;
letter-spacing: .05em;
color: #dc0000;
}
.wc-block-components-formatted-money-amount{
font-family: 'Roboto Condensed', sans-serif;
font-size: 1.25rem;
letter-spacing: .05em;
color: #000;
}
.wc-block-components-totals-item__value .wc-block-components-formatted-money-amount{
font-family: 'Roboto Condensed', sans-serif;
font-size: 1.5rem;
letter-spacing: .05em;
color: #dc0000;
}
.wp-block-woocommerce-cart-order-summary-block{
margin-bottom: 2rem;
}


.wc-block-components-button__text{
display: block;
padding: 1rem 2.5rem;
font-weight: 500;
color: #fff;
background-color: var(--color-accent-green);
border: 1px solid var(--color-accent-green);
border-radius: 4px;
box-shadow: 0 8px 20px rgb(98 181 185 /.35);
transition: transform 0.3s ease;
}
.cartcontents{
text-transform: uppercase;
color: rgb(255 255 255 /.5);
}
.wc-block-components-button__text:hover{
color: var(--color-accent-green);
background: #fff;
border: 1px solid var(--color-accent-green);
box-shadow: 0 10px 24px rgba(98, 181, 185, 0.25);
transform: scale(1.02);
}

.woocommerce-MyAccount-navigation{
padding-right: 1rem;
}
.woocommerce-MyAccount-navigation ul{}
.woocommerce-MyAccount-navigation ul li{
padding: 0;
}
.woocommerce-MyAccount-navigation ul li:not(:last-child) {
border-bottom: 1px solid rgb(0 0 0 /.25);
}
.woocommerce-MyAccount-navigation ul li a{
display: block;
padding: .5rem;
transition: .3s;
}
.woocommerce-MyAccount-navigation ul li a:hover{
background-color: rgb(255 255 255 /.25);
}

.woocommerce-product-gallery__wrapper .zoomImg,
.woocommerce div.product div.images .woocommerce-product-gallery__trigger{
display: none !important;
}
.woocommerce-product-gallery__image img,
.woocommerce div.product div.images .woocommerce-product-gallery__image a {
pointer-events: none;
}
.woocommerce-mini-cart__buttons.buttons .button.wc-forward,
.button.product_type_simple.add_to_cart_button.ajax_add_to_cart{
margin-top: .5rem;
display: block;
color: var(--color-accent-green);
background-color: #fff;
border: 1px solid var(--color-accent-green);
box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 0px;
transition: .3s;
}
.woocommerce-mini-cart__buttons.buttons .button.wc-forward:hover,
.button.product_type_simple.add_to_cart_button.ajax_add_to_cart:hover{
color: #fff;
background-color: var(--color-accent-purple);
}
.woocommerce-mini-cart__buttons.buttons .button.checkout.wc-forward,
.button.product_type_simple.add_to_cart_button.ajax_add_to_cart{
color: #fff;
border: 1px solid rgb(98 181 185 /1);
background-color: rgb(98 181 185 /1);
}

.woocommerce-mini-cart__buttons.buttons .button.checkout.wc-forward:hover,
.button.product_type_simple.add_to_cart_button.ajax_add_to_cart:hover{
color: var(--color-accent-green);
background-color: rgb(255 255 255 /1);
}

/********************************

	特定商取引法に基づく表記

********************************/

.legal .entry-content dl{
display: flex;
flex-wrap: wrap;
}
.legal .entry-content dt,
.legal .entry-content dd{
margin: 0;
padding: 1rem;
font-size: .937rem;
border-bottom: 1px solid rgb(0 0 0 /.1);
display: grid;
align-items: center;
}
.legal .entry-content dt span{
display: block;
font-size: .875rem;
}
.legal .entry-content dt{
width: 16em;
}
.legal .entry-content dd{
width: calc(100% - 16em);
}
@media(max-width:600px){
.legal .entry-content dl{
display: block;
}
.legal .entry-content dt,
.legal .entry-content dd{
display: block;
width: 100%;
padding: .5rem;
}
.legal .entry-content dd{
border-bottom: none;
}
.legal .entry-content dd:not(:last-child) {
margin-bottom: 1rem;
}
}

.ul_asterisk{
list-style: none;
}
.terms .ul_asterisk{
margin-bottom: 3rem;
}

.ul_asterisk li{
position: relative;
padding: 0 0 0 1.25rem;
font-size: .937rem;
}
.ul_asterisk li::before{
content: "※";
position: absolute;
left: 0;
top: 0;
}

/********************************

	利用規約

********************************/
.terms .entry-content dl{}
.terms .entry-content dt{
margin: 0 0 1rem;
padding: 0 0 .5rem;
font-size: 1.125rem;
border-bottom: 1px solid rgb(0 0 0 /.5);
}

.terms .entry-content dt span{
display: inline-block;
margin: 0 0 0 1rem;
padding: 0;
font-size: 1rem;
}
.terms .entry-content dd{
margin: 0 0 2rem;
padding: 0;
font-size: .937rem;
}
.terms .entry-content dd ul{
list-style: none;
margin: .25rem 0;
padding: 0 0 0 1rem;
}
.terms .entry-content dd ul li{
position: relative;
margin: ;
padding: .25rem 0 .25rem 1.25rem;
}
.terms .entry-content dd ul li::before{
content: "ー";
position: absolute;
left: 0;
top: 4px;
}

/********************************

	プライバシーポリシー

********************************/
.privacy-policy{}
.privacy-policy .entry-content{}
.privacy-policy .entry-content dl{}
.privacy-policy .entry-content dt{
margin: 2.5rem 0 1rem;
padding: .5rem;
font-size: 1.125rem;
border: 1px solid rgb(0 0 0 /.5);
}
.privacy-policy .entry-content dd{
margin: 0 0 1rem;
padding: 0 1.5rem;
font-size: .937rem;
}
.privacy-policy .entry-content dd dl{
margin-top: 1rem;
}
.privacy-policy .entry-content dd dt{
margin: 0 0 .5rem;
font-size: 1rem;
border: none;
border-bottom: 1px solid rgb(0 0 0 /.1);
}
.privacy-policy .entry-content dd ol{
margin-top: 1rem;
padding-left: 3.5rem;
}
.privacy-policy .entry-content dd ol li{
position: relative;
padding: .25rem 0;
line-height: 1.6;
}
.privacy-policy .entry-content dd ol li::before{
content: "ー";
position: absolute;
left: -30px;
top: 0;
display: inline-block;
color: rgb(0 0 0 /.25);
}
.privacy-policy .entry-content dd div{
margin: .75rem 0 0;
padding: .5rem;
background-color: rgb(0 0 0 /.05);
border-radius: 4px;
}
.privacy-policy .entry-content dd ul{
margin: 1rem 0;
}

@media(max-width:600px){
.privacy-policy .entry-content dt{
font-size: 1rem;
}
}

/********************************

	返金・キャンセルポリシー

********************************/

.refund_returns h2{
margin: 2.5rem 0 1rem;
padding: .5rem;
font-size: 1.125rem;
border: 1px solid rgb(0 0 0 /.5);
}
.refund_returns h3{
margin: 0 0 1rem;
padding: .5rem;
font-size: 1rem;
border-bottom: 1px solid rgb(0 0 0 /.5);
}
.refund_returns .entry-content ul{
margin: 0 0 1rem;
padding: .5rem .5rem .5rem 1.5rem;
list-style:disc;
}
.refund_returns .entry-content ul li{
padding: .5rem;
font-size: .937rem;
line-height: 1.6;
}
.refund_returns .entry-content ul li:not(:last-child) {
border-bottom: 1px dotted rgb(0 0 0 /.5);
}
.refund_returns .entry-content dl{
padding: .5rem;
background-color: rgb(0 0 0 /.025);
border-radius:20px;
box-shadow: 0 2px 8px rgb(0 0 0 /.05) inset;
}
.refund_returns .entry-content dt{
margin-bottom: .5rem;
}
.refund_returns .entry-content dd{
line-height: 1.6;
}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price{
font-size:1.5rem;
co

}


@media(max-width:1180px){
.container {
width: 100%;
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto;
gap: 0 30px;
}
}

@media(max-width:834px){
.container {
width: 100%;
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto;
gap: 0 30px;
}
}


@media(max-width:600px){
.menu-nav-container {
background-color:rgb(255 255 255 /1);
max-height: 0;
overflow: hidden;
opacity: 0;
transform: translateY(-10px) scale(0);
transition: 
    max-height 0.4s ease,
    opacity 0.3s ease,
    transform 0.3s ease;
transition-timing-function: ease-out
}
.main-navigation.toggled .menu-nav-container {
max-height: 1000px;
opacity: 1;
transform: translateY(0) scale(1);
}
.site-header{
position: relative;
margin:0;
}
.site-branding{
display:block;
padding: 15px;
}
.custom-logo {
width: 200px;
}
.menu-toggle{
padding:10px;
position:absolute;
top:10px;
right:0;
font-size:40px;
}
.main-navigation ul{
margin-bottom: 30px;
}
.wpmenucart-display-right {
float: none !important;
}
.main-navigation ul li.wpmenucartli a{
padding:1rem 2.5rem;
font-size: 24px;
text-align: center;
max-width:90%;
}
.site {
gap: 0 15px;
}
.container {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto;
gap: 0 30px;
padding: 0 15px;
}
.widget-area {
grid-column: 1 / 2;
grid-row: 2 / 3;
}
.footer-nav {
display: block;
justify-content: start;
}
.widget_shopping_cart{
background-color: #fff;
}
.woocommerce-mini-cart__buttons.buttons .button.wc-forward, .button.product_type_simple.add_to_cart_button.ajax_add_to_cart{
padding:1rem 0;
text-align:center;
font-size:18px;
}
.woocommerce-mini-cart__buttons.buttons .button.wc-forward:hover, .button.product_type_simple.add_to_cart_button.ajax_add_to_cart:hover{
}
.front_link {
padding: 1.5rem;
}
.home .fig_01{
width: 50vw;
}
.woocommerce ul.products[class*=columns-] li.product, .woocommerce-page ul.products[class*=columns-] li.product {
width: 100%;
float: none;
}
.woocommerce ul.products li.product .woocommerce-loop-category__title, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3{
text-align: center;
}
.woocommerce ul.products li.product a img{
width: 50vw;
display: block;
margin: 0 auto 1rem;
}
.woocommerce ul.products li.product .button {
display: block;
margin-top: 1em;
}
}