/* Chiteya Original CSS */
*, *::before, *::after {
    box-sizing:border-box;
}

p{
	font-size:16px;
}
.br-pc{
    display:block;
}

@media (max-width:500px){
    .br-pc{
        display:none;
    }
	section p {
    text-align: left;
	}
}

.br-sp{
    display:block;
}

@media (min-width:500px){
    .br-sp{
        display:none;
    }
	
}

main{
	width:100%;
    max-width: 1500px;
    margin: 0 auto;
}

section{
	width: 96vw;
    margin: 0 auto 5%;
    max-width: 900px;
    padding: 20px;
}

/*
.lower-section{
    max-width:900px;
    margin:0 auto 8rem;
}
*/

@media (max-width: 500px) {
	/*
    main{
    width: 100%;
    }
	
    .lower-section{
        max-width:90vw;
		margin-bottom:4rem;
	
        
    }*/
}


/*
.container,
.site-wrapper {
  max-width: 1200px;
  margin: 0 auto;
}
  */
.top-hero img{
	width:100%;
	aspect-ratio: 16 / 9;
    display: block;
	/* height: 200px;     */ 
  object-fit: cover; 
  object-position: center 60%; 
}


.section-title{
    text-align: center;
    margin-bottom:40px;
}

.section-title-jp{
    text-align: center;
    font-size: 14px;
    margin:0 auto 2rem;
}


/* button */
.btn-wrapper .btn {
    text-align: center;
    display: block;
    text-decoration: none;
    padding: 0.5rem 2rem;
    border: 1px solid #333333; 
    background-color: #333333;
    color: white;
    font-weight: bold;
    border-radius: 10px;
    width: fit-content;
    margin: 50px auto 0;

    transition: all 0.25s ease;
}

/* hover */
.btn-wrapper .btn:hover {
    background-color: #1A1A1A;
    border-color: #1A1A1A;
    transform: translateY(-1px);
}
/* Category */

/* PC：グリッド */



.category-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

/* スマホ：Swiper */
@media (max-width: 768px) {
  .category-list {
    display: block;
  }

  .swiper-wrapper {
    display: flex;
  }

  .category-item {
    width: 70%;
  }

  .category-slider{
    margin-left: 2rem;
}
}

.category-card a p {
  text-align: center;
  margin-top: 8px;
  color:black;
  font-weight: bold;
  font-size: 20px;
}
.category-card a {
  text-decoration: none;
}

.category-card a img {
  width: 100%;
  aspect-ratio: 1 / 1;   /* ← 正方形にする */
  object-fit: cover;     /* ← はみ出た部分をトリミング */
  border-radius: 12px;
}

/* Grid */

.grid-2row{
    display:grid;
    grid-template-columns: 1fr 1fr;
}
@media (max-width: 768px) {
    .grid-2row{
        grid-template-columns: 1fr;
    }
}

.grid-3row{
    display:grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap:20px;
}
@media (max-width: 768px) {
    .grid-3row{
        grid-template-columns: 1fr;
    }
}



.blog-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

.blog-card {
    display:block;
    text-decoration:none;
    transition:0.3s ease;
}
.blog-card h3{
	font-size:16px;
}

.blog-card:hover {
    transform:translateY(-3px);
    opacity:0.9;
}

.wc-block-grid .wc-block-grid__products .woocommerce-loop-image-link img{
    width: 100%;
  aspect-ratio: 1 / 1;   /* ← 正方形にする */
  object-fit: cover;     /* ← はみ出た部分をトリミング */
  border-radius: 12px;
}

.category-slider.swiper.swiper-initialized.swiper-horizontal.swiper-backface-hidden {
    margin: 1rem 5rem;
}


/* hero Swiper css */
/* =====================
  Hero 全体
===================== */
.hero {
  position: relative;
  height: 100vh;
  overflow: hidden;
}

/* Swiperをフルサイズに */
.hero-slider,
.swiper,
.swiper-wrapper,
.swiper-slide {
  height: 100%;
}

/* 背景画像 */
.slide-bg {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 7s linear;
}

/* ズーム（アクティブ時） */
.mv01 .swiper-slide-active .slide-bg {
  transform: scale(1.05);
}

/* オーバーレイ（テキスト） */
.hero-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
  z-index: 10;
}

/* =====================
  スマホ調整
===================== */
@media (max-width: 768px) {
  .hero {
    height: 60vh; /* ←ここ重要 */
    width:100vw;
    max-width:100%;
  }

  .slide-bg {
    background-position: center top; /* ←切れ対策 */
  }

  .hero-overlay h1 {
    font-size: 18px;
    line-height: 1.6;
  }
}

/* =====================
  GoogleMap
===================== */
.map {
    margin-top: 30px;
}

.map iframe {
    width: 100%;
    height: 450px;
    border: 0;
}

@media (max-width: 768px) {
    .map iframe {
        height: 300px;
    }
}

.shop-info img{
    width: 100%;
    max-width: 650px;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
    margin: 0 auto 2rem;
}

section p{
  text-align: center;
}


.concept img{
  width:30px;
}




@media (max-width: 500px) {
	section p{
		text-align:left;
	}
    .info-list {
        text-align:left;
    }
	
}





.info-title{
	font-size:18px;
	font-weight: 400;
	text-align:center;
	padding-top:10px;
}


.quality-page img.img2{
  width: 300px;        
  height: 200px;      
  object-fit: cover; 
  object-position: center 40%; 
margin: 0rem auto;
}


.quality-page img.img1 {
  width: 300px;        
  height: 200px;     
  object-fit: cover; 
  object-position: center 10%;
margin: 0rem auto;
}

@media (max-width: 768px) {
	.quality-page img .img1,
	.quality-page img .img2{
		margin:10px;
	}
   
	
}


.wp-site-blocks .wp-block-woocommerce-cart.alignwide,
.wp-site-blocks .wp-block-woocommerce-checkout.alignwide {
        width:80vw;
	max-width:1200px;
	
    margin:auto;
    }

@media (min-width: 1430px) {
    /* .wp-site-blocks .content-container .alignwide */
	.wp-site-blocks .wp-block-woocommerce-cart.alignwide,
.wp-site-blocks .wp-block-woocommerce-checkout.alignwide{
        margin-left:auto;
        margin-right:autopx;
        width: unset;
        max-width: unset;
		         margin-left: auto;
    margin-right: auto;
        width: 80vw;
        max-width: 1200px; 
    }
}

.wpcf7 input[type="url"], .wpcf7 input[type="email"],.wpcf7 input[type="text"]{
	width:100%;
}

/*------------------------------------
商品ページのテーブル用CSS　共通
------------------------------------*/

.product-spec-table{
    width:100%;
    border-collapse:collapse;
    border:1px solid #dcdcdc;
    margin:2rem 0;
    font-size:.95rem;
    line-height:1.8;
}

.product-spec-table th,
.product-spec-table td{
    border:1px solid #dcdcdc;
    padding:16px 20px;
}

.product-spec-table th{
    width:180px;
    background:#fafafa;
    text-align:left;
    vertical-align:top;
    font-weight:600;
}

.product-spec-table td{
    vertical-align:top;
}

.product-spec-table strong{
    display:inline-block;
    margin-bottom:4px;
}

.product-spec-table a{
    text-decoration:none;
}

.product-spec-table a:hover{
    text-decoration:underline;
}


/* ご購入前 */

.product-notes-title{
    margin:2rem 0 1rem;
    font-size:1rem;
}

.product-notes{
    margin:0;
    padding-left:1.4rem;
    line-height:1.9;
}


/*-スマホ-*/

@media (max-width:768px){

    .product-spec-table{
        font-size:.9rem;
    }

    .product-spec-table th{
        width:95px;
        padding:12px;
    }

    .product-spec-table td{
        padding:12px;
    }

}


/* contact form */
.page-id-99 .site-container {
    margin: 0 auto;
    width: 100%;
    max-width: 700px;
}

.page-id-99 input[type="submit"]{
	display: block;
    margin: auto;
	
}

/* login page notice  */

.account-notice p{
	margin:0;
	padding:0;
}