/* ====================================
    1. 基本設定
==================================== */

/* 全体
------------------------------------ */
:root {
    --color-mastrotto: #9a031d;
    --color-text: #333333;
    --color-btn-confirm: #c44536;  /* 実行ボタン */
    --color-btn-confirm-text: #ffffff;
    --color-btn-back: #ffffff; /*戻るボタン */
}

body {
    color: var(--color-text);
    font-size: 15px;
    line-height: 1.8;
    font-family: "Noto Sans JP", "SF Pro JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
#sysAll {
    max-width: 100%;
    padding: 0;
}
#sysWrap {
    padding: 0;
    padding-top: 15px;
    overflow: hidden;
}
#sysHeader,
#sysFooter {
    padding: 0;
    margin: 0;
}
#sysWrap,
.header_top .sysContent,
.header_ticker .sysContent,
.header_pc_wrap,
.header_navi .sysContent,
.footer_info .sysContent,
.footer_copyright .sysContent {
    max-width: 1100px;
    margin: auto;
}
.sysContent {
    padding: 0 !important;
}
.clearfix::after {
    content: "";
    clear: both;
    display: block;
}
a {
    text-decoration: none;
    font-weight: inherit;
    color: #000; /*material.css：#ff4081 */
}
a:hover {
    color: #333;
}
a:hover img {
    opacity: 0.8;
    filter: alpha(opacity=80);
}
a:hover img.nohover {
    opacity: 1;
    filter: alpha(opacity=100);
}
h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
}
p {
    margin: 1.0em auto;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
h1, h2, h3, h4, h5 {
    margin: 0;
    padding: 0;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    line-height: 1.6;
    font-weight: bold;
    letter-spacing: inherit;
}
img {
    height: auto;
}
svg {
    fill: currentColor;
}

/* 動的要素の基本レイアウト
------------------------------------ */
/* スライダー */
.slider_sli .slick-prev::before,
.slider_sli .slick-next::before {
    content: none !important;
    display: none !important;
}
.slider_sli .slick-prev,
.slider_sli .slick-next {
    width: 30px;
    height: 30px;
    z-index: 10;
    top: -15px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.slider_sli .slick-prev {
    left: auto !important;
    right: 36px !important;
    background-image: url('/img/icon/arrow_left.svg');
}
.slider_sli .slick-next {
    right: 0px !important;
    background-image: url('/img/icon/arrow_right.svg');
}

/* アコーディオンメニュー */
.ac_title {
    display: block;
    position: relative;
    cursor: pointer;
}
.ac_content {
    display: none;
}
.ac_title::after,
.init-bottom::after,
.guide .t_menu.is-active::after {
    display: block;
    position: absolute;
    top: 30%;
    right: 25px;
    width: 8px;
    height: 8px;
    border-top: solid 2px #000;
    border-right: solid 2px #000;
    content: "";
    transition: all 0.2s ease-in-out;
    transform: rotate(135deg);
}
.ac_title.open::after {
    top: 45%;
    transform: rotate(-45deg);
}

/* タブメニュー */
.tab-menu {
    display: flex;
    justify-content: center;
}
.t_content{
    display:none;
}
.t_menu.is-active{
    transition: all 0.2s ease-out;
}
.t_content.is-show{
    display:block;
}

/* 画像拡大 */
.zoom-gallery .zoomimg {
    display: block;
    cursor: zoom-in;
}
.zoom-gallery img {
    max-width: 100%;
    height: auto;
    transition: transform 0.3s ease-in-out;
}
.zoom-gallery .zoomimg:hover img {
    transform: scale(1.05);
}

/* フォーム要素の基本レイアウト
------------------------------------ */
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
textarea {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    padding: 5px;
    border: 1px solid #333;
    border-radius: 0;
    background: #fff;
    font-family: inherit;
    outline: none;
}
input[type="submit"],
button[type="submit"],
button[type="button"],
a.sysButton {
    -webkit-appearance: none;
    appearance: none;
    border-radius: 5px;
    text-align: center;
    outline: none;
    cursor: pointer;
    font-size: 16px;
    padding: 13px 24px;
}
select {
    height: 35px;
    border: 1px solid #999;
    border-radius: 0;
    background: #fff;
    color: #000;
    font-size: 14px;
}
.sysFormField {
    padding: 10px 0;
}
* {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -moz-tap-highlight-color: rgba(0, 0, 0, 0);
  }
/* cart.cssリセット */
.sysCart #sysMain input[type=submit],
.sysCart #sysMain button[type=submit],
.sysCart #sysMain button {
    height: initial;
    min-width: initial;
    overflow: initial;
    text-overflow: initial;
    white-space: initial;
}

/* ====================================
    2. ヘッダー・フッター
==================================== */

#sysHeader {
    border-bottom: 1px solid #eee;
}
.header_top {
    background: #000;
    color: #FFF;
    font-size: 12px;
}
.header_top .sysContent {
    display: flex;
    justify-content: space-between;
}
.header_top li {
    display: inline-block;
    margin-left: 20px;
}
.header_top a {
    color: #FFF;
}
.header_top .h_text,
.header_top .h_guide {
    margin: 5px;
}
.header_pc_wrap,
.header_sp_wrap {
    display: flex;
    justify-content: space-between;
}
.header_pc_wrap {
    height: 65px;
}
.header_sp_wrap {
    height: 55px;
    border-bottom: 1px solid #ccc;
}
.h_logo {
    margin: auto 0;
}
.h_btn li {
    display: inline-block;
    text-align: center;
}
.h_btn li a {
    display: block;
    width: 65px;
    height: 30px;
    margin-top: 11px;
    font-size: 11px;
    line-height: 19px;
}
.h_btn i,
.navBtn i {
    color: #40220f;
    font-size: 24px;
}
#cartInfo,
.h_cart {
    display: none;
}
button.itemCount {
    display: none;
    position: absolute;
    width: 19px;
    height: 19px;
    margin-top: -5px;
    margin-left: -5px;
    border: 1px solid #fff;
    border-radius: 100%;
    background: #b22222;
    color: #fff;
    font-size: 12px;
}

/* ニュースティッカー
------------------------------------ */
.header_ticker {
    background-color: #5f483d;
    text-align: center;
}
.news-ticker {
    color: #fff;
    min-height: 45px;
    padding: 6px 10px;
    overflow: hidden;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 13px;
    text-align: center;
}
.ticker-container {
    position: relative;
    width: 100%;
    height: auto;
}
.ticker-item {
    width: 100%;
    opacity: 0;
    transform: translateY(150%);
    transition: all 0.5s ease;
    white-space: normal;
    overflow: hidden;
    line-height: 1.4;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 4px 6px;
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 0;
}
.ticker-item.active {
    opacity: 1;
    transform: translateY(-50%);
}
.ticker-item.exit {
    opacity: 0;
    transform: translateY(-150%);
}
.ticker-link {
    color: #fff;
    text-decoration: underline;
    margin-left: 8px;
    font-size: 13px;
}
.ticker-link:hover {
    text-decoration: none;
}

/* 検索フォーム
------------------------------------ */
/* PC用 */
.search_header_box .search_container {
    display: block;
    position: relative;
    width: 280px;
    height: 38px;
    margin-right: 10px;
    padding: 4px 10px;
    overflow: hidden;
    border: 1px solid #ccc;
    border-radius: 5px;
    background: #fff;
}
.search_container input[type="search"] {
    width: 100%;
    height: 28px;
    padding: 0 6px;
    font-size: 13px;
    border: none;
    box-sizing: border-box;
}
.search_container input[type="search"]:focus {
    outline: none;
}
.search_container button[type="submit"] {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 20px;
    height: 20px;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
}

/* SP用 */
.sp_search_box {
    padding: 10px;
}
.search_container_sp {
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    background: #fff;
    margin: 10px 0;
}
.search_container_sp input[type="search"] {
    flex: 1;
    height: 36px;
    border: none;
    font-size: 14px;
    padding: 0 8px;
    box-sizing: border-box;
}
.search_container_sp button[type="submit"] {
    background: none;
    border: none;
    padding: 0;
    margin-left: 6px;
    width: 24px;
    height: 24px;
}
.search_container_sp button img {
    width: 100%;
    height: auto;
}


/* PCグローバルナビゲーション
------------------------------------ */
.h_menu {
    display: flex;
    justify-content: space-around;
    position: relative;
    width: 100%;
    text-align: center;
}
.menu_single {
    height: 40px;
    line-height: 40px;
}
.h_menu > li a {
    display: block;
    position: relative;
}
.h_menu > li img {
    width: 80%;
}
.menu_second {
    display: flex;
    flex-wrap: wrap;
    position: absolute;
    left: 0;
    visibility: hidden;
    opacity: 0;
    z-index: 1;
    padding: 20px;
    width: 100%;
    background: #fff;
    text-align: left;
    box-shadow: 0 10px 10px 1px rgba(0, 0, 0, .3);
    transition: all .2s ease;
}
.init-bottom::after {
    top: 34%;
    right: -25px;
    width: 6px;
    height: 6px;
}
.h_menu::after {
    clear: both;
}
.h_menu > li:hover {
    border-bottom:2px solid #40220f;
}
.menu_single:hover ul {
    top: 40px;
    visibility: visible;
    opacity: 1;
}
.menu_second > li {
    display: flex;
    align-items: flex-end;
    width: 100%;
    margin: 10px 20px;
    padding: 0px 10px;
    border-left: 2px solid;
    line-height: 1.7;
}
.menu_second > li a:hover {
    text-decoration: underline;
}
.menu_second_tannery > li {
    width: 20% !important;
    border-left: none !important;
    text-align: center;
    font-size: 13px;
}
.menu_description {
    margin-left: 0px !important;
    border-left: none !important;
    line-height: 1.5;
}
.menu_second > li span {
    color: #555;
    font-size: 14px;
    padding-left: 10px;
}


.menu_second_recommend > li {
    width: 20% !important;
}
.menu_second2 {
    line-height: 2.2 !important;
}


/* SPドロワーメニュー
------------------------------------ */
/* アイコン */
.d_icon {
	position: relative;
    z-index: 9999;
	cursor: pointer;
    width: 50px;
    height:50px;
	border-radius: 5px;
}
.d_icon span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background: #333;
    width: 45%;
}
.d_icon span:nth-of-type(1) {
    top:15px;	
}
.d_icon span:nth-of-type(2) {
    top:23px;
}
.d_icon span:nth-of-type(3) {
    top:31px;
}
.d_icon.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}
.d_icon.active span:nth-of-type(2) {
    opacity: 0;
}
.d_icon.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}

/* メニュー */
.d_content {
    position: fixed;
    z-index: 999;
    top: 87px;
    left: -120%;
	width: 100%;
    height: calc(100vh - 87px);
	background: #fff;
	transition: all 0.6s;
}
.d_content.panelactive{
    left: 0;
    overflow: auto;
}
.sp_login {
    width: 90%;
    margin: 20px auto 40px;
}
.sp_login li {
    margin: 10px;
    padding: 10px;
    border: 1px solid #94bfa2;
    border-radius: 3px;
    text-align: center;
}
.sp_login .login {
    background: #94bfa2;
}
.d_content h2 {
    padding: 10px;
    background: #e4e2e0;
    font-size: 16px;
    text-align: center;
}
.d_content .cate a {
    display: block;
}
.d_content .cate a span {
    font-size: 12px;
    margin-left: 10px;
}
.d_content .cate li {
    padding-left: 25px;
    border-top: 1px solid #e4e2e0;
    font-size: 16px;
    line-height: 3.0;
    cursor: pointer;
}
.d_content .cate li:first-child {
    border-top: none;
}
.d_content .cate_inner {
    padding-left: 40px;
    background: #fafafa;
}
.d_content .cate_inner ul li {
    border: none;
}
.d_content .sub_menu {
    margin: auto;
    margin-bottom: 30px;
    padding: 20px;

}
.d_content .delivery {
    padding: 10px;
    border: 1px solid #ddd;
    font-size: 12px;
}
.d_content .delivery span {
    color: #e31c3d;
    font-size: 14px;
}

/* フッター
------------------------------------ */
#sysFooter {
    background: #ccc;
}
#sysFooter p {
    padding: 0;
    line-height: 1.6;
}
.footer_info {
    padding: 20px 0;
}
.footer_info .sysContent {
    display: flex;
    justify-content: space-around;
}
.footer_info h3 {
    margin-bottom: 10px!important;
    font-size: 16px;
    letter-spacing: 0.1em!important;
}
.footer_info li {
    line-height: 2.5;
    font-size: 14px;
}

.footer_info i {
    font-size: 30px;
}
#sysFooter .sns li {
    display: inline-block;
    padding: 10px;
}
.footer_copyright {
    padding-bottom: 20px;
    text-align: center;
}
.footer_copyright p{
    font-size: 15px;
}

/* ====================================
    3. メインページ
==================================== */

/* アイキャッチ
------------------------------------ */
.header_eyecatch {
    height: 400px;
    background-image: url(/img/eyecatch_202109.jpg);
    background-position: center;
    background-size: cover;
}
.header_eyecatch .h_copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: absolute;
    left: 50%;
    width: 50%;
    height: 400px;
    padding-left: 40px;
    color: #fff;
    background: rgba(0, 0, 0, 0.2);
}
.h_copy h1 {
    font-weight: bold;
    font-size: 20px;
}
.h_copy p {
    margin: 10px 0;
    font-size: 16px;
    line-height: 1.6;
}

/* ブロックのタイトル
------------------------------------ */
.top_section .sysHeadline {
    position: relative;
    width: 500px;
    margin: 80px auto 20px !important;
    font-size: 20px;
    letter-spacing: 3px;
    text-align: center;
}
.top_section .sysHeadline b {
    display: block;
    font-size: 14px;
    text-align: center;
}
.top_section .sysHeadline span {
    display: inline-block;
    position: relative;
    z-index: 2;
    margin: 0 2.5em;
    padding: 0 40px;
    background-color: #fff;
    text-align: center;
}
.top_section .sysHeadline::before {
    display: block;
    position: absolute;
    top: 50%;
    z-index: 1;
    width: 100%;
    height: 1px;
    background-color: #333;
    content: "";
}

/* 商品ブロックの表示
------------------------------------ */
#top .sysItemName {
    width: 100%;
    /* min-height: 60px; */
    padding: 5px 0px 5px 0px;
    text-align: left;
    font-size: 12px;
}
.related .sysHorizontal {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.related li {
    width: 20% !important;
}
#top .sysFuncItemBlock .slick-dots li {
    float: none !important;
    width: 20px !important;
    padding: 0 !important;
}
#top .sysFuncItemBlock .slick-dots {
    bottom: -15px;
}
#top .sysFuncItemBlock a {
    outline: none;
}
#top .sysFuncItemBlock .slick-prev:before,
#top .sysFuncItemBlock .slick-next:before {
    font-size: 25px;
    line-height: 0;
}

/* トップページのバナー
------------------------------------ */
.top_cat_type ul,
.top_cat_brands ul {
    display: grid;
    align-items: center;
}
.top_cat_type .bannerText {
    margin-top: 0.5em;
}
/* カテゴリ */
.top_cat_type ul {
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;  
}
.top_cat_type {
    margin-top: 70px;
    font-size: 15px;
    text-align: center;
}
.top_cat_type li img {
    border-radius: 5px;
}

/* タンナー */
.top_cat_brands ul {
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
}
.top_cat_brands li {
    margin-bottom: 5px;
    padding: 10px;
}

/* その他
------------------------------------ */
/* カレンダー */
.calendar .sysHeadline {
    font-size: 18px;
    font-weight: bold;
    padding: 10px;
}
.calendar .sysContent {
    display: flex;
}
.calendar .cal_text {
    padding: 10px 10px 10px 20px;
}

/* お知らせ
------------------------------------ */
/* トップページ */
.news_wrap {
    display: flex;
    justify-content: space-evenly;
}
.top_news2 li {
    font-size: 13px;
}
.top_news1 li a br,
.top_news2 li a br {
    display: none;
}
.top_news1 li a time,
.top_news2 li a time,
.list_news1 li a time,
.list_news2 li a time {
    float: left;
    width: 7.74em;
    margin-right: 15px;
    overflow: hidden;
    white-space: nowrap;
}
.top_news1 .sysHeadline {
    width: 150px;
    margin-right: 10px;
    margin-bottom: 10px;
    padding: 5px;
    font-weight: bold;
    text-align: center;
}
.top_news1 .sysHeadline {
    background: #bae217;
}
.top_news2 .sysHeadline {
    background: #c3d5ff;
}

.top_news1 .sysContent li {
    padding: 3px;
    margin-left: 30px;
    font-size: 13px;
    list-style-type: disclosure-closed;
}

/* 一覧ページ */
.list_news2 ul {
    padding: 30px;
}
.list_news2 ul li {
    padding: 5px;
    border-bottom: 1px dotted #999;
}
.list_news2 ul li br {
    display: none;
}

#sysInformation .sysFuncInformation {
    margin-bottom: 30px;
}
#sysInformation .sysFuncInformation .sysHeadline {
    padding: 10px;
    background: #8b8b8b;
}
#sysInformation .sysFuncInformation li {
    font-size: 12px;
    line-height: 1.75;
    border-bottom: 1px dotted #999;
}
#sysInformation #sysMain h1,
.list_news2 h2.sysHeadline {
    padding: 8px 13px;
    background: #333;
    color: #fff;
    font-size: 16px;
}
#sysInformation .sysNewsDetail {
    padding: 10px 20px;
}
#sysInformation .sysNewsDetail p {
    margin: 1.5em auto;
}
#sysInformation .sysNewsDetail a {
    text-decoration: underline;
}
.news_date {
    color: #aaa;
    text-align: right;
    margin-top: 0px !important;
}
.info_img {
    padding: 0px 15px;
}
.info_img li {
    display: inline-block;
    width: 33%;
    padding: 3px;
}
#sysInformation #sysMain h2,
#discontinued #sysDescription h2 {
    margin: 20px 0 10px 0;
    padding: 5px 3px;
    border-bottom: 1px dotted #999;
    font-size: 16px;
}
#sysInformation #sysMain h3,
#discontinued #sysDescription h3 {
    margin: 40px 0px 5px 0px;
    padding-left: 10px;
    border-left: 5px solid #ccc;
}
#sysInformation .date {
    font-weight: bold;
    margin-top: 15px;
}
#sysInformation .sysNewsDetail p {
    margin-left: 1.0em
}
/* ヘッダー上 */
.top_notice {
    padding: 5px;
    text-align: center;
}

/* 201909 送料改定 */
.news20190911 td,
.news20190911 th {
    padding: 6px;
}
.news20190911 td.td01 {
    width: 150px;
    background-color: #ccc;
    text-align: center;
    font-weight: bold;
}
.news20190911 td.td02 {
    text-align: right;
}
.news20190911 td.td03 {
    width: 150px;
    background-color: #f9ebbd;
    text-align: center;
    font-weight: bold;
}
.news20190911 td.td04 {
    text-align: center;
}

/* 価格改定 */
.table01 th,
.table01 tr,
.table01 td {
    border: 1px solid #999;
    padding: 0.5em;
    font-size: 14px;
    text-align: center;
}
.table01 th {
    background: #ddd;
}
.news-price tr > td:first-of-type {
    min-width: 150px;
    text-align: left;
}
/* 営業カレンダー */
.news_days {
    display: flex;
    flex-direction: row;
}
.news_days:first-of-type {
    border-left: 1px solid #999;
}
.news_days-row {
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid #999;
    border-top: 1px solid #999;
}
.news_days-row > div {
    flex: 1;
    border-right: 1px solid #999;
    padding: 0.5em;
    text-align: center;
}
.news_days .header {
    background: #ddd;
    border-bottom: 1px solid #999;
}

/* カテゴリ
------------------------------------ */

.sysYamiForm input[type="text"] {
    width: 10em;
    margin-top: 10px;
}
.sysYamiForm input[type="submit"] {
    width: 10em;
    /* height: 35px; */
    margin-top: 10px;
    background: #eee;
    border: 1px solid #333;
}

/* パンくずリスト */
.sysItemCategoryPankuzu,
.sysCategoryPankuzu {
    font-size: 13px;
    margin-bottom: 15px;
}
.sysItemCategoryPankuzu a,
.sysCategoryPankuzu a {
    padding: 0px 5px;
}
.sysItemCategoryPankuzu a:hover
.sysCategoryPankuzu a:hover {
    text-decoration: underline;
}
.sysCategoryPankuzu span+br {
    display: none;
}

/* カテゴリ説明 */
.sysCategoryDescription {
    font-size: 14px;
}
.category-info-wrap {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}
.category-info-intro a {
    text-decoration: underline;
}
.category-info-logo img {
    max-width: 200px;
}
.category-info-accordion {
    margin-bottom: 20px;
}
.sysCategoryDescription {
    display: block !important;
}
.category-info-accordion .ac_title {
    padding: 10px 15px;
    font-weight: bold;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 5px;
}
.category-info-accordion .ac_content {
    padding: 10px;
    word-wrap: break-word;
}
.ac_gallery,
.zoom-gallery {
    display: flex;
    overflow-x: auto;
    gap: 15px;
}
.gallery-slide {
    flex: 0 0 auto;
    text-align: center;
    max-width: 200px;
}
.gallery-slide img {
    width: 100%;
    height: auto;
    border: 1px solid #ddd;
    border-radius: 5px;
}

/* ビューモード */
.sysItemCategoryCtl {
    font-size: 12px;
}
.sysItemCategoryCtl a:nth-last-of-type(1),
.sysItemCategoryCtl a:nth-last-of-type(2),
.sysItemCategoryCtl a:nth-last-of-type(5) {
    display: none;
}
.sysItemCategoryCtl .sysCurrent {
    font-weight: normal;
}
.sysItemCategoryCtl a {
    display: inline-block;
    padding: 2px 8px;
    background: #ddd;
    border: 1px solid #999;
    border-radius: 3px;
    text-decoration: none;
    margin: 2px 0;
}

/* アサイド */
.sysFuncItemCategory .sysHeadline {
    padding: 5px;
    border-bottom: 2px solid #678e73;
    font-weight: bold;
}
.sysFuncItemCategory li {
    line-height: 1.75;
    border-bottom: 1px solid #ddd;
    font-size: 14px;
}
.sysFuncItemCategory a:hover {
    background: #eee;
}
#top .sysFuncItemCategory {
    width: 25%;
}
.sysFuncItemCategory {
    margin-bottom: 20px;
}

/* 一覧 */
.sysRetailPrice {
    margin: 3px auto;
}
.sysPagination {
    margin: 15px 0;
}
.sysItemPrArea .itempr {
    margin-right: 5px;
}
.sysItemPrArea {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
#sysItemCategory .sysItemPr,
#sysItemSearch .sysItemPr {
    padding: 2px 5px;
    font-size: 12px;
    font-weight: normal;
}
#sysDescriptionPc,
#sysDescriptionMobile {
    width: 12em;
    overflow: hidden;
    white-space: nowrap;
}
.sysFuncItemBlock #sysDescriptionPc,
.sysFuncItemBlock #sysDescriptionMobile {
    font-size: 12px;
}

/* サムネイル表示 */
.sysItemList ul.sysThumbnail li {
    display: inline-block;
    float: none;
    width: 25%;
    min-height: 200px;
    padding: 10px;
    margin-bottom: 15px;
    vertical-align: top;
    letter-spacing: normal;
}
.sysItemList ul.sysThumbnail {
    letter-spacing: -.4em;
    font-size: 13px;
}
.sysThumbnail .sysThumbnailImage {
    min-height: 130px;
    min-width: 160px;
}
.sysThumbnailImage + div {
    min-height: 45px;
}
/* リスト表示 */
.sysItemList ul.sysList li .sysThumbnailImage {
    width: 40%;
    min-height: 120px;
    max-width: 200px;
    margin-right: 10px;
}
#sysItemCategory .sysList .sysItemName {
    min-height: inherit;
}

/* 検索ページ
------------------------------------ */
#sysItemSearch #sysMain .sysItemSearchForm {
    margin-bottom: 20px;
    padding: 20px;
    background-color: #ededed;
    font-size: 12px;
}
#sysItemSearch #sysMain .sysItemSearchFormWord {
    margin-bottom: 5px;
}
#sysItemSearch #sysMain .sysItemSearchFormWord input {
    height: 40px;
    border: 1px solid #d0d0d0;
    vertical-align: bottom;
}
#sysItemSearch #sysMain .sysSearchButton {
    display: block;
    width: 95%;
    margin: 10px auto;
    padding: 10px;
    border: none;
    background: #666;
    color: #fff;
    font-size: 120%;
}
#sysItemSearch #sysMain .sysItemSearchFormRange input {
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}
#sysItemSearch #sysMain .sysItemSearchFormRange,
#sysItemSearch #sysMain .sysItemSearchFormCategory,
#sysItemSearch #sysMain .sysItemSearchFormSort,
#sysItemSearch #sysMain .sysItemSearchFormLimit {
    display: inline-block;
    margin: 5px auto;
}
#sysItemSearch #sysMain .sysItemSearchFormRange input {
    padding: 10px;
}


/* ====================================
    4. 商品ページ
==================================== */

.item_inner {
    margin-top: 10px;
    letter-spacing: -.4em;
}
.item_inner .imageArea,
.item_inner .orderArea {
    display: inline-block;
    vertical-align: top;
    letter-spacing: normal;
}
.item_inner .imageArea {
    width: 60%;
}
.item_inner .orderArea {
    position: relative;
    width: 40%;
}
.item_inner > .orderArea > div {
    display: block;
    width: 100%;
    padding-right: 0px;
}
.item_inner .sysItemImages,
.item_inner .sysDescription {
    width: 97%;
}
.box_outlet {
    margin: 0px 10px 10px;
    padding: 10px;
    text-align: center;
    border: 2px dotted #ddd;
}
#sysDescription a {
    text-decoration: underline;
}
.sysItemName,
.sysPr {
    display: inline-block;
}

/* PR */
.sysItemPr {
    padding: 0 5px;
    border: 1px solid #666;
    border-radius: 3px;
    font-size: 13px;
    font-weight: bold;
}
#sysItemDetail .sysPr > span {
    display: inline-block;
    vertical-align: middle;
}

/* 販売期間 */
#sysItemDetail .sysSaleTerm {
    text-align: right;
}

/* 商品画像 */
.sysImageListSimple {
    letter-spacing: -.4em;
    cursor: pointer;
    min-height: 400px;
}
.sysImageListSimple li {
    display: inline-block;
    width: 14%;
    padding: 1px;
    min-height: 50px;
}
.sysImageListSimple li:first-child {
    width: 100%;
}

/* フォーム
------------------------------------ */
.sysForm #sysSelections {
    margin-top: 30px;
}
.sysForm #sysVariation select,
#sysSelections input[type="text"],
#sysItemDetail .sysForm #sysSelections select {
    width: 95%;
    margin: 10px;
}
.sysForm #sysNumber {
    width: 95%;
    margin: 0px 10px 0px 10px;
    text-align: right;
}
.sysForm #sysNumber select {
    width: 5em;
    margin-top: 10px;
}
#sysItemDetail .sysForm #sysSubmit {
    margin-top: 30px;
    text-align: center;
}
.sysSelectionDescription {
    margin: 10px 10px 0px 10px;
    font-size: 13px;
}
#sysItemDetail .label-title {
    margin: 15px 0px 5px 0px;
    font-size: 16px;
    font-weight: bold;
    border-bottom: 3px solid #CCC;
}
.sysStockQuantity {
    margin-right: 10px;
    text-align: right;
}
.variation_stock_quantity {
    margin-left: 10px;
    font-family: sans-serif;
    font-weight: bold;
}

/* バリエーション */
#sysItemDetail .sysFormVariationTable {
    width: 100%;
    margin-top: 10px;
    font-size: 13px;
}
#sysItemDetail .sysFormVariationName {
    background-color: #eee;
}
#sysItemDetail .sysFormVariation br {
    display: none;
}
#sysItemDetail .sysVariationRetailPrice {
    display: inline;
    margin-left: 10px;
}
#sysItemDetail #outlet .sysVariationRetailPrice {
    display: block;
}
#sysItemDetail .sysFormVariationTable tbody tr .sysFormVariationName:last-child {
    border-bottom: none !important;
}
#outlet_table #sysVariation,
#half_table #sysVariation {
    width: 100%;
}
#sysItemDetail #half_table .sysFormVariation {
    width: 85px;
    text-align: center;
}

/* 数量増減（非表示） */
#sysItemDetail .sysNumber {
    margin-top: 5px;
}
#sysItemDetail .sysNumArea,
#sysBasket .sysNumArea {
    display: none;
}
#sysItemDetail .sysNumArea button {
    display: inline-block;
    width: 150px;
    padding: 10px;
    border: 1px solid #999;
    color: #333;
}
.sysCartInDone {
    margin: 0;
}

/* お気に入り・再入荷通知ボタン */
#sysWishlist .sysButton {
    width: 90%;
    height: 45px;
    margin-top: 10px;
    border-radius: 0px;
    font-weight: normal;
    color: var(--color-text);
}
#sysWishlist .sysWishListButtonForm .sysButton {
    background: url(/img/icon/ic_favorite1.png) no-repeat center left 10px;
    font-size: 14px;
}
.orderArea .sysFreeForm input[type="submit"].sysNextSubmit {
    margin-top: 10px;
    font-size: 14px;
    font-weight: normal;
    background: #fff;
    color: var(--color-text);
}

/* 再入荷通知 */
.orderArea .sysFreeForm {
    text-align: right !important;
}
.sysItemVariationByFreeform select {
    width: 250px;
}
.form-restock .sysItemThumnailByFreeform {
    display: none;
}
.form-restock .sysItemVariationByFreeform #sysVariation {
    text-align: left;
}
.form-restock #sysVariation select {
    margin-left: 0px;
    width: 20em;  
}
.form-restock input[type="text"] {
    width: 25em;
}

/* SNSボタン */
#sysItemDetail .sysShare {
    padding: 0px;
    text-align: right;
}
#sysItemDetail .sysShare .sysFacebook {
    position: relative;
    top: 1px;
}
#sysItemDetail .sysShare .sysLine,
#sysItemDetail .sysShare .sysDisplayPcNone {
    display: inline-block;
}
#sysItemDetail .sysShare .sysLine {
    position: relative;
    top: 0px;
}

/* 簡易商品説明
------------------------------------ */

#sysDescription {
    padding: 10px;
}
#sysDescription .product-list-summary {
    display: none;
}
#sysItemDetail .sysItemName h1 {
    margin-bottom: 10px;
    font-size: 20px;
}
.other_info a {
    text-decoration: underline;
}
#sysItemDetail .sysRetailPriceValue {
    font-size: 20px;
    margin-left: 10px;
    margin-top: 5px;
}

/* 商品仕様 */
#sysDescription dl,
.item_spec dl,
.outlet_spec dl {
    display: flex;
    flex-wrap: wrap;
}
#sysDescription dt,
#sysDescription dd,
.item_spec dt,
.item_spec dd,
.outlet_spec dt,
.outlet_spec dd {
    padding: 2px;
}
#sysDescription dt,
.item_spec dt,
.outlet_spec dt {
    width: 6em;
    font-weight: bold;
    text-align: right;
}
#sysDescription dt::after,
.item_spec dt::after,
.outlet_spec dt::after {
    content: "\FF1A";
}
#sysDescription dd,
.item_spec dd,
.outlet_spec dd {
    width: calc(100% - 6em);
}
/* ページリンク */
.item-btn {
    margin: 20px 0px;
    font-size: 14px;
}
.item-btn li {
    margin-bottom: 15px;
}
.item-btn a {
    display: flex;
    justify-content: space-around;
    align-items: center;
    position: relative;
    max-width: 280px;
    padding: 6px 20px 6px 6px;
    border: 1px solid #333;
    text-decoration: none!important;
}
.color_wrap .item-btn a {
    margin: auto;
}
.item-btn a:hover {
    background-color: #eee;
    color: #333 !important;
}
.item-btn a::after {
    content: '';
    position: absolute;
    width: 5px;
    height: 5px;
    top: 45%;
    right: 20px;
    border-top: 3px solid #333;
    border-right: 3px solid #333;
    border-radius: 1px;
    transform: rotate(45deg) translateY(-50%);
}
.btn-text ul {
    margin-top: 15px;
}
/* 関連商品 */
.btn-related a {
    width: 120px;
    height: 50px;
    padding-right: 20px;
    border-width: 2px;
    background:#e5edd4;
    line-height: 1.3;
    text-align: center;
}
.btn-related a::after {
    right: 10px;
}

/* 商品詳細説明
------------------------------------ */
#itempage_detail {
    margin-top: 80px;
    margin-bottom: 40px;
}

/* 説明文 */
.item_text {
    margin-bottom: 50px;
    padding: 20px;
}
.item_text_video {
    margin-bottom: 50px;
    padding: 20px;
}
.item_text_video iframe {
    margin: auto !important;
}
#itempage_detail h2 {
    padding: 10px;
    background: #333;
    color: #fff;
    font-size: 20px;
    letter-spacing: 1px;
    text-align: center;
}
.sysExplanation h3,
.itempage_ecru h3 {
    padding: 10px !important;
    background: #eee;
    border-bottom: 2px solid #8c0e0e !important;
    font-size: 18px;
    letter-spacing: 1.5px;
}
/* 注意事項 */
.item_notice .sysAccordion::after,
.item_notice .ac_title::after {
    border-color: #cd2026;
}
.item_notice,
.cart_notice {
    margin-top: 20px;
}
.cart_notice {
    font-size: 14px;
}
.item_notice .head {
    padding: 5px;
    border-bottom: 1px solid #cd2026;
    color: #cd2026;
}
.cart_notice .head {
    margin-top: 10px;
    padding: 10px 40px 10px 10px;
    background: #dce4ef;
}
.item_notice .text,
.cart_notice .text {
    padding: 10px 5px;
}
.item_notice p {
    padding: 10px 5px;
    margin: 0px;
}
.cart_notice p {
    line-height: 1.7;
}
.item_notice li,
.cart_notice li {
    list-style-type: circle;
    margin: 10px 10px 10px 25px;
}

/* カラーバリエーション */
.color_wrap {
    display: flex;
    column-gap: 20px;
    padding: 20px;
    font-size: 12px;
}
.color_wrap .grid_left {
    flex: 1;
}
.color_wrap .grid_right {
    flex: 3;
}
#sysExplanation .colorvariation,
#sysExplanation .ms_color {
    display: flex;
    flex-wrap: wrap;
}
#sysExplanation .colorvariation {
    gap: 20px;
}
#sysExplanation .colorvariation .color {
    width: 80px;
    height: 65px;
    border: 1px solid #666;
}
#sysExplanation .colorvariation .color_discon {
    width: 80px;
    height: 30px;
    border: 1px solid #666;
}

/* カラーバリエーション > コーナーリボン */
.ribbon,
.ribbon2 {
    position: absolute;
    overflow: hidden;
}
.ribbon {
    width: 75px;
    height: 65px;
}
.ribbon2 {
    width: 79px;
    height: 65px;
}
.ribbon span,
.ribbon2 span {
    display: block;
    position: absolute;
    width: 100px;
    text-align: center;
}
.ribbon span {
    top: 5px;
    right: 9px;
    background-color: #f6f1ee;
    color: #533f35;
    transform: rotate(-45deg);
}
.ribbon2 span {
    right: -11px;
    bottom: 10px;
    border-top: 1px solid #666;
    border-bottom: 1px solid #666;
    background-color: #333;
    font-size: 10px;
    color: #fff;
}

/* アウトレット */
#outlet_explanation {
    margin-top: 20px;
}
#outlet_explanation .sysExplanation {
    width: 97%;
    padding: 10px;
}
#outlet_explanation #sysDescription span,
#outlet_explanation #sysExplanation span {
    display: block;
    padding: 3px;
    border-bottom: 1px solid #999;
    font-size: 16px;
    font-weight: bold;
}
.outlet_spec {
    margin-top: 10px;
}
.outlet_text {
    padding: 0px 10px 0px 10px;
}
/* アウトレット＞レザータグ */
.tag_spec {
    display: flex;
    flex-wrap: wrap;
}
.tag_spec > div {
    width: 50%;
    padding: 20px;
}

/* 注文にあたっての注意事項 */
.item_attention h3 {
    background: #ececc5;
    padding: 10px !important;
    border-radius: 5px;
}
.item_attention .sysContent {
    padding: 10px !important;
}

/* 関連商品 */
.related {
    padding-top: 50px;
}
.related .sysItemName {
    display: block;
    height: 48px;
    padding: 5px;
    text-align: left;
    font-size: 12px;
    overflow: hidden;
}

/* 生成りヌメの比較 */
.itempage_ecru h4 {
    padding: 20px 0px;
}
.leather-comparison {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
}
.leather-comparison th,
.leather-comparison td {
    padding: 8px;
    border: 1px solid #ddd;
    text-align: left;
}
.leather-comparison th {
    background-color: #f4f4f4;
}

/* マストロット
------------------------------------ */

/* 商品仕様 */
.ms_item {
    background-color: #e8e4e1;
}
.ms_item_title {
    padding: 30px 0px 20px 40px;
    color: var(--color-mastrotto);
    font-size: 30px;
    font-weight: bold;
    letter-spacing: 5px;
}
.ms_item_text {
    padding: 0px 40px 20px;
}
.detail_ms {
    display: flex;
    flex-wrap: wrap;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.15em;
}

/* 見出し */
h3.ms_title {
    position: relative;
    width: 90%;
    margin: auto;
    padding: 40px 60px !important;
    background: transparent !important;
    color: var(--color-mastrotto);
    border-bottom: none !important;
    font-size: 20px !important;
    text-align: center !important;
    letter-spacing: 3px;
}
h3.ms_title::before {
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    width: 100%;
    height: 2px;
    content: "";
    background: var(--color-mastrotto);
}
h3.ms_title span {
    position: relative;
    padding: 0 1em;
    background: #fff;
}
/* カラバリ */
#sysExplanation .ms_color {
    justify-content: center;
}
.ms_color .color {
    width: 55px;
    height: 45px;
    margin: 1px;
}

/* ====================================
    5. フリーページ
==================================== */

.mainCnt a,
.guide a,
.order_attention a,
.delivery_smallpacket a,
.itempage_ecru a,
.form-inquiry #sysMain a,
#sysItemDetail #sysDescription a,
#sysItemDetail #sysExplanation a{
    text-decoration: underline;
}
.mainCnt a:hover,
.guide a:hover,
.order_attention a:hover,
.form-inquiry #sysMain a:hover,
#sysItemDetail #sysDescription a:hover,
#sysItemDetail #sysExplanation a:hover {
    color: #94bfa2;
}

.mainCnt,
.guide {
    max-width: 980px;
    margin: auto;
}
.mainCnt h1 {
    padding: 15px;
    border-bottom: 1px solid #333;
    font-size: 20px;
}
.mainCnt h2 {
    padding: 30px 0;
    font-size: 20px;
}
.mainCnt h3 {
    margin: 20px 0 ;
    font-size: 16px;
    border-left: 10px solid #b5bb5d;
    padding: 5px 10px;
}
.heading1::before {
    margin-right: 10px;
    font-size: 30px;
    color: #c90000;
    border-bottom: 1px solid #c90000;
    content: attr(data-number);
}
.mainCnt .indent20 {
    margin-left: 20px;
}
.tit1 {
    padding: 20px 10px 30px 10px;
}
.dl_res {
    margin: 30px 0px;
}
.dl_res dl {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #999;
    border-left: 1px solid #999;
}
.dl_res dt,
.dl_res dd {
    padding: 10px;
    border-right: 1px solid #999;
    border-bottom: 1px solid #999;
}
.dl_res dt {
    width: 200px;
    background: #f1ebe3;
    font-weight: bold;
    text-align: center;
}
.dl_res dd {
    width: calc(100% - 200px);
}

/* 天然皮革の注意点
------------------------------------ */
.al_img {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 20px;
}
.al_img img {
    width: 25%;
    height: auto;
    padding-right: 5px;
}

/* ご利用ガイド
------------------------------------ */
.guide h1 {
    margin-bottom: 20px;
    font-size: 2em;
    font-weight: bold;
}
.guide h2 {
    margin: 60px 0 25px 0;
    color: #ae8450;
    font-size: 1.75em;
    font-weight: bold;
    border-bottom: 2px solid #ae8450;
}
.guide p {
    padding: 0px 1em;
}

/* ナビゲーション */
.guidenav-sub {
    margin-bottom: 20px;
}
.guidenav-main ul,
.guidenav-sub ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.guidenav-main ul {
    gap: 20px;
}
.guidenav-sub ul {
    gap: 10px;
}
.guidenav-main li,
.guidenav-sub li {
    border: 1px solid #666;
}
.guidenav-main li {
    width: 45%;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}
.guidenav-sub li {
    font-size: 16px;
}
.guidenav-main a,
.guidenav-sub a {
    display: block;
    text-decoration: none;
}
.guidenav-main a {
    padding: 20px;
}
.guidenav-sub a {
    padding: 2px 10px;
}
.guidenav-main a:hover,
.guidenav-sub a:hover {
    background: #D2B48C;
    color: #333;
}

/* 注文後の流れ */
.guide-order-step {
    counter-reset: step-counter;
}
.guide-order-step dt {
    font-size: 18px;
    font-weight: bold;
}
.guide-order-step dd {
    padding: 20px;
    margin-bottom: 30px;
    border: 1px solid #ddd;
}
.guide-order-step dt::before {
    counter-increment: step-counter;
    content: counter(step-counter, decimal-leading-zero);
    display: inline-block;
    width: 40px;
    height: 35px;
    margin-right: 10px;
    background: #333;
    color: #fff;
    font-weight: bold;
    line-height: 35px;
    text-align: center;
}

/* 注文について */
.guide-annotation-num dt {
    font-weight: bold;
}
.guide-annotation-num dd {
    margin-bottom: 15px;
}
.guide-annotation-num .product {
    counter-reset: product-counter;
}
.guide-annotation-num .product dt::before {
    counter-increment: product-counter;
    content: counter(product-counter);
}
.guide-annotation-num .cart {
    counter-reset: cart-counter;
}
.guide-annotation-num .cart dt::before {
    counter-increment: cart-counter;
    content: counter(cart-counter);
}
.guide-annotation-num dt::before {
	display:inline-block;
	width: 25px;
	height: 25px;
    margin-right: 5px;
    border-radius: 50%;
	background: #007b43;
	color: #fff;
	line-height: 25px;
	text-align:center;
}






.guide h3 {
    padding: 10px 20px;
    background: #ddd;
    font-size: 16px;
    margin: 30px 0;
}
.guide h4 {
    margin: 30px 0 20px 0;
    padding-left: 5px;
    border-bottom: dotted 1px #524036;
    color: #524036;
    font-size: 18px;
    font-weight: bold;
}
.guide_flex {
    display: flex;
    padding: 10px 0;
}
.guide_flex .img350 {
    min-width: 350px;
    margin-right: 10px;
    border: 1px solid #ccc;
}

.dl_guide {
    margin-top: 20px;
}
.dl_guide dt {
    padding: 0 0 10px 10px;
    font-size: 16px;
    font-weight: bold;
}
.dl_guide dd {
	padding: 0 0 20px 20px;
}
.guide_att {
    color: #c90000;
    font-size: 16px;
    font-weight: bold;
}
.guide .textbox {
    padding: 20px;
    margin-top: 20px;
    margin-bottom: 30px;
    background: #f1ebe3;
    line-height: 2;
}
.guide .textbox.size01 {
    width: 300px;
}
.guide .textbox.size02 {
    width: 520px;
}
.guide table {
    width: 95%;
    margin: 10px 0;
    border-collapse: collapse;
    font-size: 14px;
}
.guide table th,
.guide table td {
    height: 60px;
    padding: 10px 0 7px 0;
    border: solid 1px #fff;
    color: #524036;
    text-align: center;
}
.guide table th {
    background: #e7dbcc;
    font-weight: bold;
}
.guide table th.cn {
    max-width: 160px;
}
.guide table td {
    background: #f1ebe3;
}
.guide table td.headtit {
    font-weight: bold;
}
.top_m20 {
    margin-top: 20px;
}
.guide .link_card {
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 20px;
}


/* FAQ
------------------------------------ */
.guide .t_menu {
    flex-grow: 1;
    margin-right: 10px;
    padding: 10px;
    border: 1px solid #333;
    border-radius: 4px;
    font-weight: bold;
    cursor: pointer;
}
.guide .t_menu.is-active {
    position: relative;
    background:#333;
    color:#FFF;
}
.guide .t_menu.is-active::after {
    border-color: #fff;
    border-width: 4px;
}
.guide .tab-menu li:hover {
    background: #333;
    color: #fff;
}
.guide .t_content {
    padding: 20px;
}
.faq dt {
    margin-top: 15px;
    font-size: 16px;
    font-weight: bold;
}
.faq dd {
    padding: 20px;
}
.faq dt::before {
    margin-right: 10px;
    padding: 6px 10px;
    border-radius: 5px;
    background: #197278;
    color: #fff;
    font-size: 18px;
    content: "Q";
}


/* ショールーム
------------------------------------ */
.sw-btn-wrap {
    margin: 20px;
    text-align: center; 
}
.sw-btn-reserve {
    display: inline-block;
    padding: 10px 20px;
    background-color: #981b1e;
    color: #fff;
    text-decoration: none !important;
    border-radius: 5px;
}
.sw-btn-reserve:hover {
    background-color: #666;
    color: #fff !important;
}
.sw-item,
.sw-img {
    display: flex;
    margin-bottom: 20px;
}
.sw-item-img {
    flex: 1;
    padding-right: 20px;
}
.sw-item-text {
    flex: 2;
}
.sw-item-product {
    justify-content: space-evenly;
}
.sw-img {
    gap: 20px;
    width: 49%;
}
.box-showroom {
    font-size: 16px !important;
    padding: 0 20px 20px 20px !important;
}

/* ====================================
    6. カート・フォーム
==================================== */

/* Submitボタン
------------------------------------ */

/* 基本設定：実行 */
.sysAddGoCartButton,
.sysLoginButton,
.sysNextSubmit,
.sysCart #sysMain input[type=submit].sysAmazonNextSubmit,
.sysCart #sysMain input[type=submit].sysLoginButton {
    border: none;
    font-weight: bold;
    background: var(--color-btn-confirm);
    color: var(--color-btn-confirm-text);
}
.sysAddGoCartButton:hover,
.sysAmazonNextSubmit:hover,
.sysLoginButton:hover {
    border: none;
    background: #a8392e;
}

/* 基本設定：戻る */
input.sysBackSubmitArea[type="submit"],
.sysCart #sysMain button.sysBackButton,
.sysMypage input[type="submit"].sysButton[value="戻る"],
#sysMemberRegisterConfirm .sysBackButton {
    border: 1px solid #333 !important;
    background: var(--color-btn-back) !important;
    color: var(--color-text);
}

/* 基本設定：カートを見る */
.sysGoCartButton {
    border: 1px solid #333;
    background: #f0f0f0;
}
.sysGoCartButton:hover {
  background: #e0e0e0;
}

/* 商品ページ */
.sysAddGoCartButton,
.sysGoCartButton {
    width: 95%;
    margin-bottom: 5px;
}
input.sysCartButton[value="今は購入できません"] {
    color: var(--color-text);
    border: 1px solid #333;
}

/* カート内容確認 */
.sysCart #sysMain input[type=submit].sysLoginButton,
.sysCart #sysMain input[type=submit].sysBackSubmitArea,
.sysLoginButton {
    display: block;
    width: 250px;
    height: 50px;
    margin: 20px auto 0px;
}
.sysCart #sysMain input[type="submit"].sysDeleteArea {
    display: inline-block;
    width: 8em;
    background: #eee;
    border-radius: 0px;
    text-align: center;
}

/* ログイン＞リマインダー */
#sysMypageLogin .sysLoginForm .sysButton,
#sysRegi .sysForm input.sysButton[type="submit"] {
    width: 100%;
    margin: 10px auto;
    background: transparent;
    border: none;
    font-size: 14px;
    color: var(--color-text);
    text-decoration: underline;
}

/* 登録 */
.sysMemberRegister #sysMain input[type=submit].sysNextSubmit,
.form-inquiry #sysMain input[type=submit].sysNextSubmit,
#sysMemberRegisterConfirm .sysBackButton {
    width: 300px;
}
#sysMemberRegisterConfirm .sysBackButton {
    margin: 0 auto;
}

/* 戻る */
.sysCart #sysMain button.sysBackButton {
    display: block;
    width: 250px;
    height: 50px;
    margin: 20px auto;
}

/* 
------------------------------------ */

#sysMain input[type="email"],
#sysMain input[type="number"],
#sysMain input[type="password"],
#sysMain input[type="tel"],
#sysMain input[type="text"] {
    line-height: 1.8;
}
#sysMain textarea {
    min-height: 100px;
}
.sysCart ul,
.sysCart ol,
.sysOpcBody ul,
.sysOpcBody ol {
    font-size: 15px;
    line-height: inherit;
}
.sysCart img,
.sysOpcBody img {
    vertical-align: inherit;
}
.sysOpcBody #sysMain {
    padding: 20px 150px;
    font-size: 14px;
}
.sysCart #sysMain .sysNextSubmitArea .sysNextSubmit {
    text-shadow: none;
    font-size: 16px;
}
.sysCart .sysBox,
.sysCart .sysSelectPaymentArea,
.sysCart .sysSelectDeliveryArea,
.sysCart .sysRemarksArea,
.sysCart .sysSelectOptionArea,
.sysCart .sysDetail,
.sysCart .sysOrder .nav,
.sysCart .sysAcceptDomainArea,
.sysCart .sysRepeatOrderSetting {
    background-color: #ffffff;
    border: 1px solid #cfcfcf;
    border-radius: 0;
    box-shadow: none;
    margin: 1em auto 2em;
    padding: 1em;
}
.sysCart .h_guide ul {
    font-size: 12px;
    line-height: 1.7;
}

/* カート内容
------------------------------------ */
#sysBasket .sysItemListArea .nav .sysBox {
    display: grid;
    grid-template-columns: 1fr 2fr 2fr;
    justify-items: stretch;
}
#sysBasket .sysItemListArea .sysBox .sysSelectionDescription {
    display: none;
}

/* 商品画像 */
#sysBasket .sysItemListArea .sysBox a {
    grid-row: 1/4;
}
#sysBasket .sysItemListArea .sysBox img.sysProductImg {
    float: none;
    width: 90%;
}
/* 商品名 */
#sysBasket .sysItemListArea .sysBox .sysProduct {
    grid-row: 1;
    grid-column: 2;
    float: none;
    width: 100%;
}
/*オプション */
#sysBasket .sysItemListArea .sysBox .label-title {
    display: inline-block;
    margin-right: 5px;
}
/* 数量 */
#sysBasket .sysItemListArea .sysBox hr + div {
    grid-row: 2;
    grid-column: 2;
}
#sysBasket .sysItemListArea .sysBox hr + div select {
    display: initial;
    width: 5em;
}
/* 数量増減(非表示) */
#sysBasket .sysBox .sysNumArea button.sysBtnPlus,
#sysBasket .sysBox .sysNumArea button.sysBtnMinus {
    position: relative;
    width: 35px;
    min-width: inherit;
    height: 35px;
    border-radius: 0px;
    background: #fff;
    color: #fff;
}
#sysBasket .sysBox .sysNumArea button.sysBtnPlus::after,
#sysBasket .sysBox .sysNumArea button.sysBtnMinus::after {
    display: block;
    position: absolute;
    top: 18%;
    left: 29%;
    color: #000;
}
#sysBasket .sysBox .sysNumArea button.sysBtnPlus::after {
    content: "+";
}
#sysBasket .sysBox .sysNumArea button.sysBtnMinus::after {
    content: "-";
}
/* 小計 */
#sysBasket .sysItemListArea .sysBox .sysSubTotalArea {
   grid-row: 1/3;
   grid-column: 3;
   text-align: right;
}
#sysBasket .sysItemListArea .sysBox .sysSubTotalArea span {
    color: var(--color-text); /* cart.css：#FF0000 */
}
/*
#sysBasket .sysItemListArea .sysBox #sysSelections > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    margin-bottom: 5px;
}
*/
#sysBasket .sysItemListArea .sysBox #sysSelections select {
    width: 15em;
    max-width: inherit;
    margin: inherit;
}
/* 削除ボタン */
#sysBasket .sysItemListArea .sysBox .sysDeleteArea {
    grid-column: 3;
    text-align: right;
}

/*
#sysBasket #sysMain .sysItemListArea .nav .sysBox select,
#sysBasket #sysMain .sysItemListArea .nav .sysBox input  {
    display: inline-block;
    width: 75%;
    max-width: 350px;
    border-radius: 3px;
}
#sysBasket #sysMain .sysDeleteArea form {
    text-align: right !important;
}
#sysBasket #sysMain .sysDeleteArea .sysDeleteArea {
    width: 150px !important;
    height: 40px;
    background: #eee;
}
#sysBasket #sysMain .sysSubTotalArea,
.nav .sysBox div:not(.sysProduct) > div {
    text-align: right;
}
*/

#sysBasket .sysNextSubmitArea + form {
    text-align: center;
}

.sysCart .sysNextSubmitArea {
    margin: 20px;
}

#sysBasket .sysFreeArea .guide_att {
    font-size: 14px;
}
#sysBasket .sysFreeArea p,
.opcFreeAreaHeader p {
    margin: 0;
    line-height: 1.6;
}
.opcFreeAreaHeader {
    margin-bottom: 10px;
}
div.sysFreeArea + div.sysNextSubmitArea {
    display: none;
}
.sysCart .sysTotalTxt {
    text-shadow: none;
    text-align: center;
}
.sysTotal .sysTotalTxt .sysCartAttention {
    font-size: 20px;
}
#sysBasket .sysTotalTxt + div {
    display: none;
}
#sysBasket #sysMain .sysProduct .sysItemName {
    font-weight: bold;
}
#sysThanks #sysMain .sysFreeArea {
    margin: 20px 0;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 2px;
    text-align: center;
}




/* ログイン画面
------------------------------------ */
#sysRegi #sysMain {
    display: grid;
    column-gap: 20px;
    margin: 80px auto;
}
#sysRegi #sysPurchaseAuthMember {
    grid-row: 1/3;
    grid-column: 1/2;
    background: #f7f5f5;
}
#sysRegi #sysRegisterForm {
    grid-row: 1/2;
    grid-column: 2/3;
}
#sysRegi #sysPurchaseAuthCustomer {
    grid-row: 2/3;
    grid-column: 2/3;
}
#sysRegi #sysMain > form {
    grid-row: 3/4;
    grid-column: 1/3;
    margin-top: 30px;
    text-align: center;
}
#sysRegi .sysCartTitle {
    margin: 0;
    padding: 20px 20px 0px 20px;
    color: var(--color-text); /* cart.css：#666 */
    background-color: #f7f5f5;
    font-weight: bold;
}
#sysRegi .sysBox {
    margin: 0;
    padding: 20px;
    background-color: #f7f5f5;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

#sysRegi .sysBox .sysForm {
    text-align: center;
}
#sysRegi .sysBox .sysFormLabel {
    text-align: left;
}
/*
#sysRegi .sysBox .sysForm .sysButton {
    background: transparent !important;
    border: none !important;
    text-decoration: underline;
}
*/
.sysCart #sysMain .sysNextSubmit {
    border: none !important;
    color: #fff !important;
    background: #da4636 !important;
}
#sysBasket .sysCartTitle {
    display: none;
}

/* 入力画面
------------------------------------ */
.opcFreeAreaRemarks {
    margin-bottom: 15px;
}
/*
.cart_remarks {
    margin: 15px 0px;
}
.cart_remarks p {
    line-height: 1.7;
    padding: 0;
}
.cart_remarks .ac_title {
    background: #dce4ef;
    padding: 10px;
}
*/
.opcRemarks_edit {
    padding: 0;
    border: none;
}
.opcRemarks_edit textarea {
    border: 1px solid #9b9b9b;
}

/* 通常のカート
------------------------------------ */
.sysCart #sysMain input[type="text"],
.sysCart #sysMain input[type="password"],
.sysCart #sysMain input[type="email"],
.sysCart #sysMain input[type="number"],
.sysCart #sysMain input[type="tel"],
.sysCart #sysMain input[type="search"],
.sysCart #sysMain textarea {
    background: #fff;
    border-radius: 0;
}

.sysCart .sysCartAttention
.sysCart .sysRequired {
    color: #da4636;
    font-weight: bolder;
}
.sysCart .sysGetPoint {
    color: #da4636;
    font-weight: bolder;
}
.sysCart .sysCartNote {
    color: #333;
}
.sysCart .sysCartTitle span {
    font-size: 12px;
}
/*
.sysCart #sysMain input[type="submit"],
.sysCart #sysMain button[type="submit"] {
    display: inline-block;
    width: 250px;
    height: 50px;
    background: #fff;
    color: #333;
    font-size: 16px;
}
    */
.sysCart .sysConfirmButton {
    text-align: right;
}
.sysCart .sysNavImg {
    text-align: center;
    margin-top: 10px;
    margin-bottom: 20px;
}
.sysSelectPayment li:last-child,
.sysSelectDelivery li:last-child,
.sysSelectOption li:last-child,
.sysCart .sysDetail li:last-child,
.sysRemarks,
.sysCart .sysOrder .nav li:last-child {
    border-bottom: none;
}
.sysCart .sysAcceptDomainArea input {
    padding: 0 10px !important;
}
.sysCart .cart_btn {
    color: #000;
    text-align: center;
    margin-top: 40px;
}
.sysCart .cart_btn p {
    margin: 0;
    padding: 0;
}
.sysCart .cart_btn .btn {
    margin-top: 5px;
}
.sysCart .cart_btn img {
    width: 200px;
    border: 1px solid #d0d0d0;
}
#sysBasket #sysMain {
    padding-top: 10px;
}
.sysCart .cart_info .sysContent {
    max-width: 300px;
    color: #000;
    text-align: center;
    font-weight: bolder;
    font-size: 13px;
    border: 1px solid #d0d0d0;
    border-radius: 5px;
    margin: 1em auto 0 auto;
    padding: 10px;
    background-color: #fff;
}
.sysCart #sysMain .sysConfirmButton input[type="submit"] {
    width: auto;
}
.sysCart .sysBtnChange {
    margin-bottom: 10px !important;
}
/*登録せずに購入*/
#sysBillingAddress .input-append input[type="text"] {
    display: inline-block;
}
/*都道府県*/
#sysBillingAddress .sysPrefState select {
    width: 200px;
}
/*性別*/
#sysBillingAddress .sysGender {
    margin-bottom: 20px;
}
#sysBillingAddress .sysGender input {
    vertical-align: middle;
}
#sysBillingAddress .sysGender label {
    display: inline-block;
    margin-right: 20px;
}
/*メルマガ*/
#sysBillingAddress .sysAcceptMailmagazine {
    margin-bottom: 20px;
}
/*注文完了ページ*/
.cart_completion {
    text-align: center;
}
#sysThanks #sysMain .sysOrderNumber {
    font-size: 15px;
    font-weight: bold;
}
.sysCartError + div {
    margin-top: 30px;
}
/*お買い物を続ける*/
body#sysBasket .sysBackButton2 {
    font-weight: bold;
    background: #b4f4ff !important;
    border-color: #000 !important;
}

/*  ワンページカート
------------------------------------ */
.opcFreeAreaRequestOrderTop {
    display: none;
}
.opcFreeAreaRequestOrderBottom {
    padding-bottom: 15px;
}
.opcOrderSummaryTitle::after,
.opcDeliveryAddressTitle::after,
.opcPaymentMethodTitle::after {
    display: block;
    color: #dc143c;
    font-size: 14px;
}
.opcOrderSummaryTitle::after {
    content: "\9769\306E\5E73\5747\30B5\30A4\30BA\304B\3089\7B97\51FA\3057\305F\76EE\5B89\306E\91D1\984D\3067\3059";
}
.opcDeliveryAddressTitle::after {
    content: "\8377\7269\306B\306F\5546\54C1\91D1\984D\304C\8A18\8F09\3055\308C\305F\7D0D\54C1\66F8\304C\540C\5C01\3055\308C\307E\3059";
}
.mdl_btn_.opcDialog,
form.opcUseAmazon {
    width: 100%;
    padding-right: 0;
}
.sysCart #sysMain h3 {
    font-size: 20px;
}
.sysCart #sysMain #show-dlg-1,
.sysCart #sysMain #show-dlg-1_low {
    display: block;
    width: 100% !important;
    padding: 15px 10px !important;
    margin: 5px 0 !important;
    color: #fff !important;
    font-size: 12px;
    line-height: 1;
    font-weight: bold;
    text-shadow: none;
    box-shadow: none;
    border: none !important;
    border-radius: 5px;
    background: #da4636 !important;
}
.sysCart #sysMain #show-dlg-2,
.sysCart #sysMain #show-dlg-3 {
    display: block;
    width: 100% !important;
    padding: 10px;
    margin: 0 0 30px !important;
    color: #fff !important;
    font-size: 12px;
    line-height: 1;
    text-shadow: none;
    box-shadow: none;
    border: none !important;
    border-radius: 5px;
    background: #000 !important;
}
.sysCart #sysMain #show-dlg-3 {
    color: #fff !important;
    background: #da4636 !important;
}
.sysCart #sysMain .next_btn {
    color: #fff !important;
    font-size: 10px;
    line-height: 1;
    border: none !important;
    background: #000 !important;
}
.sysCart #sysMain #order_price_confirm_btn {
    color: #fff !important;
    width: 100% !important;
    box-shadow: none;
    background: #000 !important;
}
.sysCart #sysMain .mdl-js-button {
    box-shadow: none;
}
.sysCart #sysMain #change-to-billAddr,
.sysCart #sysMain #show-dlg-addrList,
.sysCart #sysMain #show-dlg-inputAddr {
    line-height: 1;
    border: none !important;
    background: #000 !important;
}
.sysCart #sysMain p.user_type {
    font-size: 12px;
}
.sysOpcProduct .sysOpcItemName {
    font-size: 12px;
}
input.opcDeliveryMethod_backButton_edit.opcCommonButtonEdit,
input.opcPaymentMethod_backButton_edit.opcCommonButtonEdit {
    margin: 20px auto 5px;
}
.opcOrderSummary_getPointAndLabelGroup,
.opcOrderSummary_remainFreeShippingCostAndLabelGroup {
    display: none;
}


/* 情報入力ページ調整 */
input[type="button"],
select {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}
input[type="button"] {
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer; 
}
select {
    padding: 0 .5em;
}
.sysOpcBody img {
    max-width: 100%;
}
.opcCommonInputText,
.opcCommonInputSelect,
.opcCommonInputRadio,
.opcCommonInputCheckbox {
    margin-left: 0 !important;
}
.opcCommonEditModeBlock {
    background: #fff !important;
    /* padding: 0; */
}
.opcOrderSummaryTitle,
.opcBillingAddressTitle,
.opcDeliveryAddressTitle,
.opcItemTitle,
.opcPaymentMethodTitle {
    font-size: large !important;
    margin-bottom: 0.5em;
}
.opcCommonInputSelect,
.opcCommonButton {
    width: 200px !important;
    background: #fff !important;
border: 1px solid #999 !important;
}
.opcCommonInputSelect {
    background: #f1f1f1 !important;
}
.opcBillingAddress_completeButton_edit,
.opcDeliveryMethod_completeButton_edit,
.opcPaymentMethod_completeButton_edit,
.opcItem_completeButton_edit,
.opcDeliveryAddress_completeButton_edit,
.opcPointAndCouponDialog_applyButton_edit,
.opcRemarks_completeButton_edit {
    background: var(--color-btn-confirm) !important;
    border: 1px solid #da4636 !important;
    color: var(--color-btn-confirm-text) !important;
    font-weight: bold;
    height: 55px;
    font-size: 16px;
}


.opcConfirm_inputStatus {
    display: block !important;
    width: 700px !important;
    margin: 0 auto 1em;
    background: #da4636 !important;
    color: #fff !important;
    border: 1px solid #da4636 !important;
    font-weight: bold;
}
.opcConfirm_inputStatus_disable {
    display: block !important;
    width: 700px !important;
    margin: 0 auto 1em;
    background: #ccc !important;
    color: #000 !important;
}
.opcConfirm_order {
    display: block !important;
    width: 700px !important;
    height: 55px;
    margin: 0 auto;
    font-size: 16px;
    background: var(--color-btn-confirm) !important;
    color: var(--color-btn-confirm-text) !important;
    border: 1px solid #da4636 !important;
    font-weight: bold;
}
.opcConfirm_order_disable {
    display: block !important;
    width: 700px !important;
    margin: 0 auto;
    background: #ccc !important;
    color: #000 !important;
}
.opcItem_increaseNumButton_edit,
.opcItem_decreaseNumButton_edit {
    width: 30px !important;
    background: #f1f1f1 !important;
}
.opcCommonButtonGroup {
    margin-top: 1em;
}
.opcBillingAddress_genderMaleAndLabelGroup_edit,
.opcBillingAddress_genderFemaleAndLabelGroup_edit {
    width: 15% !important;
}
.opcBillingAddress_acceptMailmagazineYesLabel_edit {
    margin-top: 1em;
    display: inline-block;
}
.opcOrderSummary_totalPriceAndLabelGroup {
    padding-bottom: 10px !important;
}
.opcCommonEditLabel {
    margin-top: 1em;
}
.opcOrderSummary_priceBreakDownGroup {
    padding-top: 1em;
    padding-bottom: 1em;
}
.opcOrderSummary_feeAndLabelGroup,
.opcOrderSummary_usePointPriceAndLabelGroup {
    padding-bottom: 1em;
    margin-bottom: 1em;
}
.opcBillingAddress_prefState_edit {
    margin: 5px 0;
}
.opcBillingAddressButtonGroup_edit,
.opcDeliveryAddress_buttonGroup,
.opcDeliveryMethod_buttonGroup_edit {
    padding: 1em 0;
}
.opcDeliveryMethod_hopeDeliveryDateAndLabelGroup_edit,
.opcDeliveryMethod_hopeDeliveryTimeAndLabelGroup_edit {
    margin-bottom: 1em;
}
.opcItem_itemSubTotalPriceAndLabelGroup {
    padding-bottom: 1em;
    margin-bottom: 1em;
}
.opcDeliveryAddressAndDeliveryMethodGroup,
.opcItemList {
    margin-bottom: 0 !important;
    border: none !important;
    padding: 0 !important;
    position: static !important;
}
.opcBillingAddress .opcCommonReferenceLabel {
    width: 70px;
    display: inline-block;
    position: relative;
}
.opcBillingAddress .opcCommonReferenceLabel::after {
    position: absolute;
    right: 0;
}
.opcDeliveryMethod .opcCommonReferenceLabel {
    width: 123px;
    display: inline-block;
    position: relative;
}
.opcDeliveryMethod .opcCommonReferenceLabel::after {
    position: absolute;
    right: 0;
}
.opcCommonRequireLabel {
    color: #da4636 !important;
    font-weight: bold;
}
.opcRemarks_remark_edit {
    width: 100% !important;
}
.opcDeliveryAddressEditDialog_directChangeButtonAndLabelGroup {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 2em;
}
.opcDeliveryAddressEditDialog_directChangeLabel {
    width: 100%;
}
.opcDeliveryAddressEditDialog_directChangeButtonAndLabelGroup .opcCommonButton {
    width: calc(32% - 1em) !important;
}
.opcItem_itemName {
    font-weight: bold;
    font-size: 15px;
}
.opcConfirm_headerErrorMessage {
    width: 100% !important;
    max-width: 800px;
}
.opcRemarks_remark,
.opcRemarks_cartOption {
    margin-left: 0 !important;
    width: 100% !important;
    white-space: normal !important;
}
#sysOpc > form + div {
    margin-bottom: 60px !important;
}
/*
.opcDeliveryMethod_normalShippingDetailAndLabelGroup_edit {
    padding-left: 0 !important;
    margin-left: 0 !important;
    border-bottom: none !important;
}
*/
.opcDeliveryAddress {
    border-bottom: 1px solid #9b9b9b;
    margin-bottom: 1em;
}
.opcDeliveryMethod_hopeDeliveryDateLabel_edit {
    width: 126px;
    display: inline-block;
}
/*
.opcPaymentMethod_edit,
li.opcDeliveryMethod_deliveryMethodAndLabelGroup_edit {
    padding: 10px;
}
*/
.opcPaymentMethod_webCollectSecurityCodeGroup_edit input,
.opcBillingAddress_zipCode_edit {
    max-width: 10em;
}
.opcPaymentMethod_webCollectExpiryDateSelectGroup_edit select {
    width: 6em !important;
}
.opcOrderBackToBasket {
    text-align: center;
}
.opcPoint_usePoint_edit {
    width: 150px;
}
.opcBillingAddress_backButton_edit {
    margin: auto;
}

/* 発送・支払い方法調整 */
label.opcDeliveryMethod_normalShippingAndLabelGroup_edit,
label.opcDeliveryMethod_mailShippingAndLabelGroup_edit,
label.opcPaymentMethod_paymentMethodAndLabelGroup_edit {
    display: block;
    padding: 10px;
}
label.opcPaymentMethod_paymentMethodAndLabelGroup_edit {
    background: #efefef;
}
.opcDeliveryMethod_normalShippingDetailAndLabelGroup_edit,
span.opcDeliveryMethod_mailShoppingComment_edit,
.opcPaymentMethod_paymentMethodDetailGroup_edit {
    margin: 1em;
}
.opcPaymentMethod_fee_edit,
.opcPaymentMethod_account_edit,
.opcPaymentMethod_webCollectCardGroup_edit.opcPaymentMethodContent {
    margin: 1em 0;
}
.opcDeliveryMethod_normalShippingDetailAndLabelGroup_edit,
.opcDeliveryMethod_mailShippingDetailAndLabelGroup_edit {
    border-bottom: none !important;
}

/* 完了ページ調整 */
#sysThanks #sysMain {
    border: none;
}
#sysThanks .sysNavImg {
    display: none;
}
/*
#sysThanks.sysCart .sysBox:nth-of-type(2) div:nth-of-type(1),
#sysThanks.sysCart .sysBox:nth-of-type(2) div:nth-of-type(2) {
    margin-bottom: 1em;
}
*/
#sysThanks #sysMain .sysBox:nth-of-type(3) {
    font-size: 14px;
    text-align: center;  
}
#sysThanks #sysMain .sysBox:nth-of-type(3) div:nth-of-type(2) {
    margin: 1em 0;
}
#sysThanks #sysMain .sysBox:nth-of-type(4) {
    border: none;
}
#sysThanks #sysMain .sysBox p {
    padding: 0;
    line-height: 1.7;
}

/*  フォーム
------------------------------------ */
#sysFormIndex #sysMain,
#sysFormConfirm #sysMain,
#sysFormThanks #sysMain,
.sysMemberRegister #sysMain,
.sysMypage #sysMain,
.sysCart #sysMain {
    max-width: 950px;
    margin: auto;
    padding-bottom: 20px;
}
#sysFormIndex #sysMain h2,
#sysFormConfirm #sysMain h2,
#sysFormThanks #sysMain h2,
.sysMemberRegister #sysMain h2,
#sysMypage #sysMain h2 {
    padding: 15px;
    border-bottom: 1px solid #333;
    font-size: 20px;
}
.sysMemberRegister #sysMain .sysFreeArea,
.sysMemberRegister #sysMain h2 + div {
    padding: 20px 10px;
}
#sysFormIndex #sysMain h2 + p,
#sysFormThanks #sysMain h2 + p {
    display: none;
}
#sysMemberRegisterConfirm  #sysMain > form,
#sysMemberRegisterIndex #sysMain > form,
#sysFormConfirm #sysMain > form,
#sysFormIndex #sysMain > form,
#sysMypageEditMember #sysMain > form,
#sysMypageEditConfirm #sysMain > form,
#sysMypageEditDelivery #sysMain > form,
#sysMypageEditDeliveryinput #sysMain > form {
    padding: 10px;
}

/* submitボタン */
.sysNextSubmit,
.sysButton:not(.btn),
#sysMypageReminder #sysMain input[type=submit] {
    display: block;
    margin: 0 auto;
}
/*
.sysNextSubmit,
#sysMypageReminder #sysMain input[type=submit] {
    width: 300px;
    background: #c44536 !important;
    border: 1px solid #60231c;
    color: #fff !important;
    font-weight: bold;
    letter-spacing: 1px;
}
*/
.sysButton:not(.btn) {
    width: 200px;
    background: #eee;
    border: 1px solid #333;
}
.sysMemberRegister .sysNextSubmit,
#sysMypageEditMember #sysMain .sysNextSubmit {
    margin-top: 50px;
}
#sysFormConfirm #sysMain .sysButton,
#sysMypageReminder #sysMain input[type=submit] {
    margin-top: 20px;
}
/*
#sysMemberRegisterConfirm .sysBackButton {
    color: #000;
}
*/

/* 入力 */
#sysFormIndex .sysFormItem,
.sysMemberRegister .sysFormItem,
.sysMypage .sysFormItem,
.sysMypage .sysFormItem {
    display: flex;
    position: relative;
}
#sysMypageLogin .sysFormItem,
#sysMypageReminder .sysFormItem {
    display: block;
}
#sysFormIndex .sysFormLabel,
.sysMemberRegister .sysFormLabel,
.sysMypage .sysFormLabel,
.sysMypage .sysFormLabel {
    width: 260px;
    padding: 10px;
    font-weight: bold;
}
#sysMypageLogin .sysFormLabel,
#sysMypageReminder .sysFormLabel {
    width: unset;
    padding: unset; 
}
#sysFormIndex .sysRequired {
    position: absolute;
    top: 13px;
    left: 190px;
    font-size: 12px;
}
#sysFormIndex .sysFormField,
.sysMemberRegister .sysFormField,
.sysMypage .sysFormField {
    width: calc(100% - 260px);
}
#sysMypageLogin .sysFormField,
#sysMypageReminder .sysFormField {
    width: unset;
}
#sysFormIndex #sysMain input[type="text"],
#sysFormIndex #sysMain select,
#sysFormIndex #sysMain textarea {
    margin-bottom: 20px
}
.sysMemberRegister .sysPrefStateId select,
.sysMypage .sysPrefStateId select {
    min-width: 120px;
    margin-bottom: 20px;
    border: 1px solid #999;
}
#sysFormIndex #sysMain input[type="radio"] {
    margin: 0px 5px 30px 10px;
}
#sysMypageEditDeliveryinput #sysMain input[type="checkbox"] {
    margin: 10px 10px 20px 20px;
}
#sysMemberRegisterIndex #sysMain input[type="text"],
#sysMemberRegisterIndex #sysMain input[type="tel"],
#sysMemberRegisterIndex #sysMain input[type="email"] ,
#sysMemberRegisterIndex #sysMain input[type="password"],
.sysMypage #sysMain input[type="text"],
.sysMypage #sysMain input[type="tel"],
.sysMypage #sysMain input[type="email"] ,
.sysMypage #sysMain input[type="password"],
.sysMypage #sysMain input[type="number"] {
    margin-bottom: 20px
}
.sysBirthday input {
    width: 60px !important;
}
/* 内容確認 */
#sysFormConfirm .sysFormField,
#sysMemberRegisterConfirm .sysFormField,
#sysMypageEditConfirm .sysFormField {
    min-height: 33px;
    padding: 5px 10px;
    border: 1px solid #999;
    border-radius: 3px;
    background: #f5f5f5;
}
#sysFormConfirm label,
#sysMemberRegisterConfirm label,
#sysMypageEditConfirm label {
    display: block;
    margin: 15px 0 5px !important;
}
#sysMypageEditConfirm .sysFormItem br {
    display: none;
}

/* 送信完了 */
#sysFormThanks #sysMain .complete {
    padding-bottom: 10px;
    color: #197278;
    font-size: 18px;
    font-weight: bold;
}
/* 郵便番号 */
.sysZipcode button,
.sysZipcode .sysFormField {
    display: inline-block;
}
.sysZipcode .sysFormField {
    width: auto !important;
}
.sysZipcode input {
    min-height: 37px;
    width: 10em;
    padding: 6px;
    border: 1px solid #999;
}
.sysZipcode button {
    width: 150px;
    height: 37px;
    border: 1px solid #999;
}
.sysMypage .sysZipcode .sysButton,
.sysMemberRegister .sysZipcode .sysButton {
    margin: 10px;
    padding: 0px;
}
/* パスワード */
.sysMemberRegister .sysMemberPassword,
#sysMypageEditMember .sysMemberPassword {
    flex-wrap: wrap;
}
.sysMemberRegister .sysRequired,
#sysMypageEditMember .sysRequired {
    font-size: 12px;
    font-weight: normal;
}
#sysMemberRegisterConfirm .sysFormField,
#sysMypageEditConfirm .sysFormField {
    font-size: 14px;
    margin: 15px 0;
}
#sysMypageEditMember .sysMemberPassword {
    margin: 20px 0;
}
#sysMypageEditMember .sysMemberPassword h4 {
    font-size: 13px;
    font-weight: normal;
}
#sysMypageEditMember .sysMemberPassword h4::before {
    content: "\FF08";
}
#sysMypageEditMember .sysMemberPassword h4::after {
    content: "\FF09";
}
#sysMypageEditMember .sysMemberPassword .sysMemberPasswordDescription {
    width: 100%;
    margin-bottom: 10px;
}
#sysMypageEditMember .sysMemberPassword  input[type="password"] {
    width: 25em;
}
/* エラーメッセージ */
.sysMemberRegister .sysFormItem .sysErrorMessage,
.sysMypage .sysFormItem .sysErrorMessage {
    position: absolute;
    top: 47px;
    left: 260px;
}
#sysMypageLogin .sysFormItem .sysErrorMessage,
#sysMypageReminder .sysFormItem .sysErrorMessage {
    position: unset;
}
.sysMypage .sysFormItem.sysMemberPassword .sysErrorMessage  {
    top: unset !important;
    bottom: 0px;
}
.sysMemberRegister .sysMemberPassword .sysErrorMessage:nth-of-type(3) {
    top: 134px;
}

/*  マイページ
------------------------------------ */
.sysMypageMajorHeadLine,
.sysMypageMinorHeadLine,
.SysMypageMinorHeadLine {
    padding: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid #333;
    font-size: 20px;
}
.sysMypage .sysMypageMajorHeadLine:not(#sysMypageIndex .sysMypageMajorHeadLine) {
    display: none;
}
.sysMypage .sysFreeArea,
.sysMypage .sysMyPoint,
.sysMypage .sysWithdrawal,
#sysMypageEditConfirm .sysMypageMinorHeadLine + div,
#sysMypageRemindermessage .sysMypageMinorHeadLine + div,
#sys_mypage_edit_web_collect_card .sysMypageMinorHeadLine + div {
    padding: 20px 10px 30px 10px;
}

.sysMypage #sysWrap button[type="submit"],
.sysMypage #sysWrap button[type="button"] {
    padding: 5px;
    border: 1px solid #333;
    background: #fff;
    color: #000;
}
/* ログイン */
.sysMypage #sysMain .sysLoginForm,
#sysMypageReminder .sysRemindForm {
    display: flow-root;
    max-width: 400px;
    margin: 15px auto;
    padding: 20px;
    border-radius: 10px;
    background: #f7f5f5;
}
.sysMypage #sysMain .sysFormLabel {
    font-weight: bold;
}

#sysMypageReminder .sysRemindForm {
    margin-top: 40px;
}


/* ナビゲーション */
#mypage-custom-nav h3 {
    margin-top: 2em;
    font-size: 1.1rem;
    font-weight: bold;
    border-left: 10px solid #ae8450;
    padding-left: 0.5em;
}
.mypage-section {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
    margin-top: 1em;
}
.mypage-section form {
    margin: 0;
}
.mypage-section .sysButton {
    width: 100% !important;
    padding: 1em;
    font-size: 1rem;
    background-color: #ffffff;
    border: 1px solid #c9a96e;
    border-radius: 3px;
    cursor: pointer;
    text-align: center;
    box-sizing: border-box;
    transition: background-color 0.2s, box-shadow 0.2s;
}
.mypage-section .sysButton:hover {
    background-color: #fff8e5;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);
}
.sysMypage input[type="submit"].sysButton[value="戻る"] {
    margin-top: 30px;
}

/* 購入履歴 */
.sysOrderList {
    border: 1px solid #ddd;
    padding: 10px;
    max-height: 400px;
    overflow-y: scroll;
}
.sysOrderList li {
    margin-bottom: 5px;
    padding-bottom: 20px;
}
li.sysOrderHeader {
    background: #dce4ef;
    padding: 5px;
}

/* 購入履歴詳細 */
#sysMypageOrderHistory .sysDeliveryAddressNameKanaGroup {
    display: none;
}

/* 領収書 */
.sysEditReceiptInput {
    max-width: 50em;
    margin: auto;
}
#sysMypageEditReceipt #sysMain .sysButton {
    margin-top: 25px;
}

/* お届け先 */
.sysSelectAddress {
    margin: 20px;
}
.sysOtherAddress {
    padding: 10px;
}

/* お気に入り */
#sysMypageReview .sysItemList .sysCartButton,
#sysMypageAshiato .sysItemList .sysCartButton {
    display: none;
}
#sysMypageReview .sysThumbnail .sysButton,
#sysMypageReview .sysList .sysButton {
    display: inline-block !important;
    height: 35px !important;
    margin-top: 15px !important;
}

/* 退会 */
.sysWithdrawal .sysButton {
    margin-top: 20px;
}
.sysWithdrawal .sysButton:nth-of-type(3) {
    background: #333 !important;
    color: #fff;
}

/* ポイント */
.sysSpecialPoint {
    overflow: hidden;
    letter-spacing: -.4em;
}
.sysSpecialPoint > div:nth-child(2n) {
    width: 60%;
}
.sysSpecialPoint > div {
    display: inline-block;
    letter-spacing: normal;
    padding: 5px 10px;
    border-bottom: 1px solid #d5d5d5;
}
.sysSpecialPoint > div:nth-child(2n+1) {
    width: 40%;
}
/* クーポン */
.sysCoupon {
    border: 1px solid #d5d5d5;
    margin: 10px;
}

/* ====================================
    7. その他
==================================== */

/* 文字 */
.red {
    color: #c90000;
}
/*
.black {
    color: #333;
}
*/
.strong {
    font-weight: bold;
}
.sub {
    font-size: 11px;
    line-height: 1.5;
}
.line1 {
    border-bottom: 1px dotted #c90000;
}
.b16 {
    font-size: 16px;
    font-weight: bold;
}

/* リスト */
.list01,
.list02 {
    padding: 5px 0px;
    margin-bottom: 10px;
    line-height: 1.5;
}
.list01 li {
    list-style-type: decimal;
    margin-left: 35px;
}
.list02 li {
    list-style-type: circle;
    margin-left: 35px;
}
.list01 li + li,
.list02 li + li {
    margin-top: 0.8em;
}
.nested-list {
    margin-top: 0.8em;
}

/* 水平線 */
hr.hr01 {
    margin: 20px 0px;
    border-width: 1px 0 0 0;
    border-style: dashed;
    border-color: #999;
}

/* リンク（削除予定） */
a.external::after {
    content: "";
    position: relative;
    display: inline-block;
    background: url(/img/icon/externallink.svg) no-repeat;
    background-size: contain;
    height: 15px;
    width: 25px;
    top: 1px;
    left: 5px;
}

/* 引用 */
blockquote {
    position: relative;
    padding: 30px 15px 8px 15px;
    margin: 20px 10px;
    box-sizing: border-box;
    font-style: italic;
    background: #efefef;
    color: #555;
}
blockquote:before{
    display: inline-block;
    position: absolute;
    top: 13px;
    left: 15px;
    content: "\f10d";
    font-family: FontAwesome;
    color: #cfcfcf;
    font-size: 28px;
    line-height: 1;
    font-weight: 900;
}
blockquote p {
    padding: 0;
    margin: 10px 0;
    line-height: 1.7;
}
blockquote cite {
    display: block;
    text-align: right;
    color: #888888;
    font-size: 0.9em;
}

/* 枠線 */
.box {
    margin: 15px 0;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 13px;
}
.box-cornsilk {
    background-color: #fff8dc;
}
.box-aliceblue {
    background-color: #f0f8ff;
}
.fs14 {
    font-size: 14px;
}


/* ----------------------------------------------------------------------*/


.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
}
 .mdl-textfield__input{
    border: 1px solid !important;
}

/* 20200624 */
/* フォームページの基本レイアウト*/

#sysDestination #sysMain{
    width: 1080px;
    padding: 20px 150px !important;
}
#sysFormConfirm .sysFormField #sysMemberRegisterConfirm .sysFormField{
  margin: 10px 0 20px !important;
}
#sysFormThanks .completeText{
  margin: 20px 0;
  text-align: center;
  font-size: 15px;
}
#sysFormThanks .completeText a{
  color: #068acc;
  text-decoration: underline;
}
#sysFormIndex .txtBlock{text-align: center;}
#sysMain .sysFormLabel{
  display:block;
}
#sys_mypage_edit_web_collect_card h2,
#sys_mypage_edit_web_collect_card h3 {
    margin: unset;
    line-height: unset;
    font-weight: bold;
}
@media screen and (max-width:600px){
/*  Only Smartphone
------------------------------------------------------------ */

/* ====================================
    SP-1. 基本設定
==================================== */

#sysMain,
#sysAside {
    width: 100% !important;
}
#sysAside {
    margin-top: 0px;
    display: block;
}
.sysCart #sysMain,
#sysItemSearch #sysMain{
  padding:20px 10px 30px;

}
/* ====================================
    SP-2. ヘッダー・フッター
==================================== */

.header_top .sysContent {
    justify-content: center;
    width: 100%;
}
.header_top .h_guide {
    display: none;
}
.h_logo img {
    width: 180px;
    height: auto;
}
.h_btn li a {
    margin-top: 13px !important;
}
.footer_info {
    padding: 15px;
}
.footer_info .sysContent {
    display: block;
}
.footer_info li {
    width: 49%;
    display: inline-block;
}
.footer_info h3,
.footer_info .sns {
    text-align: center;
}
.footer_info .sns ul {
    padding-top: 20px;
}
.footer_info .sns li {
    display: inline;
    margin: 10px;
}

/*ニュースティッカー */
.ticker-item {
    flex-direction: column;
}
.ticker-link {
    margin-left: 0;
}


/* ====================================
    SP-3. メインページ
==================================== */

.header_eyecatch {
    height: 360px;
    background-position: left;
}
.header_eyecatch .h_copy {
    position: inherit;
    width: 100%;
    height: 360px;
    padding-left: 0px;
    text-align: center;
}
.header_eyecatch h1 {
    font-size:18px;
}

/* ブロックのタイトル　*/
.top_section .sysHeadline {
    position: static;
    width: 95%;
}
.top_section .sysHeadline b {
    width: 100%;
    margin-top: 3px;
    padding: 0 80px;
    padding-top: 5px;
    border-top: 1px solid #222222;
    font-size: 12px;
}
.top_section .sysHeadline span {
    margin: 0;
    padding: 0;
}
.top_section .sysHeadline::before {
    height: 0px;
}

/* 商品ブロックの表示 */
/* .newarrival li,
.newarrival_outlet li, */
.related li{
    width: 48% !important;
}
#top .sysFuncItemBlock .slick-dots {
    bottom: -25px;
}
#top .sysFuncItemBlock .slick-dots li {
    width: 15px !important;
}

/* バナータンナー */
.top_cat_type ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
.top_cat_brands ul {
    grid-template-columns: repeat(3, 1fr);
}
.top_cat_brands li {
    padding: 5px;
}

/* お知らせ */
.news_wrap {
    display: block;
    width: 100%;
}
.top_news1 {
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
    margin-bottom: 10px;
}
#sysInformation .sysNewsDetail p {
    margin-left: 0px;
}
#sysInformation .sysNewsDetail,
.list_news2 ul {
    padding: 10px !important;
}
.info_buy,
.info_img {
    padding: 10px;
}
.info_buy li,
.info_img li {
    display: block;
    width: 100%;
}
.info_buy li {
    margin-bottom: 10px;
}
.news_days {
    flex-direction: column;
}
.news_days-row {
    flex-direction: row;
    border-top: none;
}
.news_days:first-of-type {
    border-top: 1px solid #999;
}
.news_days .header {
    border-bottom: none;
}
/* カテゴリ */
.sysFuncItemCategory {
    width: 100% !important;
    padding: 0;
}
.sysFuncItemCategory ul {
    display: flex;
    flex-wrap: wrap;
}
.sysFuncItemCategory li,
.sysThumbnail li {
    width: 50% !important;
}
.sysCategoryDescription {
    display: block;
}
.sysCategoryDescription .text {
    width: 100% !important;
}
.category-info-wrap {
    display: block;
}
 /* カレンダー */
.calendar .sysContent {
    display: block;
}
.calendar iframe {
    width: 100%;
}
.cal_text {
    padding-left: 10px !important;
}

/* ====================================
    SP-4. 商品ページ
==================================== */

.item_inner > div {
    width: 100% !important;
    padding: 0 1%;
}
.item_inner .sysItemImages,
.item_inner .sysDescription {
    width: 100% !important;
}
.sysImageListSimple {
    min-height: 300px;
}
/*
#sysItemDetail .sysFormVariation {
    min-width: 138px;
}
*/

#sysItemDetail .sysVariationRetailPrice {
    margin-left: 6px;
}
#sysItemDetail #half_table .sysFormVariation {
    min-width: inherit;
}
#sysItemDetail .sysRetailPriceValue {
    font-size: 18px;
}
/* 商品画像 */
.sysImageListSimple li {
    width: 20%;
}

/* 簡易商品説明 */
#sysItemDetail {
    padding: 0px !important;
}
#sysItemDetail .sysItemName {
    margin-bottom: 0;
}
#sysItemDetail .sysItemName h1 {
    font-size: 18px;
}

/* 商品詳細説明 */
.item_ac .ac_content {
    padding: 10px;
}
#sysItemDetail .t_content {
    padding: 0;
}
.imgfit img {
    width: 100%;
    height: 250px;
    border: 1px solid #CCC;
    border-radius: 10px;
    object-fit: cover;
}
.item_text2 {
    display: block;
    margin: 20px 0;
    padding: 0 !important;
}
.item_text {
    padding: 10px !important;
}
.color_wrap {
    display: block;
    margin: 20px 0;
    padding: 2% !important;
}
.item_text2 .grid_left {
    text-align: center;
}
.item_text2 .item_spec dd {
    text-align: left;
}
.item_text2 .grid_right {
    margin-left: 0;
    padding: 2%;
}
.item_text2 .grid_right3 {
    margin-left: 0px;
}
#itempage_detail h2 {
    margin: 60px 0 10px 0;
    font-size: 18px;
    letter-spacing: normal;
}
.getsample {
    margin: 15px auto;
}
#sysExplanation .colorvariation {
    justify-content: center;
    column-gap: 20px;
    row-gap: 10px;
}
#sysExplanation .colorvariation .color {
	width: 90px;
	height: 60px;
}
.ribbon {
    width: 90px;
    height: 60px;
}
.ribbon span {
    right: 25px;
    top: 5px;
}
.ribbon2 {
    width: 89px;
    height: 65px;
}
.ribbon2 span {
    right: -5px;
    bottom: 15px;
}
.itempage_pellealvegetale .ac_content {
    background-position: center;
    background-size: contain;
}
.tag_spec {
    display: block;
}
.tag_spec > div {
    width: 100%;
    padding: inherit;
}

/* 生成りヌメ比較 */
.itempage_ecru {
    overflow-x: auto;
}

.itempage_ecru table {
    min-width: 600px;
}

/* マストロット */
.ms_item_title {
    padding-left: 20px;
}
.ms_item_text {
    padding: 0px 20px 20px;
}
.ms_color .color {
    width: 25px;
    height: 25px;
}
/*
.detail_ms {
    letter-spacing: normal;
    text-align: center;
}
.detail_ms dt {
    width: 100%!important;
    text-align: center!important;
    background: #eee;
}
.detail_ms dd {
    width: 100%!important;
    margin-bottom: 10px;
}
.detail_ms dt::after {
    content: "";
    padding: 0;
}
*/
.ms_tanner {
    text-align: center;
}

/* アウトレット */
.outlet_text {
    padding: 10px 5px;
}

/* ====================================
    SP-5. フリーページ
==================================== */

.mainCnt .indent20 {
    margin-left: 5px;
}
.dl_res dl {
    display: block;
    width: 100%;
}
.dl_res dt,
.dl_res dd {
    width: 100%;
    padding: 5px;
}
.dl_res dd {
    padding-bottom: 10px;
}
.dl_res dl,
.dl_res dt,
.dl_res dd {
    border: none;
}
.mainCnt .tit1 {
    padding: 0px;
}
.al_img img {
    width: 50%;
    padding-right: 0px;
}

/* ご利用ガイド */
.guidenav-main li {
    width: 90%;
    font-size: 16px;
}
.guidenav-sub li {
    font-size: 14px;
    background: #ddd;
}
.step {
    padding: 10px 10px;
}
.guide_menu .sysContent {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #ccc;
    padding-top: 15px!important;
}
.guide_menu .sysContent div {
    width: 50%;
}
.guide p {
    padding:0 5px;
}
.guide h1 {
    font-size: 26px;
}
.guide h2 {
    letter-spacing: 0;
}
.guide_flex {
    display: block;
}
.guide_flex img {
    width: 100%;
}
.guide .textbox.size01,
.guide .textbox.size02 {
    width: 95%;
}
.guide table {
    width: 100%;
}
.guide table th,
.guide table tr,
.guide table td {
    font-size: 12px;
}
.guide table th.cn {
    width: 20%;
}
.img30p img {
    width: 50%;
}

/* FAQ */
.tab-menu {
    display: block;
}
.guide .t_menu {
    margin: 10px;
}
.guide .t_content {
    padding: 10px;
}
.faq dd {
    padding: 15px 0;
}

/* イタリア植物タンニンなめし革協会 */
.itaveg_header {
    display: block;
    height: 500px;
}
.itaveg_header h1 {
    padding: 30px 10px;
    font-size: 20px;
}
.itaveg_header p {
    padding: 10px;
    font-size: 14px;
}
h2.itaveg {
    margin: 30px 0px;
    font-size: 20px;
}
.itaveg_wrap {
    display: block;
}
.itaveg_inner_img {
    width: auto;
}
.itaveg_inner_text {
    padding: 10px;
}
.itaveg_inner_text .item-btn a {
    max-width: unset;
}

/* ショールーム */
.sw-item,
.sw-img {
    display: block;
}
.sw-img {
    width: 100%;
}
.box-showroom {
    padding: 10px !important;
}

/* ====================================
    SP-6. カート・フォーム
==================================== */
#sysRegi #sysMain {
    display: block;
    margin: 10px auto;
}
#sysRegi #sysPurchaseAuthMember {
    margin-bottom: 15px;
}
#sysBasket .sysItemListArea .sysBox img.sysProductImg {
    width: 40%;
    float: left;
}
#sysBasket .sysItemListArea .sysBox .sysProduct {
    width: 58%;
    float: right;
}
#sysBasket #sysMain .sysItemListArea .sysBox {
    display: block !important;
}
/*
#sysBasket .sysItemListArea .sysBox hr + div {
    text-align: right;
}
*/
#sysBasket .sysItemListArea .sysBox .sysSubTotalArea {
   text-align: left;
}

/*  ワンページカート
------------------------------------ */
.sysOpcBody img {
    max-width: 100%;
}
.sysOpcBody div#sysWrap {
    margin: 20px auto 0;
}
.sysCart #sysMain,
.sysOpcBody #sysMain {
    border: none;
}
.sysOpcBody div#sysMain {
    padding: 0 3%;
    margin-bottom: 0;
  /*  margin-top: 0; */
}
.opcCommonInputSelect,
.opcCommonButton {
    width: 49% !important;
}
.opcConfirm_inputStatus,
.opcConfirm_inputStatus_disable,
.opcConfirm_order,
.opcConfirm_order_disable {
    width: 94% !important;
}
.opcConfirm_inputStatus {
    margin-bottom: .5em;
}
.opcItem_increaseNumButton_edit,
.opcItem_decreaseNumButton_edit {
    width: 40px !important;
}
.opcCommonButtonGroup {
    margin-top: 1em;
}
.opcBillingAddress_genderMaleAndLabelGroup_edit,
.opcBillingAddress_genderFemaleAndLabelGroup_edit {
    width: 30% !important;
}
.opcBillingAddress_prefState_edit {
    margin: 5px 0;
    width: 100% !important;
}
.opcBillingAddress .opcCommonReferenceLabel {
    width: 70px;
    display: inline-block;
    position: relative;
}
.opcBillingAddress .opcCommonReferenceLabel::after {
    position: absolute;
    right: 0;
}
.opcDeliveryMethod .opcCommonReferenceLabel {
    width: 123px;
    display: inline-block;
    position: relative;
}
.opcDeliveryMethod .opcCommonReferenceLabel::after {
    position: absolute;
    right: 0;
}
.opcBillingAddress_addressGroup {
    width: calc(100% - 80px) !important;
}
.opcRemarks_remark_edit {
    width: 100% !important;
}
.opcDeliveryAddressEditDialog_directChangeButtonAndLabelGroup .opcCommonButton {
    margin: 0 0 .5em !important;
    width: 100% !important;
}
.opcOrderSummary_totalPriceLabel {
    font-size: 14px !important;
}
.opcDeliveryMethod_normalShippingDetailAndLabelGroup_edit,
span.opcDeliveryMethod_mailShoppingComment_edit,
.opcPaymentMethod_paymentMethodDetailGroup_edit {
    margin: 1em 0;
}
.opcDeliveryMethod_mailShoppingComment_edit {
    padding-left: 0em !important;
}

/* フォーム */
#sysFormIndex #sysMain,
#sysFormConfirm #sysMain,
#sysFormThanks #sysMain,
.sysMemberRegister #sysMain,
.sysMypage #sysMain {
    width: 100% !important;
}
#sysFormIndex .sysFormItem,
.sysMemberRegister .sysFormItem,
.sysMypage .sysFormItem {
    display: block !important;
}
#sysFormIndex .sysFormField,
.sysMemberRegister .sysFormField:not(.sysZipcode .sysFormField),
.sysMypage .sysFormField:not(.sysZipcode .sysFormField) {
    width: 100% !important;
}
#sysFormIndex .sysFormLabel,
.sysMemberRegister .sysFormLabel,
.sysMypage .sysFormLabel {
    width: 100% !important;
    padding: 0px !important;
}
#sysFormIndex .sysRequired {
    top: 0 !important;
    left: 180px !important;
}
.sysMemberRegister .sysNextSubmit {
    margin-top: 30px !important;
}
.sysFormItem .sysErrorMessage {
    position: unset !important;
}
.sysMypageNav > form {
    width: 90% !important;
}

/* マイページ */
#sysMypageLogin .sysLoginButton{
    width: 100%;
}
#sysMypageOrderHistory .sysOrderHeader {
    display: flex;
    flex-direction: column;
}
#sysMypageOrderHistory .sysDatetime { order: 1; }
#sysMypageOrderHistory .sysTotalPrice { order: 3; text-align: left; }
#sysMypageOrderHistory .sysShopOrderNo { order: 2; }
#sysMypageOrderHistory .sysPrintDeliveryNote { order: 4; }
#sysMypageOrderHistory .sysCallPrintReceipt { order: 5; }

/* ====================================
    SP-7. その他
==================================== */
.box04 {
    padding: 10px;
}
}
@media screen and (min-width:601px) and (max-width:1080px){
/*  Only Tablet
------------------------------------------------------------ */

/* ====================================
    TB-1. 基本設定
==================================== */

#sysMain,
#sysAside {
    width: 100% !important;
    /* float: none !important; */
}
/*
#sysAside {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    font-size: 13px;
}
*/

/* ====================================
    TB-2. ヘッダー・フッター
==================================== */

.header_top .h_guide {
    display: none;
}
.header_top .sysContent {
    justify-content: center;
}
.sp_login li {
    width: 45%;
    display: inline-block;
}
.h_logo img {
    width: 200px;
    height: auto;
}
.footer_info .sns p {
    font-size: 12px;
}

/* ====================================
    TB-3. メインページ
==================================== */

#top .sysItemName {
    height: auto;
}
.top_cat_type ul {
    gap: 30px;
    padding: 10px;
}

/* ====================================
    TB-4. 商品ページ
==================================== */

.color_wrap .grid_right .item-btn a {
    margin: unset;
}

#sysExplanation .colorvariation {
    column-gap: 20px;
    row-gap: 10px;
}
.ms_color .color{
	width: 26px;
}
.bgskew_wrap {
    margin: auto;
    height: initial;
    overflow: hidden;
}
.bgskew {
    margin: initial;
    padding: 10px;
    transform: initial;
}
.bgskew_title {
    display: flex;
    justify-content: center;
    position: relative;
    top: initial;
    transform: initial;
}
.bgskew_title .title1 {
    font-size: 20px;
}
.bgskew_title .title2 {
    margin-left: 10px;
    margin-top: 4px;
    font-size: 16px;
}
.bgskew_text {
    width: 100%;
    margin-left: initial;
    margin-top: 15px;
    color: #333;
}
.detail_ms {
    letter-spacing: 0.1em;
}
.detail_ms dt {
    width: 25%;
}
.detail_ms dd {
    width: 75%;
}
#sysItemDetail .sysFormVariationName,
#sysItemDetail .sysFormVariation {
    height: 38px;
    padding: 5px;
}
.comp_ecru .table td {
    width: unset;
    max-width: 250px;
}
#sysItemDetail .sysFormVariation {
    min-width: 138px;
}
#half_table .sysFormVariationName {
    min-width: 53px;
}
#sysItemDetail #half_table .sysFormVariation {
    min-width: inherit;
}
#sysItemDetail #half_table .sysVariationRetailPrice {
    display: block;
    margin-left: 0px;
}

/* ====================================
    TB-5. フリーページ
==================================== */

.mainCnt {
    padding: 0 20px
}

/* ご利用ガイド */
.guide {
    padding: 0 10px;
}
.guide_menu .sysContent {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #ccc;
    padding-top: 15px!important;
}
.guide_menu .sysContent div {
    width: 33%;
}
.itaveg_content {
    padding: 0 20px;
}
.itaveg_wrap {
    display: block;
}

/* ====================================
    TB-6. カート・フォーム
==================================== */
#sysBasket .sysItemListArea .sysBox hr {
    display: none;
}

#sysFormIndex #sysMain,
#sysFormConfirm #sysMain,
#sysFormThanks #sysMain,
.sysCart #sysMain,
.sysMypage #sysMain,
.sysMemberRegister #sysMain,
#sysItemSearch div#sysMain{
    width: 95% !important;
    padding: 20px !important;
}

.sysCart #sysMain,
.sysOpcBody #sysMain{
    border: none;
}
.sysOpcBody div#sysMain {
    padding: 0 4%;
}
.opcConfirm_inputStatus,
.opcConfirm_inputStatus_disable,
.opcConfirm_order,
.opcConfirm_order_disable {
    width: 94% !important;
}
}
@media screen and (min-width:1081px){
/*  Only PC
------------------------------------------------------------ */
.sp {
    display: none;
}
.sysItemList {
    min-height: 600px;
}

#sysBasket .sysItemListArea .sysBox hr {
    display: none;
}

.color_wrap .grid_right .item-btn a {
    margin: unset;
}
}
/* #END_OF_RESOURCE_FILE */
