@charset "UTF-8";
a{
  color:#044389;
  text-decoration:none
}
button{  
  -webkit-appearance: none;
  border-radius: 0;
}
@media(hover:hover){
  a:not([class]):hover,
  a:not([class]):focus,
  button:hover,
  button:focus{
    color:#5995ed  }
}
/* TOP
----------------------------------*/

/* お知らせ */
.list-info {
  text-align: left;
  padding: 0 3%;
}
.list-info dt {
  font-size: 14px;
}
.list-info dd {
  font-size: 15px;
  padding: 5px 0 15px;
}

/* 商品リスト
----------------------------------*/

/* アイコン */
.icon-rank {
  position: absolute;
  z-index: 99;
  width: 36px;
  height: 36px;
  line-height: 36px;
  text-align: center;
  top: 0;
  left: 0;
  background: #fff;
  color: #7d7d7d;
}
.icon-rank.rank1 {
  background-color: #fcff4b;
  color: #333;
}
.icon-rank.rank2 {
  background-color: #c0c0c0;
  color: #333;
}
.icon-rank.rank3 {
  background-color: #9a031e;
  color: #fff;
}
.icon-rank span {
  z-index: 99;
  font-size: 16px;
  font-weight: bold;
}

/* バッチ */
.icon-badge22963::after {
	display: flex;
  justify-content:center;
  align-items:center;
	width: 80px;
	height: 40px;
	font-size: 14px;
  font-weight:600;
	background: #ed8c00;
	color: #fff;
  border-radius:50%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
/* NEWバッジ */
  .icon-badge22963::after {
    content: "最新作";
    background: #dc0073;
    color: #fff;
  }
.icon-badge22964::after {
	display: flex;
  justify-content:center;
  align-items:center;
	width: 80px;
	height: 40px;
	font-size: 14px;
  font-weight:600;
	background: #ed8c00;
	color: #fff;
  border-radius:50%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
/* おすすめバッジ */
  .icon-badge22964::after {
    content: "おすすめ";
    background: #00a1e4;
    color: #fff;
  }
.icon-badge22965::after {
	display: flex;
  justify-content:center;
  align-items:center;
	width: 80px;
	height: 40px;
	font-size: 14px;
  font-weight:600;
	background: #ed8c00;
	color: #fff;
  border-radius:50%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
/* 人気バッジ  */
  .icon-badge22965::after {
    content: "人気";
    background: #ef3e36;
    color: #fff;
  }
.icon-badge23198::after {
	display: flex;
  justify-content:center;
  align-items:center;
	width: 80px;
	height: 40px;
	font-size: 14px;
  font-weight:600;
	background: #ed8c00;
	color: #fff;
  border-radius:50%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
/* ユーザー追加バッジ */
  .icon-badge23198::after {
    content: "オプション";
    background: #2e282a;
    color: #fff;
  }

.icn-reservation::before {
  content: "予約商品";
  width: 60px;
  height: 20px;
  display: inline-block;
  font-size: 11px;
  line-height: 20px;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #e31c24;
  background: transparent;
  color: #e31c24;
  float: left;
  margin-right: 10px;
}


.tax {
  font-size: .8em;
}


/* 検索・カテゴリーページ
----------------------------------*/

.item-list-itemcount {
  border-top: 1px solid #e5e5e5;
  text-align: right;
  margin: 1.5em 0;
  padding: 10px 3%;
  font-size: 12px;
}

/* 検索結果0,キャンペーン商品0 */
.product-list,
.item-list-noitem {
  font-size: 18px;
  line-height: 1.6;
}
.item-list-noitem {
  text-align: center;
  margin: 30px;
}

/* 詳細ページ
----------------------------------*/

/* カートエリア */
/* バリエーション */
/* select */
.item-detail-select,
.item-detail-inputtext {
  position: relative;
  width: 100%;
  margin-bottom: 20px;
}
.item-detail-select label,
.item-detail-inputtext input {
  position: relative;
  display: inline-block;
  overflow: hidden;
  width: 100%;
  height: 56px;
  vertical-align: middle;
  border: 1px solid #bfbfbf;
  background-color: #fff;
}
.item-detail-select::before {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: 20px;
  width: 0;
  height: 0;
  margin-top: -3px;
  content: '';
  border-width: 8px 5px 0 5px;
  border-style: solid;
  border-color: #333 transparent transparent transparent;
}
.item-detail-select select {
  font-size: 16px;
  line-height: 56px;
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  width: -webkit-calc(100%);
  height: 56px;
  margin: 0;
  padding: 0 45px 0 15px;
  border: 0;
  outline: none;
  background: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

select::-ms-expand {
  display: none;
}
.item-detail-num-select {
  position: relative;
  display: inline-block;
  overflow: hidden;
  width: 100%;
  height: 56px;
  margin-bottom: 18px;
  vertical-align: middle;
  border: 1px solid #bfbfbf;
  background-color: #fff;
}
.item-detail-num-select label::before {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: 20px;
  width: 0;
  height: 0;
  margin-top: -3px;
  content: '';
  border-width: 7px 5px 0 4px;
  border-style: solid;
  border-color: #000 transparent transparent transparent;
}
.item-detail-num-select select {
  font-size: 16px;
  line-height: 56px;
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  width: -webkit-calc(100%);
  height: 56px;
  margin: 0;
  padding: 0 0 0 20px;
  text-indent: .01px;
  text-overflow: '';
  border: 0;
  outline: none;
  background: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* カートボタン */
.item-detail-cart-btn {
  width: 100%;
  margin-bottom: 20px;
  position: relative;
}
.item-detail-cart-btn a {
  display: block;
  font-size: 20px;
  line-height: 55px;
  width: 100%;
  height: 55px;
  text-align: center;
  color: #fff;
  background-color: #0f4c5c;
}

.item-detail-cart-btn a:hover {
  background-color: #7c9da6;
  color: #0f4c5c;
  text-decoration: none;
}
.item-dtail-nostock,
.item-dtail-outofoperiod {
  font-size: 14px;
  color: #ec0000;
  line-height: 1.6;
  margin-bottom: 24px;
}


@media screen and (min-width: 1025px) {


  /* TOP
  ----------------------------------*/
  /* フリーエリア */
  #top-shop-message1 h2,
  #top-shop-message2 h2 {
    font-size: 24px;
    margin-bottom: 0.5em;
  }
  #top-shop-message1 h2::before,
  #top-shop-message2 h2::before {
    left: 0;
  }
  #top-shop-message1 p,
  #top-shop-message2 p {
    font-size: 16px;
    line-height: 1.65;
    margin-bottom: 1.5em;
  }

  /* お知らせ */
  .list-info {
    padding: 0;
  }
  .list-info dt {
    font-size: 16px;
    float: left;
    clear: left;
    width: 7em;
  }
  .list-info dd {
    font-size: 16px;
    padding: 0 0 0 8em;
    margin-bottom: 1.5em;
  }


  /* 検索・カテゴリーページ
  ----------------------------------*/

  /* 並び順／ページ送り */

  .item-list-itemcount {
    margin: 2.0em 0;
    padding: 20px 0;
    font-size: 14px;
  }
}

/* 特商法・送料についてページ
----------------------------------*/
.payment-content tr:first-child td {
  font-weight:bold;
  background: #f6f6f7;
  text-align:center;
}
.payment-content td {
  text-align:right;
  display: table-cell;
}

/* notfoundページ
----------------------------------*/
.notfound {
  font-size: 24px;
  margin-top: 90px;
  margin-bottom: 60px;
}

@media only screen and (max-width: 600px) {
  .notfound {
    font-size: 16px;
    margin:50px 10px 0;
  }
}



/* FORM　らくうるカート デフォルトスタイル
--------------------------------------*/
/* OSi リセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

input, textarea, select {
  outline: 0;
}
/* 基本スタイル */
input[type="text"], input[type="email"], input[type="url"], input[type="number"], input[type="password"] {
  background: #fff;
  border: 1px solid #bfbfbf;
  padding: 0.2em 15px;
  font-size: 16px;
  border-radius: 0;
  -webkit-appearance: none;
}
input[type="number"] {
  padding-right: 5px;
  padding-left: 5px;
}
input[type="text"]::focus, input[type="text"]:hover, input[type="email"]::focus, input[type="email"]:hover, input[type="url"]::focus, input[type="url"]:hover {
  border: 1px solid #00AEE3;
}
button {
  cursor: pointer;
}
input[type='checkbox'], input[type="radio"], input[type="submit"] {
  cursor: pointer;
}
textarea {
  border: 1px solid #bfbfbf;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
  -webkit-appearance: none;
  height: 230px;
  margin: auto;
}
/* Table　らくうるカート デフォルトスタイル
--------------------------------------*/
table {
  margin: auto;
}
table table {
  width: 100%;
}
th, td {
  box-sizing: border-box;
  border: 1px solid #bfbfbf;
  margin: 0 0 -1px 0;
  display:block;
}
table tr:last-child td:last-child {
  margin-bottom:0;
}

th {
  background: #f6f6f7;
}
@media screen and (min-width: 811px) {
  table table {
    min-width: 80%;
    max-width: 100%;
    width: auto;
  }
  th,td {
    margin-right: -1px;
    display: table-cell;
  }
}
/* 特商法など　らくうるカート デフォルトスタイル
--------------------------------------*/
table.about-tbl {
  margin: 24px auto;
  width: 100%;
}
table.about-tbl th, table.about-tbl td {
  padding: 10px;
}
table.about-tbl th {
  min-width: 200px;
}
table.about-tbl a {
  text-decoration: underline;
}

table.shipment-tbl {
  margin-bottom: 30px;
}
table.shipment-tbl table {
  margin-bottom: 15px;
}
table.shipment-tbl th, table.shipment-tbl td {
  font-size: 14px;
  padding: 4px 8px;
}
table.shipment-tbl thead th,
table.shipment-tbl thead td {
  text-align: center;
  font-weight: bold;
}
.shipment-tbl-normal-shippoint-point span {
  display: inline-block;
}
.shipment-tbl-eidome a {
	text-decoration: underline;
}
@media screen and (min-width: 768px) {
  table.shipment-tbl th {
    max-width:22em;
  }
  table.shipment-tbl table th {
    max-width: 10em;
  }
}

/* _______らくうるカートデフォルトスタイル

  ユーザーがHTMLなしで入力できるフリースペースのスタイル
  ___________________________________________________ */
.wysiwyg-data html, .wysiwyg-data address, .wysiwyg-data blockquote, .wysiwyg-data body, .wysiwyg-data dd, .wysiwyg-data div, .wysiwyg-data dl, .wysiwyg-data dt, .wysiwyg-data fieldset, .wysiwyg-data form, .wysiwyg-data frame, .wysiwyg-data frameset, .wysiwyg-data h1, .wysiwyg-data h2, .wysiwyg-data h3, .wysiwyg-data h4, .wysiwyg-data h5, .wysiwyg-data h6, .wysiwyg-data noframes, .wysiwyg-data ol, .wysiwyg-data p, .wysiwyg-data ul, .wysiwyg-data center, .wysiwyg-data dir, .wysiwyg-data hr, .wysiwyg-data menu, .wysiwyg-data pre {
  display: block;
  unicode-bidi: embed;
}
.wysiwyg-data img {
	display:block;
    margin:auto
}
.wysiwyg-data {
  width: 100%;
  max-width: 880px;
  margin: 0 auto;
  padding: 20px;
  line-height: 1.8;
  text-align: left;
  font-size: 16px;
background:#fffff0
}
.wysiwyg-data.item-detail-txt3 {
  padding-left: 0;
  padding-right: 0;
}
.wysiwyg-data li {
  display: list-item;
}
.wysiwyg-data head {
  display: none;
}
.wysiwyg-data table {
  display: table;
}
.wysiwyg-data tr {
  display: table-row;
}
.wysiwyg-data thead {
  display: table-header-group;
}
.wysiwyg-data tbody {
  display: table-row-group;
}
.wysiwyg-data tfoot {
  display: table-footer-group;
}
.wysiwyg-data col {
  display: table-column;
}
.wysiwyg-data colgroup {
  display: table-column-group;
}
.wysiwyg-data td, .wysiwyg-data th {
  display: table-cell;
}
.wysiwyg-data caption {
  display: table-caption;
}
.wysiwyg-data th {
  font-weight: bolder;
  text-align: center;
}
.wysiwyg-data caption {
  text-align: center;
}
.wysiwyg-data body {
  margin: 8px;
}
.wysiwyg-data h1 {
  font-size: 20px;
  margin: .67em 0;
}
.wysiwyg-data h2 {
	font-size: max(23px,min(3.5vw,36px));
	font-size: clamp(23px,3.5vw,36px);
	padding: 1em 0 .5em;
	text-align: center;
	position: relative;
}
.wysiwyg-data h2::after {
	content: "";
	display: block;
	width: max(310px,min(calc(100% + 16px),600px));
	width: clamp(310px,100% + 16px,600px);
	height: .5em;
	background: radial-gradient(at top left,transparent 0 1%,rgba(0,118,233,.5) 10% 68%,transparent 75%);
	transform: translateX(-50%) rotate(-1deg);
	border-bottom-left-radius: 80px 100%;
	border-top-right-radius: 48px 24px;
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: 0;
}
.wysiwyg-data h3 {
	max-width: 780px;
	font-size: 20px;
	font-weight: 600 !important;
	margin: 0 auto;
	padding-top: 24px;
}
.wysiwyg-data h4, .wysiwyg-data p, .wysiwyg-data blockquote, .wysiwyg-data ul, .wysiwyg-data fieldset, .wysiwyg-data form, .wysiwyg-data ol, .wysiwyg-data dl, .wysiwyg-data dir, .wysiwyg-data menu {
  font-size: 16px;
  margin: 1.12em 0;
  color: #333;
}
.wysiwyg-data h5 {
  font-size: 14px;
  margin: 1.5em 0;
}
.wysiwyg-data h6 {
  font-size: 14px;
  margin: 1.67em 0;
}
.wysiwyg-data h1, .wysiwyg-data h2, .wysiwyg-data h3, .wysiwyg-data b, .wysiwyg-data strong {
  font-weight: 600;
}
.wysiwyg-data p {
  max-width: 780px;
  font-size: 16px;
  margin: 1.12em auto;
}
.wysiwyg-data blockquote {
  margin-left: 40px;
  margin-right: 40px;
}
.wysiwyg-data i, .wysiwyg-data cite, .wysiwyg-data em, .wysiwyg-data var, .wysiwyg-data address {
  font-style: italic;
}
.wysiwyg-data pre, .wysiwyg-data tt, .wysiwyg-data code, .wysiwyg-data kbd, .wysiwyg-data samp {
  font-family: monospace;
}
.wysiwyg-data pre {
  white-space: pre;
}
.wysiwyg-data button, .wysiwyg-data textarea, .wysiwyg-data input, .wysiwyg-data select {
  display: inline-block;
}
.wysiwyg-data big {
  font-size: 120%;
}
.wysiwyg-data small, .wysiwyg-data sub, .wysiwyg-data sup {
  font-size: 86%;
}
.wysiwyg-data sub {
  vertical-align: sub;
}
.wysiwyg-data sup {
  vertical-align: super;
}
.wysiwyg-data table {
  border-spacing: 2px;
}
.wysiwyg-data thead, .wysiwyg-data tbody, .wysiwyg-data tfoot {
  vertical-align: middle;
}
.wysiwyg-data td, .wysiwyg-data th, .wysiwyg-data tr {
  vertical-align: inherit;
}
.wysiwyg-data s, .wysiwyg-data strike, .wysiwyg-data del {
  text-decoration: line-through;
}
.wysiwyg-data hr {
  border: 1px inset;
}
.wysiwyg-data ol, .wysiwyg-data ul, .wysiwyg-data dir, .wysiwyg-data menu, .wysiwyg-data dd {
	max-width: 780px;
	font-size: 16px;
	margin: 2em auto;
	padding-left: 2em;
}
.wysiwyg-data ol {
  list-style-type: decimal;
}
.wysiwyg-data ol ul {
  margin-top: 0;
  margin-bottom: 0;
}
.wysiwyg-data ul ol, .wysiwyg-data ul ul {
  margin-top: 0;
  margin-bottom: 0;
}
.wysiwyg-data ol ol {
  margin-top: 0;
  margin-bottom: 0;
}
.wysiwyg-data u, .wysiwyg-data ins {
  text-decoration: underline;
}
.wysiwyg-data br:before {
  content: "\A";
  white-space: pre-line;
}
.wysiwyg-data center {
  text-align: center;
}
.wysiwyg-data :link, .wysiwyg-data :visited {
  text-decoration: underline;
}
.wysiwyg-data :focus {
  outline: thin dotted invert;
}

.wysiwyg-data table {
  border: solid 1px;
  border-collapse: separate;
  border-color: #c0c0c0 #c0c0c0 #808080 #808080;
  border-spacing: 2px;
  width: auto;
}
.wysiwyg-data table tr td {
  border: solid 1px;
  border-color: #808080 #808080 #c0c0c0 #c0c0c0;
  padding: 0;
}

.item-comment .wysiwyg-data table tr td {
  background: #fff;
}

.wysiwyg-data ul {
  list-style-type: disc;
}
.wysiwyg-data ul li {
  list-style-type: disc;
}
.wysiwyg-data ol {
  list-style-type: decimal;
}
.wysiwyg-data BDO[DIR="ltr"] {
  direction: ltr;
  unicode-bidi: bidi-override;
}
.wysiwyg-data BDO[DIR="rtl"] {
  direction: rtl;
  unicode-bidi: bidi-override;
}
.wysiwyg-data *[DIR="ltr"] {
  direction: ltr;
  unicode-bidi: embed;
}
.wysiwyg-data *[DIR="rtl"] {
  direction: rtl;
  unicode-bidi: embed;
}

/* Begin bidirectionality settings (do not change) */
@media print {
  .wysiwyg-data h1 {
    page-break-before: always;
    page-break-after: avoid;
  }
  .wysiwyg-data h2, .wysiwyg-data h3, .wysiwyg-data h4, .wysiwyg-data h5, .wysiwyg-data h6 {
    page-break-after: avoid;
  }
  .wysiwyg-data ul, .wysiwyg-data ol, .wysiwyg-data dl {
    page-break-before: avoid;
  }
}
ata *[DIR="rtl"] {
  direction: rtl;
  unicode-bidi: embed;
}


/* ログインページ　： 今のところ使わないが今後どうなるか分からないのでデフォルトスタイルを残しておくことにする
----------------------------------
.body-login #container {
  padding-top: 10px;
}
.body-login .list-info {
  margin-bottom: 24px;
}

#top-shop-message2 {
  margin-top: 30px;
}

#login-error-message {
  font-size: 12px;
  margin: 0 10px 20px;
  padding: 10px;
  text-align: center;
  color: #e6503f;
  border: #e6503f solid 1px;
}
#login-message {
  margin:30px 10px 0;
}

.login-tbl-wrapper {
  background-color: #f3f3f3;
  max-width: 860px;
  margin: 0 auto 30px;
  padding: 10px;
  border-radius: 5px;
}

.login-tbl {
  display: block;
  width: calc(100% - 20px);
  margin: 20px 10px 20px;
}
.login-tbl tbody,
.login-tbl tr {
  display: block;
  width: 100%;
}
.login-tbl th {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.2;
  display: block;
  padding: 10px;
  text-align: left;
  border: none;
  background: none;
}
.login-tbl td {
  font-size: 14px;
  font-weight: normal;
  display: block;
  padding: 10px;
  vertical-align: top;
  border: none;
}
.login-tbl td input[type=text],
.login-tbl td input[type=password] {
  line-height: 36px;
  width: 100%;
  height: 36px;
  padding: 0 10px;
  border: #d0d0d0 solid 1px;
}
.login-tbl-pw-chk {
  margin-top: 10px;
}

.login-btn {
  margin: 10px auto;
  text-align: center;
}
.login-btn a {
  font-size: 18px;
  font-weight: normal;
  line-height: 50px;
  position: relative;
  display: inline-block;
  width: 194px;
  height: 50px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background-color: #0f4c5c;
}

.login-link ul li {
  text-align: center;
  list-style: none;
}
.login-link ul li a {
  text-decoration: underline;
}

@media screen and (min-width: 960px) {

  .body-login .main {
    width: 100%;
    max-width: 1040px;
    float: none;
    margin-top: 0;
    margin-right: auto;
    margin-left: auto;
  }
  .body-login #top-shop-message1 {
    margin-top: 40px;
  }
  .body-login .list-info {
    margin-bottom: 40px;
  }
  #login-error-message {
    font-size: 14px;
    margin: 0 30px 40px;
    padding: 8px 15px;
    text-align: left;
  }
  #login-message {
    margin: 30px 0;
    text-align: center;
  }

  .login-tbl {
    max-width: 785px;
    display: table;
    margin: 15px auto;
  }
  .login-tbl tbody {
    display: table-row-group;
  }
  .login-tbl tr {
    display: table-row;
  }
  .login-tbl th {
    font-size: 16px;
    font-weight: normal;
    line-height: 36px;
    width: 200px;
    text-align: left;
    vertical-align: top;
    display: table-cell;
  }
  .login-tbl td {
    text-align: left;
    display: table-cell;
  }
}
　ログインページのデフォルトここまで　*/
