@charset "utf-8";

/*-------------------------------------
 クーポン初期設定
---------------------------------------*/
:root {
  --color-coupon-small: #0062c0;
  --stroke-coupon: 0.5rem;

  --color-coupon-100: #0062c0;
  --color-coupon-150: #0073c5;
  --color-coupon-200: #007ec8;
  --color-coupon-300: #0086cb;
  --color-coupon-400: #0092c7;
  --color-coupon-500: #0099d1;
  --color-coupon-600: #06a4cb;
  --color-coupon-700: #00acd6;
  --color-coupon-750: #00b6da;
  --color-coupon-800: #00bddc;
  --color-coupon-850: #0dbfc9;
  --color-coupon-1000: #33c68f;
  --color-coupon-1200: #44db7e;
  --color-coupon-1300: #79d63b;
  --color-coupon-1500: #99d921;
  --color-coupon-1800: #bbd221;
  --color-coupon-2000: #d4c621;
  --color-coupon-2200: #d4b426;
  --color-coupon-2300: #d4b321;
  --color-coupon-2500: #e1a621;
  --color-coupon-2800: #e18e21;
  --color-coupon-3000: #eb7821;
  --color-coupon-3500: #f04b28;
  --color-coupon-3800: #ec3630;
  --color-coupon-4000: #f12f36;
  --color-coupon-4500: #ed273a;
  --color-coupon-5000: #e91f3d;
  --color-coupon-5500: #e51d3e;
  --color-coupon-5555: #e41c3e;
  --color-coupon-6000: #e21b3f;
  --color-coupon-6500: #de173f;
  --color-coupon-7000: #da143f;
  --color-coupon-8000: #d20e3f;
  --color-coupon-9000: #ce0b3f;
  --color-coupon-10000: #ca093f;
  --color-coupon-12000: #c6003f;
  --color-coupon-14000: #be003f;
  --color-coupon-15000: #b6003f;
  --color-coupon-18000: #b2003f;
  --color-coupon-20000: #ae003f;
  --color-coupon-25000: #a6003f;
  --color-coupon-30000: #9e003f;
  --color-coupon-35000: #96003f;
  --color-coupon-40000: #8e003f;
  --color-coupon-50000: #86003f;
  --color-coupon-60000: #7e003f;
  --color-coupon-70000: #76003f;
  --color-coupon-75000: #6e003f;
  --color-coupon-80000: #64005f;
  --color-coupon-90000: #5f006f;
  --color-coupon-100000: #5a007f;
  --color-coupon-250000: #4a005f;
}

@media screen and (max-width:767px) {
  :root {
    --stroke-coupon: 1.33vw;
  }
}

/*-------------------------------------
 クーポンのデザイン
---------------------------------------*/
.dti-hero-coupon {
  margin-top: 30px;
  display: none;
}

.coupon-wrapper {
  padding: 2px;
  display: flex;
  background: linear-gradient(135deg, #fff9e6 0%, #b39855 40%, #fff9e6 75%, #b39855 120%);
  align-items: center;
  position: relative;
}

.coupon-value {
  width: 55%;
  padding: 1em 3em 1em 1em;
  position: relative;
  display: flex;
  justify-content: center;
  clip-path: polygon(0% 0%, calc(100% - 2em) 0%, 100% 50%, calc(100% - 2em) 100%, 0% 100%);
  overflow: hidden;
  color: #fff;
  font-weight: 700;
}

.coupon-value::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  background-image: url(../images/bg-coupon-value.webp);
  background-size: cover;
  background-position: 50% 50%;
  mix-blend-mode: luminosity;
  z-index: -1;
  opacity: 0.75;
  animation: coupon-value-bounce 1s;
  overflow: hidden;
}

@keyframes coupon-value-bounce {
  0% {
    transform: scale(0);
    opacity: 0;
  }

  40% {
    transform: scale(1.5);
    opacity: 0.75;
  }

  70% {
    transform: scale(1);
    opacity: 0.75;
  }

  90% {
    transform: scale(1.2);
    opacity: 0.75;
  }

  100% {
    transform: scale(1);
    opacity: 0.75;
  }
}

.coupon-value__inner {
  display: inline-flex;
  flex-direction: column;
  text-align: center;
}

.dti-hero-coupon .coupon-value__inner p:first-child {
  -webkit-text-stroke: calc(var(--stroke-coupon) * 2) rgba(0, 0, 0, 0.2);
  -webkit-text-fill-color: #fff;
  paint-order: stroke fill;
}

.coupon-value__detail {
  font-size: 3em;
  -webkit-text-stroke: var(--stroke-coupon) rgba(0, 0, 0, 0.2);
  -webkit-text-fill-color: #fff;
  paint-order: stroke fill;
}

.coupon-value__detail .sub {
  font-size: 70%;
  margin-left: calc(1em * 0.2* -1);
}

.coupon-value__limit {
  background: #fff;
  border-radius: 1em;
  text-align: center;
  margin-top: 0.5em;
  padding: 0.3em 0.5em 0.2em;
}

.coupon-code {
  width: 45%;
  padding: 1em 1em 1em 3em;
  display: flex;
  justify-content: center;
}

.coupon-code__inner {
  display: inline-flex;
  flex-direction: column;
  text-align: center;
}

.coupon-code__detail {
  display: flex;
  font-size: 1.3em;
}

.coupon-code__text {
  padding: 0.5em;
  flex: 1;
  background: #fff;
}

.coupon-code__text::before {
  content: "クーポンコード:";
  color: #999;
}

.coupon-code__text span {
  font-weight: 700;
}

.coupon-code__button {
  display: inline-block;
  padding: 0.5em;
  color: #fff;
  height: 100%;
}

.coupon-code__button:hover {
  opacity: 0.8;
}

.coupon-code__usage img {
  width: 0.8em;
  vertical-align: baseline;
}

.ribbon {
  font-size: 0.9em;
  font-weight: bold;
  color: #fff;
  --f: .5em;
  position: absolute;
  top: 0;
  left: 0;
  line-height: 1.8;
  padding-inline: 1lh;
  padding-bottom: var(--f);
  border-image: conic-gradient(#0008 0 0) 51%/var(--f);
  clip-path: polygon(100% calc(100% - var(--f)), 100% 100%, calc(100% - var(--f)) calc(100% - var(--f)), var(--f) calc(100% - var(--f)), 0 100%, 0 calc(100% - var(--f)), 999px calc(100% - var(--f) - 999px), calc(100% - 999px) calc(100% - var(--f) - 999px));
  transform: translate(calc((cos(45deg) - 1)*100% - 2px), calc(-100% - 2px)) rotate(-45deg);
  transform-origin: 100% 100%;
  background-color: #cc0000;
  pointer-events: none;
}

.ribbon span {
  display: inline-block;
  padding: 0.1em 4em 0 4em;
  border: 2px solid;
  border-image: linear-gradient(45deg, #b39855 0%, #fff9e6 50%, #b39855 100%) 1;
  border-left: none;
  border-right: none;
  margin: 0.2em -2em;
}

.ribbon span::before {
  content: "COUPON";
}

.ribbon.daikessan span::before {
  content: "大決算";
  font-size: 1.8em;
  letter-spacing: 0.1em;
}

.ribbon--reverse {
  top: auto;
  left: auto;
  right: 0;
  bottom: 0;
  transform: translate(calc((cos(135deg))*100% + 2px), 2px) rotate(135deg);
}

.ribbon--reverse span::before {
  opacity: 0;
}

.usage-warning{
  color: red;
}

@media screen and (max-width:1440px) {
  .ribbon {
    font-size: 1.11vw;
  }
}

@media screen and (max-width:1040px) {
  .coupon-value__detail {
    font-size: 2.4em;
  }

  .coupon-code__detail {
    font-size: 1em;
  }

  .coupon-value__limit,
  .coupon-code__usage {
    font-size: 0.7em;
  }
}

@media screen and (max-width:767px) {
  .dti-hero-coupon {
    width: calc(100% - 30px);
    margin: 0 auto;
    margin-top: 15px;
  }

  .coupon-wrapper {
    flex-direction: column;
    background: linear-gradient(90deg, #b39855 -40%, #fff9e6 50%, #b39855 150%);
  }

  .coupon-value,
  .coupon-code {
    width: 100%;
  }

  .coupon-value {
    clip-path: polygon(0% 0%, 100% 0, 100% calc(100% - 1em), 50% 100%, 0 calc(100% - 1em));
    padding: 1em 1em 2em 1em;
  }

  .coupon-value__detail {
    font-size: 8.53vw;
  }

  .coupon-value__limit,
  .coupon-code__usage {
    font-size: 3.2vw;
  }

  .coupon-code {
    padding: 1em;
  }

  .coupon-code__detail {
    font-size: 4.27vw;
  }

  .ribbon {
    font-size: 2.67vw;
  }
}

.coupon-text-outlined{
  -webkit-text-stroke: var(--stroke-coupon) rgba(0,0,0,0.1);
  text-stroke: var(--stroke-coupon) rgba(0,0,0,0.1);
  paint-order: stroke;
}

/*-------------------------------------
 商品詳細用指定
---------------------------------------*/
.dti-hero-coupon .coupon-code__detail {
  background: #fff;
}

.dti-hero-coupon .coupon-code__text {
  display: flex;
  align-items: center;
}

@media screen and (min-width:768px) and (max-width:1440px) {
   .dti-hero-coupon {
    font-size: 80%;
  }
}

@media screen and (max-width:767px) {
  .dti-hero-coupon .coupon-wrapper {
    flex-direction: row;
  }
  .dti-hero-coupon .coupon-value {
    padding: 1em 2em 1em 1em;
    clip-path: polygon(0% 0%, calc(100% - 2em) 0%, 100% 50%, calc(100% - 2em) 100%, 0% 100%);
    font-size: 2.8vw;
    flex: 1;
  }

  .dti-hero-coupon .coupon-value__detail {
    font-size: 4.8vw;
  }

  .dti-hero-coupon .coupon-value__limit,
  .dti-hero-coupon .coupon-code__usage {
    font-size: 2.8vw;
  }

   .dti-hero-coupon .coupon-code {
    width: 10em;
    padding: 1em;
    font-size: 2vw;
  }

  .dti-hero-coupon .coupon-code__text{
    display: none;
  }

  .dti-hero-coupon .coupon-code__detail{
    background: none !important;
    border: none !important;
    font-size: 2.8vw;
  }

  .dti-hero-coupon .coupon-code__button {
    width: 6em;
    height: 6em;
  }
  .dti-hero-coupon .ribbon{
    font-size: 2vw;
  }
}

/*-------------------------------------
 値段別設定
---------------------------------------*/

/*--共通構造（各額面クラスが --coupon-color / --coupon-label を指定）--*/
.coupon-wrapper,
.coupon-code__detail {
  border: 2px solid var(--coupon-color);
}

.coupon-value,
.coupon-code__button {
  background-color: var(--coupon-color);
}

.coupon-value__limit {
  color: color-mix(in srgb, var(--coupon-color) 80%, black 20%);
}

.coupon-value__insert::before {
  content: var(--coupon-label);
}

.coupon-value__detail,
.dti-hero-coupon .coupon-value__inner p:first-child {
  -webkit-text-stroke: var(--stroke-coupon) color-mix(in srgb, var(--coupon-color) 80%, black 20%);
}

/*--額面別（色・ラベルの割り当てのみ）--*/
.coupon-small  { --coupon-color: var(--color-coupon-small); }
.coupon-100    { --coupon-color: var(--color-coupon-100);    --coupon-label: "100"; }
.coupon-150    { --coupon-color: var(--color-coupon-150);    --coupon-label: "150"; }
.coupon-200    { --coupon-color: var(--color-coupon-200);    --coupon-label: "200"; }
.coupon-300    { --coupon-color: var(--color-coupon-300);    --coupon-label: "300"; }
.coupon-400    { --coupon-color: var(--color-coupon-400);    --coupon-label: "400"; }
.coupon-500    { --coupon-color: var(--color-coupon-500);    --coupon-label: "500"; }
.coupon-600    { --coupon-color: var(--color-coupon-600);    --coupon-label: "600"; }
.coupon-700    { --coupon-color: var(--color-coupon-700);    --coupon-label: "700"; }
.coupon-750    { --coupon-color: var(--color-coupon-750);    --coupon-label: "750"; }
.coupon-800    { --coupon-color: var(--color-coupon-800);    --coupon-label: "800"; }
.coupon-850    { --coupon-color: var(--color-coupon-850);    --coupon-label: "850"; }
.coupon-1000   { --coupon-color: var(--color-coupon-1000);   --coupon-label: "1,000"; }
.coupon-1200   { --coupon-color: var(--color-coupon-1200);   --coupon-label: "1,200"; }
.coupon-1300   { --coupon-color: var(--color-coupon-1300);   --coupon-label: "1,300"; }
.coupon-1500   { --coupon-color: var(--color-coupon-1500);   --coupon-label: "1,500"; }
.coupon-1800   { --coupon-color: var(--color-coupon-1800);   --coupon-label: "1,800"; }
.coupon-2000   { --coupon-color: var(--color-coupon-2000);   --coupon-label: "2,000"; }
.coupon-2200   { --coupon-color: var(--color-coupon-2200);   --coupon-label: "2,200"; }
.coupon-2300   { --coupon-color: var(--color-coupon-2300);   --coupon-label: "2,300"; }
.coupon-2500   { --coupon-color: var(--color-coupon-2500);   --coupon-label: "2,500"; }
.coupon-2800   { --coupon-color: var(--color-coupon-2800);   --coupon-label: "2,800"; }
.coupon-3000   { --coupon-color: var(--color-coupon-3000);   --coupon-label: "3,000"; }
.coupon-3500   { --coupon-color: var(--color-coupon-3500);   --coupon-label: "3,500"; }
.coupon-3800   { --coupon-color: var(--color-coupon-3800);   --coupon-label: "3,800"; }
.coupon-4000   { --coupon-color: var(--color-coupon-4000);   --coupon-label: "4,000"; }
.coupon-4500   { --coupon-color: var(--color-coupon-4500);   --coupon-label: "4,500"; }
.coupon-5000   { --coupon-color: var(--color-coupon-5000);   --coupon-label: "5,000"; }
.coupon-5500   { --coupon-color: var(--color-coupon-5500);   --coupon-label: "5,500"; }
.coupon-5555   { --coupon-color: var(--color-coupon-5555);   --coupon-label: "5,555"; }
.coupon-6000   { --coupon-color: var(--color-coupon-6000);   --coupon-label: "6,000"; }
.coupon-6500   { --coupon-color: var(--color-coupon-6500);   --coupon-label: "6,500"; }
.coupon-7000   { --coupon-color: var(--color-coupon-7000);   --coupon-label: "7,000"; }
.coupon-8000   { --coupon-color: var(--color-coupon-8000);   --coupon-label: "8,000"; }
.coupon-9000   { --coupon-color: var(--color-coupon-9000);   --coupon-label: "9,000"; }
.coupon-10000  { --coupon-color: var(--color-coupon-10000);  --coupon-label: "10,000"; }
.coupon-12000  { --coupon-color: var(--color-coupon-12000);  --coupon-label: "12,000"; }
.coupon-14000  { --coupon-color: var(--color-coupon-14000);  --coupon-label: "14,000"; }
.coupon-15000  { --coupon-color: var(--color-coupon-15000);  --coupon-label: "15,000"; }
.coupon-18000  { --coupon-color: var(--color-coupon-18000);  --coupon-label: "18,000"; }
.coupon-20000  { --coupon-color: var(--color-coupon-20000);  --coupon-label: "20,000"; }
.coupon-25000  { --coupon-color: var(--color-coupon-25000);  --coupon-label: "25,000"; }
.coupon-30000  { --coupon-color: var(--color-coupon-30000);  --coupon-label: "30,000"; }
.coupon-35000  { --coupon-color: var(--color-coupon-35000);  --coupon-label: "35,000"; }
.coupon-40000  { --coupon-color: var(--color-coupon-40000);  --coupon-label: "40,000"; }
.coupon-50000  { --coupon-color: var(--color-coupon-50000);  --coupon-label: "50,000"; }
.coupon-60000  { --coupon-color: var(--color-coupon-60000);  --coupon-label: "60,000"; }
.coupon-70000  { --coupon-color: var(--color-coupon-70000);  --coupon-label: "70,000"; }
.coupon-75000  { --coupon-color: var(--color-coupon-75000);  --coupon-label: "75,000"; }
.coupon-80000  { --coupon-color: var(--color-coupon-80000);  --coupon-label: "80,000"; }
.coupon-90000  { --coupon-color: var(--color-coupon-90000);  --coupon-label: "90,000"; }
.coupon-100000 { --coupon-color: var(--color-coupon-100000); --coupon-label: "100,000"; }
.coupon-250000 { --coupon-color: var(--color-coupon-250000); --coupon-label: "250,000"; }
