/* ==================================================
Index
================================================== */

/* reset
================================================== */

.c-main {
  font-family:
    'Roboto',
    '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic',
    'Meiryo', sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  color: #000;
}

.c-main ul li img {
  margin-top: 0;
  margin-bottom: 0;
}

/* adjust
================================================== */

.c-main {
  max-width: none;
  padding: 170px 0 0;
}

.c-attend ~ .c-main {
  padding-top: 210px;
}

/* sec
================================================== */

.i-sec {
  padding: 30px 0 105px;
}

.i-sec[data-bg="1"] {
  background-color: #589880;
  color: #fff;
}

.i-sec[data-bg="2"] {
  background-color: #f8f1d2;
}

.i-sec[data-bg="3"] {
  background-color: #f4f4f4;
}

.i-sec:not([data-bg]) + .i-sec:not([data-bg]),
:not(.i-sec) + .i-sec:not([data-bg]) {
  border-top: 5px solid #f4f4f4;
}

.i-sec_title {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 376px;
  height: 131px;
  padding: 10px 10px 30px;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.3;
  letter-spacing: .05em;
  margin: 0 auto;
  text-align: center;
  background: url(//gigaplus.makeshop.jp/kurasso/assets/img/index/index_sec_bg01_ffffff.svg) no-repeat center center / 100%;
}

.i-sec_title em {
  font-size: 22px;
}

.i-sec[data-bg="1"] .i-sec_title {
  background-image: url(//gigaplus.makeshop.jp/kurasso/assets/img/index/index_sec_bg01_589880.svg);
}

.i-sec[data-bg="2"] .i-sec_title {
  background-image: url(//gigaplus.makeshop.jp/kurasso/assets/img/index/index_sec_bg01_f8f1d2.svg);
}

.i-sec[data-bg="3"] .i-sec_title {
  background-image: url(//gigaplus.makeshop.jp/kurasso/assets/img/index/index_sec_bg01_f4f4f4.svg);
}

/* feature
================================================== */

.i-feature {
  border-bottom: 5px solid #F4F4F4;
}

.i-feature_inner {
  position: relative;
  margin: 0 -5px;
  padding: 31px 45px;
  background-color: #F4F4F4;
  overflow: hidden;
}

.i-feature_slider-wrap {
  margin: 0 -10px;
}

.i-feature_slider {
  position: relative;
  display: flex;
}

.i-feature_slider::before {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 50px;
  height: 50px;
  margin: auto;
  background: url(//gigaplus.makeshop.jp/kurasso/assets/img/common/icon_loading01_a59247.svg) no-repeat center center / contain;
  animation: i-feature_slider_before 3s ease infinite both;
  pointer-events: none;
  transition: opacity .3s ease;
}

@keyframes i-feature_slider_before {
  0% { transform: rotate(0); }
  100% { transform: rotate(360deg); }
}

.i-feature_slider.is-init::before {
  opacity: 0;
}

.i-feature_slider_item {
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 50%;
  margin: 0 auto;
  padding: 0 10px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
}

.i-feature_slider.is-init .i-feature_slider_item {
  opacity: 1;
  pointer-events: auto;
}

.i-feature_banner {

}

.i-feature_banner > a {
  display: block;
  position: relative;
  padding-top: 100%;
  background-color: #fff;
}

.i-feature_banner > a > img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  max-width: 100%;
  max-height: 100%;
  margin: auto !important;
  transition: opacity .3s ease;
}

.i-feature_banner > a[href]:hover > img {
  opacity: .7;
}

.i-feature_slider-ui {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity .3s ease;
}

.i-feature_slider-ui.is-active {
  opacity: 1;
}

.i-feature_slider-ui_prev,
.i-feature_slider-ui_next {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 60px;
  height: 60px;
}

.i-feature_slider-ui.is-active .i-feature_slider-ui_prev,
.i-feature_slider-ui.is-active .i-feature_slider-ui_next {
  pointer-events: auto;
}

.i-feature_slider-ui_prev {
  left: 15px;
  transform: rotate(180deg);
}

.i-feature_slider-ui_next {
  right: 15px;
}

.i-feature_slider-ui_prev > button,
.i-feature_slider-ui_next > button {
  box-sizing: border-box;
  width: 100%;
  height: 0;
  border: 1px solid #000;
  border-radius: 50%;
  padding: 100% 0 0 0;
  background-color: #fff;
  overflow: hidden;
  cursor: pointer;
  transition: background-color .3s ease;
}

.i-feature_slider-ui_prev > button:hover,
.i-feature_slider-ui_next > button:hover {
  background-color: #000;
}

.i-feature_slider-ui_prev > button:before,
.i-feature_slider-ui_next > button:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  box-sizing: border-box;
  width: 25%;
  height: 25%;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  margin: auto;
  transform: rotate(45deg) translate(-15%, 15%);
  transition: border-color .3s ease;
}

.i-feature_slider-ui_prev > button:hover:before,
.i-feature_slider-ui_next > button:hover:before {
  border-color: #fff;
}

.i-feature_source {
  display: none;
}

/* special
================================================== */

.i-special {
  padding: 36px 0 50px;
}

.i-special_inner {
  box-sizing: border-box;
  max-width: 1366px;
  min-width: 1030px;
  margin: 0 auto;
  padding: 0 15px;
}

.i-special_title {
  font-family: 'Dancing Script';
  font-size: 26px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .05em;
  text-align: center;
}

.i-special_list {

}

.i-special_list:nth-child(n+2) {
  margin-top: 34px;
}

.i-special_list > ul {
  display: flex;
  justify-content: center;
  margin: 0 -3px;
}

.i-special_list > ul > li {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: 25%;
  padding: 0 3px;
}

.i-special_list > ul > li > a {
  display: block;
  transition: opacity .3s ease;
}

.i-special_list > ul > li > a:hover {
  opacity: .7;
}

.i-special_list > ul > li img {
  max-width: 100%;
}

/* recommend
================================================== */

.i-recommend {

}

.i-recommend_list {

}

.i-recommend_list:nth-child(n+2) {
  margin-top: 50px;
}

.i-recommend_list > ul {
  display: flex;
  flex-wrap: wrap;
  margin: -70px -10px 0;
}

.i-recommend_list > ul > li {
  display: flex;
  box-sizing: border-box;
  width: 33.33%;
  padding: 70px 10px 0;
}

.i-recommend_item {
  display: flex;
  width: 100%;
}

.i-recommend_item > a {
  display: flex;
  width: 100%;
  text-decoration: none;
}

.i-recommend_item_inner {
  display: flex;
  flex-flow: column;
  width: 100%;
}

.i-recommend_item_image {
  position: relative;
  flex: 0 0 auto;
  height: 0;
  padding-top: 100%;
  overflow: hidden;
}

.i-recommend_item_image > img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  max-width: 100%;
  max-height: 100%;
  transition: transform .3s ease;
  backface-visibility: hidden;
  overflow: hidden;
}

a:hover .i-recommend_item_image > img {
  transform: scale(1.125);
}

.i-recommend_item_description {
  flex: 0 0 auto;
  height: 3em;
  font-size: 13px;
  line-height: 1.5;
}

.i-recommend_item_description:nth-child(n+2) {
  margin-top: 20px;
}

.i-recommend_item_description p {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  max-height: 3em;
  text-align: left;
  font-size: 13px;
  line-height: 1.5;
  overflow: hidden;
  word-break: break-all;
}

a:hover .i-recommend_item_description p {
  font-weight: 700;
}

.i-recommend_item_price-wrap {
  display: flex;
  justify-content: space-between;
  height: 100%;
  min-height: 48px;
}

.i-recommend_item_price-wrap:nth-child(n+2) {
  margin-top: 11px;
  border-top: 1px solid #707070;
  padding-top: 11px;
}

.i-recommend_item_price-wrap_col {
  display: flex;
}

.i-recommend_item_price-wrap_col:nth-child(n+2) {
  margin-left: 23px;
}

.i-recommend_item_price-wrap_col:nth-child(n+2):last-child {
  flex: 0 0 auto;
}

.i-recommend_item_price-wrap_col:first-child:last-child {
  width: 100%;
}

.i-recommend_item_price-wrap_col:first-child:not(:last-child) {
  width: 50%;
}

.i-recommend_item_balloon {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  padding: 9px 8px;
  background-color: #000;
  color: #fff;
}

.i-recommend_item_balloon::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 100%;
  bottom: 0;
  height: 0;
  margin: auto 0 auto 1px;
  border-top: 8px solid transparent;
  border-left: 12px solid #000;
  border-bottom: 8px solid transparent;
}

.i-recommend_item_balloon > strong {
  font-size: 16px;
}

.i-recommend_item_balloon.opt-theme01 {
  background-color: #B6B6B6;
}
.i-recommend_item_balloon.opt-theme01::after {
  border-left-color: #B6B6B6;
}

.i-recommend_item_balloon.opt-theme02 {
  background-color: #F1B424;
}
.i-recommend_item_balloon.opt-theme02::after {
  border-left-color: #F1B424;
}

.i-recommend_item_balloon.opt-theme03 {
  background-color: #F46E16;
}
.i-recommend_item_balloon.opt-theme03::after {
  border-left-color: #F46E16;
}

.i-recommend_item_price {
  display: flex;
  align-items: center;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  color: #000;
  text-align: right;
}

.i-recommend_item_price > span {
  position: relative;
  display: inline-block;
}

.i-recommend_item_price > span::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -.5em;
  right: -.5em;
  height: 0;
  margin: auto 0;
  border-top: 2px solid #000;
}

.i-recommend_item_price > span > em {
  font-size: 18px;
}

.i-recommend_item_price[data-line-through] {
  font-size: 12px;
  font-weight: 500;
  color: #000;
}

.i-recommend_item_price[data-line-through] > span::before {
  content: '';
}

.i-recommend_item_price[data-line-through] > span > em {
  font-size: 16px;
}

/* category
================================================== */

.i-category {

}

.i-category_list {
  max-width: 964px;
  margin: 0 auto;
}

.i-category_list:nth-child(n+2) {
  margin-top: 35px;
}

.i-category_list > ul {
  display: flex;
  flex-wrap: wrap;
  margin: -12px -6px 0;
}

.i-category_list > ul > li {
  box-sizing: border-box;
  width: 25%;
  padding: 12px 6px 0;
}

.i-category_item {

}

.i-category_item > a {
  display: block;
  text-decoration: none;
}

.i-category_item_inner {
  display: flex;
  align-items: center;
  position: relative;
  z-index: 1;
  position: relative;
  padding: 16px 10px 18px 16px;
}

.i-category_item_image {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 39px;
  height: 39px;
}

.i-category_item_image > img {
  max-width: 100%;
  max-height: 100%;
}

.i-category_item_body {

}

.i-category_item_body:nth-child(n+2) {
  margin-left: 8px;
}

.i-category_item_text-en {
  font-size: 16px;
  line-height: 1.3;
  letter-spacing: .05em;
}

.i-category_item_text {
  font-size: 12px;
  line-height: 1.3;
  letter-spacing: -.1em;
}

.i-category_item_text:nth-child(n+2) {
  margin-top: 3px;
}

.i-category_item_bg {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.i-category_item_bg .layer1 {
  fill: #fff;
  transition: fill .3s ease;
}

a:hover .i-category_item_bg .layer1 {
  fill: #000;
}

.i-category_item_bg .layer2 {
  stroke-dasharray: 100 5;
  fill: #fff;
  transition: stroke-dasharray .3s ease, fill .3s ease;
}

a:hover .i-category_item_bg .layer2 {
  stroke-dasharray: 150 5;
  fill: #F8F1D2;
}

/* ranking
================================================== */

.i-ranking {

}

/* newitems
================================================== */

.i-newitems {

}

/* restock
================================================== */

.i-restock {

}

/* instagram
================================================== */

.i-instagram {

}

.i-instagram_list-wrap {

}

.i-instagram_list-wrap:nth-child(n+2) {
  margin-top: 50px;
}

.i-instagram_list {

}

.i-instagram_list > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: -6px -3px 0;
}

.i-instagram_list > ul > li {
  box-sizing: border-box;
  width: 20%;
  padding: 6px 3px 0;
}

.i-instagram_list_item {

}

.i-instagram_list_item > a {
  display: block;
  position: relative;
}

.i-instagram_list_item > a::before {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, .5) url(//gigaplus.makeshop.jp/kurasso/assets/img/common/icon_search01_000000.svg) no-repeat center center / 33.98%;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease, background-size .3s ease;
}

.i-instagram_list_item > a:hover::before {
  opacity: 1;
  background-size: 23.98%;
}

.i-instagram_list_item_inner {

}

.i-instagram_list_item_image {
  position: relative;
  padding-top: 100%;
  overflow: hidden;
}

.i-instagram_list_item_image > img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  max-width: 100%;
  max-height: 100%;
  margin: auto !important;
}

.i-instagram_list_item_video {
  position: relative;
  padding-top: 100%;
  overflow: hidden;
}

.i-instagram_list_item_video > video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  max-width: 100%;
  max-height: 100%;
  margin: auto !important;
}

.i-instagram_list_modal-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  z-index: 1002;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 15px;
  background-color: rgba(0, 0, 0, .3);
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
  backface-visibility: hidden;
  overflow: hidden;
}

.i-instagram_list_modal-wrap.is-active {
  opacity: 1;
  pointer-events: auto;
}

.i-instagram_list_modal {
  position: relative;
  box-sizing: border-box;
  width: 870px;
  max-width: calc(100vw - 100px);
  padding: 30px 20px;
  background-color: #fff;
  box-shadow: 0 5px 5px 0 rgba(0, 0, 0, .3);
  transform: translateY(10px);
  transition: transform .3s ease;
  backface-visibility: hidden;
}

.i-instagram_list_modal-wrap.is-active .i-instagram_list_modal {
  transform: none;
}

.i-instagram_list_modal_close {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(0, -50%);
}

.i-instagram_list_modal_close > button {
  width: 50px;
  height: 50px;
  border: 0;
  background-color: #fff;
  border-radius: 50%;
  padding: 0;
  white-space: nowrap;
  text-indent: 200%;
  text-align: left;
  overflow: hidden;
  cursor: pointer;
}

.i-instagram_list_modal_close > button::before,
.i-instagram_list_modal_close > button::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 20px;
  height: 0;
  margin: auto;
  border-top: 1px solid #000;
  transition: border-color .3s ease;
}

.i-instagram_list_modal_close > button:hover::before,
.i-instagram_list_modal_close > button:hover::after {
  border-color: #A59247;
}

.i-instagram_list_modal_close > button::before {
  transform: rotate(45deg);
}

.i-instagram_list_modal_close > button::after {
  transform: rotate(-45deg);
}

.i-instagram_list_modal_inner-wrap {
  max-width: 100%;
  max-height: calc(100vh - 160px);
  padding: 0 10px;
  overflow: hidden;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin; /* 7px */
  scrollbar-color: #000 #F4F4F4;
}

.i-instagram_list_modal_inner-wrap::-webkit-scrollbar {
  width: 7px;
}

.i-instagram_list_modal_inner-wrap::-webkit-scrollbar-track {
  background-color: #F4F4F4;
}

.i-instagram_list_modal_inner-wrap::-webkit-scrollbar-thumb {
  background-color: #000;
}

.i-instagram_list_modal_inner {

}

.i-instagram_list_modal_content {
  display: flex;
  justify-content: space-between;
}

.i-instagram_list_modal_image {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 auto;
  width: calc(50% - 15px);
  max-height: 380px;
}

.i-instagram_list_modal_image > img {
  max-width: 100%;
  max-height: 100%;
}

.i-instagram_list_modal_video {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 auto;
  width: calc(50% - 15px);
  max-height: 380px;
}

.i-instagram_list_modal_video > video {
  max-width: 100%;
  max-height: 100%;
}

.i-instagram_list_modal_slider {
  position: relative;
  width: calc(50% - 15px);
  overflow: hidden;
}

.i-instagram_list_modal_slider_inner {
  display: flex;
  backface-visibility: hidden;
}

.i-instagram_list_modal_slider-item {
  flex: 0 0 auto;
  width: 100%;
}

.i-instagram_list_modal_slider_image {
  position: relative;
  padding-top: 100%;
  backface-visibility: hidden;
  overflow: hidden;
}

.i-instagram_list_modal_slider_image > img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  max-width: 100%;
  max-height: 100%;
  margin: auto !important;
  backface-visibility: hidden;
  overflow: hidden;
}

.i-instagram_list_modal_slider_video {
  position: relative;
  padding-top: 100%;
  backface-visibility: hidden;
  overflow: hidden;
}

.i-instagram_list_modal_slider_video > video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  max-width: 100%;
  max-height: 100%;
  margin: auto !important;
  backface-visibility: hidden;
  overflow: hidden;
}

.i-instagram_list_modal_slider_nav {

}

.i-instagram_list_modal_slider_nav_prev,
.i-instagram_list_modal_slider_nav_next {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 30px;
}

.i-instagram_list_modal_slider_nav_prev {
  left: 0;
}

.i-instagram_list_modal_slider_nav_next {
  right: 0;
}

.i-instagram_list_modal_slider_nav_prev > button,
.i-instagram_list_modal_slider_nav_next > button {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: none;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  cursor: pointer;
  transition: background-color .3s ease;
}

.i-instagram_list_modal_slider_nav_prev > button::before,
.i-instagram_list_modal_slider_nav_next > button::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  box-sizing: border-box;
  width: 15px;
  height: 15px;
  margin: auto;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transition: border-color .3s ease;
}

.i-instagram_list_modal_slider_nav_prev > button::before {
  transform: rotate(-135deg) translate(-2px, 2px);
}

.i-instagram_list_modal_slider_nav_next > button::before {
  transform: rotate(45deg) translate(-2px, 2px);
}

.i-instagram_list_modal_slider_nav_prev > button:hover,
.i-instagram_list_modal_slider_nav_next > button:hover {
  background-color: rgba(255,255,255,.3);
}

.i-instagram_list_modal_slider_nav_prev > button:hover::before,
.i-instagram_list_modal_slider_nav_next > button:hover::before {
  border-color: #A59247;
}

.i-instagram_list_modal_body {
  width: calc(50% - 15px);
}

.i-instagram_list_modal_text-wrap {
  max-height: 335px;
  padding-right: 5px;
  overflow: hidden;
  overflow-x: hidden;
  overflow-y: scroll;
  scrollbar-width: thin; /* 7px */
  scrollbar-color: #000 #F4F4F4;
}

.i-instagram_list_modal_text-wrap::-webkit-scrollbar {
  width: 7px;
}

.i-instagram_list_modal_text-wrap::-webkit-scrollbar-track {
  background-color: #F4F4F4;
}

.i-instagram_list_modal_text-wrap::-webkit-scrollbar-thumb {
  background-color: #000;
}

.i-instagram_list_modal_text {
  display: block;
  font: inherit;
  line-height: 1.3;
  white-space: pre-wrap;
}

.i-instagram_list_modal_name-wrap {
  display: flex;
  padding: 5px 10px;
  background-color: #F4F4F4;
}

.i-instagram_list_modal_name-wrap:nth-child(n+2) {
  margin-top: 15px;
}

.i-instagram_list_modal_name {

}

.i-instagram_list_modal_name:nth-child(n+2) {
  margin-left: 5px;
  border-left: 1px solid #000;
  padding-left: 5px;
}

.i-instagram_list_modal_name > a {
  display: inline-block;
  color: #000;
}

.i-instagram_list_modal_name > a[data-icon="instagram"] {
  padding-left: 1.2em;
  background: url(//gigaplus.makeshop.jp/kurasso/assets/img/common/icon_instagram01_000000.svg) no-repeat left center / 1em;
}

.i-instagram_list_modal_aside {
  margin-top: 20px;
}

.i-instagram_list_modal_recommend-list {

}

.i-instagram_list_modal_recommend-list > ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: -20px -10px 0;
}

.i-instagram_list_modal_recommend-list > ul > li {
  box-sizing: border-box;
  width: 20%;
  padding: 20px 10px 0;
}

.i-instagram_list_modal_recommend {

}

.i-instagram_list_modal_recommend > a {
  display: block;
  text-decoration: none;
}

.i-instagram_list_modal_recommend_inner {

}

.i-instagram_list_modal_recommend_image {
  position: relative;
  padding-top: 100%;
  overflow: hidden;
  background-color: #000;
}

.i-instagram_list_modal_recommend_image > img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  max-width: 100%;
  max-height: 100%;
  margin: auto !important;
  transition: transform .3s ease;
  backface-visibility: hidden;
  overflow: hidden;
}

.i-instagram_list_modal_recommend_title {
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.3;
}

a:hover .i-instagram_list_modal_recommend_image > img {
  transform: scale(1.125);
}

a:hover .i-instagram_list_modal_recommend_title {
  font-weight: 700;
}

/* faily
================================================== */

.i-faily {

}

/* history
================================================== */

.i-history {
  overflow: hidden;
}

.i-history_slider-wrap {
}

.i-history_slider-wrap:nth-child(n+2) {
  margin-top: 50px;
}

.i-history_slider {
  margin: 0 -9px;
}

.i-history_slider_inner {
  display: flex;
}

.i-history_slider_item {
  display: flex;
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 25%;
  padding: 0 9px;
}

.i-history_slider_item:first-child {
  margin-left: auto;
}

.i-history_slider_item:last-child {
  margin-right: auto;
}

.i-history_slider_nav {
  display: flex;
  justify-content: space-between;
  position: relative;
  width: 410px;
  margin: 0 auto;
}

.i-history_slider_nav:nth-child(n+2) {
  margin-top: 70px;
}

.i-history_slider_nav_prev,
.i-history_slider_nav_next {

}

.i-history_slider_nav_prev > button,
.i-history_slider_nav_next > button {
  position: relative;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  background: none;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  cursor: pointer;
  transition: opacity .3s ease;
}

.i-history_slider_nav_prev > button:disabled,
.i-history_slider_nav_next > button:disabled {
  opacity: .3;
  pointer-events: none;
}

.i-history_slider_nav_prev > button::before,
.i-history_slider_nav_next > button::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  box-sizing: border-box;
  width: 15px;
  height: 15px;
  margin: auto;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transition: border-color .3s ease;
}

.i-history_slider_nav_prev > button::before {
  transform: rotate(-135deg) translate(-2px, 2px);
}

.i-history_slider_nav_next > button::before {
  transform: rotate(45deg) translate(-2px, 2px);
}

.i-history_slider_nav_prev > button:hover::before,
.i-history_slider_nav_next > button:hover::before {
  border-color: #A59247;
}

.i-history_slider_nav_scrollbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 320px;
  height: 10px;
  margin: auto;
}

.i-history_slider_nav_scrollbar::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  box-sizing: border-box;
  height: 6px;
  width: calc(100% - 10px);
  margin: auto;
  border: 1px solid #000;
  border-radius: 3px;
}

.i-history_slider_nav_scrollbar > div {
  position: absolute;
  top: 0;
  bottom: 0;
  border-radius: 5px;
  background-color: #000;
  cursor: grab;
  transition: background-color .3s ease, transform .3s ease, width .3s ease;
}

.i-history_slider_nav_scrollbar > div:hover {
  background-color: #A59247;
}

.i-history_slider-source {
  display: none;
}

/* brand
================================================== */

.i-brand {

}

.i-brand_inner {
  box-sizing: border-box;
  max-width: 1285px;
  min-width: 1030px;
  margin: 0 auto;
  padding: 0 15px;
}

.i-brand_list {

}

.i-brand_list:nth-child(n+2) {
  margin-top: 50px;
}

.i-brand_list > ul {
  display: flex;
  margin: 0 -3px;
}

.i-brand_list > ul > li {
  box-sizing: border-box;
  width: 16.66%;
  padding: 0 3px;
}

.i-brand_item {

}

.i-brand_item > a {
  display: block;
}

.i-brand_item_inner {
  position: relative;
  padding-top: 100%;
  overflow: hidden;
}

.i-brand_item_inner::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  border-top: 5px solid #A59247;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform .3s ease;
  backface-visibility: hidden;
  overflow: hidden;
}

.i-brand_item_inner > img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  max-width: 100%;
  max-height: 100%;
  margin: auto !important;
  transition: opacity .3s ease;
}

a:hover .i-brand_item_inner::after {
  transform: none;
  transform-origin: left center;
}

a:hover .i-brand_item_inner > img {
  opacity: .5;
}

/* category2
================================================== */

.i-category2 {

}

.i-category2_item {
  width: 160px;
  max-width: 100%;
  margin: 0 auto;
}

.i-category2_item:nth-child(n+2) {
  margin-top: 17px;
}

.i-category2_item > a {
  display: block;
  position: relative;
  z-index: 1;
  padding-top: 100%;
  border-radius: 50%;
  text-decoration: none;
  color: #fff;
  overflow: hidden;
}

.i-category2_item > a::before {
  content: '';
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 50%;
  transform: scale(.5);
  transition: background-color .3s ease, transform .3s ease;
  backface-visibility: hidden;
  overflow: hidden;
}

.i-category2_item > a:hover::before {
  transform: none;
  background-color: #000;
}

.i-category2_item_inner {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.i-category2_item_image {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  margin: 0 auto;
}

.i-category2_item_image > img {
  max-width: 100%;
  max-height: 100%;
}

.i-category2_item_text-en {
  font-size: 16px;
  line-height: 1.3;
  text-align: center;
}

.i-category2_item_text-en:nth-child(n+2) {
  margin-top: 10px;
}

.i-category2_item_text {
  font-size: 11px;
  line-height: 1.3;
  letter-spacing: -.1em;
  text-align: center;
}

.i-category2_item_text-en + .i-category2_item_text {
  margin-top: -1px;
}

.i-category2_list {
  max-width: 670px;
  margin: 0 auto;
}

.i-category2_list > ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -5px;
}

.i-category2_list > ul > li {
  box-sizing: border-box;
  width: 25%;
  padding: 0 5px;
}
