@charset "utf-8";

/************************************************
import css
************************************************ */
@import url("custom.css");
@import url("ukiyo_base.css");

html body div.env_message {
    display: none !important;
}

.env_message_blank {
    height: 0 !important;
}

body {
    line-height: 1.6 !important;
}

.sp {
    display: none;
}

/* トップページ */
#container {
    width: 100%;
    max-width: 1300px;
    min-width: 980px;
    padding: 0 80px;
}

.LC_Page_Index #container {
    width: 100%;
    max-width: 1300px;
    min-width: 980px;
}

#main_column h2,
.recommend_list h2,
#main_column .history_list h2 {
    margin: 0;
    border-bottom: none;
    text-align: center;
    padding-bottom: 1rem;
    font-size: 24px;
    border: none !important;
}


/* 商品ステータス表示 */
.image_status_noshi,
.image_status_few,
.image_status_sale,
.image_status_recommended,
.image_status_limitation,
.raku2_image_status_9,
.raku2_image_status_10,
.raku2_image_status_11,
.raku2_image_status_12 {
    display: none;
}

div.listrightbloc ul.status_icon {
    width: 100%;
    left: 8px;
}

div.listrightbloc h3 {
    padding-top: 8px;
    line-height: 2rem !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    overflow: auto !important;
    white-space: normal !important;
}

div.listrightbloc .sale_price {
    color: var(--main-color);
    font-weight: normal;
    line-height: 14px;
    margin-bottom: 2px;
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
}

.list_area .listphoto img {
    border-radius: 0.375rem;
    aspect-ratio: 1/1;
    object-fit: contain;
}

form[name^="product_"] {
    padding-right: 2rem;
    padding-left: 0;
    width: calc(100% / 5);
}

/* 商品詳細ページ */
.plg_Raku2_LC_Page_Products_Detail #container {
    width: 100%;
    max-width: 1300px;
    min-width: 980px;
}

.slick-slide img {
    width: 980px;
}

#main_column.colnum2 {
    float: none !important;
    width: auto;
    padding-left: 255px;
}

#main_column.colnum1 #mypagecolumn,
.custom_page #faqarea {
    width: 100%;
}

#detailarea .stock_notify_btn #stock_notify_btn_added {
    width: 100%;
    padding: 14px;
}

.fa {
    padding-left: 0px !important;
}

/*---------------------------------------
headerエリア
---------------------------------------*/

.raku2_theme01 #header_wrap {
    border-bottom: 1px solid #ccc;
    margin-bottom: 30px;
}

.raku2_theme01 #header_wrap #site_description {
    max-width: 1500px;
    margin: 8px auto;
}

.raku2_theme01 #header_wrap #header {
    max-width: 1500px;
    display: flex;
    align-items: end;
    justify-content: space-around;
    margin-bottom: 20px;
}

.raku2_theme01 .-flex0 {
    flex-grow: 0;
}

.raku2_theme01 .-flex1 {
    flex-grow: 1;
}

.raku2_theme01 .-flex2 {
    flex-grow: 2;
}

.raku2_theme01 .-flex3 {
    flex-grow: 3;
}

.raku2_theme01 .-box {
    width: 100%;
}

.raku2_theme01 .logo_area {
    margin: 0;
    width: auto;
    text-align: left;
}

.raku2_theme01 .logo_area img {
    max-height: 40px;
}

/* ------------検索ボックス------------ */

.raku2_theme01 #header_wrap #header .block_outer #search_area {
    padding: 0 0 3px 0;
}

.raku2_theme01 #header_wrap #header .block_outer #search_area form#search_form {
    overflow: hidden;
    display: flex;
    align-items: center;
    border-radius: 20px;
    padding: 0 0 0 4%;
    background-color: #eeeeee;
}

.raku2_theme01 #header_wrap #header .block_outer #search_area form#search_form select {
    width: 100px;
    border: none;
    background-color: #eeeeee;
    outline: 0;
}

.raku2_theme01 #header_wrap #header .block_outer #search_area form#search_form input[type='text'],
.raku2_theme01 #header_wrap #header .block_outer #search_area form#search_form input[type='password'] {
    width: 95%;
    border: none;
    padding: 2px;
    background-color: #eeeeee;
    outline: 0;
}

.raku2_theme01 #header_wrap #header .block_outer #search_area .submit_btn {
    background-image: url('../img/common/submit-img.png');
    background-repeat: no-repeat;
    background-color: #aaaaaa;
    background-size: 28%;
    background-position: center;
    border: none;
    width: 80px;
    height: 38px;
    cursor: pointer;
    transition: background 1s, color 1s;
}

.raku2_theme01 #header_wrap #header .block_outer #search_area .submit_btn:hover {
    background-color: #ccc;
}

/* -------------カートエリア------------- */

.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea {
    display: flex;
    align-items: end;
    justify-content: right;
}

.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea .userarea_name {
    text-align: right;
    margin: 0 10px 0 20px;
    font-size: 90%;
}

.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea .userarea_cart_btn,
.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea .userarea_new_btn,
.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea .userarea_mypage_btn,
.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea .userarea_login_btn {
    position: relative;
    font-size: 78%;
    margin-left: 2px;
    width: 62px;
}

.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea .userarea_cart_btn img {
    position: absolute;
    left: 20px;
    top: -19px;
    width: 27px;
}

.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea .userarea_cart_btn .quantity {
    position: absolute;
    top: -36px;
    left: 10px;
    background: var(--accent-color);
    border-radius: 50%;
    width: 20px;
    height: 20px;
    text-align: center !important;
    line-height: 20px;
    z-index: 9;
}

.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea .userarea_new_btn img {
    position: absolute;
    left: 17px;
    top: -25px;
    width: 30px;
}

.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea .userarea_mypage_btn img {
    position: absolute;
    left: 18px;
    top: -25px;
    width: 25px;
}

.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea .userarea_login_btn img {
    position: absolute;
    left: 14px;
    top: -23px;
    width: 28px;
}

/* -------------特典------------- */

.raku2_theme01 #header_wrap #header_benefits a {
    background-color: #EFE56E;
    margin: 0 auto;
    border-radius: 8px;
    color: #1D1D1D;
    width: 98%;
    max-width: 1500px;
}

.raku2_theme01 #header_wrap #header_benefits a h2 {
    background-color: var(--accent-color);
    text-align: right;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    padding: 8px 2vw;
    margin-right: 2vw;
}

.raku2_theme01 #header_wrap #header_benefits a,
.raku2_theme01 #header_wrap #header_benefits a ul li {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: row;
}

.raku2_theme01 #header_wrap #header_benefits a ul {
    display: flex;
    align-items: center;
}

.raku2_theme01 #header_wrap #header_benefits a ul li {
    font-weight: 600;
    font-size: 0.8rem;
    margin: 5px 0;
}

.raku2_theme01 #header_wrap #header_benefits a ul li span {
    margin: 0 0.5vw;
    background-color: #fff;
    border-radius: 5px;
    padding: 8px 4px;
    width: 30px;
    text-align: center;
}

.raku2_theme01 #header_wrap #header_benefits a ul li span img {
    max-width: 22px;
}

/* -------------headerナビ------------- */

.raku2_theme01 #header_wrap #gloval_navi {
    border-bottom: none;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1500px;
    margin: 18px auto;
    font-size: 90%;
    width: 98%;
}

.raku2_theme01 #header_wrap #gloval_navi>ul {
    width: auto;
    margin: 0;
    display: flex;
    justify-content: space-between;
}

.raku2_theme01 #header_wrap #gloval_navi .shoppingt_btn>li>a,
.raku2_theme01 #footer_wrap #footer #info_area .shoppingt_btn a {
    background-color: var(--main-color);
    border-radius: 30px;
    color: #fff !important;
    padding: 12px 1.5vw;
    margin: 0 5px;
    min-width: 7vw;
    display: block
}

.raku2_theme01 #header_wrap #gloval_navi .shoppingt_btn li.header_cat_btn a:after {
    color: #fff;
}

.raku2_theme01 #header_wrap #gloval_navi .use_btn>li>a {
    position: relative;
    padding: 0 0 0 1em;
    margin: 0 0 0 1.5vw;
}

.raku2_theme01 #header_wrap #gloval_navi .use_btn>li>a::before {
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    width: 0px;
    height: 0px;
    border: 0.3em solid transparent;
    border-left: 0.4em solid var(--main-color);
    content: "";
}

#gloval_navi .header_catwrap ul.tree1-outer {
    top: 40px;
    left: 42%;
}

/*---------------------------------------
mainエリア
---------------------------------------*/

.LC_Page_Index #container {
    max-width: 1500px;
    margin: 0 auto;
}

.LC_Page_Index div#main_column>div {
    margin-top: 15px;
}

.bx-wrapper img {
    border-radius: 4px;
}

#leftcolumn .raku2_theme01 .block_outer #category_area h2,
#main_column .raku2_theme01 #main_category_area h2,
#main_column .raku2_theme01,
#main_column .history_list h2,
#main_column .raku2_theme01 .block_outer #news_area h2,
.raku2_theme01 #footer_wrap #footer #footer_category_area h2,
.raku2_theme01 #footer_wrap #footer #use_area h2,
.raku2_theme01 #footer_wrap #footer #info_area h2,
.raku2_theme01 .block_outer #exclusive_benefits_area h2,
.raku2_theme01 .block_outer #choose_area h2 {
    background-color: transparent;
    color: var(--main-color);
    font-size: 140%;
    font-weight: 600;
    text-align: center;
    padding: 10px;
    margin: 0;
    border: none;
}

.raku2_theme01 #footer_wrap #footer #footer_category_area h2,
.raku2_theme01 #footer_wrap #footer #info_area h2,
.raku2_theme01 #footer_wrap #footer #use_area h2 {
    font-size: 115%;
}

#leftcolumn .raku2_theme01 .block_outer #category_area h2 span,
#main_column .raku2_theme01 #main_category_area h2 span,
#main_column .raku2_theme01 .recommend_list h2 span,
#main_column .history_list h2 span,
#main_column .raku2_theme01 .block_outer #news_area h2 span,
.raku2_theme01 #footer_wrap #footer #footer_category_area h2 span,
.raku2_theme01 .block_outer #exclusive_benefits_area p,
.raku2_theme01 .block_outer #choose_area p {
    font-size: 80%;
    color: #aaa;
    margin: 0 15px;
    font-weight: 600;
}

#main_column .raku2_theme01 .recommend_list {
    margin-bottom: 0;
}

#main_column .raku2_theme01 .recommend_list .block_body,
.product_lists {
    padding: 0 0 10px;
    display: grid;
    grid-template-rows: repeat(1, 1fr);
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

#main_column .raku2_theme01 .block_outer #news_area dl.newslist {
    display: flex;
    align-items: center;
}

#main_column .raku2_theme01 .block_outer #news_area .news_contents {
    overflow-y: hidden;
}

#main_column .raku2_theme01 #main_category_area ul {
    display: flex;
    align-items: flex-start;
    margin-bottom: 30px;
    text-align: center;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
}

#main_column .raku2_theme01 #main_category_area ul li {
    margin-bottom: 30px;
}

#main_column .raku2_theme01 #main_category_area ul img {
    max-width: 185px;
    margin: 10px;
}

#main_slide_image .bxslider li img {
    width: 980px;
}

/*---------------------------------------
leftエリア
---------------------------------------*/


#leftcolumn {
    margin-left: 1%;
    padding-bottom: 4rem;
}

.side_column .block_body {
    border: none;
}

/* -------------カテゴリ------------- */

#leftcolumn .raku2_theme01 .block_outer #category_area li.level1 p a {
    position: relative;
    display: block;
    padding: 12px 10px;
    color: var(--main-color);
    text-decoration: none;
}

#leftcolumn .raku2_theme01 .block_outer #category_area li.level1 p a:before {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #847563;
    border-right: solid 2px #847563;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -4px;
    transform: rotate(45deg);
}

#leftcolumn .raku2_theme01 .block_outer #category_area li.level1:nth-child(odd) {
    background: #F0EBE6
}

/* -------------カレンダー------------- */

#leftcolumn .raku2_theme01 .block_outer #calender_area table {
    width: 100%;
    margin: 20px auto;
}

#leftcolumn .raku2_theme01 .block_outer #calender_area table .month {
    /*  background: #847563;
  border-radius: 30px;
  padding: 5px 0px;
  margin: 10px 0;*/

    background: transparent;
    border-radius: 0px;
    padding: 5px 0px;
    margin: 10px 0;
    color: #111111;
    font-weight: 600;
    border-bottom: 1px solid;
}

#leftcolumn .raku2_theme01 .block_outer #calender_area th {
    border-bottom: 1px solid transparent !important;
    background-color: transparent !important;
}

#leftcolumn .raku2_theme01 .block_outer #calender_area table td {
    border-bottom: none !important;
    border-right: none !important;
    padding: 6px;
}

#leftcolumn .raku2_theme01 .block_outer #calender_area .off {
    /*  color: grey;
  background-color: #f0ebe5;*/
    color: white;
    background-color: #333;
    border: 1px white solid;
}

#leftcolumn .raku2_theme01 .block_outer #calender_area .today {
    /*  background-color: #efe56e;
  font-weight: bold;*/
    font-weight: normal !important;
    background-color: initial !important;
}


/*---------------------------------------
fooderエリア
---------------------------------------*/

.raku2_theme01 #footer_wrap {
    border-top: none;
    background-color: #e4dfda;
    padding: 0;
}

.raku2_theme01 #footer_wrap #footer {
    max-width: 1500px;
    width: 98%;
    display: flex;
    align-items: flex-start;
    margin: 40px auto;
}

.footer-links ul li a {
    /*  color: var(--char-color); */
    color: #111111;
}

/* -------------バナーエリア------------- */

.raku2_theme01 #footer_wrap #footer_banner {
    padding-top: 30px;
    padding-bottom: 30px;
    background-color: #fff;
}

.raku2_theme01 #footer_wrap #footer_banner #banner_area {
    max-width: 1500px;
    margin: 0 auto;
}

.raku2_theme01 #footer_wrap #footer_banner #banner_area div {
    margin: 10px;
}

.raku2_theme01 #footer_wrap #footer_banner #banner_area div img {
    width: 100%;
}

.raku2_theme01 #footer_wrap #copyright #company_area .logo_area {
    margin: 0 30px 0 0;
}

/* -------------fooderナビ------------- */

.raku2_theme01 #footer_wrap #footer #category_area,
.raku2_theme01 #footer_wrap #footer #use_area {
    padding: 0 4vw 0 0;
}

.raku2_theme01 #footer_wrap #footer #info_area {
    margin-left: auto;
    text-align: center;
    background-color: #fff;
    border-radius: 30px;
    padding: 18px;
}

.raku2_theme01 #footer_wrap #footer #info_area h2 {
    text-align: center;
}

.raku2_theme01 #footer_wrap #footer #info_area .tel {
    font-size: 210%;
    font-weight: 600;
    margin-top: -12px;
}

.raku2_theme01 #footer_wrap #footer #info_area p {
    font-size: 90%;
    margin-bottom: 20px;
}

.raku2_theme01 #footer_wrap #footer ul {
    display: flex;
    flex-direction: column;
    background: none;
    text-align: left;
}

.raku2_theme01 #footer_wrap #footer ul li,
.raku2_theme01 #footer_wrap #footer ul li:first-child {
    border: none;
    margin: 0;
    padding: 0;
}

.raku2_theme01 #footer_wrap #footer ul li a {
    display: block;
    padding: 6px 10px;
    text-decoration: none;
}

.raku2_theme01 #footer_wrap #copyright {
    padding-top: 30px;
    padding-bottom: 30px;
}

.raku2_theme01 #footer_wrap #copyright #company_area,
.raku2_theme01 #footer_wrap #footer_banner #banner_area {
    display: flex;
    align-items: flex-start;
    margin-bottom: 30px;
    justify-content: center;
    text-align: left;
}


/*---------------------------------------
加盟店ページ
---------------------------------------*/

#main_column #undercolumn #undercolumn_entry h2.title {
    font-size: 180%;
    border-bottom: 3px solid #857663;
    margin: 30px auto 60px;
    width: 18%;
}

#main_column #undercolumn #undercolumn_entry form {
    margin-top: -2rem;
}

#main_column #undercolumn #undercolumn_entry .progressbar {
    /* display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-evenly;
  align-items: flex-start;
  margin: 30px auto; */
    display: none;
}

#main_column #undercolumn #undercolumn_entry .progressbar li {
    position: relative;
}

#main_column #undercolumn #undercolumn_entry .progressbar li:after {
    position: absolute;
    z-index: -1;
    top: 50px;
    left: 0;
    width: 360px;
    height: 1px;
    content: '';
    background-color: #857663;
}

#main_column #undercolumn #undercolumn_entry .progressbar li.active {
    background-color: #847563 !important;
    color: #ffffff !important;
}

#main_column #undercolumn #undercolumn_entry .progressbar li:last-child:after {
    content: none;
}

#main_column #undercolumn #undercolumn_entry .progressbar li.item {
    background-color: #F0EBE6;
    text-align: center;
    color: #847563;
    font-weight: 600;
    padding: 15px 20px;
    border-radius: 8px;
    width: 60px;
}

#main_column #undercolumn #undercolumn_entry .progressbar li.item span {
    display: block;
}

#main_column #undercolumn #undercolumn_entry table,
#main_column #undercolumn #undercolumn_entry table#entry_input th,
#main_column #undercolumn #undercolumn_entry table#entry_input td {
    border: none;
    background-color: transparent;
}

#main_column #undercolumn #undercolumn_entry table#entry_input input[type='text'],
#main_column #undercolumn #undercolumn_entry table#entry_input input[type='password'],
#main_column #undercolumn #undercolumn_entry table#entry_input select {
    height: 40px;
    border: none;
    background-color: #eeeeee;
}

#main_column #undercolumn #undercolumn_entry table#entry_input td .box300 {
    width: 90%;
}

#main_column #undercolumn #undercolumn_entry table#entry_input td .box30,
#main_column #undercolumn #undercolumn_entry table#entry_input td .box150 {
    width: 50%;
}

#main_column #undercolumn #undercolumn_entry table#entry_input td .box10,
#main_column #undercolumn #undercolumn_entry table#entry_input td .box120 {
    width: 25%;
}

#main_column #undercolumn #raku2_kiyaku_text p {
    text-align: center;
}


/*追加CSS*/
#main_column h2.title {
    display: none;
}

#main_column h2 span {
    font-size: 32px;
    font-weight: 500;
    margin-right: 12px;
}

/*利用規約*/
.LC_Page_Order table {
    border-top: none;
    border-right: none;
    border-left: none;
}

.LC_Page_Order table th {
    font-weight: 600;
}

.LC_Page_Order table th,
.LC_Page_Order table td {
    padding: 40px 20px;
    border-top: none;
    border-bottom: solid 1px #EAEAEA;
    border-right: none;
    border-left: none;
    background-color: #fff;
}

/*会社概要*/
.company_wrap table {
    order-bottom: none;
    border-right: none;
    border-left: none;
    border-top: none;
}

.company_wrap table th {
    font-weight: 600;
    background-color: #fff;
}

.company_wrap table th,
.company_wrap table td {
    border-right: none;
    border-left: none;
    border-top: none;
    padding: 20px 40px;
}


/* お問い合わせ*/

/* ツールチップ*/
[class^="raku2_validate_bubble"] {
    background-color: #ee0101;
    padding: 5px 18px;
    border-radius: 4px;
}

[class^="raku2_validate_bubble"]::before {
    background-color: #ee0101;
}


select[name="pref"] {
    background: #FFFFFF;
    border: 1px solid #EAEAEA;
    padding: 10px 25px;
}

a.btn-normal.zip_auto_btn {
    padding: 10px 20px;
}

.raku2_validate_box {
    display: none !important;
}

input[type='text'],
input[type='password'] {
    border: solid 1px #e6e6e6;
    border-radius: 8px;
}

#undercolumn_contact p:first-child {
    margin-top: 40px;
}

#raku2_contact_product {
    display: none;
}

#raku2_contact_form,
#raku2_contact_form th,
#raku2_contact_form td,
#form1 table tr,
#form1 table th,
#form1 table td {
    border-right: none;
    border-left: none;
    border-top: none;
    padding: 20px;
}

.favoriteitems td {
    padding: 10px 0px !important;
}

#raku2_contact_form th,
#form1 table th {
    background-color: #fff !important;
    font-weight: 600;
}

#raku2_contact_form input {
    width: 100%;
    height: 40px;
}

textarea[name="contents"] {
    width: 100%;
}



/* よくある質問*/
.faq-wrap {
    display: grid;
    gap: 1.5em;
    padding-block-start: 2em;
    max-inline-size: 60em;
    margin: auto;
}

.faq-title {
    font-size: 2em;
    text-align: center;
}

.faq-title:before {
    content: "- FAQ -";
    display: block;
    font-size: 0.5em;
    font-weight: normal;
    color: #666;
}

.accordion {
    display: flex;
    flex-direction: column;
    font-family: "Sora", sans-serif;
    max-width: 991px;
    min-width: 320px;
    margin: 0 auto;
}

.accordion h1 {
    font-size: 32px;
    text-align: center;
}

.accordion-item {
    margin-top: 16px;
    border: 1px solid #fcfcfc;
    border-radius: 6px;
    background: #ececec;
}

.accordion-item .accordion-item-title {
    position: relative;
    margin: 0;
    display: flex;
    width: 100%;
    font-size: 15px;
    cursor: pointer;
    justify-content: space-between;
    flex-direction: row-reverse;
    padding: 14px 20px 14px 48px;
    box-sizing: border-box;
    align-items: center;
}

.accordion-item .accordion-item-desc {
    display: none;
    font-size: 14px;
    line-height: 22px;
    font-weight: 300;
    color: #444;
    padding: 20px;
    box-sizing: border-box;
}

.accordion-item input[type="checkbox"] {
    position: absolute;
    height: 0;
    width: 0;
    opacity: 0;
}

.accordion-item input[type="checkbox"]:checked~.accordion-item-desc {
    display: block;
}

.accordion-item input[type="checkbox"]:checked~.accordion-item-title .icon:after {
    content: "-";
    font-size: 20px;
}

.accordion-item input[type="checkbox"]~.accordion-item-title .icon:after {
    content: "+";
    font-size: 20px;
}

.accordion-item:first-child {
    margin-top: 0;
}

.accordion-item .icon {
    margin-left: 14px;
}

.accordion-item-desc {
    background: #fff;
}

.accordion-item-desc span {
    color: var(--accent-color);
    font-weight: 600;
    font-size: 20px;
}

.accordion-item-desc p {
    /*  line-height: 30px; */
    /*  margin-top: 10px; */
}

.faq_content-wrap {
    margin-bottom: 4rem;
}

.faq_content-wrap .btn {
    margin: 0;
    min-width: 48%;
    background: var(--accent-color);
    color: #fff;
}

label.accordion-item-title:before {
    content: 'Q';
    position: absolute;
    left: 0;
    padding: 20px;
    color: var(--accent-color);
    font-weight: 800;
    font-size: 20px;
}


/* カラー指定*/
.main-bk {
    background-color: #333;
}

.main-c {
    color: var(--main-color);
}

.base-c {
    color: var(--base-back-color);
}

.base-bk {
    background-color: var(--base-back-color);
}


/* レフトナビ*/
#leftcolumn .raku2_theme01 .block_outer #category_area li.level1:nth-child(odd) {
    background-color: var(--base-back-color) !important;
}

#container .side_column .block_outer {
    padding: 0 0 10px;
}

.box145 {
    height: 32px !important;
    border-radius: 4px !important;
    padding-left: 4px !important;
}

input.box140 {
    height: 32px;
}

/* TOPキーワード検索*/
.keyword-section {
    background-color: #f7f7f7 !important;
    border: solid 1px #f7f7f7;
    border-radius: 6px;
}

#main_column .keyword-section h2 {
    font-size: 24px !important;
    color: var(--main-color);
    font-size: 140%;
    font-weight: 600;
    text-align: left;
}

.keyword-section div {
    margin: auto;
    width: max-content;
}

.keyword-section i {
    left: 6%;
}

.keyword-section .keyword-input {
    padding-left: 2rem;
}

.keyword-input {
    border-radius: 8px;
    width: -webkit-fill-available
}

.fa-search {
    top: 0;
    bottom: 0;
    left: 12px;
    font-size: 14px !important;
    height: max-content !important;
}

/* TOPページ*/
.nav_content a:hover,
.nav_content span:hover {
    color: var(--accent-color);
}

.navigation .quantity {
    z-index: 1;
}


button.slick-prev.slick-arrow,
button.slick-next.slick-arrow {
    display: none !important;
}

.LC_Page_Index #container,
.LC_Page_User #container,
.LC_Page_Order #container,
.LC_Page_Guide_Privacy #container,
.plg_Raku2_LC_Page_Products_List #container,
.LC_Page_Contact #container,
.LC_Page_Entry #container,
.plg_Raku2_LC_Page_Products_List #container,
.LC_Page_Contact_Complete #container,
.LC_Page_AbstractMypage #container {
    max-width: 1300px;
    width: 100%;
}

.bnr-slider .slick-slide {
    width: 640px !important;
}

#leftcolumn {
    width: 200px !important;
}

.history_list h2,
.recommend_list h2,
#main_category_area h2,
#news_area h2 {
    font-size: 24px !important;
    /* border-bottom: solid 2px #000 !important; */
    margin-bottom: 1rem !important;
}

.history_list h2 span,
.recommend_list h2 span,
#main_category_area h2 span,
#news_area h2 span {
    font-size: 20px !important;
    font-weight: normal !important;
}

.rss {
    display: none;
}

.quantity {
    left: 32%;
    color: #DC2626;
    font-size: 20px;
    top: -20%;
}

#main_column .recommend_list h3 a.addEllipsis,
#main_column .ranking_list h3 a.addEllipsis,
#main_column .history_list h3 a.addEllipsis,
#main_column .related_list h3 a.addEllipsis¥ {
    font-size: 14px;
}

#price04_notax_default_ {
    font-size: 18px;
}

#main_column .block_body div.normal {
    text-align: left;
}

#recommend_area .block_body div.sale_price,
#main_column .recommend_list .block_body div.sale_price,
#main_column .ranking_list .block_body div.sale_price,
#main_column .history_list .block_body div.sale_price,
#main_column .related_list .block_body div.sale_price,
#whobought_area .product_item div.sale_price {
    text-align: left;
}

span#price02_notax_default_,
span#teiki_first_price_notax_default_ {
    font-size: 18px;
}

.productContents .sale_price span.price {
    font-size: 12px;
    font-weight: 800;
    color: var(--main-color);
}


#price04_notax_default_ {
    font-weight: 600 !important;
}


#price04_inctax_default_,
#price04_inctax_dynamic_ {
    font-weight: normal;
    font-size: 14px;
}

.product_item>.productImage img {
    border-radius: 0.375rem;
}

.product_item>.productContents h3 {
    line-height: 2rem !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    margin-bottom: .75em;
    text-align: left;
}

#main_column #recommend_area .product_item,
#main_column .recommend_list .product_item,
#main_column .ranking_list .product_item,
#main_column .history_list .product_item,
#whobought_area .product_item {
    vertical-align: top;
    width: 100% !important;
    padding: 0 !important;
}


/* 導入事例*/


/*カテゴリ（アコーディオン）*/
#category_area ul#tree1 li a.toggle {
    display: none;
}

#category_area ul#tree1 li a {
    padding: 0 0.5rem !important;
}

#category_area ul.ul_tree li a {
    width: fit-content;
}

.tree_img_outer {
    width: auto;
}

#category_area ul.ul_tree li {
    background: #fff;
}

/* ログイン*/
#main_column:has(.member-login-wrap) {
    background: #f3f3f3;
    padding: 4rem;
    width: max-content;
    margin: 0 auto 20px;
}

#undercolumn #undercolumn_login .login_area .inputbox .formlist {
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: 1fr;
    gap: 8px;
}

#undercolumn #undercolumn_login .login_area .inputbox .formlist input {
    width: 100%;
    border-radius: 4px;
}

#undercolumn #undercolumn_login .login_area .inputbox .formlist dt {
    width: 100%;
    text-align: start;
}

#undercolumn #undercolumn_login .login_area .inputbox .formlist .login_memory {
    margin-top: 12px;
}

#undercolumn #undercolumn_login .login_area .inputbox .formlist .login_memory input {
    width: unset;
    margin-right: 6px;
}

#login_mypage .login_area_registered h3 {
    display: none;
}

input[name="CardNo"],
input[type="password"],
input[type="SecurityCode"],
input[name="card_name1"],
input[name="card_name2"],
input[name="SecurityCode"],
input[name="login_email"] {
    height: 36px;
}

.raku2_theme01 #header_wrap #header .block_outer #header_login_area #header_userarea .userarea_new_btn {
    width: fit-content !important;
}

div#undercolumn_login .login_area .inputbox {
    background: none;
    padding: 0;
    margin: 0;
}

/* パスワードの再発行*/
div#windowcolumn {
    margin: auto;
}

div#windowcolumn h2 {
    border-bottom: 0;
}

div#window_area {
    margin: 1rem auto;
    padding: 2rem 0;
    background: #f3f3f3;
}

div#window_area p.information {
    margin-bottom: 20px;
    max-width: 80%;
    margin: auto;
}

div#window_area #forgot {
    border: 0px solid #ccc;
}

div#window_area #forgot p {
    display: grid;
    text-align: left;
}

div#window_area #forgot p input {
    width: auto;
    height: 2rem;
}


/* WPカテゴリの非表示 */
dd:has(.none) {
    visibility: hidden !important;
    width: 0;
    height: 0;
}

a:has(.none) {
    visibility: hidden !important;
}

a has:(#wp_cat) {
    visibility: hidden;
}

.none,
.wp_cat {
    visibility: hidden;
}

[id^="wp_cat_"] {
    visibility: hidden;
}

/* お役立ちコンテンツ */
.top_useful {
    display: grid;
    /* grid-template-rows: repeat(2, 1fr); */
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

.top_useful_wrap h2,
.top_case_wrap h2,
.top_genre_wrap h2,
.item-category-wrap h2 {
    background-color: transparent;
    color: var(--main-color);
    font-size: 140%;
    font-weight: 600;
    text-align: center;
    padding: 10px;
    margin: 0;
    border: none;
    font-size: 24px !important;
    /* border-bottom: solid 2px #000 !important; */
    margin-bottom: 1rem !important;
}

.top_useful_wrap span,
.top_case_wrap span,
.top_genre_wrap span,
.item-category-wrap span,
#main_column .keyword-section span {
    color: #aaa;
    margin: 0 15px;
    font-weight: 600;
    font-size: 20px !important
}

.top_case {
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

.top_case_wrap .top_case img {
    height: 160px;
    object-fit: cover;
}

.top_genre {
    display: flex;
    flex-wrap: wrap;
}

.top_genre div {
    width: calc(100% / 3);
    position: relative;
    padding: 10px;
}

.top_genre div img {
    width: 100%;
    max-height: 130px;
    object-fit: cover;
    background-position: center;
}

.top_genre div p {
    position: absolute;
    top: 50%;
    left: 50%;
}

/* お知らせ */
.news_item {
    display: flex;
    align-items: center;
    border-bottom: solid 1px #e5e5e5;
    padding: 12px 0px;
}

.news_date {
    padding: 0 10px;
    font-size: 90%;
}

.news_name {
    margin-left: 12px;
}

.news_name a:hover {
    color: var(--accent-color);
}

/* パンくずリスト */
.raku2_breadcrumbs {
    padding: 8px 0;
}

.raku2_breadcrumbs a {
    color: #939393;
}

.raku2_breadcrumbs li::after {
    content: '/';
    padding: 0 10px;
}

/* ページネーション */
.pagenumber_area .change a {
    font-weight: 600;
    color: #aaa;
}

.pagenumber_area .change select {
    color: var(--main-color);
}

.pagenumber_area .change {
    color: var(--accent-color);
}

.navi a,
.raku2_navi a {
    margin: 0 3px;
    padding: 6px;
}

/* 商品一覧 */

.plg_Raku2_LC_Page_Products_List #container {
    width: 100%;
    max-width: 1300px;
    min-width: 980px;
}

.item-list-title {
    position: relative;
}

.item-list-title img {
    width: 100%;
    max-height: 120px;
    object-fit: cover;
}

.item-list-title h1 {
    position: absolute;
    top: 30px;
    left: 5%;
    font-size: 40px;
    color: #fff;
    font-weight: bold;
}

.item-category-content {
    display: flex;
    background-color: var(--base-back-color);
}

.item-category-links {
    padding: 12px;
    background-color: #fff;
    margin: 8px;
}

.item-category-links h3 {
    padding: 8px 0px;
    /* border-bottom: 1px solid #000; */
}

.item-category-links p {
    padding: 8px 0px;
}

.item-category-links a {
    color: var(--accent-color);
}

form#search_form #search_keyword_top input#search_kw {
    height: 2.5rem;
    padding-left: 12px;
    margin-right: 4px;
    font-size: 12px;
    margin-bottom: 6px;
    border-radius: 8px;
}

form#search_form #search_keyword_top select {
    height: 36px;
    background-color: #646464;
    color: #fff;
    padding: 7px;
    width: 145px;
}

form#search_form #search_keyword_top input#btn_kwd_search {
    height: 36px;
    width: 24%;
    border: 1px solid var(--accent-color);
    transition: .4s;
}

form#search_form #search_keyword_top input#btn_kwd_search:hover {
    background: #fff !important;
    color: var(--accent-color);
}

form#search_form #search_price_area input {
    width: 70px !important;
}

form#search_form #search_keyword_area h3 {
    color: #000;
    padding: 0 !important;
}

#search_keyword_bottom {
    display: flex;
    padding: 10px 0px;
}

form#search_form #search_keyword_bottom p#search_no_only {
    display: flex;
    flex-direction: column-reverse;
    padding: 0 20px;
    margin-top: 8px;
    margin-bottom: 8px;
}

input#search_deselect_kw {
    margin: 8px 0;
    height: 2.5em;
    border-radius: 6px;
}

#search_no_only label {
    margin-bottom: 8px;
}

.listrightbloc #price02_notax_default_8,
.listrightbloc #price02_notax_default_9 {
    font-size: 18px;
}

.listrightbloc .sale_price .normal {
    line-height: 2;
}

.listrightbloc .sale_price .normal .price {
    padding-right: 2px;
}

/* フッターカテゴリリスト */

.footer-category-list_left h4,
.footer-category-list_center h4,
.footer-category-list_right h4 {
    border-bottom: 1px solid #000;
    padding: 0 20px;
    font-size: 16px;
    font-weight: 600;
    line-height: 2;
}

.footer-category-list_left ul>li>a,
.footer-category-list_center ul>li>a,
.footer-category-list_right ul>li>a {
    word-break: break-all;
}

.footer-category-list h2 {
    text-align: center;
    background-color: transparent;
    color: var(--main-color);
    font-size: 140%;
    font-weight: 600;
    text-align: center;
    border: none;
    font-size: 24px !important;
    margin-bottom: 1rem !important;
}

.footer-category-list span {
    color: #aaa;
    font-weight: 600;
    font-size: 20px !important;
    text-align: center;
    padding-bottom: 24px;
}



/* フッターコンテンツ */
.footer-content-item-wrap {
    background-color: #f7f7f7;
}

.footer-content-item-wrap,
.footer-content-item-second {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
}

.footer-content-item-second .footer-content-item .footer-content-item_flex {
    grid-template-rows: 1fr;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
}

.footer-content-item h2 {
    text-align: center;
    background-color: transparent;
    color: var(--main-color);
    font-size: 140%;
    font-weight: 600;
    text-align: center;
    border: none;
    font-size: 24px !important;
    margin-bottom: 1rem !important;
}

.footer-content-item span {
    color: #aaa;
    font-weight: 600;
    font-size: 20px !important;
    text-align: center;
    padding-bottom: 24px;
}

.footer-content-item_flex {
    max-width: 1300px;
    margin: auto;
}

/* 商品詳細ページ */

#product_movie iframe {
    width: 100%;
    display: block;
}


#main_column.colnum1 div#detailleftbloc {
    padding-right: 20px;
}

.loupe_wrapper {
    padding-bottom: 24px;
    min-height: 380px;
    margin-bottom: 24px;
}

#detailarea ul.status_icon {
    order: -2;
    margin-bottom: 0;
}

#main_column .raku2_product_name {
    font-size: 24px;
    order: -1;
    font-size: 20px;
    line-height: 1.6;
    color: var(--main-color);
}

div#detailrightbloc.detaildescriptionbloc form {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 4px;
}

div#detailarea .main_comment {
    font-style: normal;
    font-weight: 300;
    font-size: 14px;
    line-height: 130%;
    color: #9d9d9d;
    order: -2;
    margin-bottom: none;
}

#detailarea .sale_price+.unit {
    margin: 0;
}

#detailarea .product_code {
    border: none;
    padding: 0;
    line-height: 2;
    margin-bottom: 0px;
}

#main_column.colnum1 #detailrightbloc {
    width: 48%;
}

#main_column.colnum1 #detailleftbloc {
    height: fit-content;
    position: sticky;
    top: 140px;
    min-height: 380px;
    width: 46%;
    min-width: 262px;
}

#main_column.colnum1 div#detailleftbloc .slides_container ul.slides {
    position: sticky;
    width: 100%;
    top: 150px;
}

#main_column.colnum1 div#detailleftbloc .slides_container {
    overflow: inherit;
    height: 100%;
}


.raku2_price02_zero_hide #price02_title_default,
.raku2_price02_zero_hide .price02_notax_default,
.raku2_price02_zero_hide .price02_inctax_default,
.raku2_price02_zero_hide .price,
div#detailarea .sell_kikan {
    font-weight: 600;
    font-size: 16px;
}

div#detailarea .product_code dt {
    font-weight: 600;
    font-size: 14px;
    color: #868686;
}

div#detailarea .product_code dd {
    font-size: 14px;
    padding-left: 4px;
    letter-spacing: 2px;
    font-weight: 500;
    color: #868686;
}


div#detailarea .normal_price dt {
    font-size: 14px;
    padding-right: 4px;
    color: #868686;
    margin-bottom: 0px;
}

div#detailarea .normal_price .price {
    font-weight: 600;
    font-size: 14px;
    color: var(--accent-color);
}

div#detailarea .raku2_price02_zero_hide .price02_notax_default {
    font-size: 28px !important;
}

div#detailarea .raku2_price02_zero_hide .price02_inctax_default {
    font-size: 16px;
}

div#detailarea .sale_price {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

#detailarea .deliv_fee .not_include {
    background: none;
    font-weight: 600;
    color: var(--accent-color);
}

div#detailarea p#deliv_msg_3 {
    font-weight: 600;
}

#detailarea .deliv_date {
    margin: 0 0 0px 0;
}

#detailarea .sell_kikan {
    margin-bottom: 0px;
}

#detail_type_a .detaildescriptionbloc .cart_area {
    margin-bottom: 0px;
    max-width: unset;
    width: 100%;
    padding: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.detaildescriptionbloc .raku2_price02_zero_hide #price02_title_default {
    padding-right: 4px;
}

.detaildescriptionbloc .raku2_price02_zero_hide .point {
    margin: 0 !important;
    padding: 0 !important;
}

.detaildescriptionbloc .raku2_price02_zero_hide .point .pt_title {
    font-weight: 600;
    font-size: 16px;
}

.detaildescriptionbloc .raku2_price02_zero_hide .point #point_default {
    font-size: 26px;
    color: var(--accent-color);
    font-weight: 500;
    letter-spacing: 1px;
}

.detaildescriptionbloc .raku2_price02_zero_hide .point #point_dynamic {
    margin-left: 4px;
}

.detaildescriptionbloc .maker {
    font-size: 16px;
    padding-bottom: 4px;
}

.detaildescriptionbloc .maker dd {
    padding-left: 6px;
}


#detailarea .quantity {
    /* width: unset;
  margin: revert-layer;
  padding: 0 1rem; */
}

#detailarea .quantity {
    left: 0;
    color: var(--main-color) !important;
    margin: 0;
}

#cartbtn_default div:first-child {
    margin-right: 0 !important;
}

#detailarea .favorite_btn {}

#detailarea .favorite_btn a {
    width: 100%;
    padding: 14px;
}

#detailarea .quantity dt {
    padding-right: 8px;
    font-weight: 600;
    font-size: 18px;
}

#detailarea .classlist_chkbox {
    background-color: var(--base-back-color);
    color: var(--base-char-color);
    padding: 24px;
    margin-top: 12px;
}

#detailrightbloc .classlist_chkbox .chk_class_title {
    font-weight: 600;
    line-height: 2;
    font-size: 16px;
    color: var(--main-color);
}

#detailrightbloc .classlist_chkbox select {
    width: 100%;
    font-size: 14px;
    line-height: 1.3;
    padding: 8px;
    border-radius: 4px;
    margin-top: 4px;
}

select {
    padding: 5px !important;
    font-size: 14px !important;
}

/* 関連カテゴリ */

#detailarea .relative_cat {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

#detailarea .relative_cat dd {
    margin-left: 0;
}

#detailarea .relative_cat dd a {
    color: var(--accent-color);
}

/* カートエリア */

#cartbtn_default {
    display: block;
    width: 100%;
}

#undercolumn_cart .empty .attention {
    color: var(--accent-color);
}

#detailarea .cartin,
#detailarea .cart_area_col01 .stock_notify_btn,
#detailarea .cart_area_col01 .favorite_btn {
    grid-column: span 2;
}

#detailarea .cart_area_col01 .stock_notify_btn {
    padding: 0;
}

#detailarea .cartin_btn a #cart {
    width: 100%;
}

#detailarea .cart_area {
    max-width: 100%;
    width: 100%;
    padding: 0;
    background: none !important;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

#detailarea .cart_area .attention {
    padding-left: 0px !important;
    /* margin: auto; */
}

#detailarea .cart_area_col01 .ask_btn {
    padding: 0;
}

#detailarea .stock_notify_btn {
    padding: 0;
}

#detailarea .stock_notify_btn a {
    width: 100%;
    padding: 14px 0; 
}

#detailarea .cart_area_col01 .favorite_btn {
    padding: 0;
}

#detailarea .ask_btn a,
#detailarea .ask_btn a:visited {
    padding: 14px;
}

#detailarea .ask_btn a {
    width: -webkit-fill-available;
}

#detailarea .cart_area_col01 .panf_btn {
    padding: 0;
}

#detailarea .panf_btn a,
#detailarea .panf_btn a:visited {
    padding: 14px;
}

#detailarea .cart_area_col01 .quantity dd input {
    padding: 6px 12px;
    border-radius: 8px;
    width: 48px;
    height: 36px;
    font-size: 18px;
}

#detailarea .panf_btn a,
#detailarea .panf_btn a:visited {
    width: unset !important;
}

div#undercolumn_cart .point_announce {
    background: none;
    color: var(--main-color);
    border: solid 0px;
    display: none;
}

/* 商品詳細ページ下部 */
.product-specification-wrap h3 {
    font-size: 16px;
    font-weight: 600;
    line-height: 2;
    border-bottom: solid 1px;
    color: var(--flow-back-color);
}

.product-specification-wrap h4 {
    font-weight: 600;
    line-height: 2;
}

.product-specification-column_3 ul li {
    list-style: inherit;
}

.product_flow .list-inside li {
    list-style: auto;
    list-style-position: inside;
    font-size: 16px;
    font-weight: 600;
}

.product_flow .list-inside p {
    font-weight: normal;
    font-size: 14px;
}

.product_document {
    /* margin-bottom: 40px; */
}

.product-specification-movie iframe {
    width: 100%;
    padding: 12px;
}

.product_spec table th,
.product_spec table td {
    background-color: var(--base-back-color);
    padding: 16px;
}

.product_spec table tr:nth-child(odd) td {
    background-color: var(--accent-color);
}

.product-specification-column_bottom table th {
    background-color: var(--accent-color);
    padding: 16px;
}

.product_introduction li img {
    height: 200px;
    object-fit: cover;
}

/* タブ */
.tabs {
    /* position: -webkit-sticky; */
    /* For Safari */
    /* position: sticky; */
    top: 0;
    background-color: #fff;
    padding: 10px;
    display: flex;
    justify-content: space-around;
    z-index: 1000;
}

a.tab {
    color: #1D1D1D;
    border-bottom: 1px solid var(--base-line-color);
    text-decoration: none;
    padding: 10px 20px;
    transition: background-color 0.3s;
    width: 100%;
    text-align: center;
    transition: .4s;
    font-size: 16px;
    font-weight: 800;
}

.tab:hover,
.tab.active {
    border-bottom: 2px solid var(--accent-color);
    color: var(--accent-color) !important;
}

.tab.disabled {
    pointer-events: none;
    color: grey !important;
}

section {
    padding: 50px 20px;
    margin: 20px 0;
}

section h2 {
    margin-top: 0;
}

/* メディアクエリ: 768px以下のデバイス対応 */
@media (max-width: 768px) {
    .tab {
        padding: 10px;
        font-size: 16px;
    }

    section {
        padding: 30px 10px;
    }
}

/* メディアクエリ: 480px以下のデバイス対応 */
@media (max-width: 480px) {
    .tab {
        padding: 8px;
        font-size: 14px;
    }

    section {
        padding: 20px 5px;
    }
}

/* MYページ*/

input[type="submit"],
input[type="button"] {
    border-radius: 4px !important;
}

input[type='text'], input[type='password'] {
    margin-right: 5px !important;
}

/* お知らせ */
#mycontents_area .mypage_news_mail p {
    text-align: left;
}

#mycontents_area .mypage_news_mail h4 {
    margin: 0px;
    border-bottom: none;
    text-align: left;
    font-size: 14px;
}

#mycontents_area .mypage_notice h3 {
    margin-bottom: 0px;
    font-size: 16px;
    background: none;
}

/* お知らせポップアップ */
.featherlight .featherlight-close-icon {
    line-height: 30px;
    width: 30px;
}

/* マイページレフトナビ */
.left-nav_list_style li {
    border-bottom: dotted 1px var(--base-line-color);
}

/* マイページお気に入りリスト */
th.alignC {
    display: none;
}

/* 購入履歴一覧 */
#mycontents_area[class^="customer_"] #search_keyword_area {
    background: #f7f7f7;
    padding: 1rem 2rem;
}

div#mycontents_area #search_order_date {
    display: flex;
}

.ui-datepicker-trigger {
    width: 20px;
    object-fit: contain;
    margin-right: 8px;
}

input#search_order_sdate {
    min-width: 20%;
    background-color: #fff;
}

input#search_order_edate {
    background-color: #fff;
    margin-left: 8px;
    min-width: 20%;
}

#mycontents_area[class^="customer_"] #search_keyword_top input#search_kw {
    height: 40px;
    background: #fff;
    border-radius: 2px;
    padding-left: 2%;
}

#mycontents_area[class^="customer_"] #search_keyword_top input#btn_sales_search {
    height: 40px;
    border: 1px solid var(--base-line-color);
    text-align: center;
    transition: .5s;
    border-radius: 2px;
    font-weight: 600;
}

#mycontents_area[class^="customer_"] #search_keyword_top input#btn_sales_search:hover {
    border: 1px solid var(--accent-color);
    background: var(--accent-color) !important;
    color: #fff !important;
    opacity: 1 !important;
}



/* 購入履歴詳細 */


div#mycontents_area .mycondition_area span {
    line-height: 2;
}

div#mycontents_area div.mycondition_area .btn {
    margin: auto 0;
    padding: 0;
    border: none;
}

div#mycontents_area div.mycondition_area p.btn:hover {
    background: none !important;
    border: none;
}

div#mycontents_area div.mycondition_area {
    width: 100% !important;
}



/* 見積もり履歴一覧 */
#mypagecolumn .customer_sales #search_keyword_area #search_estimate_date {
    display: flex;
}

input#search_estimate_sdate {
    background-color: #fff;
}

#mypagecolumn .customer_sales #search_keyword_area input#search_estimate_edate {
    background-color: #fff;
}

#mypagecolumn .customer_sales #search_keyword_area div#search_workflow_stage {
    margin: 10px auto;
}

#search_keyword_top div#search_workflow_stage label input {
    margin-right: 4px;
}

#search_keyword_top div#search_workflow_stage label input[type="checkbox"].checkbox:before {
    opacity: 1;
}

#search_keyword_top div#search_workflow_stage .checkbox:after {
    border: 1px solid #bbb !important;
    background: #fafafa;
    top: 14px !important;
    left: 0 !important;
    width: 15px !important;
    height: 15px !important;
}

#search_keyword_top div#search_workflow_stage label input[type="checkbox"].checkbox:after {
    background: var(--accent-color);
}

/* マイページレフトナビ */
.mypage-customer_point span {
    font-size: 20px;
}

/* マイページ */
.nav_list_style li.active {
    background-color: #ffcc00;
    /* アクティブなリストアイテムの背景色 */
}

#mypagecolumn h3 {
    text-align: center;
}

#mycontents_area section.profile {
    display: none;
}

#customer_info {
    border-bottom: none;
}

#customer_info .customer_detail #account_info .account_change_bloc h3 {
    line-height: 1.5;
    font-size: 1rem !important;
    padding: 0.75rem 0 !important;
    border-bottom-width: 1.6px !important;
    border-color: #676767;
}

#customer_info .customer_detail p {
    width: 100%;
    margin-left: 0;
}

#topcolumn {
    margin-bottom: 3rem;
}

.order_history_list a.nav_btn:hover,
.estimate_history_list a.nav_btn:hover {
    border: 1px solid var(--accent-color);
    background: var(--accent-color) !important;
    color: #fff !important;
    opacity: 1 !important;
}

.order_history_list .nav_btn i,
.estimate_history_list .nav_btn i {
    display: none;
}

.order_history_list a.nav_btn,
.estimate_history_list a.nav_btn {
    border: 1px solid var(--base-line-color);
    padding: 12px 25px;
    text-align: center;
    display: block;
    width: 220px;
    transition: .5s;
    border-radius: 2px;
    font-weight: 600;
}

.order_info .raku2_mypage_top_order_date_label,
.order_info .raku2_mypage_top_order_hasso_date_label,
.order_info .raku2_mypage_top_order_subtotal_label,
.order_info .raku2_mypage_top_order_id_label {
    font-weight: 600;
}

.raku2_mypage_top_order_date p,
.raku2_mypage_top_order_hasso_date p,
.raku2_mypage_top_order_subtotal p,
.raku2_mypage_top_order_id p {
    font-size: 14px;
}

.order_info .order_shipping_wrap .order_shipping p,
.order_info .order_shipping_wrap .order_shipping span {
    font-size: 12px;
}

.order_detail_info .order_item .item_bloc .item_image {
    min-width: 128px;
}


.order_history_list .order_detail_info .order_item .item_bloc {
    display: flex;
}

.plg_raku2_history_other_cnt {
    color: var(--accent-color);
    text-decoration: underline;
}


.mini {
    font-size: 100% !important;
}

#customer_info .customer_detail #account_info .account_change_bloc li {
    padding: 10px 0;
    margin: 0;
}

.flow_area:before {
    content: "CSV一括注文・クイックオーダー";
    font-size: 18px;
    font-weight: 800;
    margin: 0 auto;
}

/* クイックオーダー */
img.astep {
    display: none;
}

div.astep1_3_csv::after,
div.astep2_3_csv::after {
    width: 33%;
}

div.astep3_3_csv::after {
    width: 66%;
}

div.astep1_3_csv,
div.astep2_3_csv,
div.astep3_3_csv,
div.astep4_3_csv {
    margin: auto;
    width: 100%;
}

.astep3_csv div {
    min-width: 33%;
    margin: auto;
}

.upload_order .tabs {
    display: block;
    position: relative;
    box-shadow: none;
    box-shadow: none;
    padding: 0;
}

.upload_order .tab_content {
    border: solid 1px var(--base-line-color);
}

#mypagecolumn #undercolumn_shopping h3 {
    color: var(--main-color);
}

.btn_area.btn_type_def li a {
    margin-top: auto;
    margin-right: 2px;
    margin-bottom: auto;
    margin-left: 2px;
    font-size: 120%;
}

.btn_area.btn_type_def input {
    margin-top: auto;
    margin-right: 2px;
    margin-bottom: auto;
    margin-left: 2px;
}

#button_lower .btn_area ul {
    gap: 0px;
}

button.raku2_incomplete {
    margin-top: auto !important;
    margin-right: 2px !important;
    margin-bottom: auto !important;
    margin-left: 2px !important;
}

/* 初めての方へ */
#undercolumn #undercolumn_entry .progressbar .item {
    width: unset !important;
}

#undercolumn #undercolumn_entry .progressbar {
    justify-content: space-between !important;
}

#customer_info .customer_detail #account_info {
    margin: auto;
    width: 100%;
    padding: 0;
}

/* ヘッダー */
.guest_message {
    font-weight: 600;
}

.nav-contact-btn svg {
    display: block;
    margin: 4px auto;
}

.nav-phone-number {
    align-items: center;
    padding: 0 12px;
}

.nav-phone-number p {
    font-size: 18px;
    font-weight: 500;
    padding-left: 4px;
    margin-bottom: 0 !important;
    line-height: 0.7;
}

/* カテゴリ一覧 */
.layout_uppertext .categories .categories-two img {
    height: 260px;
    object-fit: cover;
}

.layout_uppertext .categories .categories-three img {
    height: 160px;
    object-fit: cover;
}

.layout_uppertext .categories .categories-four img {
    height: 120px;
    object-fit: cover;
}

/* はじめてのかたへ */
.beginners_guide_warp .btn {
    background-color: var(--accent-color);
    color: #fff;
}


/* ご利用ガイド */
.order-flow-wrap h2 {
    font-size: 24px;
}

.order-flow-wrap h3.circle {
    color: var(--accent-color);
    font-size: 16px;
    font-weight: bold;
    padding-bottom: 10px;
}

.user-guide_wrap .user-guide_content .btn {
    border: 1px solid var(--base-line-color);
    padding: 12px 25px;
    min-width: 30%;
    text-align: center;
    display: block;
    width: fit-content;
    transition: .5s;
    border-radius: 2px;
    font-weight: 600;
    margin-top: 8px;
}

.user-guide_wrap .user-guide_content .btn::after {
    display: none;
}

.user-guide_content .user-guide-inner .asterisk {
    padding-left: 1rem;
}

.user-guide_content .user-guide-inner .asterisk li {
    position: relative;
    margin-top: 4px;
    list-style: disc;
}


.user-guide_content .user-guide-inner h4 {
    color: #333;
    margin-top: 0px;
}

.user-guide_content .user-guide-inner p,
li {
    line-height: 30px;
}

.user-guide_wrap {
    margin-bottom: 2rem;
}

.user-guide_wrap .btn {
    min-width: calc(100% / 3 - 4px);
    background-color: #ffffff;
    color: #444;
    margin: 0;
    position: relative;
    border: none;
    border-bottom: 1px solid #d1d1d1;
    border-radius: 0px;
}

.user-guide_wrap .btn::after {
    content: "↓";
    position: absolute;
    right: 10px;
}

.user-guide_wrap .user-guide_content h2 {
    font-size: 20px !important;
    text-align: center !important;
}

.user-guide_wrap .user-guide_content .user-guide-heading {
    text-align: left !important;
    background: #f3f3f3;
    line-height: 2;
    padding: 0px 10px !important;
    margin-top: 2rem !important;
}

.user-guide_wrap .user-guide_content .user-guide-inner {
    border-bottom: solid 1px #f3f3f3;
    padding-bottom: 1rem;
}

.user-guide_wrap .user-guide_content img {
    border: solid 1px #f3f3f3;
}

.user-guide_table th,
.user-guide_table td {
    border-bottom: 1px solid var(--base-line-color);
    border-right: 0px;
}


.user-guide_table th {
    width: 200px;
    padding: 20px;
    text-align: left;
    color: #000;
    background-color: #fff;
    font-weight: 600;
}


table.user-guide_table {
    border: solid 0;
}

.user-guide_wrap .user-guide_content .dot li {
    list-style: disc;
    list-style-position: inside;

}

/* ご注文の流れ */
.intro_flow-wrap h4 {
    font-size: 16px;
    line-height: 2;
}

#intro_flow h2,
#guide_flow h2 {
    display: block !important;
    margin-top: 4rem;
}

.order-flow-flex li {
    list-style: decimal;
    list-style-position: inside;
}

.order-flow-wrap h2 {
    font-size: 20px !important;
}

.order-flow-wrap h3 {
    font-size: 18px;
}

.order-flow-wrap h4 {
    font-size: 16px;
    line-height: 2;
}

.order-flow-flex span {
    color: var(--accent-color);
    font-size: 32px;
    font-family: 'Figtree';
    margin-right: 4px;
}

/*タブ切り替え全体のスタイル*/
.order-flow_tabs {
    margin-top: 50px;
    padding-bottom: 40px;
    background-color: #fff;
    width: 100%;
    margin: 0 auto;
}

/*タブのスタイル*/
.tab_item {
    width: calc(100%/2);
    border-bottom: 2px solid var(--accent-color);
    background-color: #ffffff;
    line-height: 50px;
    font-size: 16px;
    text-align: center;
    color: var(--accent-color);
    display: block;
    float: left;
    text-align: center;
    font-weight: bold;
    transition: all 0.2s ease;
}

.tab_item:hover {
    opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
    display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
    display: none;
    padding: 40px 40px 0;
    overflow: hidden;
}

.tab_content .order-tab-innner {
    border-bottom: solid 1px #E3E3E3;
    padding: 20px 40px;
}

.tab_content .order-tab-innner span {
    font-size: 18px !important;
}

.tab_content .order-tab-innner p {
    line-height: 28px;
}


/*選択されているタブのコンテンツのみを表示*/
#content1:checked~#content1_content,
#content2:checked~#content2_content {
    display: block;
}

/*選択されているタブのスタイルを変える*/
.order-flow_tabs input:checked+.tab_item {
    background-color: var(--accent-color);
    color: #fff;
}

.order-flow_content .dot li {
    list-style: disc;
    list-style-position: inside;
}

.order-flow_tabs svg {
    display: block;
    margin: auto 0;
    margin-right: 20px;
}

.order-flow_tabs h2 {
    padding: 0 !important;
}

/*プライバシーポリシー*/
.privacy_wrap h1 {
    margin: 1em 0 0.4em;
    font-size: 24px;
}


/* 新規会員登録*/
#exclusive_benefits_area,
#choose_area,
.progressbar {
    display: none;
}

.sign-up_top-wrap .btn {
    background-color: var(--accent-color);
    color: #fff;
}

#entry_consent {
    margin-top: 20px !important;
    margin-left: 260px !important;
}

/* クーポン一覧*/
div#coupon_list {
    border-bottom: solid 1px #333;
    border-top: solid 1px #333;
    border-right: none;
    border-left: none;
    border-radius: inherit;
}


#coupon_list #coupon_list_inner #coupon_list_left img {
    margin: auto;
    width: 100%;
    border: solid 0px;
    height: 10vh;
    object-fit: cover;
}

#coupon_list #coupon_list_inner #coupon_list_right #coupon_info {
    padding: 0;
}

#coupon_list #coupon_list_inner #coupon_list_right #coupon_info dl dt {
    height: fit-content;
    border-bottom: none;
    padding: 4px 0;
}

#coupon_list #coupon_list_inner #coupon_list_right #coupon_info dl h3 {
    background: none;
    color: var(--main-color);
    text-align: left;
    margin-left: 20px;
    font-size: 14px;
}

#coupon_list #coupon_list_inner #coupon_list_right #coupon_info dl dd {
    border-bottom: dashed 0px#ffff;
    font-size: 14px;
    padding: 4px 0;
}

#coupon_list #coupon_list_inner #coupon_list_right #coupon_info p#coupon_code {
    font-size: 14px;
    margin-left: 20px;
}

#coupon_list #coupon_list_inner #coupon_list_right #coupon_info p#coupon_code::before {
    content: 'クーポンコード';
}

#coupon_list #coupon_list_inner #coupon_list_right #coupon_info p#coupon_name {
    color: #333;
    margin-bottom: 0;
    padding-left: 20px;
    font-size: 16px;
    background: #f7f7f7;
}

p#coupon_name i {
    display: none;
}

/* お届け先追加、変更 */
div#window_area {
    width: 100%;
}

div#windowcolumn {
    margin: auto;
    width: 100%;
    text-align: center;
}

div#window_area table {
    max-width: 720px;
}

/* スタッフ登録新規追加 */
#mycontents_area[class^="member_"] #member_contents_area {
    border: none;
    background: #f7f7f7
}

#mycontents_area[class^="member_"] #search_keyword_top input#search_kw {
    height: 2rem;
    padding: 0 0 0 8px;
}

#mycontents_area[class^="member_"] #search_keyword_top input#btn_kwd_search {
    height: 2rem;
}

#mycontents_area[class^="member_"] #search_keyword_area {
    background: #f7f7f7;
}

#mycontents_area[class^="member_"] #member_contents_area a.ins_btn {
    background: #333;
    color: #fff;
}

/* ステップバー */
div.astep1_4,
div.astep2_4,
div.astep3_4,
div.astep4_4 {
    width: 100%;
}

.astep.astep4 {
    width: 100%;
}

div.astep1_4::after {
    width: 25%;
}

div.astep2_4::after {
    width: 50%;
}

div.astep3_4::after {
    width: 75%;
}

/* オーダーシート */
#mycontents_area #search_keyword_area .initial_display #search_keyword_top {
    display: flex;
}

#mypagecolumn #mycontents_area .initial_display #search_no_only {
    flex-direction: row !important;
}

#mypagecolumn #mycontents_area .initial_display #search_no_only label {
    margin-bottom: 0;
    font-size: 14px;
    gap: 3px;
    margin-right: 8px;
}

#mycontents_area #search_keyword_area .initial_display #search_deselect_kw {
    width: auto !important;
}

#mypagecolumn #mycontents_area #search_price_area {
    display: flex;
    align-items: end;
}

#mypagecolumn #mycontents_area .initial_display #btn_price_search {
    width: auto !important;
    padding: 6px 24px !important;
    height: fit-content !important;
}

#mypagecolumn #mycontents_area #search_maker_area .checkbox,
#mypagecolumn #mycontents_area #search_status_area .checkbox,
#mypagecolumn #mycontents_area #refine_area .checkbox {
    display: inline !important;
}

#mycontents_area form#search_form #search_status_area .checkbox:before,
#mycontents_area form#search_form #refine_area .checkbox:before,
#mycontents_area form#search_form #search_maker_area .checkbox:before {
    top: 52% !important;
}

#mycontents_area form#search_form #search_keyword_top select {
    font-size: 12px;
}

#mycontents_area form#search_form #search_keyword_top input#search_kw {
    margin-bottom: 0px;
}

#mycontents_area #search_keyword_bottom {
    padding: 0px;
}

#mycontents_area input#search_deselect_kw {
    margin: 0px;
}

#mycontents_area form#search_form #search_price_area input#btn_price_search {
    margin: 12px 10px 0;
}

.raku2_product_caption span {
    display: none;
}

h3.remark {
    color: #333 !important;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
    border-left: #333 4px solid;
    padding-left: 0.5rem;
    border-bottom: none !important;
}



/* カテゴゴリページ*/

.title_section {
    text-align: center;
    padding: 1rem 0 6rem;
}

h1.title {
    display: none;
}

.title_section h1 {
    font-size: 2rem;
}

.title_section span {
    font-size: 16px;
    font-weight: 800;
}

.lp_section {
    margin: 0 0 6rem;
}

h2.lp_title {
    font-size: 0.5rem;
    text-align: center;
    position: relative;
    padding-bottom: 32px;
    margin-bottom: 36px;
}

/* h2.lp_title:after {
position: absolute;
content: "";
width: 1px;
height: 36px;
background: #000;
bottom: -20px;
left: 0;
right: 0;
margin: auto;
} */

span.num {
    font-size: 48px;
}

.features h3 {
    font-size: 20px;
    margin-bottom: 20px;
}

.features p {
    font-size: 14px;
    line-height: 2;
}

.lineup_title h3 {
    font-size: 22px;
    margin-top: 0.25rem;
}

.lineup_title span {
    font-size: 16px;
    font-weight: 800;
    text-decoration: underline;
}

.lineup_title-description {
    margin-top: 1rem;
    margin-bottom: 1rem;
    background: #f8f8f8;
    padding: 2rem;
}

.lineup_title-description h4 {
    font-size: 16px;
    margin-top: 20px;
    margin-bottom: 10px;
}

.lineup_title-description h4:first-child {
    margin-top: 0;
}

.lineup_title p {
    margin-top: 0.5rem;
    line-height: 1.75;
}

.lineup_detail {
    padding: 2rem 0 0;
}

.lineup_detail-title {
    font-size: 24px !important;
    font-weight: 800;
}

.lineup_detail-title--sub {
    font-size: 14px;
    font-weight: 800;
    margin-bottom: 1rem;
    display: block;
}

.lineup_detail p {
    font-size: 14px;
    line-height: 1.8;
}

.lineup_detail a {
    color: #0B64B6;
    display: block;
    margin-top: 12px;
    text-decoration: underline;
}

.lineup_img {
    width: 100%;
    height: auto;
}

/* .lineup_img img {
aspect-ratio: 4/3;
object-fit: cover;
} */

.fv_img {
    margin: 0 auto;
    padding-top: 2rem;
    max-width: 560px;
    height: auto;
}

#main_column h2 {
    margin-bottom: 0.5rem;
}

h2.negative_margin {
    margin-bottom: -5.5rem !important;
}

.gray-bg {
    /* background-color: #f1f1f1; */
    /* padding: 3rem; */
    border-radius: 4px;
}

/* --- 罫線を完全にリセット --- */
table.custom-table,
table.custom-table * {
    border: none !important;
    border-bottom: 1px solid #c2c1c1 !important;
    margin-top: 40px;
}

/* --- 行の下だけに罫線を入れる（#706F70, 1px）--- */
table.custom-table tbody tr {
    border-bottom: 1px solid #c2c1c1 !important;
}

/* 最終行にも罫線を残す */
table.custom-table tbody tr:last-child {
    border-bottom: 1px solid #c2c1c1 !important;
}

/* --- すべてのセルを中央揃え --- */
table.custom-table th,
table.custom-table td {
    text-align: center !important;
    vertical-align: middle !important;
    background-color: transparent;
}

.bg-gray-200-imp {
    background-color: #e5e7eb !important;
    /* Tailwind v2 の gray-200 */
}

.border-red {
    position: relative;
    background-color: #9b0023;
    max-width: 258px;
    color: white;
    text-align: center;
    border-radius: 4px;
    padding: 10px 16px;
    margin: 2rem auto;
}

.border-red::before {
    position: absolute;
    content: "";
    bottom: -7px;
    width: 0;
    height: 0;
    left: 0;
    right: 0;
    margin: auto;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid #9b0023;
}

div#search_maker_area {
    display: none;
}

div#search_status_area {
    display: none;
}

div#refine_area {
    display: none;
}

.text-red-600 {
    color: #9b0023 !important;
}

h2.raku2_break_word.raku2_product_name {
    text-align: left !important;
}

/* デフォルト（PCなど）では改行タグを無効化 */
.sp-br {
    display: none;
}

/* 画面幅が 767px 以下（スマホ想定）のときだけ有効化 */
@media screen and (max-width: 767px) {
    .sp-br {
        display: block;
        /* または inline; 好みでOK（blockのほうが確実に改行） */
    }
}