.subpage_wrap{
  margin-top: 160px;
}
/*　##############################
carページ 
*/
#car{
  padding-bottom: var(--section-margin);
}
#car .product_title{
  width: 100%;
  max-width: 300px;
  margin-bottom: var(--section-margin3);

}
#car #main_visual{
  width: 100%;
  position: relative;
  margin-bottom: var(--section-margin3);
}

#car .main-visual-swiper {
  width: 100%;
  margin: 0 auto;
}

#car .main-visual-swiper .swiper-pagination {
  bottom: 20px;
}

#car .main-visual-swiper .swiper-pagination-bullet {
  background: var(--color-red);
  opacity: 0.5;
  width: 12px;
  height: 12px;
}

#car .main-visual-swiper .swiper-pagination-bullet-active {
  opacity: 1;
}

#car .product_info_wrap{
  width: 100%;
  background-color: var(--primary-color);
  padding: var(--section-margin3) var(--section-margin4);
  color: #fff;
  margin: 0 0 var(--section-margin3);
}
#car .product_info_wrap.agetora{
  background-color: var(--secondary-color);
}
#car #product_list{
  width: 100%;
  margin: 0 0 var(--section-margin3);
}

#car #product_list .product_list_wrap{
  display: flex;
  flex-wrap: wrap;
  gap: var(--section-margin3);
}

#car #product_list .product_list_wrap li{
  width: calc((100% - var(--section-margin3) * 2) / 3);
}

#car #product_list .product_list_wrap li a{
  display: block;
  width: 100%;
}

#car #product_list .product_list_wrap li a img{
  width: 100%;
  height: 100%;
  margin: 0 0 var(--section-margin2);
  object-fit: cover;
}

#car #product_list .product_list_wrap li a h3{
  font-size: var(--font-m);
  color: #fff;
  font-weight: bold;
  text-align: center;
}


/*　##############################
prodcutページ 商品一覧
*/
#product #product_list{
  padding-bottom: var(--section-margin);
}

#product #product_list .title{
  font-size: var(--font-x);
  color: #FFF;
  margin-bottom: var(--section-margin2);
}

#product #product_list ul{
  display: flex;
  flex-wrap: wrap;
  gap: var(--section-margin3);
}

#product #product_list ul li{
  width: 100%;
  border: 10px solid var(--primary-color);
  background-color: #fff;
  padding: var(--section-margin3);
  display: flex;
  flex-wrap: wrap;
}
#product #product_list ul li:nth-child(2n){
  border-color: var(--secondary-color);
}
#product #product_list ul li img.thumbnail{
  display: block;
  width: 40%;
}

#product #product_list ul li .product_info{
  width: 60%;
  padding-left: var(--section-margin3);
  display: flex;  
  flex-wrap: wrap;
  box-sizing: border-box;
}

#product #product_list ul li .product_info dl {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

#product #product_list ul li .product_info dl dt{
  width: 100px;
  font-size: var(--font-m);
  color: var(--color-title-brown);
  margin-bottom: var(--section-margin2);
}

#product #product_list ul li .product_info dl dd{
  width: calc(100% - 100px);
  padding-left: var(--section-margin2);
  font-size: var(--font-m);
  color: var(--color-title-brown);
  margin-bottom: var(--section-margin2);
  box-sizing: border-box;
  word-break: break-all; 
}

#product #product_list ul li .product_info dl dd.price{
  color: var(--color-red);
}

@media screen and (max-width: 768px) {
  #product #product_list ul li{
    width: 100%;
  }
  #product #product_list ul li img.thumbnail{
    width: 100%;
    margin-bottom: var(--section-margin2);
  }
  #product #product_list ul li .product_info{
    width: 100%;
  }
}

/*　##############################
companyページ 会社概要
*/
#company{
  padding-bottom: var(--section-margin);
}

#company .title{
  font-size: var(--font-x);
  color: #FFF;
  margin-bottom: var(--section-margin2);
}

/* ###############
companyページ 会社概要 詳細
*/
.company_info {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  padding: var(--section-margin3) var(--section-margin4);
  max-width: 600px;
  margin: 0 auto var(--section-margin3);
}
.company_info__list {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--section-margin2);
}
.company_info__item {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  border-bottom: 1px solid var(--color-beige);
  padding-bottom: var(--section-margin1);
  margin-bottom: var(--section-margin1);
}
.company_info__term {
  width: 120px;
  font-size: var(--font-m);
  color: var(--color-title-brown);
  font-weight: bold;
  flex-shrink: 0;
}
.company_info__desc {
  width: calc(100% - 120px);
  font-size: var(--font-m);
  color: var(--color-title-brown);
  padding-left: var(--section-margin2);
  line-height: 1.5;
  word-break: break-all;
}
@media screen and (max-width: 750px) {
  .company_info {
    padding: var(--section-margin2) var(--section-margin1);
    max-width: 100%;
  }
  .company_info__term {
    width: 90px;
    font-size: var(--font-s);
  }
  .company_info__desc {
    width: calc(100% - 90px);
    font-size: var(--font-s);
    padding-left: var(--section-margin1);
  }
}


/* ###############
zaikoページ 在庫表
*/
#zaiko{
  padding-bottom: var(--section-margin);
}

#zaiko .title{
  font-size: var(--font-x);
  color: #FFF;
  margin-bottom: var(--section-margin2);
}
/* ###############
zaikoページ 在庫表テーブル
*/
.has-fixed-layout {
  width: 100%;
  border-collapse: collapse;
  background: #222;
}
.has-fixed-layout th,
.has-fixed-layout td {
  border: 1px solid #fff;
  color: #fff;
  padding: 10px 12px;
  text-align: left;
}
.has-fixed-layout th {
  background: #333;
  font-weight: bold;
}
.has-fixed-layout .has-text-align-center {
  text-align: center;
}
@media (max-width: 600px) {
  .has-fixed-layout th,
  .has-fixed-layout td {
    padding: 6px 4px;
    font-size: 0.95em;
  }
  .has-fixed-layout {
    font-size: 0.95em;
  }
}

/* ###############
contactページ お問い合わせ
*/
#contact{
  padding-bottom: var(--section-margin);
}

#contact .title{
  font-size: var(--font-x);
  color: #FFF;
  margin-bottom: var(--section-margin2);
}
.contact_wrap {
  max-width: 700px;
  margin: 0 auto;
  padding: 2rem;
  background: #f9f9f9;
  border-radius: 12px;
  font-family: 'Helvetica Neue', sans-serif;
  box-shadow: 0 0 10px rgba(0,0,0,0.05);
}

.announce {
  margin-bottom: 1.5rem;
  font-size: 0.95rem;
  color: #444;
  line-height: 1.5;
}

.announce span {
  color: #e60000;
  font-weight: bold;
  font-size: 1rem;
}

ul.menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

ul.menu li {
  margin-bottom: 1rem;
  font-size: 1rem;
}

ul.menu li input,
ul.menu li textarea {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 1rem;
  box-sizing: border-box;
}

ul.menu li textarea {
  min-height: 120px;
  resize: vertical;
}

ul.menu li p {
  margin: 0 0 0.5rem;
  font-weight: bold;
}

.btn_wrap {
  text-align: center;
  margin-top: 2rem;
}

.more_btn {
  background: #007ACC;
  color: #fff;
  border: none;
  padding: 0.75rem 2rem;
  font-size: 1rem;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.3s ease;
}

.more_btn:hover {
  background: #005fa3;
}

@media (max-width: 600px) {
  .contact_wrap {
    padding: 1.5rem;
  }

  ul.menu li {
    font-size: 0.95rem;
  }

  .more_btn {
    width: 100%;
  }
}
/* ###############
shipping-costページ 送料表
*/
#shipping-cost{
  padding-bottom: var(--section-margin);
}

#shipping-cost .title{
  font-size: var(--font-x);
  color: #FFF;
  margin-bottom: var(--section-margin2);
}

.shipping-table-container {
  overflow-x: auto;
  padding: 1em 0;
  font-family: sans-serif;
}
.shipping-table {
  border-collapse: collapse;
  width: 100%;
  min-width: 800px;
  background: #222;
}
.shipping-table th,
.shipping-table td {
  border: 1px solid #FFF;
  padding: 8px;
  text-align: center;
  white-space: nowrap;
  color: #FFF;
}
.shipping-table th {
  background-color: #333;
  color: #fff;
}
.shipping-table thead th {
  position: sticky;
  top: 0;
  background: #000;
  z-index: 1;
}

@media (max-width: 750px) {
  .shipping-table {
    min-width: 600px;
    font-size: 0.95em;
  }
  .shipping-table th,
  .shipping-table td {
    padding: 6px 4px;
  }
}

@media (max-width: 520px) {
  .shipping-table-container {
    padding: 0.5em 0;
  }
  .shipping-table {
    min-width: 480px;
    font-size: 0.9em;
  }
}

/* ###############
paymentページ 支払いについて
*/
#payment{
  padding-bottom: var(--section-margin);
}

#payment .title{
  font-size: var(--font-x);
  color: #FFF;
  margin-bottom: var(--section-margin2);
}



