﻿@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100..900&display=swap');
:root {
  --usr-scrollbar-width: 0;
}
html {
  font-size: 10px; /* 基準 */
}
body {
  font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #272727;
}

a {
	color: #081f2c;
	transition: all .3s;
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="search"],
input[type="password"],
input[type="url"],
input[type="number"],
select,
textarea {
  border: 1px solid #DFDFDF;
}
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
input[type="password"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
select:focus,
textarea:focus{
	outline: none;
}
input[type="text"]:hover,
input[type="tel"]:hover,
input[type="email"]:hover,
input[type="search"]:hover,
input[type="password"]:hover,
input[type="url"]:hover,
input[type="number"]:hover,
select:hover,
textarea:hover {
  border: 1px solid #DFDFDF;
}
input[type="submit"], input[type="button"], button {
	border-radius: 20px;
}
input[type=number] {
	text-align: center;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  opacity: 1;
}
/* ラジオボタン */
input[type="radio"] {
	width: 20px;
	height: 20px;
	margin-bottom: 3px;
	margin-right: 10px;
	border: 2px solid #DFDFDF;
	border-radius: 50%;
	background: #FFFFFF;
	position: relative;
	outline: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	transition: 0.3s;
}
input[type="radio"]:before {
  transition: 0.3s;
}
input[type="radio"]:checked {
  border-color: #D00F31;
}
input[type="radio"]:checked::before {
	content: "";
	width: 12px;
	height: 12px;
	margin: 0;
	border-radius: 50%;
	background-color: #D00F31;
	display: block;
	position: absolute;
	left: 2px;
	top: 2px;
}
/* チェックボックス */
input[type="checkbox"] {
  width: clamp(18px, 4.61vw, 20px);
  height: clamp(18px, 4.61vw, 20px);
  margin-right: 10px;
  border: 2px solid #272727;
  background: #FFFFFF;
  border-radius: 4px;
  position: relative;
  outline: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  transition: 0.3s;
}
input[type="checkbox"]:before {
  transition: 0.3s;
}
input[type="checkbox"]:checked {
}
input[type="checkbox"]:checked:before {
  content: "";
  width: 11px;
  height: 7px;
  margin: 0;
  border-left: 3px solid #D00F31;
  border-bottom: 3px solid #D00F31;
  transform: rotate(-55deg);
  position: absolute;
  left: calc(50% - 5px);
  top: calc(50% - 5px);
  display: block;
}
/**/
h1,
.h1 {
	color: #272727;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.45;
	border: 0;
	margin: 0 0 20px;
	padding: 20px 14px;
	background: none;
}

h2,
.h2 {
  margin: 0 0 8px;
  padding: 8px 10px;
  font-size: 20px;
  font-weight: bold;
  color: #111;
  border-bottom: 1px solid #111;
  background: none;
}

h3,
.h3 {
  margin: 0 0 8px;
  padding: 8px 10px;
  font-size: 18px;
  font-weight: bold;
  color: #111;
  border-bottom: 1px solid #dedede;
  background: none;
}

h4,
.h4 {
  margin: 0;
  padding: 8px 10px;
  font-size: 16px;
  font-weight: bold;
  color: #111;
  border-bottom: 0;
  background: none;
}

h5,
.h5 {
  font-size: 14px;
  font-weight: bold;
  background: none;
}

h6,
.h6 {
  font-size: 14px;
  font-weight: 500;
  background: none;
}

.price {
  /*color: #081f2c;*/
	color: #272727;
}

.price::after,
.default-price::after {
	content: "（税込）";
	font-size: 55%;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 400;
}
.price.pickup-parent-price::after {
	content: "（税込）～";
	font-size: 55%;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 400;
}

.net::after,
.price.net::after,
.net-price::after,
.default-net::after {
	content: "（税抜）";
	font-size: 55%;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 400;
}
.price::before,
.block-goods-price .default-price::before,
.price.pickup-parent-price::before,
.block-favorite--default-price.default-price::before,
.block-thumbnail-h--default-price.default-price::before,
.net::before,
.price.net::before,
.net-price::before,
.default-net::before,
.default-price::before {
	content: "¥";
	font-size: 66%;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	display: inline-block;
	vertical-align: baseline;
	margin-right: 2px;
}

.pager-count span {
  font-weight: normal;
	margin-right: 3px;
}

.action .btn {
	font-size: clamp(1.6rem, 1vw + 1.21rem, 2.0rem);
	border-bottom-width: 1px;
	border-radius: 30px;
	padding: 12px 0;
}

.btn-default {
  border: 1px solid #272727;
  color: #272727;
  background: #fff;
}

.btn-primary {
  border: 1px solid #D01234;
  color: #fff;
  background: #D01234;
}

.btn-secondary {
  border: 1px solid #9d9896;
  color: #fff;
  background: #9d9896;
}

.btn-danger {
  border: 1px solid #d53100;
  color: #d53100;
  background: #ffebe8;
}

/* ----ページャー---- */
.pager {
  margin-bottom: 10px;
  text-align: center;
}

.pager > * {
  display: inline-block;
  vertical-align: top;
}
.pager .pager--top-nav,
.pager .pager--bottom-nav {
	width: 100%;
	display: flex;
	justify-content: center;
}
.pager-scope {
  font-size: clamp(1.4rem, 1vw + 1.01rem, 1.6rem);
  padding: 3px;
  margin: 0 10px;
  text-align: center;
  display: block;
}

.pager-total {
  font-size: clamp(1.4rem, 1vw + 1.01rem, 1.6rem);
  display: block;
  padding: 3px;
  margin-right: 5px;
}

.pagination > li a,
.pagination > li.pager-current span {
	font-size: clamp(2rem, calc(2rem + (100vw - 390px) * 0.035), 2.6rem);
	font-family: 'roboto';
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #FFFFFF;
	border-radius: 50%;
	width: clamp(30px, 7.69vw, 40px);
	height: clamp(30px, 7.69vw, 40px);
}

.pagination > li a {
	color: #939393;
}
.pager-current {
  color: #939393;
  background: none;
  border: none;
}

.pager-current span {
	color: #D01234;
	font-weight: bold;
}

.pagination > li {
	min-width: 30px;
	margin-top: 5px;
	margin-bottom: 5px;
}

.pagination > * {
	padding: 0;
	background-color: #FFF;
	border: 0;
	font-size: clamp(2rem, calc(2rem + (100vw - 390px) * 0.035), 2.6rem);
	font-family: 'roboto';
	margin: 0 clamp(5px, 1.28vw, 13px);
}

.pagination > .disabled {
  color: #777;
}
.pagination > li.pager-first,
.pagination > li.pager-last {
	display: none;
}
.pagination > li.pager-previous {
	margin-right: clamp(15px, 3.84vw, 25px);
}
.pagination > li.pager-next {
	margin-left: clamp(15px, 3.84vw, 25px);
}
.pagination > li.pager-first a,
.pagination > li.pager-previous a,
.pagination > li.pager-next a,
.pagination > li.pager-last a {
	background-color: #272727;
}
.pagination .block-icon-image--center {
	height: clamp(14px, 3.58vw, 18px);
}
.pagination .block-icon-image--center-inline-block {
	vertical-align: top;
}
.block-icon-image-page-navigation {
	width: clamp(8px, 2.05vw, 10px);
	padding-top: clamp(14px, 3.58vw, 18px);
	background-size: clamp(8px, 2.05vw, 10px) auto;
}
.block-icon-image--first {
  background-image: url(../../img/sys/icon/white/angle-double-left.png);
}

.block-icon-image--prev {
  background-image: url(../../img/sys/icon/white/angle-left.png);
}

.block-icon-image--last {
  background-image: url(../../img/sys/icon/white/angle-double-right.png);
}

.block-icon-image--next {
  background-image: url(../../img/sys/icon/white/angle-right.png);
}

.block-goods-list-naviframe--top-nav,
.block-goods-list-naviframe--bottom-nav {
	display: flex;
	align-items: center;
	margin: clamp(10px, 2.56vw, 15px) clamp(14px, 3.5vw, 40px);
}
.block-goods-list-naviframe--top-nav .pager-scope,
.block-goods-list-naviframe--bottom-nav .pager-scope,
.block-goods-list-naviframe--top-nav .pager-total,
.block-goods-list-naviframe--bottom-nav .pager-total {
	padding: 0;
	margin: 0;
}
.block-goods-list-naviframe--top > .pagination,
.block-goods-list-naviframe--bottom-nav {
	display: none;
	margin: 0;
}

.block-topic-details--pager-nav-wrap {
	width: 100%;
	display: flex;
	align-items: center;
	margin: 10px 0;
}
.block-topic-details--pager-nav-wrap .pager-scope {
	margin-left: 0;
}

/* ----外枠---- */
.block-login,
.block-member-info,
.block-member-info-confirmation,
.block-mypage,
.block-update-mail-address,
.block-favorite,
.block-purchase-history,
.block-coupon-list,
.block-update-member-password,
.block-mail-news,
.block-shipping-address,
.block-inquiry,
.block-inquiry-history,
.block-cart--body,
.block-order-method,
.block-order-estimate,
.block-topic-details,
.block-topic-page,
.block-withdrawal,
.block-purchase-history-detail,
.block-logout,
.block-member-registration-completed {
	margin: 10px clamp(14px, 3.5vw, 40px);
}
.block-login {
	padding: clamp(15px, 3.84vw, 35px) 0 clamp(40px, 10.25vw, 120px);
}
.block-topic-details,
.block-topic-page {
	padding-bottom: clamp(40px, 10.25vw, 120px);
}
.block-cart--body {
	padding: 0;
}

/* ----H1タイトル---- */
h1, .h1, h2, .h2, h3, .h3 {
	color: #272727;
}
.block-login h1,
.block-member-info h1,
.block-member-info-confirmation h1,
.block-mypage h1,
.block-mail-news--header,
.block-shipping-address--header,
.block-inquiry--header,
.block-inquiry-history--header,
.block-purchase-history--header,
.block-coupon-list--header,
.block-favorite--header,
.block-login--daccountlogin-header,
.block-login--linelogin-header,
.block-login--snslogin-header,
.block-login--amazon-header,
.block-login--first-time-header,
.block-cart h1,
.block-order-method h1,
.block-order-estimate h1,
.block-order-complete h1,
.block-common-lightningrecommend--header,
h2.block-accessory-list--name,
h2.block-accessory-list--name2,
.block-no-code-cms--header1,
.block-topic-details--header,
.block-topic-page--article-header,
.block-goods-spec-detail--header,
h2.block-goods-pickup--header,
.block-withdrawal--header,
.block-logout--header,
.block-member-registration-completed h1 {
	margin: 20px 0;
	padding: 0 0 0 11px;
	text-align: left;
	position: relative;
}
.block-common-lightningrecommend--header,
h2.block-accessory-list--name,
h2.block-accessory-list--name2,
.block-no-code-cms--header1,
.block-goods-spec-detail--header,
h2.block-goods-pickup--header {
	color: #272727;
	font-size: 2.2rem;
	margin-top: 40px;
	margin-bottom: 6px;
	border: 0;
}
.block-no-code-cms--header1 {
	margin-bottom: 10px;
}
h2.block-goods-pickup--header {
	margin: 45px 3.5vw 20px;
}
.block-login h1::after,
.block-member-info h1::after,
.block-member-info-confirmation h1::after,
.block-mypage h1::after,
.block-mail-news--header::after,
.block-shipping-address--header::after,
.block-inquiry--header::after,
.block-inquiry-history--header::after,
.block-purchase-history--header::after,
.block-coupon-list--header::after,
.block-favorite--header::after,
.block-login--daccountlogin-header::after,
.block-login--linelogin-header::after,
.block-login--snslogin-header::after,
.block-login--amazon-header::after,
.block-login--first-time-header::after,
.block-cart h1::after,
.block-order-method h1::after,
.block-order-estimate h1::after,
.block-order-complete h1::after,
.block-common-lightningrecommend--header::after,
h2.block-accessory-list--name::after,
h2.block-accessory-list--name2::after,
.block-no-code-cms--header1::after,
.block-topic-details--header::after,
.block-topic-page--article-header::after,
.block-goods-spec-detail--header::after,
h2.block-goods-pickup--header::after,
.block-withdrawal--header::after,
.block-logout--header::after,
.block-member-registration-completed h1::after {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	width: 5px;
	height: 25px;
	background-color: #D01234;
	border-radius: 8px;
}
.block-login--daccountlogin-header::after,
.block-login--linelogin-header::after,
.block-login--snslogin-header::after,
.block-login--amazon-header::after,
.block-login--first-time-header::after {
	top: 5px;
}
/* ----H2 相当---- */
.legend,
/*.block-login--member-header,*/
/*.block-login--first-time-header,*/
.block-mail-news h2,
.block-order-method h2,
.block-order-estimate--message-card-title,
/*.block-order-estimate h2.block-order-estimate--goods-title,*/
.block-purchase-history-detail--shipment-header,
.block-purchase-history-detail--append-header,
.block-guest-favorite-synchronize-title {
	font-size: clamp(1.8rem, 1vw + 1.41rem, 2.4rem);
	font-weight: 500;
	line-height: 1.45;
	padding: 0 0 8px;
	margin: 40px 0 clamp(24px, 6.15vw, 30px);
	border-bottom: 2px solid #D00F31;
}
.block-order-method h2 {
	margin-bottom: clamp(14px, 3.58vw, 20px);
}
.block-order-estimate h2 {
	font-size: clamp(1.6rem, 1vw + 1.21rem, 2.4rem);
	padding: 0;
	margin: clamp(24px, 6.15vw, 60px) 0 clamp(10px, 2.56vw, 30px) ;
	border: 0;
}
.block-order-estimate h2.block-order-estimate--goods-title {
	display: none;
}
.block-order-estimate--message-card-title {
	margin: 12px 0 20px;
}
/* ----モーダルダイアログ---- */
.modal-body li a {
	color: #D00F31;
}
/* ----入力支援---- */
.form-error {
	color: #D01234;
}
.help-block {
  color: #272727;
  font-size: clamp(1.0rem, 1vw + 0.61rem, 1.2rem);
}
.required:after {
	background-color: #D00F31;
}
/* ----縦型入力フォーム---- */
.fieldset-vertical .form-group {
	background-color: #DEDEDE;
}
.fieldset-vertical .form-label,
.fieldset-vertical .constraint {
	padding: 5px 10px;
	margin: 0;
}
.fieldset-vertical .form-control {
	padding: 10px;
	background-color: #FFFFFF;
}


/* ----テーブル---- */

.table,
.table td,
.table th {
  border: 1px solid #DEDEDE;
}
.table td,
.table th {
	font-size: clamp(1.2rem, 1vw + 0.81rem, 1.4rem);
	line-height: 1.5;
	padding: 10px;
}
.table th {
	font-weight: 400;
	background-color: var(--responsive-sys-content-header-background-color);
}













