@charset "UTF-8";
/* カスタマイズ用CSS */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=PT+Sans:wght@400;700&family=PT+Serif:wght@400;700&display=swap");
body {
  font-family: "PT Sans", "Noto Sans JP", serif;
  overflow-x: hidden;
}

a {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

@media (min-width: 768px) {
  .ec-layoutRole .ec-layoutRole__left {
    width: 21.653%;
  }
}
@media (min-width: 768px) {
  .ec-layoutRole .ec-layoutRole__mainWithColumn {
    width: 78.347%;
  }
}

.headerTop {
  background-color: #000;
  color: #fff;
}
.headerTop .headerTop__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 1130px;
  margin-inline: auto;
  padding-inline: 20px;
}
@media screen and (max-width: 576px) {
  .headerTop .headerTop__inner {
    padding-block: 5px;
  }
}
.headerTop .headerTop__description {
  font-size: 12px;
  font-weight: 900;
}
@media (min-width: 768px) {
  .headerTop .headerTop__description {
    font-size: 18px;
  }
}
.headerTop .headerTop__description small {
  font-size: 9px;
  font-weight: 700;
}
@media (min-width: 768px) {
  .headerTop .headerTop__description small {
    font-size: 16px;
  }
}
.headerTop .headerTop__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
}
@media screen and (max-width: 576px) {
  .headerTop .headerTop__cta {
    display: none;
  }
}
.headerTop .headerTop__cta .btn-line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6px;
  background-color: #3E9B3E;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.14;
  padding: 13px;
}
.headerTop .headerTop__cta .btn-tel {
  background-color: #992427;
  color: #fff;
  font-weight: 700;
  padding: 12px 24px;
}
.headerTop .headerTop__cta .btn-tel .tel-number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3px;
  font-size: 16px;
}
.headerTop .headerTop__cta .btn-tel p {
  font-size: 14px;
}
.headerTop .headerTop__cta .btn-tel p small {
  font-size: 10px;
  margin-right: 3px;
}

.ec-headerNaviRole {
  padding-bottom: 0;
}
@media screen and (max-width: 576px) {
  .ec-headerNaviRole {
    float: right;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding-top: 22px;
    padding-right: 60px;
    padding-left: 0;
  }
}
@media screen and (max-width: 576px) {
  .ec-headerNaviRole__left {
    width: inherit;
  }
}
@media screen and (max-width: 576px) {
  .ec-headerNaviRole__right {
    width: inherit;
  }
}
.ec-headerNaviRole .ec-headerNaviRole__search {
  width: 100%;
}
.ec-headerNaviRole .ec-headerNaviRole__search .ec-headerSearch {
  display: block;
}
.ec-headerNaviRole .ec-headerNaviRole__nav a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 576px) {
  .ec-headerNav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.ec-headerNav .ec-headerNav__itemLink {
  line-height: 1;
}

.ec-headerSearch {
  padding: 20px 20px 30px;
}
@media screen and (max-width: 576px) {
  .ec-headerSearch {
    clear: both;
  }
}
@media (min-width: 768px) {
  .ec-headerSearch {
    display: none;
  }
}
.ec-headerSearch .ec-headerSearch__keyword {
  float: inherit;
  width: inherit;
  border-radius: 5px;
}
.ec-headerSearch .ec-headerSearch__keyword input[type=search] {
  background-color: #fff;
  border: 1px solid #707070;
}

.ec-headerRole {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 576px) {
  .ec-headerRole {
    float: left;
    margin-bottom: 10px;
  }
}
.ec-headerRole::after {
  content: unset;
}
.ec-headerRole .ec-headerRole__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

@media screen and (max-width: 576px) {
  .ec-cartNavi {
    padding: 0 0 0 10px;
  }
}
@media (min-width: 768px) {
  .ec-cartNavi {
    padding: 0 17px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.ec-headerTitle .ec-headerTitle__title .headerSitename {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
}
@media screen and (max-width: 576px) {
  .ec-headerTitle .ec-headerTitle__title .headerSitename {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
  }
}
.ec-headerTitle .ec-headerTitle__title .headerSitename a {
  margin: 0;
}
@media screen and (max-width: 576px) {
  .ec-headerTitle .ec-headerTitle__title .headerSitename a {
    max-width: 111px;
  }
}
.ec-headerTitle .ec-headerTitle__title .headerSitename p {
  color: #000;
  font-size: 15px;
  font-weight: 700;
}

.ec-headerNavSP {
  position: absolute;
  top: 40px;
  right: 3px;
  left: inherit;
}

.have_curtain .is_active .ec-headerNavSP {
  display: none;
}

@media screen and (max-width: 576px) {
  .headerNav__main {
    display: none;
  }
}
.headerNav__main ul {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: 22px;
  background-color: #000;
  padding: 0;
  margin: 0;
}
.headerNav__main ul li a {
  display: block;
  border-radius: 22px;
  color: #fff;
  padding: 12px 24px;
}
.headerNav__main ul li a:hover {
  background-color: #992427;
}

.ec-drawerRole {
  width: 330px;
  -webkit-transform: translateX(-330px);
          transform: translateX(-330px);
}
.ec-drawerRole .ec-headerCategoryArea .ec-headerCategoryArea__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #000;
  color: #fff;
  font-size: 12px;
  font-size: 0.75rem;
}
.ec-drawerRole .ec-headerCategoryArea .ec-headerCategoryArea__heading ul {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 13px;
  padding: 0;
  margin: 0;
}
.ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav > li:hover li:hover > a {
  background: #F0F0F0;
}
.ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav > li:hover > a {
  background: transparent -webkit-gradient(linear, left top, left bottom, from(#CB444D), to(#84121A)) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(180deg, #CB444D 0%, #84121A 100%) 0% 0% no-repeat padding-box;
}
.ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav > li:nth-child(1) > a::before {
  content: "";
  display: block;
  width: 20px;
  height: 30px;
  background-image: url("/html/template/tgem/assets/img/common/icon-lizard.svg");
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 50%;
  left: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav > li:nth-child(2) > a::before {
  content: "";
  display: block;
  width: 20px;
  height: 34px;
  background-image: url("/html/template/tgem/assets/img/common/icon-light.svg");
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 50%;
  left: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav > li:nth-child(3) > a::before {
  content: "";
  display: block;
  width: 26px;
  height: 40px;
  background-image: url("/html/template/tgem/assets/img/common/icon-insect.svg");
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 50%;
  left: 15px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav > li:nth-child(4) > a::before {
  content: "";
  display: block;
  width: 30px;
  height: 25px;
  background-image: url("/html/template/tgem/assets/img/common/icon-shirt.svg");
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 50%;
  left: 15px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav > li > a {
  background: transparent -webkit-gradient(linear, left top, left bottom, from(#CB444D), to(#84121A)) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(180deg, #CB444D 0%, #84121A 100%) 0% 0% no-repeat padding-box;
  color: #fff;
  position: relative;
  padding-left: 50px;
}
.ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav > li > ul > li > a {
  background: #F0F0F0;
  color: #000;
}
.ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav > li > ul > li ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background-color: #fff;
}
.ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav > li > ul > li ul.is-close {
  max-height: 0;
  overflow: hidden;
}
.ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav > li > ul > li ul > li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #ccc;
  padding-inline: 20px;
}
.ec-drawerRole .ec-headerLinkArea .ec-headerLink__item.guide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.ec-drawerRole .ec-headerLinkArea .ec-headerLink__item small {
  font-size: 9px;
  font-size: 0.5625rem;
  padding-left: 10px;
}

.ec-drawerRoleClose {
  top: 40px;
  right: 3px;
  left: inherit;
}

.toggle-btn-sp {
  border: none;
  background: none;
  position: absolute;
  top: 20px;
  right: 20px;
}

.ec-headerDrowerInfo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px;
}
.ec-headerDrowerInfo .headerSitename_sp {
  margin: 0;
}
.ec-headerDrowerInfo .snsList {
  gap: 20px;
}

.bottomCta {
  position: relative;
  padding-block: 64px;
  margin-top: 120px;
}
@media screen and (max-width: 576px) {
  .bottomCta {
    padding: 40px 17px;
  }
}
.bottomCta::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("/html/template/tgem/assets/img/common/bg-scale.png");
  position: absolute;
  top: 0;
  left: 0;
}
.bottomCta::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(113, 22, 25, 0.8);
  position: absolute;
  top: 0;
  left: 0;
}
.bottomCta hgroup {
  margin-bottom: 24px;
}
.bottomCta hgroup h2 {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
  margin-block: 0 8px;
}
@media (min-width: 768px) {
  .bottomCta hgroup h2 {
    font-size: 30px;
    font-size: 1.875rem;
  }
}
.bottomCta hgroup h2 + p {
  font-size: 18px;
  text-align: center;
}
@media (min-width: 768px) {
  .bottomCta hgroup h2 br {
    display: none;
  }
}

.bottomCta__inner {
  max-width: 1077px;
  color: #fff;
  margin-inline: auto;
  position: relative;
  z-index: 1;
}

.bottomCta__wrrap {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 24px;
}
@media (min-width: 768px) {
  .bottomCta__wrrap {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
}

.bottomCta__item {
  background-color: rgba(255, 255, 255, 0.29);
  text-align: center;
  padding: 24px;
  position: relative;
}
.bottomCta__item h3 {
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 600;
  margin-block: 0 8px;
}
@media (min-width: 768px) {
  .bottomCta__item h3 {
    font-size: 22px;
    font-size: 1.375rem;
  }
}
.bottomCta__item h3 + p {
  font-size: 11px;
  font-size: 0.6875rem;
  font-weight: 600;
  margin-bottom: 8px;
}
@media (min-width: 768px) {
  .bottomCta__item h3 + p {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.bottomCta__item .btn-tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  color: #fff;
}
@media screen and (max-width: 576px) {
  .bottomCta__item .btn-tel {
    border: 1px solid #992427;
    border-radius: 5px;
    background-color: #fff;
    color: #992427;
    padding: 10px;
  }
}
.bottomCta__item .btn-tel svg {
  width: 24px;
}
@media (min-width: 768px) {
  .bottomCta__item .btn-tel svg path {
    fill: #fff;
  }
}
.bottomCta__item .btn-tel p {
  font-size: 19px;
  font-size: 1.1875rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  .bottomCta__item .btn-tel p {
    font-size: 36px;
    font-size: 2.25rem;
  }
}
.bottomCta__item .tel-time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 5px;
  margin-top: 6px;
}
@media (min-width: 768px) {
  .bottomCta__item .tel-time {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.bottomCta__item .tel-time .tel-time__label {
  font-size: 11px;
  font-size: 0.6875rem;
  font-weight: 600;
}
@media (min-width: 768px) {
  .bottomCta__item .tel-time .tel-time__label {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.bottomCta__item .tel-time .tel-time__time {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  .bottomCta__item .tel-time .tel-time__time {
    font-size: 26px;
    font-size: 1.625rem;
  }
}
.bottomCta__item .btn-line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 5px;
  background-color: #3C9A2B;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  padding: 10px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .bottomCta__item .btn-line {
    max-width: 238px;
    max-height: 46px;
    height: 100%;
  }
}
.bottomCta__item .btn-line:hover {
  background-color: #87D579;
}
.bottomCta__item .btn-contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 5px;
  background-color: #fff;
  color: #000000;
  font-size: 16px;
  font-weight: 600;
  padding: 10px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .bottomCta__item .btn-contact {
    max-width: 238px;
    max-height: 46px;
    height: 100%;
  }
}
.bottomCta__item .btn-contact:hover {
  background-color: #FFD8D9;
}
.bottomCta__item .img-snake {
  position: absolute;
  top: -25px;
  left: -5px;
}
@media screen and (max-width: 576px) {
  .bottomCta__item .img-snake {
    width: 70px;
  }
}
@media (min-width: 768px) {
  .bottomCta__item .img-snake {
    left: -35px;
  }
}
.bottomCta__item .img-cobra {
  position: absolute;
  bottom: -45px;
  right: -5px;
}
@media screen and (max-width: 576px) {
  .bottomCta__item .img-cobra {
    width: 55px;
  }
}
@media (min-width: 768px) {
  .bottomCta__item .img-cobra {
    bottom: -5px;
    right: -35px;
  }
}

.ec-footerRole {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(0, 0, 0)), to(rgb(49, 8, 9)));
  background-image: linear-gradient(0deg, rgb(0, 0, 0), rgb(49, 8, 9));
  border-top: none;
  margin-top: 0;
}
@media screen and (max-width: 576px) {
  .ec-footerRole {
    padding-inline: 25px;
    padding-block: 26px;
  }
}
@media (min-width: 768px) {
  .ec-footerRole {
    padding-block: 60px 24px;
  }
}
.ec-footerRole .ec-footerRole__inner {
  color: #fff;
}
.ec-footerRole .ec-footerRole__inner img {
  width: inherit;
}

.footerSitename {
  font-family: "PT Serif", serif;
  font-size: 26px;
  font-size: 1.625rem;
  font-weight: 700;
  margin-block: 0 35px;
}
@media (min-width: 768px) {
  .footerSitename {
    font-size: 34px;
    font-size: 2.125rem;
  }
}
.footerSitename a {
  color: #fff;
}
.footerSitename small {
  font-family: "Noto Sans JP", serif;
  font-size: 13px;
  font-size: 0.8125rem;
  font-weight: 400;
}
@media (min-width: 768px) {
  .footerSitename small {
    font-size: 17px;
    font-size: 1.0625rem;
  }
}

.footerInfo {
  margin-bottom: 50px;
}
@media (min-width: 768px) {
  .footerInfo {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}
.footerInfo .footerInfo__item {
  padding-inline: 12px;
}
@media screen and (max-width: 576px) {
  .footerInfo .footerInfo__item {
    border-bottom: 1px solid #707070;
    padding-block: 15px;
  }
}
@media (min-width: 768px) {
  .footerInfo .footerInfo__item {
    border-right: 1px solid #fff;
    padding-inline: 24px;
  }
}
@media screen and (max-width: 576px) {
  .footerInfo .footerInfo__item:last-child {
    border-bottom: none;
  }
}
@media screen and (max-width: 576px) {
  .footerInfo .footerInfo__item:last-child {
    border-right: none;
  }
}
.footerInfo h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-size: 16px;
  font-size: 1rem;
  margin-block: 0 15px;
}
@media (min-width: 768px) {
  .footerInfo h2 {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.footerInfo a:hover img {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0.7;
}

.shopDetails {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6px 0;
  line-height: 1.5;
  margin: 0;
  margin-bottom: 20px;
}
@media screen and (max-width: 576px) {
  .shopDetails {
    margin-bottom: 14px;
  }
}
.shopDetails dt {
  -ms-flex-preferred-size: 35%;
      flex-basis: 35%;
  font-weight: 400;
}
.shopDetails dd {
  -ms-flex-preferred-size: 65%;
      flex-basis: 65%;
  margin: 0;
}

.capabilitiesDetails {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6px 0;
  line-height: 1.5;
  margin: 0;
}
.capabilitiesDetails dt {
  -ms-flex-preferred-size: 57%;
      flex-basis: 57%;
  font-weight: 400;
}
.capabilitiesDetails dd {
  -ms-flex-preferred-size: 43%;
      flex-basis: 43%;
  margin: 0;
}

.snsList {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 576px) {
  .snsList {
    gap: 35px;
  }
}
@media (min-width: 768px) {
  .snsList {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.shopList {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  padding-left: 0.5rem;
  margin: 0;
}
@media (min-width: 768px) {
  .shopList {
    padding-left: 2.5rem;
  }
}
@media screen and (max-width: 576px) {
  .shopList img {
    width: 100% !important;
    height: auto;
  }
}

@media screen and (max-width: 576px) {
  .ec-footerNavi {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
  }
}
.ec-footerNavi .ec-footerNavi__link a {
  text-decoration: none;
}
@media screen and (max-width: 576px) {
  .ec-footerNavi .ec-footerNavi__link a {
    font-size: 10px;
    font-size: 0.625rem;
    margin-inline: 0;
    border: none;
    padding: inherit;
  }
}
@media screen and (max-width: 576px) {
  .ec-footerNavi.wide {
    gap: 20px 35px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 20px;
  }
}
.ec-footerNavi.wide .ec-footerNavi__link a {
  margin-inline: 20px;
}
@media screen and (max-width: 576px) {
  .ec-footerNavi.wide .ec-footerNavi__link a {
    font-size: 13px;
    font-size: 0.8125rem;
    margin-inline: 0;
    border: none;
    padding: inherit;
  }
}

.ec-footerTitle__copyright {
  font-family: "Noto Sans JP", serif;
  font-size: 12px;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 576px) {
  .ec-footerTitle__copyright {
    margin-top: 50px;
  }
}

.categoryNav ul {
  list-style: none;
  padding: 0;
}
.categoryNav .categoryNav__list {
  padding: 0;
  margin: 0;
}
.categoryNav .categoryNav__list a {
  padding: 10px 24px;
  position: relative;
}
.categoryNav .categoryNav__list > li > a {
  background: transparent -webkit-gradient(linear, left top, left bottom, from(#CB444D), to(#84121A)) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(180deg, #CB444D 0%, #84121A 100%) 0% 0% no-repeat padding-box;
  color: #fff;
  font-weight: 700;
}
.categoryNav .categoryNav__list > li:nth-child(1) > a::before {
  content: "";
  display: block;
  width: 20px;
  height: 30px;
  background-image: url("/html/template/tgem/assets/img/common/icon-lizard.svg");
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.categoryNav .categoryNav__list > li:nth-child(2) > a::before {
  content: "";
  display: block;
  width: 20px;
  height: 34px;
  background-image: url("/html/template/tgem/assets/img/common/icon-light.svg");
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.categoryNav .categoryNav__list > li:nth-child(3) > a::before {
  content: "";
  display: block;
  width: 26px;
  height: 40px;
  background-image: url("/html/template/tgem/assets/img/common/icon-insect.svg");
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.categoryNav .categoryNav__list > li:nth-child(4) > a::before {
  content: "";
  display: block;
  width: 30px;
  height: 25px;
  background-image: url("/html/template/tgem/assets/img/common/icon-shirt.svg");
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.categoryNav .categoryNav__list > li > ul > li {
  border-bottom: 0.5px dashed #84121A;
  position: relative;
}
.categoryNav .categoryNav__list > li > ul > li:last-child {
  border-bottom: none;
}
.categoryNav .categoryNav__list > li > ul > li > a {
  font-weight: 600;
}
.categoryNav .categoryNav__list > li > ul > li > a:hover {
  background-color: #F2EAEA;
}
.categoryNav .categoryNav__list > li > ul > li ul {
  padding: 0;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.categoryNav .categoryNav__list > li > ul > li ul.is-close {
  max-height: 0;
  overflow: hidden;
}
.categoryNav .categoryNav__list > li > ul > li ul.is-open {
  max-height: 100vh;
  overflow: visible;
}
.categoryNav .categoryNav__list > li > ul > li ul > li {
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.categoryNav .categoryNav__list > li > ul > li ul > li > a:hover {
  color: #992427;
}
.categoryNav .categoryNav__list > li > ul > li ul > li > ul li {
  padding-left: 20px;
}
.categoryNav .categoryNav__list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.toggle-btn {
  border: none;
  background: unset;
  font-size: 8px;
  position: absolute;
  top: 15px;
  right: 15px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.toggle-subcategories {
  cursor: pointer;
  margin-left: 10px;
  color: #007bff;
}

.other-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  padding-inline: 20px;
}

.btn-aqua {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7px;
  background: transparent -webkit-gradient(linear, left top, left bottom, from(#10BDFD), to(#1080AA)) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(180deg, #10BDFD 0%, #1080AA 100%) 0% 0% no-repeat padding-box;
  color: #fff;
  font-size: 14px;
  line-height: 1.42;
  padding: 12px 30px;
}
.btn-aqua:hover {
  color: #fff;
  opacity: 0.48;
}

.btn-payment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  -webkit-box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1019607843);
          box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1019607843);
  color: #000;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  padding: 24px;
}
.btn-payment:hover {
  background-color: #EDEDED;
  color: #000;
}
.btn-payment small {
  font-size: 13px;
  line-height: 1.46;
}

.bnrSns {
  padding-inline: 20px;
}
.bnrSns h2 {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}
.bnrSns ul {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  padding: 0;
  margin: 0;
}
.bnrSns ul li a {
  display: block;
  background-color: #fff;
  border: 1px solid #000;
  color: #000;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
  padding: 15px;
  position: relative;
}
.bnrSns ul li a:hover {
  background-color: #EDEDED;
}
.bnrSns ul li a img {
  position: absolute;
  top: 50%;
  left: 30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.category-33 .ec-layoutRole,
.rootcategory-33 .ec-layoutRole {
  background: transparent -webkit-gradient(linear, left top, left bottom, from(#FFFFFF), to(#CAE9F0)) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(180deg, #FFFFFF 0%, #CAE9F0 100%) 0% 0% no-repeat padding-box;
}

.product_page:not(.rootcategory-33) .ec-layoutRole {
  background-image: url("/html/template/tgem/assets/img/common/bg_01.jpg");
}

.category-title {
  font-size: 28px;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.1;
}

@media screen and (max-width: 576px) {
  .aqua_bnr {
    padding-inline: 20px;
  }
  .aqua_bnr img {
    width: 100%;
    height: auto;
  }
}

.subCategory {
  margin-top: 24px;
  margin-bottom: 40px;
}
@media screen and (max-width: 576px) {
  .subCategory {
    margin-inline: 20px;
  }
}
.subCategory .cate_list {
  list-style: none;
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 576px) {
  .subCategory .cate_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5px;
  }
}
@media (min-width: 768px) {
  .subCategory .cate_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 16px 39px;
  }
}
@media (min-width: 768px) {
  .subCategory .cate_list li {
    -ms-flex-preferred-size: 21.5%;
        flex-basis: 21.5%;
  }
}
.subCategory .cate_list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  min-height: 55px;
  background-color: #FFFFFF;
  -webkit-box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1019607843);
          box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1019607843);
  color: #000;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.42;
}
.subCategory .cate_list li a:hover {
  background-color: #992427;
  color: #FFFFFF;
}

.ec-shelfGrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 50%;
  gap: 10px 5px;
}
@media (min-width: 768px) {
  .ec-shelfGrid {
    grid-template-columns: repeat(4, 1fr);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 40px 30px;
  }
}
.ec-shelfGrid a {
  color: inherit;
}
.ec-shelfGrid .ec-shelfGrid__item {
  width: 100%;
  background-color: #FFFFFF;
  position: relative;
  margin: 0;
}
.ec-shelfGrid .ec-shelfGrid__item:nth-child(even), .ec-shelfGrid .ec-shelfGrid__item:nth-child(odd) {
  padding: 5px 5px 12px 5px;
}
@media (min-width: 768px) {
  .ec-shelfGrid .ec-shelfGrid__item:nth-child(even), .ec-shelfGrid .ec-shelfGrid__item:nth-child(odd) {
    padding: 8px 8px 16px 8px;
  }
}
.ec-shelfGrid .ec-shelfGrid__item img {
  width: 100%;
  height: 160px;
  -o-object-fit: cover;
     object-fit: cover;
}
.ec-shelfGrid .ec-shelfGrid__item .ec-shelfGrid__item-name {
  color: #000;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
  margin-block: 8px 4px;
}
.ec-shelfGrid .ec-blockBtn--action.to-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-height: 40px;
  border: 1px solid #992427;
  background-color: #992427;
  border-radius: 0;
  color: #fff;
  font-size: 9px;
  font-size: 0.5625rem;
}
@media (min-width: 768px) {
  .ec-shelfGrid .ec-blockBtn--action.to-detail {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
.ec-shelfGrid .ec-blockBtn--action.to-detail:hover {
  background-color: #FFFFFF;
  color: #992427;
}

.new-label {
  background-color: #DD373B;
  color: #FFFFFF;
  font-family: "PT Serif", serif;
  font-size: 20px;
  font-size: 1.25rem;
  position: absolute;
  top: 0;
  left: 0;
  padding: 5px 4px;
  line-height: 1;
}

.ec-sliderItemRole .item_nav {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}
.ec-sliderItemRole .slideThumb {
  width: 100%;
  margin-bottom: inherit;
  position: relative;
  overflow: hidden;
}
.ec-sliderItemRole .slideThumb::before {
  content: "";
  padding-top: 100%;
  display: block;
}
.ec-sliderItemRole .slideThumb img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}

.ec-productRole .ec-productRole__price {
  color: #8E3336;
  border-bottom: 1px dotted #ccc;
}
.ec-productRole .ec-productRole__category a {
  color: #8E3336;
}

.ec-productRole__btn .ec-blockBtn--action {
  background-color: #992427;
}
.ec-productRole__btn .ec-blockBtn--cancel {
  background-color: #32305A;
}

.ec-blockBtn {
  border-radius: 5px;
  background-color: #F5F7F8;
}

.ec-blockBtn--action {
  border: none;
  border-radius: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1.4;
}
.ec-blockBtn--action:hover {
  opacity: 0.7;
}

.ec-blockBtn--cancel {
  border: none;
  border-radius: 5px;
}
.ec-blockBtn--cancel:hover {
  opacity: 0.7;
}

.ec-login .ec-input .form-control {
  border: 1px solid #A5A5A5;
}
.ec-login .ec-blockBtn--cancel {
  border: none;
  background-color: #992427;
}
.ec-login .ec-blockBtn--cancel:hover {
  background-color: #992427;
}
.ec-login .ec-login__link .ec-link {
  font-size: 14px;
  color: #032D8D;
}

.ec-guest .ec-guest__actions .ec-blockBtn--cancel {
  background-color: #992427;
}

.ec-registerRole__actions .ec-blockBtn--action {
  background-color: #992427;
}
.ec-registerRole__actions .ec-blockBtn--cancel {
  background-color: #32305A;
}

.ec-registerCompleteRole .ec-reportDescription {
  line-height: 2;
}
.ec-registerCompleteRole .ec-blockBtn--cancel {
  background-color: #32305A;
}

.ec-blockBtn--more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 180px;
  min-height: 44px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid #992427;
  border-radius: 5px;
  background-color: #fff;
  color: #992427;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  margin-inline: auto;
  margin-top: 50px;
}
.ec-blockBtn--more:hover {
  color: #fff;
  background-color: #992427;
}

.ec-blockBtn--add_favorite {
  border: none;
  background: none;
}

.ec-progress .is-complete .ec-progress__number {
  background: #992427;
}
.ec-progress .is-complete .ec-progress__label {
  color: #000;
}
.ec-progress .ec-progress__number {
  background: #000;
}
.ec-progress .ec-progress__label {
  color: #000;
  font-weight: 400;
}

.ec-cartHeader .ec-cartHeader__label {
  background: #f4f4f4;
}

.ec-cartRole__actions .ec-cartRole__totalAmount {
  color: #992427;
}

.ec-cartRole__buttons {
  width: 70%;
  margin-inline: auto;
}
.ec-cartRole__buttons .ec-grid2 {
  max-width: 528px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 32px;
  margin-inline: auto;
}
.ec-cartRole__buttons .ec-blockBtn--action {
  background-color: #992427;
  border-radius: 5px;
}
.ec-cartRole__buttons .ec-blockBtn--cancel {
  background-color: #32305A;
  border-radius: 5px;
}

.ec-orderAccount .ec-orderAccount__account {
  line-height: 2;
}

.ec-totalBox .ec-totalBox__paymentTotal .ec-totalBox__price,
.ec-totalBox .ec-totalBox__paymentTotal .ec-totalBox__taxLabel {
  color: #992427;
}

.ec-totalBox .ec-totalBox__btn .ec-blockBtn--action {
  background-color: #992427;
  border-radius: 5px;
}
.ec-totalBox .ec-totalBox__btn .ec-blockBtn--cancel {
  background-color: #32305A;
  border-radius: 5px;
}

.ec-cartCompleteRole .ec-blockBtn--cancel {
  background-color: #32305A;
  border-radius: 5px;
}

.ec-RegisterRole__actions .ec-RegisterRole__buttons {
  max-width: 70%;
  margin-inline: auto;
}
.ec-RegisterRole__actions .ec-RegisterRole__buttons .ec-grid2 {
  max-width: 528px;
  gap: 32px;
}
.ec-RegisterRole__actions .ec-blockBtn--action {
  background-color: #992427;
  border-radius: 5px;
}
.ec-RegisterRole__actions .ec-blockBtn--cancel {
  background-color: #32305A;
  border-radius: 5px;
}

.ec-navlistRole .active a {
  color: #992427;
}

.ec-orderRole .ec-blockBtn--action {
  background-color: #992427;
}

.ec-closeBtn--circle {
  background-color: #000;
}

.ec-editRole .ec-blockBtn--cancel {
  background-color: #992427;
}

.ec-withdrawRole .ec-blockBtn--cancel {
  background-color: #32305A;
}

.ec-withdrawConfirmRole__cancel {
  background-color: #32305A;
}

.ec-withdrawCompleteRole .ec-blockBtn--cancel {
  background-color: #992427;
  border: none;
}

.ec-forgotRole .ec-blockBtn--action {
  background-color: #32305A;
}

@media screen and (max-width: 576px) {
  .front_page .ec-role {
    padding-inline: 0;
  }
}

.ec-newItemRole {
  padding-block: 24px 30px;
  position: relative;
}
@media screen and (max-width: 576px) {
  .ec-newItemRole {
    padding-inline: 20px;
  }
}
@media (min-width: 768px) {
  .ec-newItemRole {
    padding-left: 28px;
  }
}
.ec-newItemRole::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("/html/template/tgem/assets/img/common/bg_01.jpg");
  margin-right: calc(50% - 50vw);
  position: absolute;
  top: 0;
  left: 0;
}
@media (min-width: 768px) {
  .ec-newItemRole::before {
    width: 100vw;
  }
}
.ec-newItemRole .inner {
  position: relative;
}
.ec-newItemRole hgroup h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
  margin-block: 0 32px;
}
.ec-newItemRole hgroup h2 .ec-secHeading__ja {
  color: #000;
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 600;
}
.ec-newItemRole hgroup h2 .ec-secHeading__en {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "PT Serif", serif;
  font-size: 40px;
  font-size: 2.5rem;
  font-weight: 700;
  color: rgba(152, 50, 52, 0.1);
  margin-bottom: -10px;
  margin-inline: auto;
  position: relative;
}
@media (min-width: 768px) {
  .ec-newItemRole hgroup h2 .ec-secHeading__en {
    font-size: 81px;
    font-size: 5.0625rem;
    margin-bottom: -20px;
  }
}
.ec-newItemRole hgroup h2 .ec-secHeading__en::after {
  content: "";
  display: block;
  width: 32px;
  height: 22px;
  background-image: url("/html/template/tgem/assets/img/common/icon-footprints.svg");
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  right: -10px;
}
@media (min-width: 768px) {
  .ec-newItemRole hgroup h2 .ec-secHeading__en::after {
    top: 18px;
  }
}

.ec-recommendRole {
  padding-block: 24px 30px;
}
@media screen and (max-width: 576px) {
  .ec-recommendRole {
    padding-inline: 20px;
  }
}
@media (min-width: 768px) {
  .ec-recommendRole {
    padding-left: 28px;
  }
}
.ec-recommendRole hgroup h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
  margin-block: 0 32px;
}
.ec-recommendRole hgroup h2 .ec-secHeading__ja {
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 600;
}
.ec-recommendRole hgroup h2 .ec-secHeading__en {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "PT Serif", serif;
  font-size: 40px;
  font-size: 2.5rem;
  font-weight: 700;
  color: rgba(152, 50, 52, 0.1);
  margin-bottom: -20px;
  margin-inline: auto;
  position: relative;
}
@media (min-width: 768px) {
  .ec-recommendRole hgroup h2 .ec-secHeading__en {
    font-size: 80px;
    font-size: 5rem;
    margin-bottom: -20px;
  }
}
.ec-recommendRole hgroup h2 .ec-secHeading__en::after {
  content: "";
  display: block;
  width: 40px;
  height: 24px;
  background-image: url("/html/template/tgem/assets/img/common/icon-footprints.svg");
  background-repeat: no-repeat;
  position: absolute;
  top: -2px;
  right: -23px;
}

.ec-rankingRole {
  padding-block: 24px 30px;
}
@media (min-width: 768px) {
  .ec-rankingRole {
    padding-left: 28px;
  }
}
.ec-rankingRole hgroup h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
  margin-block: 0 32px;
}
.ec-rankingRole hgroup h2 .ec-secHeading__ja {
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 600;
}
.ec-rankingRole hgroup h2 .ec-secHeading__en {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "PT Serif", serif;
  font-size: 40px;
  font-size: 2.5rem;
  font-weight: 700;
  color: rgba(152, 50, 52, 0.1);
  margin-bottom: -20px;
  margin-inline: auto;
  position: relative;
}
@media (min-width: 768px) {
  .ec-rankingRole hgroup h2 .ec-secHeading__en {
    font-size: 81px;
    font-size: 5.0625rem;
  }
}
.ec-rankingRole hgroup h2 .ec-secHeading__en::after {
  content: "";
  display: block;
  width: 40px;
  height: 24px;
  background-image: url("/html/template/tgem/assets/img/common/icon-footprints.svg");
  background-repeat: no-repeat;
  position: absolute;
  top: -2px;
  right: -23px;
}

@media screen and (max-width: 576px) {
  .ec-sliderItemRole {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 576px) {
  .ec-sliderItemRole .item_nav {
    display: none;
  }
}

.slick-dots {
  bottom: -20px;
}
.slick-dots li {
  width: 10px;
  height: 10px;
  margin: 3px;
}
.slick-dots li button {
  width: 10px;
  height: 10px;
}
.slick-dots li button::before {
  width: 10px;
  height: 10px;
}

.organism_details {
  border-bottom: 1px dotted #ccc;
  margin: 0;
  padding: 0;
  list-style: none;
}
.organism_details li {
  padding-block: 8px;
  border-top: 1px dotted #ccc;
}
@media (min-width: 768px) {
  .organism_details li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media (min-width: 768px) {
  .organism_details li .detail_title {
    -ms-flex-preferred-size: 15%;
        flex-basis: 15%;
  }
}
@media (min-width: 768px) {
  .organism_details li .detail_body {
    -ms-flex-preferred-size: 85%;
        flex-basis: 85%;
  }
}
.organism_details .el_scientific_name {
  font-size: 21px;
  font-size: 1.3125rem;
}
.organism_details .el_scientific_name + .detail_body {
  font-family: "PT Serif", serif;
  font-size: 21px;
  font-size: 1.3125rem;
  font-style: italic;
}
.organism_details .el_sex {
  font-size: 21px;
  font-size: 1.3125rem;
}
.organism_details .el_sex + .detail_body {
  font-size: 21px;
  font-size: 1.3125rem;
}

.section__descriptions {
  margin-bottom: 32px;
}
@media screen and (max-width: 576px) {
  .section__descriptions h2 {
    font-size: 16px;
    font-size: 1rem;
    margin-bottom: 8px;
  }
}
.section__descriptions .ec-productRole__description {
  line-height: 1.75;
}
@media screen and (max-width: 576px) {
  .section__descriptions .ec-productRole__description {
    font-size: 14px;
    font-size: 0.875rem;
  }
}

.section__youtube {
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .section__youtube {
    margin-bottom: 64px;
  }
}
@media screen and (max-width: 576px) {
  .section__youtube h2 {
    font-size: 16px;
    font-size: 1rem;
    text-align: center;
    margin-bottom: 20px;
  }
}
.section__youtube .ec-productRole__youtube {
  max-width: 745px;
  margin-inline: auto;
}
.section__youtube .ec-productRole__youtube iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
.section__youtube .ec-blockBtn--action.to-youtube {
  max-width: 350px;
  background-color: #C41700;
  margin-top: 10px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .section__youtube .ec-blockBtn--action.to-youtube {
    margin-top: 40px;
  }
}

.other_item {
  padding-inline: 20px;
}
@media screen and (max-width: 576px) {
  .other_item h2 {
    font-size: 16px;
    font-size: 1rem;
    text-align: center;
    margin-bottom: 20px;
  }
}
.other_item .ec-shelfRole {
  padding: 0;
}
.other_item .ec-blockBtn--action.to-list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 44px;
  min-width: 180px;
  background-color: #fff;
  border: 1px solid #992427;
  color: #992427;
  margin-top: 20px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .other_item .ec-blockBtn--action.to-list {
    margin-top: 40px;
  }
}

.other_page .ec-layoutRole__mainWithColumn .ec-pageHeader {
  text-align: center;
}
.other_page .ec-layoutRole__mainWithColumn .ec-pageHeader h1 {
  border: none;
}
.other_page .ec-layoutRole__mainWithColumn section {
  margin-bottom: 25px;
}
.other_page .ec-layoutRole__mainWithColumn section h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-size: 18px;
  font-size: 1.125rem;
  margin: 0 0 15px;
}
.other_page .ec-layoutRole__mainWithColumn section h2::before {
  content: "";
  display: block;
  width: 13px;
  height: 35px;
  background: transparent -webkit-gradient(linear, left top, left bottom, from(#CB444D), to(#84121A)) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(180deg, #CB444D 0%, #84121A 100%) 0% 0% no-repeat padding-box;
}
.other_page .ec-layoutRole__mainWithColumn section p {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.785;
  margin-bottom: 1rem;
}

.cardList {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  padding: 0;
  margin-bottom: 1rem;
}

@media (min-width: 768px) {
  .bankInfo {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }
}
.bankInfo .bankInfo__item {
  background-color: #F4F4F4;
  text-align: center;
  padding: 20px;
  margin-bottom: 8px;
}
.bankInfo .bankInfo__item .bankInfo__name {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 8px;
}
.bankInfo .bankInfo__item .bankInfo__number {
  font-size: 14px;
  font-size: 0.875rem;
  margin: 0;
}