
/* ==================================================

  全ページ共通

================================================== */

a.gy_link {
  background-image: linear-gradient(90deg, #279FE5, #279FE5);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 0 1px;
  transition: all .4s ease-out;
  color: #279FE5;
}

a.gy_link_gray {
  background-image: linear-gradient(90deg, #707070, #707070);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 0 1px;
  transition: all .4s ease-out;
  color: #707070;
}

a.gy_link:hover,
a.gy_link_gray:hover {
  background-size: 100% 1px;
  text-decoration: none;
}

/* ==================================================

  トップページ

================================================== */

.p-top-box__item img.gy_card {
  width: 100%;
  max-width: calc(670px / 2);
  margin: 8px 0 0 0;
  padding-bottom: 8px;
}

.p-top-box__item img.gy_sagawa {
  width: 100%;
  max-width: calc(338px / 2);
  margin: 8px 0 0 0;
  padding-bottom: 8px;
}

.p-top-box__item img.gy_time {
  width: 100%;
  max-width: calc(992px / 2);
  margin: 8px 0 0 0;
  padding-bottom: 4px;
}

/* ==================================================

  カテゴリ

================================================== */

#cat_fc111 {
    background: #DBE1E6;
}
#cat_plus {
    background: #000;
}

.cat_special {
    width: 100%;
    padding-bottom: 80px;
}
@media screen and (max-width:768px) {
    .cat_special {
        margin-top: 2vw;
        padding-bottom: 12vw;
    }
}

#cat_fc111 .gy_kv {
    background-image: url(../img/cat_fc111_main_pc.jpg);
}
#cat_plus .gy_kv {
    background-image: url(../img/cat_plus_main_pc.jpg);
}
@media screen and (max-width:768px) {
    #cat_fc111 .gy_kv {
        background-image: url(../img/cat_fc111_main_sp.jpg);
    }
    #cat_plus .gy_kv {
        background-image: url(../img/cat_plus_main_sp.jpg);
    }
}

.cat_special .gy_kv {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    padding-top: 420px;
    background-repeat: no-repeat;
    background-size: 100%;
    font-family: "Noto Serif JP", serif;
}
@media screen and (max-width:1500px) {
    .cat_special .gy_kv {
        padding-top: 28vw;
    }
}
@media screen and (max-width:768px) {
    .cat_special .gy_kv {
        padding-top: 60vw;
    }
}

.cat_special .gy_kv .gy_ttl {
    width: 100%;
    color: #fff;
    line-height: 1.0;
    text-align: center;
}

.cat_special .gy_kv .gy_ttl span:nth-of-type(1) {
    font-size: 3.4rem;
}
@media screen and (max-width:768px) {
    .cat_special .gy_kv .gy_ttl span:nth-of-type(1) {
        font-size: 5.2vw;
    }
}

.cat_special .gy_kv .gy_ttl span:nth-of-type(2) {
    margin-top: 12px;
    display: block;
    font-size: 1.4;
    letter-spacing: 2px;
}
@media screen and (max-width:768px) {
    .cat_special .gy_kv .gy_ttl span:nth-of-type(2) {
        font-size: 2.6vw;
    }
}

#cat_fc111 .gy_kv .gy_catch {
  color: #623B1A;
}
#cat_plus .gy_kv .gy_catch {
  color: #fff;
}

.cat_special .gy_kv .gy_catch {
    width: 100%;
    margin-top: 24px;
    font-size: 2.0rem;
    text-align: center;
}
@media screen and (max-width:768px) {
    .cat_special .gy_kv .gy_catch {
        padding: 0 4vw;
        font-size: 3.6vw;
    }
}

.cat_special .gy_kv .gy_catch span {
    font-size: 2.6rem;
}
@media screen and (max-width:768px) {
    .cat_special .gy_kv .gy_catch span {
        font-size: 4.8vw;
    }
}

#cat_fc111 .gy_kv .gy_exp {
    color: #623B1A;
}
#cat_plus .gy_kv .gy_exp {
    color: #fff;
}

.cat_special .gy_kv .gy_exp {
    position: relative;
    width: 100%;
    margin-top: 12px;
    padding-top: 20px;
    font-size: 1.6rem;
    text-align: center;
}
@media screen and (max-width:768px) {
    .cat_special .gy_kv .gy_exp {
        margin-top: 4vw;
        padding: 4vw 4vw 0;
        font-size: 3.6vw;
    }
}

#cat_fc111 .gy_kv .gy_exp::before {
  background: #623B1A;
}
#cat_plus .gy_kv .gy_exp::before {
  background: #fff;
}

.cat_special .gy_kv .gy_exp::before {
    position: absolute;
    top: 0;
    left: 50%;
    width: 10%;
    height: 1px;
    content: '';
    transform: translateX(-50%);
}
@media screen and (max-width:768px) {
    .cat_special .gy_kv .gy_exp::before {
        width: 20%;
    }
}

.cat_special .gy_cat_fc111_premium {
    width: 100%;
    max-width: 1140px;
    margin: 80px auto 0;
    display: flex;
    justify-content: space-between;
}
@media screen and (max-width:768px) {
    .cat_special .gy_cat_fc111_premium {
        margin-top: 12vw;
        flex-wrap: wrap;
    }
}

.cat_special .gy_cat_fc111_premium > div {
    width: calc((100% - 40px) / 2);
}
@media screen and (max-width:768px) {
    .cat_special .gy_cat_fc111_premium > div {
        width: 100%;
    }
    .cat_special .gy_cat_fc111_premium > div:nth-of-type(2) {
        margin-top: 8vw;
    }
}

.cat_special .gy_cat_fc111_premium > div .gy_catch {
    width: 100%;
    padding: 0 20px;
    color: #623B1A;
    font-size: 1.8rem;
    font-weight: 600;
    text-align: center;
}
@media screen and (max-width:768px) {
    .cat_special .gy_cat_fc111_premium > div .gy_catch {
        font-size: 5.2vw;
    }
}

.cat_special .gy_cat_fc111_premium > div .gy_exp {
    width: 100%;
    margin-top: 16px;
    padding: 0 20px;
    color: #727272;
}
@media screen and (max-width:768px) {
    .cat_special .gy_cat_fc111_premium > div .gy_exp {
        font-size: 3.6vw;
    }
}

.noProduct {
  width: 100%;
  max-width: 1260px;
  margin: 0 auto;
  padding: 30px 30px 0;
  text-align: center;
}

@media screen and (max-width:768px) {
  .p-category-list {
    padding-right: 0;
    padding-left: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media screen and (max-width:768px) {
  .p-category-list__inner {
    width: calc(50% - 5px);
    margin-top: 4vw;
  }
}
.p-category-list__inner > a {
  display: flex;
  transition-duration: 300ms;
}
@media screen and (max-width:768px) {
  .p-category-list__inner > a {
    flex-wrap: wrap;
  }
}
.p-category-list__inner > a:hover {
  opacity: .8;
}
@media screen and (max-width:768px) {
  .p-category-list__inner > a > .img {
    width: 100%;
  }
  .p-category-list__inner > a > .img img {
    width: 100%;
  }
}
@media screen and (max-width:768px) {
  .p-category-list__inner .p-category-list__item {
    margin-top: 3vw;
    padding-right: 3vw;
    padding-left: 3vw;
  }
}
.p-category-list__inner .c-tag-product img {
  width: calc(120px / 2);
  height: auto;
  margin: 0 4px 4px 0;
}
.p-category-list__inner .p-category-list__title {
  margin-top: 10px;
  color: #623b1a;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.4;
}
@media screen and (max-width:768px) {
  .p-category-list__inner .p-category-list__title {
    margin-top: 0;
    font-size: 3.8vw;
  }
}
@media screen and (max-width:768px) {
  .p-category-list__inner .p-category-list__text {
    margin-top: 2vw;
    font-size: 3.2vw;
    line-height: 1.4;
  }
}

/* ==================================================

  商品詳細ページ

================================================== */

.gy_SalesPeriod {
  margin-top: 10px;
  color: #c73854;
}
@media screen and (max-width:768px) {
  .gy_SalesPeriod {
    margin-top: 4vw;
  }
}

#gy_ProductDetail #gy_kv_wrap {
  width: 100%;
  margin-top: 12px;
}

#gy_ProductDetail #gy_kv_wrap .gy_kv {
  position: relative;
  width: 100%;
}

#gy_ProductDetail #gy_kv_wrap .gy_kv .gy_logo {
  position: absolute;
  top: 30px;
  left: 50%;
  width: calc(128px / 2);
  height: calc(137px / 2);
  background-image: url(../img/ProductDetail/kv_logo.png);
  background-size: calc(128px / 2) calc(137px / 2);
  background-repeat: no-repeat;
  transform: translateX(-600px);
}
@media screen and (max-width:1260px) {
  #gy_ProductDetail #gy_kv_wrap .gy_kv .gy_logo {
    left: 30px;
    transform: translateX(0);
  }
}
@media screen and (max-width:768px) {
  #gy_ProductDetail #gy_kv_wrap .gy_kv .gy_logo {
    position: absolute;
    top: 4vw;
    left: 4vw;
    width: calc(128px / 3);
    height: calc(137px / 3);
    background-size: calc(128px / 3) calc(137px / 3);
  }
}

#gy_ProductDetail #gy_kv_wrap .gy_kv .gy_ttl {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 36%;
  padding-top: 2%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(128, 128, 128, .6));
  text-align: center;
}

#gy_ProductDetail #gy_kv_wrap .gy_kv .gy_ttl span {
  padding-left: 4px;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 3.4rem;
  letter-spacing: 4px;
}
@media screen and (max-width:768px) {
  #gy_ProductDetail #gy_kv_wrap .gy_kv .gy_ttl span {
    font-size: 5.2vw;
  }
}

#gy_ProductDetail #gy_kv_wrap .gy_kv .gy_ttl span .gy_only_sp {
  display: none;
}
@media screen and (max-width:768px) {
  #gy_ProductDetail #gy_kv_wrap .gy_kv .gy_ttl span .gy_only_sp {
    display: block;
  }
}

#gy_ProductDetail #gy_kv_wrap > .gy_exp {
  width: 100%;
  max-width: 1260px;
  margin: 0 auto;
  padding: 20px 30px 0;
  color: #623B1A;
  font-family: "Noto Serif JP", serif;
  font-size: 1.4rem;
  text-align: center;
}
@media screen and (max-width:768px) {
  #gy_ProductDetail #gy_kv_wrap > .gy_exp {
    padding: 4vw 4vw 0;
    font-size: 3.4vw;
    text-align: left;
  }
}

/* ==================================================

  クーポンについて

================================================== */

#p_coupon .c-box-coupon {
  width: 100%;
}

#p_coupon .c-box-help__title.ttl {
  width: inherit;
  margin-top: 0;
  padding: 10px 0;
  background: #552A07;
  color: #fff;
  text-align: center;
}

#p_coupon .c-box-help__text--intro img {
  width: 100%;
  max-width: 620px;
}

/* ==================================================

  会員ランク・会員特典について

================================================== */

.c-box-help__text.omake__text {
  margin-top: 10px;
}

/* ==================================================

  領収書 ダウンロード

================================================== */

.gy_btn_base {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 2px 2px #C7C7C7;
}

.gy_btn_base:hover {
  opacity: .8;
}

.gy_btn_h42 {
  padding: 8px 12px;
  border-radius: 4px;
}
@media screen and (max-width:768px) {
  .gy_btn_h42 {
    padding: 12px 12px;
  }
}

.gy_btn_h52 {
  padding: 16px 12px;
  border-radius: 8px;
  font-size: 1.6rem;
}
@media screen and (max-width:768px) {
  .gy_btn_h52 {
    padding: 24px 12px;
  }
}

.gy_btn_white {
  border: 1px solid #7B624D;
  background: #fff;
  color: #7B624D !important;
}

.gy_btn_white:hover {}

.gy_btn_red {
  background: #C73854;
  color: #fff !important;
}

.gy_btn_red:hover {}

/* トップページに戻る */

.gy_gototop {
  width: auto;
  margin: 80px auto 0;
}

.gy_gototop a {
  width: auto;
  padding: 16px 32px;
  display: inline-block;
}

/* ==================================================

  商品詳細ページ

================================================== */

.productDetailId {
  margin-top: 6px;
}

.productDetailId span:before {
  content: '：';
}

.p-product-block__text.p-product-block__text--pc {
  line-height: 1.8;
}

.gy_productdetail_alert_limited {
  margin-top: 6px;
  padding: 8px 12px;
  border: 1px solid #c73854;
  color: #c73854;
}

.gy_productdetail_alert_oos {
  margin-top: 48px;
  padding: 8px 12px;
  border: 1px solid #c73854;
  color: #c73854;
  text-align: center;
}

@media screen and (min-width:769px){
  .p-product-table__heading {
    width: 30%;
    padding: 8px 12px;
  }

  .p-product-table__contents {
    width: 70%;
    padding: 8px 12px;
  }
}

.p-product-block__text p strong {
  font-weight: 600 !important;
}

/* 下部HTML */

@media screen and (min-width:769px) {
  .p-product-detail__image {
    width: calc((400% / 1260) * 100);
    padding: 0;
  }
  
  .p-product-detail__box {
    width: calc((860% / 1260) * 100);
  }
  
  .p-product-detail__inner:nth-of-type(odd) .p-product-detail__box {
    padding-left: calc((40% / 1260) * 100);
  }
  
  .p-product-detail__inner:nth-of-type(even) .p-product-detail__box {
    padding-right: calc((40% / 1260) * 100);
  }
  
  .p-product-detail__title {
    font-size: 2.4rem;
  }
  
  .p-product-detail__text {
    margin-top: 20px;
    font-size: 1.6rem;
  }
}

/* ご利用ガイドのリンク */

.p-product-link {
  padding: 20px 20px 18px;
  line-height: 1.4;
}

@media screen and (max-width:1000px) {
  .p-product-link .p-product-link__list .p-product-link__item {
    width: 100%;
  }
  .p-product-link .p-product-link__list .p-product-link__item:nth-of-type(2) {
    margin-top: 12px;
  }
}

.p-product-link .p-product-link__list .p-product-link__item::before {
  position: relative;
  top: -1px;
  margin-right: 6px;
  content: '-';
  display: inline-block;
  color: #707070;
}

.p-product-link .p-product-link__list .p-product-link__item:nth-of-type(3) {
  width: 100%;
  margin-top: 12px;
}

.p-product-link .p-product-link__list .p-product-link__item a {
  font-size: clamp(14px, 3.6458333333vw, 28px)
}
@media screen and (min-width:769px) {
  .p-product-link .p-product-link__list .p-product-link__item a {
    font-size: 1.4rem;
  }
}

/* ==================================================

  サイトリニューアルに伴うパスワードの再設定のお願い

================================================== */

#gy_page_pw > .gy_ttl {
  width: 100%;
  height: 240px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #552A00;
  font-family: "Noto Serif JP",serif;
  font-size: clamp(20px, 5.2083333333vw, 40px);
  font-weight: 600;
  letter-spacing: .2em;
  text-align: center;
}
@media screen and (min-width:769px) {
  #gy_page_pw > .gy_ttl {
  font-size: 2.8rem;
  }
}

#gy_page_pw .l-main__inner {
  margin-top: 0;
}

.gy_page_pw_changepoint {
  width: inherit;
  margin-top: 80px;
}

.gy_page_pw_changepoint > .gy_ttl {
  width: inherit;
  padding: 12px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #7B624D;
  color: #fff;
}

.gy_page_pw_changepoint table {
  width: inherit;
  margin-top: 20px;
  border-top: 1px solid #C7C7C7;
  border-left: 1px solid #C7C7C7;
  border-collapse: collapse;
  border-spacing: 0;
}

.gy_page_pw_changepoint table tr th,
.gy_page_pw_changepoint table tr td {
  width: inherit;
  border-right: 1px solid #C7C7C7;
  border-bottom: 1px solid #C7C7C7;
}

.gy_page_pw_changepoint table tr th {
  width: 18%;
  background: #F5F4F4;
}

.gy_page_pw_changepoint table tr td {
  padding: 1vw;
}

.gy_page_pw_changepoint table tr td dl {
  width: 100%;
}

.gy_page_pw_changepoint table tr td dl + dl {
  margin-top: 1vw;
}

.gy_page_pw_changepoint table tr td dl dt {
  color: #623B1A;
}

.gy_page_pw_changepoint table tr td dl dt:before {
  position: relative;
  top: 1px;
  width: 14px;
  height: 14px;
  margin-right: 4px;
  content: '';
  display: inline-block;
  background: #623B1A;
}

.gy_page_pw_changepoint table tr td dl dd .gy_txt_red {
  color: #FF001C;
}

.gy_page_pw_changepoint .gy_caution {
  width: inherit;
  margin-top: 10px;
}

.gy_bnr_campaign {
  position: relative;
  width: inherit;
  margin-top: 80px;
  padding: 2vw 0 30px;
  border: 1px solid #DC639E;
  border-radius: 12px;
  background: #F8F4E7;
}
@media screen and (max-width:768px) {
  .gy_bnr_campaign {
  padding-top: 8vw;
  }
}

.gy_bnr_campaign > .gy_ttl {
  position: absolute;
  top: -40px;
  left: 50%;
  width: 50%;
  min-width: 600px;
  transform: translateX(-50%);
}
@media screen and (max-width:768px) {
  .gy_bnr_campaign > .gy_ttl {
  width: 80%;
  min-width: auto;
  }
}

.gy_bnr_campaign > .gy_exp {
  width: 100%;
  text-align: center;
}

.gy_bnr_campaign_inner {
  width: inherit;
  display: flex;
  flex-wrap: wrap;
}

.gy_bnr_campaign_inner > div {
  width: 50%;
  margin-top: 10px;
  padding: 0 30px;
}
@media screen and (max-width:768px) {
  .gy_bnr_campaign_inner > div {
  width: 100%;
  }
}

.gy_bnr_campaign_inner .gy_ttl img {
  width: auto;
  max-height: 100px;
}

.gy_bnr_campaign_inner .gy_txt {
  width: 100%;
  margin-top: 20px;
}

/* ==================================================

  購入履歴一覧

================================================== */

.p-mypage-history-box-inner {
  border-bottom: 1px solid #eee;
}

.gy_mypage_history_link_detail {
  width: 100%;
  padding: 20px;
  border-bottom: 1px solid #c7c7c7;
}

.gy_mypage_history_link_detail .gy_btn_base {
  width: auto;
  display: inline-flex;
}
