/* オリジナル　ボタン */
/* .login-input .button {
  font-size: 2rem;
  padding: 20px;
} */

.ec-ringerhutBtn__wrap .ec-ringerhutBtn--ver1,
.ec-ringerhutBtn__wrap .ec-ringerhutBtn--ver2,
.ec-ringerhutBtn__wrap .ec-ringerhutBtn--ver3,
.ec-ringerhutBtn__wrap .ec-ringerhutBtn--ver4 {
  font-size: 14px;
  margin-top: 15px;
}

@media screen and (min-width: 768px) {

  .ec-ringerhutBtn__wrap .ec-ringerhutBtn--ver1,
  .ec-ringerhutBtn__wrap .ec-ringerhutBtn--ver2,
  .ec-ringerhutBtn__wrap .ec-ringerhutBtn--ver3,
  .ec-ringerhutBtn__wrap .ec-ringerhutBtn--ver4 {
    font-size: 16px;
  }
}

.ec-ringerhutBtn--ver1:hover {
  transition-duration: 0.25s;
  color: #fff;
  text-decoration: none;
  background-color: #aa8e00;
  opacity: 1;
}

.ec-ringerhutBtn--ver1 {
  display: inline-block;
  margin: 0 5px 5px;
  padding: 15px 50px 15px 25px;
  border: none;
  border-radius: 100px;
  background-color: #D4B100;
  color: #fff;
  cursor: pointer;
  position: relative;
  line-height: 20px;
}

.ec-ringerhutBtn--ver1:after {
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  content: '\f054';
  font-weight: 900;
  font-size: 14px;
  background-color: #fff;
  color: #D4B100;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  text-align: center;
}

.ec-ringerhutBtn--ver2:hover {
  transition-duration: 0.25s;
  color: #fff;
  text-decoration: none;
  background-color: #D4B100;
  opacity: 1;
}

.ec-ringerhutBtn--ver2 {
  display: inline-block;
  margin: 0 5px 5px;
  padding: 15px 50px 15px 25px;
  border: 1px solid #D4B100;
  border-radius: 100px;
  background-color: #fff;
  color: #333;
  cursor: pointer;
  position: relative;
  line-height: 20px;
}

.ec-ringerhutBtn--ver2:after {
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  content: '\f054';
  font-weight: 900;
  font-size: 14px;
  background-color: #D4B100;
  color: #fff;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  text-align: center;
}

.ec-ringerhutBtn--ver3:hover {
  transition-duration: 0.25s;
  color: #fff;
  text-decoration: none;
  background-color: rgb(190, 89, 61);
  opacity: 1;
}

.ec-ringerhutBtn--ver3 {
  display: inline-block;
  margin: 0 5px 5px;
  padding: 15px 50px 15px 25px;
  border: none;
  border-radius: 100px;
  background-color: rgb(211, 114, 88);
  color: #fff;
  cursor: pointer;
  position: relative;
  line-height: 20px;
}

.ec-ringerhutBtn--ver3:after {
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  content: '\f054';
  font-weight: 900;
  font-size: 14px;
  background-color: #fff;
  color: rgb(211, 114, 88);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  text-align: center;
}

.ec-ringerhutBtn--ver4:hover {
  transition-duration: 0.25s;
  color: #fff;
  text-decoration: none;
  background-color: rgb(100, 136, 85);
  opacity: 1;
}

.ec-ringerhutBtn--ver4 {
  display: inline-block;
  margin: 0 5px 5px;
  padding: 15px 50px 15px 25px;
  border: none;
  border-radius: 100px;
  background-color: rgb(136, 184, 115);
  color: #fff;
  cursor: pointer;
  position: relative;
  line-height: 20px;
}

.ec-ringerhutBtn--ver4:after {
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  content: '\f054';
  font-weight: 900;
  font-size: 14px;
  background-color: #fff;
  color: rgb(136 184 115);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  text-align: center;
}

.ringerhut-link {
  position: relative;
  padding-left: 20px !important;
  font-size: 16px !important;
  color: rgb(82, 82, 99) !important;
}

.ringerhut-link:before {
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  content: '\f0da';
  font-weight: 900;
  font-size: inherit;
  color: #e83e2d;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  position: absolute;
  left: 0;
}

/*!* フォント設定 *!*/
* {
  font-family: "Noto Sans JP", serif !important;
}

.fa-classic,
.fa-regular,
.fa-solid,
.far,
.fas {
  font-family: "Font Awesome 6 Free" !important;
}

/* 全体アニメーション */
a:hover {
  transition: all .2s ease-in;
  opacity: .8;
}

/*!* 文字色 メインカラー *!*/
.bg-maincolor-ringerhut {
  background-color: #D4B100 !important;
}

/*!* 文字色 メインカラー *!*/
.text-maincolor-ringerhut {
  color: #D4B100 !important;
}

/*!* 文字色　メインカラー　強調 *!*/
.text-maincolor-ringerhut-strong {
  color: #6a5900 !important;
}

/*!* 文字色 セカンドカラー *!*/
.text-secondcolor-ringerhut {
  color: #FFE97F !important;
}

/*!* 文字色 サードカラー *!*/
.text-thirdcolor-ringerhut {
  color: #FEF9D8 !important;
}

/*!* 文字色 メインカラー 半透明 *!*/
.text-maincolor-ringerhut-50 {
  color: rgb(255, 212, 0, .5);
}

/*!* 文字色 アクセントカラー トップで使用 *!*/
.text-accentcolor-ringerhut {
  color: #e83e2d;
}

.bg-accentcolor-ringerhut {
  background-color: #DE5D50;
}

.bg-subcolor-ringerhut--ver4 {
  background-color: rgb(136, 184, 115) !important;
}

.text-dark {
  color: rgb(82, 82, 99) !important;
}

/* ECCUBEボタン上書き */
.ec-inlineBtn--primary:hover {
  background-color: #5CB1B1;
  border-color: #5CB1B1;
  color: #fff;
}

/* 各種装飾 */
.ec-pageHeader h1 {
  font-size: 20px;
  border-top: 4px solid #D4B100;
  border-bottom: 2px dotted #D4B100;
  margin-top: 36px !important;
  padding-top: 16px !important;
  padding-bottom: 18px;
}

.ec-contents__h1 span {
  display: inline-block;
  padding: 0 0 15px;
  border-bottom: 4px solid #D4B100;
  color: #333;
}

@media only screen and (max-width: 768px) {
  .ec-pageHeader h1 {
    margin-bottom: 32px;
  }
}

.ec-newsRole .ec-secHeading,
.ec-newItemRole .ec-secHeading {
  border-bottom: 1px solid #D4B100;
  padding-bottom: 16px;
  margin-bottom: 48px;
}

.ec-secHeading .ec-secHeading__span {
  border-bottom: 4px solid #D4B100;
  padding-bottom: 15px;
}

.ec-contents__h1 {
  border-bottom: 1px solid #D4B100;
  margin-bottom: 25px;
}

.ec-heading-bold {
  border-bottom: 1px solid #D4B100;
  padding-bottom: 7px;
}

.ec-heading-bold span {
  font-size: 20px;
  border-bottom: 4px solid #D4B100;
  padding-bottom: 11px;
}

/* ヘッダー */
.ec-layoutRole__header {
  position: fixed;
  width: 100%;
  background-color: inherit;
  z-index: 1000;
}

.ec-headerNaviRole {
  padding: 5px 15px;
}

.ec-headerNaviRole__logo img {
  max-width: 250px;
  min-width: 180px;
}

.ec-cartNavi {
  padding: 10px 0 0 0;
}

.ec-headerNavSP {
  position: relative;
  top: 5px;
  left: 10px;
  background: transparent;
}

@media only screen and (min-width: 768px) {
  .ec-headerNaviRole {
    padding: 15px 15px 15px 20px;
  }

  .ec-cartNavi {
    padding: 10px 0 0 20px;
  }
}

/* フッター */
.ec-footerRole__inner--logo {
  max-width: 250px;
  margin: 0 auto;
}

.ec-footerRole__inner--logo img {
  width: 100%;
}

.ec-footerNavi .ec-footerNavi__link a {
  text-decoration: none;
}

.ec-blockTopBtn {
  width: 60px;
  height: 60px;
  line-height: 60px;
  font-size: 32px;
}

/* コンテンツ */
.ec-layoutRole__contents {
  padding-top: 53px;
}

@media only screen and (min-width: 768px) {
  .ec-layoutRole__contents {
    padding-top: 77px;
  }
}

/* トップページ */
.ec-layoutRole__top-img img {
  width: 100%;
}

.ec-presentLink {
  padding-left: 16px;
  padding-right: 16px;
}

.ec-presentLink--linkTitle {
  font-size: 14px;
  font-weight: bold;
  padding: 0 0 16px;
}

.ec-presentLink--linkBtn {
  font-size: 12px;
}

@media screen and (min-width: 768px) {
  .ec-presentLink--linkTitle {
    font-size: 18px;
    font-weight: bold;
    padding: 0 0 16px;
  }

  .ec-presentLink--linkBtn {
    font-size: 16px;
  }
}

.ec-secHeading--tandem .ec-secHeading__en,
.ec-secHeading .ec-secHeading__en {
  font-size: 20px;
}

.ec-secHeading--tandem .ec-secHeading__ja,
.ec-secHeading .ec-secHeading__ja {
  font-size: 16px;
}

/* ニュース */

/* ニュース一覧 */
#page_news_index .ec-newsRole {
  padding: 0 20px;
}

@media screen and (min-width: 768px) {
  #page_news_index .ec-newsRole {
    padding: 0 20px;
  }
}

.ec-newsRole__listItem:hover,
.ec-newsRole__newsItem:hover {
  transition: all .2s ease-in;
  background-color: #F8F9FA;
}

#page_news_detail .ec-newsRole {
  padding: 0 20px;
}

@media screen and (min-width: 768px) {
  #page_news_detail .ec-newsRole {
    padding: 0 20px;
  }
}

.ec-newsRole__detailTitle {
  margin: 0 16px;
}

.ec-newsRole__detailTitle .ec-heading-bold {
  padding-bottom: 15px;
  margin-bottom: 60px;
}

.ec-newsRole__detailTitle .ec-heading-bold span {
  padding-left: 8px;
}

/* 新着商品一覧 */
.ec-newItemRole img {
  aspect-ratio: 1/1;
  object-fit: cover;
}

/* 商品一覧 */
#page_product_list .ec-shelfRole img {
  aspect-ratio: 1/1;
  object-fit: cover;
}

/* 商品詳細 */
.ec-productRole img {
  aspect-ratio: 1/1;
  object-fit: cover;
}

/* 注文履歴 */
@media only screen and (min-width: 768px) {
  .ec-imageGrid .ec-imageGrid__img {
    min-width: 120px;
    max-width: 250px;
  }
}

.ec-imageGrid .ec-imageGrid__img img {
  aspect-ratio: 1/1;
  object-fit: cover;
}

/* カート */
.ec-cartRole img {
  aspect-ratio: 1/1;
  object-fit: cover;
}

/* マイページ */
.ec-mypageRole .ec-historyRole:first-of-type .ec-historyRole__contents {
  border-top: none;
}

/* ログイン画面 */
.ec-login__icon>img {
  max-width: 300px;
  margin: 0 auto;
}

/* ご利用ガイド */
.ec-guide>.ec-off1Grid>.ec-off1Grid__cell>ol>li {
  margin-top: 20px;
}

/* faq */
.ec-faq>.ec-off1Grid>.ec-off1Grid__cell>ul {
  list-style: none;
}

.ec-faq>.ec-off1Grid>.ec-off1Grid__cell>ul>li {
  margin-bottom: 30px;
  padding-bottom: 16px;
  border-bottom: 1px solid #ccc;
}

.ec-faq>.ec-off1Grid>.ec-off1Grid__cell>ul>li>strong {
  font-size: 1rem;
}

@media only screen and (max-width: 768px) {
  .ec-faq>.ec-off1Grid>.ec-off1Grid__cell>ul {
    padding-left: 0;
  }
}

@media only screen and (min-width: 768px) {
  .ec-faq>.ec-off1Grid>.ec-off1Grid__cell>ul>li>strong {
    font-size: 1.2rem;
  }
}

#point-transfer {
  scroll-margin-top: 75px;
  scroll-behavior: smooth;
}

/** カート モーダル **/
.ec-cartNaviIsset {
  max-height: 90vh;
  overflow-y: auto;
}