@charset "UTF-8";
/*　変数設定のみを行う
**************************/
/*　基本設定
**************************/
html {
  font-size: 10px; }

/*　@mixin
**************************/
/*　画像
**************************/
img {
  max-width: 100%; }

/* タイトル
**************************/
.ttl-h2 {
  font-weight: normal;
  margin-bottom: 16px;
  text-align: center;
  font-size: 25px;
  font-size: 2.5rem; }

.ttl-h3 {
  font-weight: normal;
  margin-bottom: 24px;
  font-size: 18px;
  font-size: 1.8rem; }

* + .ttl-h3 {
  margin-top: 40px; }

/*　テキスト
**************************/
.text-sm {
  font-size: 12px;
  font-size: 1.2rem; }

.text-red {
  color: #e60012;
  font-weight: bold; }

.text-emphasis {
  font-weight: bold; }

/*　リスト
**************************/
ul {
  padding: 0; }

ul.notice {
  margin-bottom: 0; }
  ul.notice li {
    color: #626262;
    list-style-type: none;
    padding-left: 1.5em;
    text-indent: -1.5em; }
    ul.notice li:before {
      content: '※';
      margin-right: 5px; }

/*　ボタン
**************************/
.btn {
  border-radius: 8px;
  color: #fff;
  font-weight: bold;
  white-space: normal; }

.btn-md {
  height: auto;
  padding: 16px !important;
  width: auto;
  font-size: 16px;
  font-size: 1.6rem; }

.btn-normal {
  background: #fa6218;
  border: none;
  box-shadow: 0 4px 0 0 #c8580d;
  color: #fff !important; }
  .btn-normal:hover, .btn-normal:active {
    background: #e0630f;
    color: #fff; }

.btn-disabled {
  background: #ccc;
  box-shadow: none;
  border: none;
  color: #fff;
  pointer-events: none; }

.btn-layout {
  padding-bottom: 40px; }
  .btn-layout .entry {
    margin-bottom: 40px; }

.btn-basic {
  background-color: #fff;
  border: solid 1px #ccc;
  -webkit-box-shadow: 0px 2px 0px 0px #ccc;
  -moz-box-shadow: 0px 2px 0px 0px #ccc;
  box-shadow: 0px 2px 0px 0px #ccc;
  color: #27b;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: normal;
  padding: 11px 22px;
  max-width: 100%;
  white-space: normal; }
  .btn-basic:visited, .btn-basic:focus {
    -webkit-box-shadow: 0px 2px 0px 0px #ccc;
    -moz-box-shadow: 0px 2px 0px 0px #ccc;
    box-shadow: 0px 2px 0px 0px #ccc; }

.col-c_2 {
  column-count: 2; }

.col-c_3 {
  column-count: 3; }

.col-gap_8 {
  column-gap: 8px; }

.pad_32 {
  padding: 32px; }

.min-h_40 {
  min-height: 40px; }

.fon-s_34 {
  font-size: 34px; }

.ttl_box {
  border: 4px solid #fa6218;
  margin: -36px 0 0; }

.bac-c_ora_opa005 {
  background: rgba(250, 98, 24, 0.05); }

.txt-category {
  font-size: 14px;
  min-height: 40px; }
  @media screen and (min-width: 781px) {
    .txt-category {
      font-size: 18px;
      min-height: 80px; } }
  .txt-category span {
    font-size: 10px; }
    @media screen and (min-width: 781px) {
      .txt-category span {
        font-size: 14px; } }

.txt-price {
  font-size: 36px; }
  @media screen and (min-width: 781px) {
    .txt-price {
      font-size: 44px; } }
  .txt-price span.yen-mark {
    font-size: 20px; }
    @media screen and (min-width: 781px) {
      .txt-price span.yen-mark {
        font-size: 28px; } }

.popular-mark::before {
  border-bottom: 54px solid transparent;
  border-left: 54px solid #f91919;
  content: "";
  left: 0;
  position: absolute;
  top: 0;
  z-index: 100; }

.popular-mark::after {
  color: #fff;
  content: "人気";
  font-weight: 700;
  font-size: small;
  left: 5px;
  position: absolute;
  top: 8px;
  transform: rotate(-45deg);
  z-index: 200; }

.campaign-end {
  position: relative; }
  .campaign-end:before {
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    content: "";
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 300; }
  .campaign-end .txt-end {
    background-image: none;
    background-color: #000;
    border-radius: 8px;
    color: #fff;
    display: inline-block;
    font-size: 16px;
    font-weight: 700;
    left: 50%;
    line-height: 1.5em;
    padding: 16px;
    position: absolute;
    text-align: center;
    top: 32px;
    transform: translateX(-50%);
    vertical-align: middle;
    white-space: nowrap;
    width: 80%;
    z-index: 400; }
