/********************************************/
/*layout Base */
/********************************************/
.base--txt {
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .base--txt {
    line-height: 1.8;
  }
}
.base--txt p {
  font-size: 1em;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}
.base--txt p:not(:last-child) {
  margin-bottom: 1em;
}
.base--txt.center {
  text-align: center;
}
@media (max-width: 768px) {
  .base--txt.center {
    text-align: left;
  }
}
.base--txt.right {
  text-align: right;
}

/*********************************************************/
/* 
/* modules
/* 
/*********************************************************/
/***************************/
/** list */
/***************************/
.mod-btn-list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  gap: 2%;
}
@media (max-width: 768px) {
  .mod-btn-list {
    display: block !important;
  }
}
.mod-btn-list a {
  width: 50%;
  max-width: 330px;
  padding-top: 0.8em;
  padding-bottom: 0.8em;
  font-size: clamp(1.6rem, 1.7vw, 1.8rem);
}
@media (max-width: 768px) {
  .mod-btn-list a {
    width: 100%;
  }
  .mod-btn-list a:not(:last-child) {
    margin-bottom: 10px;
  }
}
.mod-btn-list.center {
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.mod-news-list .item {
  border-bottom: 1px solid #9F9F9F;
}
.mod-news-list .item a {
  display: block;
  padding: 15px 0 15px 15px;
  color: #333333;
}
@media (max-width: 768px) {
  .mod-news-list .item a {
    padding-left: 0;
  }
}
.mod-news-list .item a .head {
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 20px;
  margin-bottom: 8px;
}
@media (max-width: 768px) {
  .mod-news-list .item a .head {
    gap: 10px;
  }
}
.mod-news-list .item a .head .date {
  position: relative;
  top: 0.1em;
  display: block;
  font-size: 1.5rem;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.mod-news-list .item a .head .tags {
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.3em;
  font-size: 1.2rem;
}
.mod-news-list .item a .head .tags .txt {
  padding: 0.2em 1em;
  background-color: #221A17;
  color: #FFF;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.mod-news-list .item a .news_ttl {
  display: block;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.mod-news-list .item a:hover .news_ttl {
  color: #E50014;
}

.mod-dl-list .item {
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
}
.mod-dl-list .item dt, .mod-dl-list .item dd {
  display: block;
  padding: 1.8em 0 1.8em 1.5em;
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .mod-dl-list .item dt, .mod-dl-list .item dd {
    padding-left: 0.5em;
  }
}
.mod-dl-list .item dt {
  width: 25%;
  border-bottom: 3px solid #E50014;
  font-weight: 600;
}
@media (max-width: 768px) {
  .mod-dl-list .item dt {
    border-width: 2px;
  }
}
.mod-dl-list .item dd {
  width: 75%;
  border-bottom: 1px solid #9F9F9F;
}
.mod-dl-list .item dd .bold {
  font-weight: 600;
}
.mod-dl-list .item dd .box:not(:last-child) {
  margin-bottom: 15px;
}
.mod-dl-list .item dd .box.mb0 {
  margin-bottom: 0;
}

/***************************/
/** column */
/***************************/
.mod-column02 {
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 4%;
}
@media (max-width: 768px) {
  .mod-column02 {
    display: block;
  }
}
.mod-column02 .item {
  width: 48%;
  margin-bottom: 4%;
}
@media (max-width: 768px) {
  .mod-column02 .item {
    width: 100%;
    margin-bottom: 0;
  }
  .mod-column02 .item:not(:last-child) {
    margin-bottom: 20px;
  }
}

.mod-column03 {
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 3%;
}
.mod-column03 .item {
  width: 31.3333333333%;
  margin-bottom: 50px;
}
@media (max-width: 768px) {
  .mod-column03 .item {
    width: 48.5%;
    margin-bottom: 40px;
  }
}
@media (max-width: 768px) {
  .mod-column03.sp_column01 {
    display: block;
  }
}
@media (max-width: 768px) {
  .mod-column03.sp_column01 .item {
    width: 100%;
    margin-bottom: 0;
  }
  .mod-column03.sp_column01 .item:not(:last-child) {
    margin-bottom: 20px;
  }
}

/***************************/
/** content */
/***************************/
.mod-product-category-block {
  padding: 80px 0 70px;
  background-color: #221A17;
}
@media (max-width: 1024px) {
  .mod-product-category-block {
    padding-bottom: 50px;
  }
}
@media (max-width: 768px) {
  .mod-product-category-block {
    padding: 60px 0 70px;
  }
}
.mod-product-category-block .ac-sec-ttl {
  margin-bottom: 0.5em;
}
@media (max-width: 768px) {
  .mod-product-category-block .ac-sec-ttl {
    margin-bottom: 1em;
  }
}
.mod-product-category-block .list .item {
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  flex-direction: column;
  margin-bottom: 80px;
}
@media (max-width: 768px) {
  .mod-product-category-block .list .item {
    margin-bottom: 60px !important;
  }
}
.mod-product-category-block .list .item .img {
  margin: 0 auto 10px;
  width: 100%;
  max-width: 245px;
  height: auto;
}
.mod-product-category-block .list .item .img img {
  display: block;
  width: 100%;
}
.mod-product-category-block .list .item .item_ttl {
  display: block;
  margin-bottom: 0.7em;
  color: #FFF;
  font-size: clamp(1.8rem, 1.9vw, 2rem);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
  text-align: center;
}
.mod-product-category-block .list .item .base--txt {
  flex-grow: 1;
  margin-bottom: 40px;
  color: #FFF;
}
@media (max-width: 768px) {
  .mod-product-category-block .list .item .base--txt {
    margin-bottom: 30px;
  }
}
.mod-product-category-block .list .item .btn .ac-normal-btn {
  padding-top: 0.3em;
  padding-bottom: 0.4em;
  max-width: 100%;
}

.mod-product-category-block .list_bottom {
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 3%;
}
@media (max-width: 768px) {
  .mod-product-category-block .list_bottom {
    display: block;
  }
}
.mod-product-category-block .list_bottom .item {
  display: block;
  width: 31.3333333333%;
}
@media (max-width: 768px) {
  .mod-product-category-block .list_bottom .item {
    width: 100%;
  }
}
.mod-product-category-block .list_bottom .other_nav .sub_list .sub_item {
  border-bottom: 1px solid #FFF;
}
.mod-product-category-block .list_bottom .other_nav .sub_list .sub_item:first-child {
  border-top: 1px solid #FFF;
}
.mod-product-category-block .list_bottom .other_nav .sub_list .sub_item a {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3%;
  padding: 15px 10px;
}
@media (max-width: 768px) {
  .mod-product-category-block .list_bottom .other_nav .sub_list .sub_item a {
    padding-left: 0;
  }
}
.mod-product-category-block .list_bottom .other_nav .sub_list .sub_item a:hover .img img {
  transform: scale(1.05);
}
.mod-product-category-block .list_bottom .other_nav .sub_list .sub_item a:hover .txt {
  opacity: 0.7;
}
.mod-product-category-block .list_bottom .other_nav .sub_list .sub_item a:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  display: block;
  margin: auto;
  width: 40px;
  aspect-ratio: 1;
  background: url(../img/ico/ico-arrow-red.svg) no-repeat center/contain;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
@media (max-width: 1024px) {
  .mod-product-category-block .list_bottom .other_nav .sub_list .sub_item a:after {
    width: 30px;
  }
}
@media (max-width: 768px) {
  .mod-product-category-block .list_bottom .other_nav .sub_list .sub_item a:after {
    right: 0;
    width: 25px;
  }
}
.mod-product-category-block .list_bottom .other_nav .sub_list .sub_item a .img {
  width: 30%;
  overflow: hidden;
}
.mod-product-category-block .list_bottom .other_nav .sub_list .sub_item a .img img {
  display: block;
  width: 100%;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.mod-product-category-block .list_bottom .other_nav .sub_list .sub_item a .txt {
  display: block;
  width: 70%;
  color: #FFF;
  font-size: clamp(1.4rem, 2.3vw, 2.5rem);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.mod-product-item a {
  display: block;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.mod-product-item a:hover {
  opacity: 0.7;
}
.mod-product-item .img {
  border: 1px solid #ccc;
  margin-bottom: 12px;
  overflow: hidden;
}
.mod-product-item .img img {
  display: block;
  width: 100%;
}
.mod-product-item .item_ttl {
  display: block;
  margin-bottom: 0.8em;
  color: #333333;
  font-size: clamp(1.6rem, 1.9vw, 2rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.mod-product-item .base--txt {
  font-size: clamp(1.2rem, 1.5vw, 1.6rem);
  line-height: 1.75;
}
.mod-product-item .base--txt p {
  color: #9F9F9F;
}
.mod-product-item .ac-normal-btn {
  max-width: 100%;
  padding-top: 1em;
  padding-bottom: 1em;
  font-size: clamp(1.1rem, 1.5vw, 1.8rem);
}
@media (max-width: 768px) {
  .mod-product-item .ac-normal-btn {
    padding-right: 1.5em;
  }
  .mod-product-item .ac-normal-btn:after {
    right: 3px;
    width: 10px;
  }
}
.mod-product-item.fo_small .item_ttl {
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
}
.mod-product-item.fo_small .base--txt {
  font-size: clamp(1.2rem, 1.3vw, 1.4rem);
}

.mod-catalog {
  padding: 20px 30px;
  background-color: #F3F3F3;
  max-width: 620px;
}
@media (max-width: 1024px) {
  .mod-catalog {
    padding: 15px 20px;
  }
}
@media (max-width: 768px) {
  .mod-catalog {
    padding: 20px;
    max-width: 100%;
  }
}
.mod-catalog .flex {
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 5%;
}
@media (max-width: 768px) {
  .mod-catalog .flex {
    display: block;
  }
}
.mod-catalog .flex .img {
  width: 20%;
  height: auto;
}
@media (max-width: 768px) {
  .mod-catalog .flex .img {
    width: 130px;
    margin: 0 auto 20px;
  }
}
.mod-catalog .flex .img img {
  display: block;
  width: 100%;
}
.mod-catalog .flex .txt_box {
  width: 80%;
}
@media (max-width: 768px) {
  .mod-catalog .flex .txt_box {
    width: 100%;
    text-align: center;
  }
}
.mod-catalog .flex .txt_box .txt {
  display: block;
  margin-bottom: 0.5em;
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.mod-catalog .flex .txt_box .ac-normal-btn {
  padding-top: 0.7em;
  padding-bottom: 0.8em;
}
@media (max-width: 768px) {
  .mod-catalog .flex .txt_box .ac-normal-btn {
    margin: auto;
  }
}

.mod-product-main-block .main_flex {
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  gap: 5%;
}
@media (max-width: 768px) {
  .mod-product-main-block .main_flex {
    display: block;
  }
}
.mod-product-main-block .main_flex .left {
  width: 45%;
}
@media (max-width: 768px) {
  .mod-product-main-block .main_flex .left {
    width: 100%;
    margin-bottom: 40px;
  }
}
.mod-product-main-block .main_flex .left .product_slider {
  margin-bottom: 15px;
}
.mod-product-main-block .main_flex .left .product_slider .swiper-wrapper .swiper-slide {
  border: 1px solid #ccc;
}
.mod-product-main-block .main_flex .left .product_slider_thumbnail .swiper-wrapper .swiper-slide {
  border: 1px solid #ccc;
}
.mod-product-main-block .main_flex .right {
  width: 55%;
}
@media (max-width: 768px) {
  .mod-product-main-block .main_flex .right {
    width: 100%;
  }
}
.mod-product-main-block .main_flex .right .ac-tag {
  margin-bottom: 1.5em;
}
.mod-product-main-block .main_flex .right .ttl {
  display: block;
  margin-bottom: 0.6em;
  font-size: clamp(2.1rem, 2.4vw, 2.5rem);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.mod-contact-tel-box {
  padding: 50px 30px;
  margin: auto;
  max-width: 900px;
  background-color: #221A17;
  color: #FFF;
  text-align: center;
}
@media (max-width: 768px) {
  .mod-contact-tel-box {
    padding: 30px 20px;
  }
}
.mod-contact-tel-box .ttl {
  display: inline-block;
  padding-bottom: 0.3em;
  margin-bottom: 1.5em;
  min-width: 400px;
  border-bottom: 2px solid #E50014;
  font-size: clamp(1.8rem, 2.4vw, 2.5rem);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .mod-contact-tel-box .ttl {
    letter-spacing: 0.05em;
    min-width: auto;
  }
}
.mod-contact-tel-box .tel_box .item:not(:last-child) {
  margin-bottom: 20px;
}
.mod-contact-tel-box .tel_box .item .tel_link a {
  color: inherit;
}
.mod-contact-tel-box .tel_box .item .tel {
  font-size: clamp(4.5rem, 5vw, 5rem);
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}
.mod-contact-tel-box .tel_box .item .tel .small {
  font-size: 0.6em;
}
.mod-contact-tel-box .tel_box .item .time {
  display: block;
  margin-top: 0.2em;
  font-size: clamp(1.3rem, 1.4vw, 1.5rem);
  line-height: 1.5;
  letter-spacing: 0.1em;
}

/***************************************************/
/**
/** ac Contents */
/**
/***************************************************/
/***************************/
/** ac--txt */
/***************************/
.ac-red {
  color: #E50014;
}

/***************************/
/** ac--title */
/***************************/
.ac-sec-ttl {
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: clamp(8rem, 11vw, 14rem);
}
.ac-sec-ttl .en {
  display: block;
  font-size: 1em;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.04em;
}
.ac-sec-ttl .ja {
  display: block;
  font-size: clamp(1.8rem, 2.8vw, 3.5rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.ac-sec-ttl.center {
  align-items: center;
}
.ac-sec-ttl.red .en {
  color: #E50014;
}
.ac-sec-ttl.red .ja {
  color: #FFF;
}
.ac-sec-ttl.white .en, .ac-sec-ttl.white .ja {
  color: #FFF;
}
.ac-sec-ttl.gray .en {
  color: #727272;
}
.ac-sec-ttl.gray .ja {
  color: #333333;
}
.ac-sec-ttl.primary .en, .ac-sec-ttl.primary .ja {
  color: #221A17;
}

.ac-line-ttl {
  display: block;
  padding-left: 0.7em;
  border-left: 6px solid #E50014;
  font-size: clamp(2rem, 2.3vw, 2.5rem);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.ac-border-ttl {
  display: block;
  padding: 0 0 0.3em;
  border-bottom: 1px solid #ccc;
  color: #E50014;
  font-size: clamp(1.8rem, 1.9vw, 2rem);
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.1em;
}

/***************************/
/** ac--button */
/***************************/
.ac-normal-btn {
  position: relative;
  display: block;
  padding: 0.6em;
  width: 100%;
  max-width: 330px;
  background-color: #E50014;
  border: 1px solid #E50014;
  color: #FFF;
  font-size: clamp(1.8rem, 2.3vw, 2.5rem);
  font-family: "Oswald", sans-serif;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.ac-normal-btn:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  display: block;
  margin: auto;
  background: url(../img/ico/ico-arrow-border-white.svg) no-repeat center/contain;
  width: 15px;
  aspect-ratio: 1;
  z-index: 1;
}
.ac-normal-btn:hover {
  opacity: 0.7;
}

.ac-big-btn {
  position: relative;
  display: block;
}
.ac-big-btn:hover .img img {
  transform: scale(1.05);
}
.ac-big-btn:hover .btn .txt {
  color: #E50014;
}
.ac-big-btn .img {
  overflow: hidden;
}
.ac-big-btn .img img {
  display: block;
  width: 100%;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.ac-big-btn .btn {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  padding: 0.7em 0.7em 0.5em 0.7em;
  width: 80%;
  border-radius: 0 40px 0 0;
  background-color: #FFF;
  font-size: clamp(1.6rem, 2vw, 2.5rem);
  z-index: 2;
}
@media (max-width: 1024px) {
  .ac-big-btn .btn {
    border-radius: 0 20px 0 0;
  }
}
.ac-big-btn .btn .txt {
  display: block;
  padding-right: 1em;
  color: #333333;
  font-size: 1em;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.ac-big-btn .btn:after {
  content: "";
  position: absolute;
  right: 20px;
  top: 10px;
  bottom: 0;
  display: block;
  margin: auto;
  background: url(../img/ico/ico-arrow-red.svg) no-repeat center/contain;
  width: 40px;
  height: 40px;
}
@media (max-width: 1024px) {
  .ac-big-btn .btn:after {
    width: 30px;
    height: 30px;
  }
}

.ac-tab-btn {
  position: relative;
  display: inline-block;
  width: fit-content;
  padding: 0.3em calc(1em + 18px) 0.3em 1em;
  background-color: #E50014;
  border-radius: 50px;
  color: #FFF;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.1em;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.ac-tab-btn:after {
  content: "";
  position: absolute;
  right: 10px;
  top: 0.2em;
  display: block;
  width: 18px;
  aspect-ratio: 1;
  background: url(../img/ico/ico-tab.svg) no-repeat center/contain;
}
.ac-tab-btn:hover {
  opacity: 0.7;
}

/***************************/
/** ac-tag */
/***************************/
.ac-tag {
  display: inline-block;
  width: fit-content;
  padding: 0.2em 1.2em;
  border-radius: 50px;
  background-color: #E50014;
  color: #FFF;
  font-size: clamp(1.4rem, 1.5vw, 1.5rem);
  line-height: 1.75;
  letter-spacing: 0.1em;
}

/***************************/
/** ac-movie */
/***************************/
.ac-movie {
  width: 100%;
  max-width: 840px;
  margin: auto;
}
.ac-movie iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}/*# sourceMappingURL=component.css.map */