@charset "UTF-8";
/* ---------------------------------------
    製品情報
-----------------------------------------*/
/* page_ttl
--------------------------------*/
#page_ttl .img {
  width: 57.2rem;
  position: absolute;
  right: calc(50% - 54rem);
  bottom: -4.6rem;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #page_ttl .img {
    width: 36.6rem;
    position: relative;
    left: 0;
    right: 0;
    bottom: 0;
    margin: -1.8rem auto -9.5rem;
  }
}

/* common
--------------------------------*/
.sec_ttl .en {
  font-size: 1.6rem;
  padding-left: 2rem;
}
@media screen and (max-width: 767px) {
  .sec_ttl .en {
    font-size: 1.4rem;
    padding-left: 1.4rem;
  }
}
.sec_ttl .en::before, .sec_ttl .en::after {
  height: 1.6rem;
}
@media screen and (max-width: 767px) {
  .sec_ttl .en::before, .sec_ttl .en::after {
    height: 1.1rem;
    top: 0.1rem;
  }
}

.btn_wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
}
@media screen and (max-width: 767px) {
  .btn_wrap {
    grid-template-columns: 1fr;
    gap: 1.6rem 0;
  }
}
.btn_wrap .btn a {
  width: 100%;
  min-width: inherit;
  min-height: 9.6rem;
  padding: 1.5rem 2.3rem 1.5rem 1.5rem;
}
@media screen and (max-width: 767px) {
  .btn_wrap .btn a {
    min-height: 7.2rem;
    padding: 0.7rem 1.6rem 0.7rem 1.5rem;
  }
}
.btn_wrap .btn a .btn_txt {
  flex: 1;
}
.btn_wrap .btn a .arw {
  margin-left: 1.2rem;
}
.btn_wrap .btn .img {
  width: 4.8rem;
  margin-right: 1.2rem;
}
.btn_wrap .btn .cate {
  width: 3.6rem;
  height: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.2rem 0.1rem 0.1rem 0.2rem;
  background-color: #181414;
  margin-right: 1.2rem;
}
.btn_wrap .btn .cate img {
  width: 3.1rem;
}

.products_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4.8rem 2.4rem;
  margin-top: 6.4rem;
}
@media screen and (max-width: 767px) {
  .products_list {
    grid-template-columns: 1fr;
    gap: 3.2rem 0;
  }
}
.products_list .item {
  color: #FFF8F6;
}
.products_list .item * {
  word-break: normal;
  overflow-wrap: break-word;
}
.products_list .item a {
  display: block;
}
@media screen and (min-width: 768px) {
  .products_list .item a {
    transition: opacity 0.3s ease-out;
    cursor: pointer;
  }
  .products_list .item a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  .products_list .item a {
    display: flex;
    align-items: flex-start;
    gap: 0 1.6rem;
  }
}
.products_list .item .img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1/1;
  background-color: #FFF8F6;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .products_list .item .img {
    width: 11.2rem;
  }
}
.products_list .item .img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.products_list .item .txt_wrap {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .products_list .item .txt_wrap {
    flex: 1;
    margin-top: 0;
  }
}
.products_list .item .txt_wrap .cate {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.5rem;
  line-height: 1;
  margin-bottom: 0.4rem;
}
.products_list .item .txt_wrap .cate span {
  min-width: 4rem;
  height: 1.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #181414;
  font-weight: 900;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0.1em;
  padding: 0.2rem 0.1rem;
  background-color: #FFF8F6;
}
.products_list .item .txt_wrap .cate span._new {
  min-width: 3.6rem;
  padding: 0.2rem 0.1rem 0.1rem 0.2rem;
}
.products_list .item .txt_wrap .cate span._new img {
  width: 3.1rem;
}
.products_list .item .txt_wrap .ttl {
  font-size: 2.4rem;
  line-height: 1.5833333333;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .products_list .item .txt_wrap .ttl {
    font-size: 1.8rem;
    line-height: 1.6111111111;
  }
}
.products_list .item .txt_wrap .ttl span {
  display: block;
  color: #7A7875;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0;
  margin-top: 0.4rem;
}
@media screen and (max-width: 767px) {
  .products_list .item .txt_wrap .ttl span {
    font-size: 1.3rem;
    line-height: 1.6923076923;
  }
}
.products_list .item .txt_wrap .txt {
  font-size: 1.4rem;
  line-height: 1.7857142857;
  margin-top: 1.2rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (max-width: 767px) {
  .products_list .item .txt_wrap .txt {
    font-size: 1.3rem;
    line-height: 1.6923076923;
    margin-top: 0.8rem;
  }
}
.products_list .item .txt_wrap .info {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding-top: 1.3rem;
  border-top: 1px solid #D0CDCC;
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  .products_list .item .txt_wrap .info {
    margin-top: 0.8rem;
  }
}
.products_list .item .txt_wrap .info > div {
  display: flex;
  gap: 0.8rem;
  align-items: flex-start;
}
.products_list .item .txt_wrap .info dt {
  flex-shrink: 0;
  text-align: center;
  color: #D0CDCC;
  font-size: 1.2rem;
  line-height: 1.3333333333;
  padding: 0.2rem 0.4rem;
  border: 0.1rem solid #7A7875;
}
@media screen and (max-width: 767px) {
  .products_list .item .txt_wrap .info dt {
    font-size: 1rem;
    line-height: 1.3;
  }
}
.products_list .item .txt_wrap .info dd {
  flex: 1;
  font-size: 1.2rem;
  line-height: 1.5833333333;
  letter-spacing: 0.15em;
  margin-top: 0.1rem;
}
@media screen and (max-width: 767px) {
  .products_list .item .txt_wrap .info dd {
    margin-top: 0;
  }
}

/* sec_search_pickup
--------------------------------*/
#sec_search_pickup {
  padding: 6.4rem 0 7.2rem;
}
@media screen and (max-width: 767px) {
  #sec_search_pickup {
    padding: 4.8rem 0 4rem;
  }
}
#sec_search_pickup .sec_ttl .en {
  color: #7A7875;
}
#sec_search_pickup .sec_ttl .en::before, #sec_search_pickup .sec_ttl .en::after {
  background-color: #7A7875;
}
#sec_search_pickup .search_pickup .btn_wrap {
  margin-top: 2.4rem;
}
#sec_search_pickup .search_pickup .btn_wrap .btn a {
  border-color: #FFF8F6;
}
#sec_search_pickup .search_keyword {
  margin-top: 6.4rem;
}
@media screen and (max-width: 767px) {
  #sec_search_pickup .search_keyword {
    margin-top: 4.8rem;
  }
}
#sec_search_pickup .search_keyword .search .search_form {
  display: flex;
  gap: 0 2.4rem;
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  #sec_search_pickup .search_keyword .search .search_form {
    display: block;
  }
}
#sec_search_pickup .search_keyword .search .search_box {
  position: relative;
  width: 52rem;
}
@media screen and (max-width: 767px) {
  #sec_search_pickup .search_keyword .search .search_box {
    width: 100%;
  }
}
#sec_search_pickup .search_keyword .search .search_input {
  width: 100%;
  height: 6.4rem;
  font-size: 1.6rem;
  line-height: 1.375;
  letter-spacing: 0.1em;
  padding: 2rem 5rem 2rem 2rem;
  background: linear-gradient(0deg, #FFF8F6, #FFF8F6), rgba(122, 120, 117, 0.2);
  border-radius: 0.8rem;
}
@media screen and (max-width: 767px) {
  #sec_search_pickup .search_keyword .search .search_input {
    font-size: 1.5rem;
    line-height: 1.4;
  }
}
#sec_search_pickup .search_keyword .search .search_input::placeholder {
  color: rgba(122, 120, 117, 0.4);
}
#sec_search_pickup .search_keyword .search .search_input::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}
#sec_search_pickup .search_keyword .search .search_clear {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #181414;
  font-size: 2rem;
  line-height: 1;
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  user-select: none;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #sec_search_pickup .search_keyword .search .search_clear {
    width: 2rem;
    height: 2rem;
  }
}
#sec_search_pickup .search_keyword .search .search_clear::before, #sec_search_pickup .search_keyword .search .search_clear::after {
  content: "";
  width: 1px;
  height: 100%;
  background-color: #181414;
  position: absolute;
}
#sec_search_pickup .search_keyword .search .search_clear::before {
  rotate: -45deg;
}
#sec_search_pickup .search_keyword .search .search_clear::after {
  rotate: 45deg;
}
#sec_search_pickup .search_keyword .search .search_btn {
  display: block;
  width: 14.1rem;
  height: 6.4rem;
  color: #FFF8F6;
  font-size: 1.6rem;
  line-height: 1.375;
  letter-spacing: 0.01em;
  background-color: #181414;
  border-radius: 0.8rem;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  #sec_search_pickup .search_keyword .search .search_btn {
    width: 13.7rem;
    height: 4.8rem;
    font-size: 1.5rem;
    line-height: 1.4;
    margin: 1.6rem auto 0;
  }
}
#sec_search_pickup .search_keyword .search .search_btn .ico {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#sec_search_pickup .search_keyword .search .search_btn .ico img {
  width: 1.2rem;
}

/* sec_search_filter
--------------------------------*/
#sec_search_filter {
  padding: 8.8rem 0 9.6rem;
}
@media screen and (max-width: 767px) {
  #sec_search_filter {
    padding: 4.8rem 0 3.6rem;
  }
}
#sec_search_filter .ttl_wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  #sec_search_filter .ttl_wrap {
    display: block;
  }
}
#sec_search_filter .ttl_wrap .link {
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  #sec_search_filter .ttl_wrap .link {
    margin: 2rem 0 0;
  }
}
#sec_search_filter .ttl_wrap .link a {
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.05em;
  padding-bottom: 0.7rem;
  background-image: linear-gradient(90deg, #181414, #181414);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 1px;
  transition: background-size 0.3s ease-out;
}
@media screen and (min-width: 768px) {
  #sec_search_filter .ttl_wrap .link a:hover {
    background-size: 0 1px;
  }
}
@media screen and (max-width: 767px) {
  #sec_search_filter .ttl_wrap .link a {
    font-size: 1.5rem;
    line-height: 1.4;
  }
}
#sec_search_filter .search_block {
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  #sec_search_filter .search_block {
    margin-top: 4.5rem;
  }
}
#sec_search_filter .search_block + .search_block {
  margin-top: 0.8rem;
}
#sec_search_filter .search_block .block_ttl {
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding: 4rem 9.6rem 4rem 1.6rem;
  border-top: 1px solid #D0CDCC;
  position: relative;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  #sec_search_filter .search_block .block_ttl {
    transition: opacity 0.3s ease-out;
    cursor: pointer;
  }
  #sec_search_filter .search_block .block_ttl:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  #sec_search_filter .search_block .block_ttl {
    font-size: 1.5rem;
    line-height: 1.8666666667;
    padding: 2.4rem 4rem 2.4rem 0.8rem;
  }
}
#sec_search_filter .search_block .block_ttl .ico {
  width: 3.2rem;
  height: 3.2rem;
  border: 1px solid #D0CDCC;
  border-radius: 50%;
  position: absolute;
  right: 3.2rem;
  top: calc(50% - 1.6rem);
}
@media screen and (max-width: 767px) {
  #sec_search_filter .search_block .block_ttl .ico {
    width: 2.4rem;
    height: 2.4rem;
    right: 0.8rem;
    top: calc(50% - 1.2rem);
  }
}
#sec_search_filter .search_block .block_ttl .ico::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.2rem 0.3rem 0 0.3rem;
  border-color: #7A7875 transparent transparent transparent;
  position: absolute;
  left: calc(50% - 0.3rem);
  top: 1rem;
  transition: 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  #sec_search_filter .search_block .block_ttl .ico::before {
    border-width: 1rem 0.25rem 0 0.25rem;
    left: calc(50% - 0.25rem);
    top: 0.7rem;
  }
}
#sec_search_filter .search_block .block_ttl.is-open .ico::before {
  rotate: 180deg;
  top: 0.9rem;
}
@media screen and (max-width: 767px) {
  #sec_search_filter .search_block .block_ttl.is-open .ico::before {
    top: 0.5rem;
  }
}
#sec_search_filter .search_block .acd_contents {
  padding: 2.4rem 0 7.2rem;
}
@media screen and (max-width: 767px) {
  #sec_search_filter .search_block .acd_contents {
    padding: 0.8rem 0 3.2rem;
  }
}
#sec_search_filter .search_block .acd_contents .box + .box {
  margin-top: 4.8rem;
}
@media screen and (max-width: 767px) {
  #sec_search_filter .search_block .acd_contents .box + .box {
    margin-top: 1.6rem;
  }
}
#sec_search_filter .search_block .acd_contents .box .ttl {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2;
  padding-left: 1.7rem;
  position: relative;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 767px) {
  #sec_search_filter .search_block .acd_contents .box .ttl {
    font-size: 1.3rem;
    line-height: 1.6923076923;
    padding-left: 1.1rem;
    margin-bottom: 1.6rem;
  }
}
#sec_search_filter .search_block .acd_contents .box .ttl::before {
  content: "";
  width: 0.7rem;
  height: 0.7rem;
  background: #D9D9D9;
  position: absolute;
  left: 0;
  top: 1.4rem;
  rotate: 45deg;
}
@media screen and (max-width: 767px) {
  #sec_search_filter .search_block .acd_contents .box .ttl::before {
    width: 0.5rem;
    height: 0.5rem;
    top: 0.9rem;
  }
}
#sec_search_filter .search_block .acd_contents .btn_box {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  #sec_search_filter .search_block .acd_contents .btn_box {
    margin-top: 2.4rem;
  }
}
#sec_search_filter .search_block .acd_contents .btn_box a {
  width: 100%;
  height: 7.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  padding: 2rem;
  background-color: rgba(208, 205, 204, 0.5);
}
@media screen and (max-width: 767px) {
  #sec_search_filter .search_block .acd_contents .btn_box a {
    height: 6.6rem;
    font-size: 1.5rem;
    line-height: 1.4;
  }
}
#sec_search_filter .search_block .acd_contents .btn_box a .txt {
  padding-bottom: 0.3rem;
  position: relative;
  background-image: linear-gradient(90deg, #181414, #181414);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 1px;
  transition: background-size 0.3s ease-out;
}
@media screen and (min-width: 768px) {
  #sec_search_filter .search_block .acd_contents .btn_box a:hover .txt {
    background-size: 0 1px;
  }
}
#sec_search_filter .search_block .acd_contents .btn_box a .ico {
  display: inline-block;
  width: 2.4rem;
  margin-left: 0.4rem;
  margin-bottom: 0.2rem;
}
@media screen and (max-width: 767px) {
  #sec_search_filter .search_block .acd_contents .btn_box a .ico {
    width: 2rem;
  }
}

/* sec_aftersupport
--------------------------------*/
#sec_aftersupport {
  border-bottom: 1px solid #615F5C;
}
#sec_aftersupport a {
  width: 100%;
  height: 36rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background-color: #181414;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #sec_aftersupport a {
    height: 15.8rem;
  }
}
#sec_aftersupport .bg {
  width: calc(50% + 9.4rem);
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  transition: scale 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  #sec_aftersupport .bg {
    width: 100%;
  }
}
#sec_aftersupport .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  #sec_aftersupport a:hover .bg {
    scale: 1.08;
  }
}
@media screen and (max-width: 767px) {
  #sec_aftersupport .wrap {
    padding: 0 2rem;
  }
}
#sec_aftersupport .ttl {
  font-size: 3.2rem;
  line-height: 1.8125;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  #sec_aftersupport .ttl {
    font-size: 1.8rem;
    line-height: 1.6111111111;
  }
}

/* sec_search_result
--------------------------------*/
#sec_search_result {
  padding: 6.4rem 0 10rem;
  border-top: 1px solid rgba(122, 120, 117, 0.4);
}
@media screen and (max-width: 767px) {
  #sec_search_result {
    padding: 4rem 0 7.2rem;
    border: none;
  }
}
#sec_search_result .ttl_wrap {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  #sec_search_result .ttl_wrap {
    display: block;
  }
}
#sec_search_result .ttl_wrap .sec_ttl {
  width: 80rem;
}
@media screen and (max-width: 767px) {
  #sec_search_result .ttl_wrap .sec_ttl {
    width: 100%;
  }
}
#sec_search_result .ttl_wrap .sec_ttl .small {
  display: block;
  font-weight: 400;
  color: #7A7875;
  font-size: 2.4rem;
  line-height: 1.5833333333;
  letter-spacing: 0.1em;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 767px) {
  #sec_search_result .ttl_wrap .sec_ttl .small {
    font-size: 1.5rem;
    margin-bottom: 0.8rem;
  }
}
#sec_search_result .ttl_wrap .sec_ttl .sub {
  display: block;
  font-weight: 400;
  color: #7A7875;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.1em;
  padding-left: 2.1rem;
  position: relative;
  margin-top: 0.8rem;
}
@media screen and (max-width: 767px) {
  #sec_search_result .ttl_wrap .sec_ttl .sub {
    font-size: 1rem;
    padding-left: 1.7rem;
  }
}
#sec_search_result .ttl_wrap .sec_ttl .sub::before {
  content: "";
  width: 1.2rem;
  height: 1px;
  background-color: #7A7875;
  position: absolute;
  left: 0;
  top: calc(50% - 1px);
}
#sec_search_result .ttl_wrap .btn_s {
  width: 19.6rem;
}
@media screen and (max-width: 767px) {
  #sec_search_result .ttl_wrap .btn_s {
    width: 22rem;
    margin-top: 3.2rem;
  }
}
#sec_search_result .ttl_wrap .btn_s a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 4.8rem;
  color: #FFF8F6;
  font-size: 1.2rem;
  line-height: 1.4166666667;
  letter-spacing: 0.15em;
  padding: 1.2rem 4rem 1.2rem 1.9rem;
  border: 1px solid #FFF8F6;
  border-radius: 100vh;
  position: relative;
}
@media screen and (min-width: 768px) {
  #sec_search_result .ttl_wrap .btn_s a {
    transition: opacity 0.3s ease-out;
    cursor: pointer;
  }
  #sec_search_result .ttl_wrap .btn_s a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  #sec_search_result .ttl_wrap .btn_s a {
    font-size: 1.5rem;
    line-height: 1.4;
  }
}
#sec_search_result .ttl_wrap .btn_s a::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1rem 0.25rem 0 0.25rem;
  border-color: #D0CDCC transparent transparent transparent;
  position: absolute;
  right: 2.4rem;
  top: 1.8rem;
}

/* sec_related
--------------------------------*/
#sec_related {
  padding: 10rem 0;
}
@media screen and (max-width: 767px) {
  #sec_related {
    padding: 4.8rem 0 7.2rem;
  }
}
#sec_related .related_block {
  display: flex;
  align-items: flex-start;
  gap: 0 2rem;
}
@media screen and (max-width: 767px) {
  #sec_related .related_block {
    display: block;
  }
}
#sec_related .related_block + .related_block {
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  #sec_related .related_block + .related_block {
    margin-top: 6.4rem;
  }
}
#sec_related .related_block .ttl_s {
  flex: 1;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.5833333333;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  #sec_related .related_block .ttl_s {
    font-size: 1.8rem;
    line-height: 1.6111111111;
  }
}
#sec_related .related_block .products_list {
  width: 90.6rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  #sec_related .related_block .products_list {
    width: 100%;
    grid-template-columns: 1fr;
    margin-top: 3.2rem;
  }
}
#sec_related .related_block .civil_list {
  width: 90.6rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4.8rem 2.4rem;
}
@media screen and (max-width: 767px) {
  #sec_related .related_block .civil_list {
    width: 100%;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.4rem 1.6rem;
    margin-top: 3.2rem;
  }
}
#sec_related .related_block .civil_list .item {
  color: #FFF8F6;
}
#sec_related .related_block .civil_list .item * {
  word-break: normal;
  overflow-wrap: break-word;
}
#sec_related .related_block .civil_list .item a {
  display: block;
}
#sec_related .related_block .civil_list .item .img {
  width: 100%;
  aspect-ratio: 286/280;
}
#sec_related .related_block .civil_list .item .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#sec_related .related_block .civil_list .item .link_txt {
  line-height: 1.375;
  margin-top: 2.4rem;
  position: relative;
  padding-right: 3rem;
}
@media screen and (max-width: 767px) {
  #sec_related .related_block .civil_list .item .link_txt {
    font-size: 1.2rem;
    line-height: 1.4166666667;
    margin-top: 1.6rem;
  }
}
#sec_related .related_block .civil_list .item .link_txt .txt {
  padding-bottom: 0.1rem;
  background-image: linear-gradient(90deg, #FFF8F6, #FFF8F6);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0 1px;
  transition: background-size 0.3s ease-out;
}
#sec_related .related_block .civil_list .item .link_txt .arw {
  display: inline-block;
  width: 2.2rem;
  height: 1.3rem;
  border-right: 1px solid #7A7875;
  margin-right: 0.1rem;
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
}
#sec_related .related_block .civil_list .item .link_txt .arw::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #7A7875;
  position: absolute;
  right: 0;
  top: calc((100% - 1px) / 2);
  transition: 0.3s ease-out;
  transform-origin: left center;
}
@media screen and (min-width: 768px) {
  #sec_related .related_block .civil_list .item a:hover .link_txt .txt {
    background-size: 100% 1px;
  }
  #sec_related .related_block .civil_list .item a:hover .link_txt .arw::before {
    width: 1.2rem;
  }
}

/* sec_detail
--------------------------------*/
#sec_detail {
  padding: 5.6rem 0 7.2rem;
}
@media screen and (max-width: 767px) {
  #sec_detail {
    padding: 4rem 0 6rem;
  }
}
#sec_detail * {
  word-break: normal;
  overflow-wrap: break-word;
}
#sec_detail .detail_head .meta {
  display: flex;
  gap: 0 1.6rem;
}
#sec_detail .detail_head .meta .label {
  color: #7A7875;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_head .meta .label {
    font-size: 1.2rem;
  }
}
#sec_detail .detail_head .meta .cate {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.5rem;
  line-height: 1;
}
#sec_detail .detail_head .meta .cate span {
  min-width: 4rem;
  height: 1.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #FFF8F6;
  font-weight: 900;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0.1em;
  padding: 0.2rem 0.1rem;
  background-color: #181414;
}
#sec_detail .detail_head .meta .cate span._new {
  min-width: 3.6rem;
  padding: 0.2rem 0.1rem 0.1rem 0.2rem;
}
#sec_detail .detail_head .meta .cate span._new img {
  width: 3.1rem;
}
#sec_detail .detail_head .ttl {
  font-weight: 500;
  font-size: 3.2rem;
  line-height: 1.8125;
  letter-spacing: 0.2em;
  margin-top: 0.8rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_head .ttl {
    font-size: 2rem;
    line-height: 1.6;
  }
}
#sec_detail .detail_head .ttl span {
  display: block;
  color: #7A7875;
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_head .ttl span {
    font-size: 1.5rem;
    line-height: 1.8666666667;
    letter-spacing: 0;
  }
}
#sec_detail .detail_head .txt {
  margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_head .txt {
    margin-top: 2.4rem;
  }
}
#sec_detail .detail_main {
  display: flex;
  align-items: flex-start;
  gap: 0 10.4rem;
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main {
    display: block;
    margin-top: 3.2rem;
  }
}
#sec_detail .detail_main .main_left {
  width: 52rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main .main_left {
    width: 100%;
  }
}
#sec_detail .detail_main .main_left .products_slider .item .img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 520/501;
  background-color: #FFF8F6;
  border: 1px solid #D0CDCC;
}
#sec_detail .detail_main .main_left .products_slider .item .img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#sec_detail .detail_main .main_left .products_slider .item .caption {
  color: #7A7875;
  font-size: 1.2rem;
  line-height: 1.3333333333;
  letter-spacing: 0.15em;
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main .main_left .products_slider .item .caption {
    margin-top: 0.8rem;
  }
}
#sec_detail .detail_main .main_left .slider_control {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-top: 2.4rem;
}
#sec_detail .detail_main .main_left .slider_control .products_thumbnail {
  width: 41.8rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main .main_left .slider_control .products_thumbnail {
    width: 25.6rem;
  }
}
#sec_detail .detail_main .main_left .slider_control .products_thumbnail .slick-list {
  margin: 0 -0.7rem;
}
#sec_detail .detail_main .main_left .slider_control .products_thumbnail .slick-slide {
  max-width: 4rem;
  aspect-ratio: 1/1;
  margin: 0 0.7rem;
  opacity: 0.6;
  transition: 0.3s ease-out;
  cursor: pointer;
}
#sec_detail .detail_main .main_left .slider_control .products_thumbnail .slick-slide.slick-current {
  opacity: 1;
}
#sec_detail .detail_main .main_left .slider_control .products_thumbnail .thumb {
  width: 4rem;
  aspect-ratio: 1/1;
  background-color: rgba(122, 120, 117, 0.4);
}
#sec_detail .detail_main .main_left .slider_control .products_thumbnail .thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
#sec_detail .detail_main .main_left .slider_control .products_thumbnail.is-center .slick-track {
  display: flex;
  justify-content: center;
}
#sec_detail .detail_main .main_left .slider_control .products_thumbnail.is-center .slick-slide {
  float: none;
  margin: 0 0.7rem;
}
#sec_detail .detail_main .main_left .slider_control .slider_arrow {
  width: 3.2rem;
  height: 1.5rem;
  font-size: 0;
  border-right: 1px solid #7A7875;
  position: relative;
  top: 1.4rem;
}
#sec_detail .detail_main .main_left .slider_control .slider_arrow::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #7A7875;
  position: absolute;
  right: 0;
  top: calc((100% - 1px) / 2);
  transition: width 0.3s ease-out;
  transform-origin: left center;
}
#sec_detail .detail_main .main_left .slider_control .slider_arrow.slider_prev {
  scale: -1 1;
}
#sec_detail .detail_main .main_left .slider_control .slider_arrow.is-disabled {
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  #sec_detail .detail_main .main_left .slider_control .slider_arrow:hover::before {
    width: 2rem;
  }
}
#sec_detail .detail_main .main_left .catalog {
  padding: 3.2rem 3.2rem 3.8rem;
  background-color: rgba(208, 205, 204, 0.39);
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main .main_left .catalog {
    padding: 2.4rem 2.4rem 3rem;
    margin-top: 4rem;
  }
}
#sec_detail .detail_main .main_left .catalog .btn._download a {
  min-width: inherit;
  width: 100%;
  min-height: 12.4rem;
  background-color: #FFF8F6;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main .main_left .catalog .btn._download a {
    min-height: 9.9rem;
  }
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main .main_left .catalog .btn._download a .btn_txt {
    font-size: 1.2rem;
  }
}
#sec_detail .detail_main .main_left .catalog .txt_notice {
  position: relative;
  padding-left: 2.6rem;
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main .main_left .catalog .txt_notice {
    font-size: 1.3rem;
    line-height: 1.6923076923;
    padding-left: 2rem;
    margin-top: 1.6rem;
  }
}
#sec_detail .detail_main .main_left .catalog .txt_notice::before {
  content: "";
  width: 2rem;
  height: 2rem;
  background: url(../img/common/ico_notice.svg) no-repeat center/contain;
  position: absolute;
  left: 0;
  top: 0.6rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main .main_left .catalog .txt_notice::before {
    width: 1.4rem;
    height: 1.4rem;
    top: 0.4rem;
  }
}
#sec_detail .detail_main .main_left .catalog .txt_notice + .btn {
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main .main_left .catalog .txt_notice + .btn a {
    min-width: inherit;
  }
  #sec_detail .detail_main .main_left .catalog .txt_notice + .btn a .arw {
    margin-left: 0.8rem;
  }
}
#sec_detail .detail_main .main_right {
  flex: 1;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main .main_right {
    margin-top: 4.8rem;
  }
}
#sec_detail .detail_main .main_right .info_block {
  display: flex;
  align-items: flex-start;
  gap: 0 1rem;
  padding: 1.3rem 0 1.5rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main .main_right .info_block {
    display: block;
    padding: 0;
  }
}
#sec_detail .detail_main .main_right .info_block + .info_block {
  margin-top: 3.2rem;
}
#sec_detail .detail_main .main_right .info_block .ttl {
  display: inline-block;
  min-width: 7rem;
  text-align: center;
  color: #7A7875;
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 1.3333333333;
  padding: 0.5rem 0.6rem;
  border: 1px solid #7A7875;
}
#sec_detail .detail_main .main_right .info_block .cnt {
  width: 48.2rem;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main .main_right .info_block .cnt {
    width: 100%;
    margin-top: 1.6rem;
  }
}
#sec_detail .detail_main .main_right .info_block .cnt > p {
  margin-top: 0.8rem;
  font-size: 1.4rem;
  line-height: 1.7857142857;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main .main_right .info_block .cnt > p {
    font-size: 1.3rem;
    line-height: 1.6923076923;
  }
}
@media screen and (min-width: 768px) {
  #sec_detail .detail_main .main_right .info_block .cnt a {
    transition: opacity 0.3s ease-out;
    cursor: pointer;
  }
  #sec_detail .detail_main .main_right .info_block .cnt a:hover {
    opacity: 0.6;
  }
}
#sec_detail .detail_main .main_right .info_block .cnt > *:first-child {
  margin-top: 0 !important;
}
#sec_detail .detail_main .main_right .info_block .cnt > *:last-child {
  margin-bottom: 0 !important;
}
#sec_detail .detail_main .main_right .info_block .cnt .list, #sec_detail .detail_main .main_right .info_block .cnt > ul:not(.sdgs) {
  margin-top: 2.4rem;
}
#sec_detail .detail_main .main_right .info_block .cnt .list li, #sec_detail .detail_main .main_right .info_block .cnt > ul:not(.sdgs) li {
  position: relative;
  font-size: 1.4rem;
  line-height: 1.7857142857;
  padding-left: 1.5rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main .main_right .info_block .cnt .list li, #sec_detail .detail_main .main_right .info_block .cnt > ul:not(.sdgs) li {
    font-size: 1.3rem;
    line-height: 1.6923076923;
  }
}
#sec_detail .detail_main .main_right .info_block .cnt .list li + li, #sec_detail .detail_main .main_right .info_block .cnt > ul:not(.sdgs) li + li {
  margin-top: 0.8rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main .main_right .info_block .cnt .list li + li, #sec_detail .detail_main .main_right .info_block .cnt > ul:not(.sdgs) li + li {
    margin-top: 0.4rem;
  }
}
#sec_detail .detail_main .main_right .info_block .cnt .list li::before, #sec_detail .detail_main .main_right .info_block .cnt > ul:not(.sdgs) li::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  background: #D9D9D9;
  position: absolute;
  left: 0;
  top: 1rem;
  rotate: 45deg;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main .main_right .info_block .cnt .list li::before, #sec_detail .detail_main .main_right .info_block .cnt > ul:not(.sdgs) li::before {
    top: 0.9rem;
  }
}
#sec_detail .detail_main .main_right .info_block .cnt .sdgs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 2.4rem;
}
#sec_detail .detail_main .main_right .info_block .cnt .sdgs li {
  width: 4.8rem;
}
#sec_detail .detail_main .main_right .info_block .cnt .tb {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid rgba(208, 205, 204, 0.5);
  margin-top: 2.4rem;
}
#sec_detail .detail_main .main_right .info_block .cnt .tb dt, #sec_detail .detail_main .main_right .info_block .cnt .tb dd {
  font-size: 1.2rem;
  line-height: 1.3333333333;
  letter-spacing: 0.15em;
  padding: 2.1rem 0 2.2rem;
  border-bottom: 1px solid rgba(208, 205, 204, 0.5);
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main .main_right .info_block .cnt .tb dt, #sec_detail .detail_main .main_right .info_block .cnt .tb dd {
    padding: 1.6rem 0 1.9rem;
  }
}
#sec_detail .detail_main .main_right .info_block .cnt .tb dt {
  color: #7A7875;
  padding-right: 0.8rem;
}
#sec_detail .detail_main .main_right .info_block .cnt .tb dt .js-popup {
  display: inline-block;
  width: 1.6rem;
  margin-left: 0.8rem;
}
@media screen and (min-width: 768px) {
  #sec_detail .detail_main .main_right .info_block .cnt .tb dt .js-popup {
    transition: opacity 0.3s ease-out;
    cursor: pointer;
  }
  #sec_detail .detail_main .main_right .info_block .cnt .tb dt .js-popup:hover {
    opacity: 0.6;
  }
}
#sec_detail .detail_main .main_right .info_block .cnt .tb dd ul li {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 0.8rem;
  font-family: "Source Sans 3", sans-serif;
  font-size: 1.2rem;
  line-height: 1.3333333333;
  letter-spacing: 0.15em;
}
#sec_detail .detail_main .main_right .info_block .cnt .tb dd ul li + li {
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main .main_right .info_block .cnt .tb dd ul li + li {
    margin-top: 0.8rem;
  }
}
#sec_detail .detail_main .main_right .info_block .cnt .tb dd ul li .spec_title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #7A7875;
  line-height: 1.3333333333;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main .main_right .info_block .cnt .tb dd ul li .spec_title {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main .main_right .info_block .cnt .tb dd ul {
    display: block;
  }
}
#sec_detail .detail_main .main_right .info_block .cnt .tb._01 dt {
  width: 9.6rem;
}
#sec_detail .detail_main .main_right .info_block .cnt .tb._01 dd {
  width: calc(100% - 9.6rem);
}
#sec_detail .detail_main .main_right .info_block .cnt .tb._02 dt {
  width: 18.4rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main .main_right .info_block .cnt .tb._02 dt {
    width: 9.6rem;
  }
}
#sec_detail .detail_main .main_right .info_block .cnt .tb._02 dd {
  width: calc(100% - 18.4rem);
}
@media screen and (max-width: 767px) {
  #sec_detail .detail_main .main_right .info_block .cnt .tb._02 dd {
    width: calc(100% - 9.6rem);
  }
}
#sec_detail .detail_main .main_right .info_block .cnt iframe, #sec_detail .detail_main .main_right .info_block .cnt video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
#sec_detail .btn_back {
  padding-top: 3.2rem;
  border-top: 1px solid rgba(122, 120, 117, 0.4);
  margin-top: 6.4rem;
}
@media screen and (max-width: 767px) {
  #sec_detail .btn_back {
    padding-top: 2.4rem;
    margin-top: 4.8rem;
  }
}
#sec_detail .btn_back a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 14.7rem;
  height: 4.8rem;
  font-family: "Source Sans 3", sans-serif;
  font-style: italic;
  font-weight: 300;
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  background-color: #FFF8F6;
  border: 1px solid #D0CDCC;
  border-radius: 100vh;
  margin: 0 auto;
  transition: background-color 0.3s ease-out;
}
@media screen and (min-width: 768px) {
  #sec_detail .btn_back a:hover {
    background-color: rgba(208, 205, 204, 0.5);
  }
}

/* popup
--------------------------------*/
.mfp-container {
  padding: 0;
}

.mfp-bg {
  background: rgba(122, 120, 117, 0.4);
  opacity: 1;
}

.popup .inner {
  width: 86.4rem;
  height: 56.7rem;
  max-height: 80vh;
  padding: 5.6rem 7.2rem;
  background-color: #FFF8F6;
  position: relative;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .popup .inner {
    width: 36.6rem;
    height: 53.2rem;
    padding: 3.2rem 1.4rem 3.2rem 2.4rem;
  }
}
.popup .inner .contents {
  max-height: 100%;
  overflow-y: auto;
}
@media screen and (max-width: 767px) {
  .popup .inner .contents {
    padding-right: 1rem;
  }
}
.popup .inner .contents::-webkit-scrollbar {
  width: 0.5rem;
}
.popup .inner .contents::-webkit-scrollbar-track {
  background-color: transparent;
}
.popup .inner .contents::-webkit-scrollbar-thumb {
  background-color: #D0CDCC;
}
.popup .inner .contents .ttl {
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .popup .inner .contents .ttl {
    font-size: 1.8rem;
    line-height: 1.6111111111;
  }
}
.popup .inner .contents .list {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .popup .inner .contents .list {
    margin-top: 3.2rem;
  }
}
.popup .inner .contents .list .item + .item {
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .popup .inner .contents .list .item + .item {
    margin-top: 1.6rem;
  }
}
.popup .inner .contents .list .item dt {
  font-weight: 500;
  padding-left: 1.7rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .popup .inner .contents .list .item dt {
    line-height: 1.8666666667;
  }
}
.popup .inner .contents .list .item dt::before {
  content: "";
  width: 0.6rem;
  height: 0.6rem;
  background: #D9D9D9;
  position: absolute;
  left: 0.3rem;
  top: 1.3rem;
  rotate: 45deg;
}
@media screen and (max-width: 767px) {
  .popup .inner .contents .list .item dt::before {
    top: 1.1rem;
  }
}
.popup .inner .contents .list .item dd {
  font-size: 1.4rem;
  line-height: 1.7857142857;
  margin-top: 0.8rem;
}
@media screen and (max-width: 767px) {
  .popup .inner .contents .list .item dd {
    font-size: 1.3rem;
    line-height: 1.6923076923;
    margin-top: 0.4rem;
  }
}
.popup .mfp-close {
  display: none;
}
.popup .popup-modal-dismiss {
  width: 2.4rem;
  height: 2.4rem;
  position: absolute;
  right: 3.2rem;
  top: 2.8rem;
}
@media screen and (max-width: 767px) {
  .popup .popup-modal-dismiss {
    right: 2.8rem;
    top: 2.4rem;
  }
}
.popup .popup-modal-dismiss::before, .popup .popup-modal-dismiss::after {
  content: "";
  width: 3.2rem;
  height: 1px;
  background-color: #181414;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  rotate: 45deg;
  transform-origin: center;
}
.popup .popup-modal-dismiss::after {
  rotate: -45deg;
}

/* 英語ページ
--------------------------------*/
@media screen and (max-width: 767px) {
  html[lang=en] #page_ttl .ttl {
    letter-spacing: 0.05em;
  }
}
html[lang=en] .products_list .item .txt_wrap .cate span:not(._new) {
  padding: 0.3rem 0.1rem 0.1rem;
}
html[lang=en] .products_list .item .txt_wrap .info dt {
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.25rem 0.4rem 0.15rem;
}
html[lang=en] #sec_search_filter .search_block .block_ttl {
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
html[lang=en] #sec_search_result .ttl_wrap .sec_ttl {
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
html[lang=en] #sec_search_result .ttl_wrap .sec_ttl .small {
  letter-spacing: 0.05em;
  text-transform: none;
}
html[lang=en] #sec_search_result .ttl_wrap .btn_s a {
  letter-spacing: 0.05em;
}
html[lang=en] #sec_detail .detail_head .meta .cate span:not(._new) {
  padding: 0.3rem 0.1rem 0.1rem;
}
html[lang=en] #sec_detail .detail_main .main_right .info_block .ttl {
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 0.6rem 0.6rem 0.4rem;
}
html[lang=en] #sec_detail .detail_main .main_right .info_block .cnt .tb dt {
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
html[lang=en] #sec_detail .detail_main .main_right .info_block .cnt .tb dd {
  letter-spacing: 0.05em;
}