@charset "utf-8";


@font-face {
    font-family: "Yu Gothic";
    src: local("Yu Gothic Medium");
    font-weight: 400;
}

/************************************************
 共通設定
************************************************ */
:root {
    --main-color: #a0c6af;
}


body {
    color: #333;
    font-family: 'Roboto', 'YuGothic', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    /*background: url("../img/common/body_bg.png") repeat;*/
    font-size: 87.5%;
    line-height: 1.6;
    letter-spacing: 0;
}

a:hover,
a:active,
.btn input:hover,
.btn_01 input:hover,
.btn_02 input:hover {
    filter: alpha(opacity=70);
    /* ie8以下用の透明度を設定 */
    -moz-opacity: 0.7;
    /* Firefox用の透明度を設定 */
    opacity: 0.7;
    /* 透明度を設定 */
}

input[type="submit"] {
    cursor: pointer;
}

.btn input {
    width: 100%;
    padding: 8px;
    color: #FFF !important;
    display: block;
    text-decoration: none !important;
    text-align: center;
    letter-spacing: 1px;
    border: none;
    cursor: pointer;
}

.btn input:hover {
    filter: alpha(opacity=70);
    /* ie8以下用の透明度を設定 */
    -moz-opacity: 0.7;
    /* Firefox用の透明度を設定 */
    opacity: 0.7;
    /* 透明度を設定 */
}

#fixed_link {
    position: fixed;
    bottom: 80px;
    right: 20px;
    font-size: 77%;
}

ul#fixed_link li a {
    padding: 10px;
    background: #909090 none repeat scroll 0% 0%;
    color: #FFF !important;
    display: block;
    border-radius: 5px;
    margin-top: 10px;
    text-decoration: none !important;
    font-size: 133%;
    text-align: center;
    cursor: pointer;
}

ul#fixed_link li a#btn_cart {
    background: #F95D6C none repeat scroll 0% 0%;
}

.btn_01 {
    width: 480px;
    margin: 0 auto;
}

.btn_01 li a {
    padding: 10px;
    background: #333333 none repeat scroll 0% 0%;
    color: #FFF !important;
    display: block;
    border-radius: 5px;
    margin: 10px;
    text-decoration: none !important;
    font-size: 100%;
    text-align: center;
    width: 200px;
    float: left;
    cursor: pointer;
}

.btn_01 input {
    padding: 10px;
    background: #66bf97 none repeat scroll 0% 0%;
    color: #FFF !important;
    display: block;
    border-radius: 5px;
    margin: 10px;
    text-decoration: none !important;
    font-size: 100%;
    text-align: center;
    border: none;
    width: 220px;
    float: left;
    cursor: pointer;
}

.btn_02 {
    width: 240px;
    margin: 0 auto;
}

.btn_02 li a {
    padding: 10px;
    background: #66bf97 none repeat scroll 0% 0%;
    color: #FFF !important;
    display: block;
    border-radius: 5px;
    margin: 10px;
    text-decoration: none !important;
    font-size: 100%;
    text-align: center;
    width: 200px;
    cursor: pointer;
}

.btn_02 input {
    padding: 10px;
    background: #66bf97 none repeat scroll 0% 0%;
    color: #FFF !important;
    display: block;
    border-radius: 5px;
    margin: 10px;
    text-decoration: none !important;
    font-size: 100%;
    text-align: center;
    border: none;
    width: 220px;
    cursor: pointer;
}

.btn_03 {
    width: 240px;
    margin: 0 auto;
}

.btn_03 a {
    padding: 10px;
    background: #333333 none repeat scroll 0% 0%;
    color: #FFF !important;
    display: block;
    border-radius: 5px;
    margin: 10px;
    text-decoration: none !important;
    font-size: 100%;
    text-align: center;
    width: 200px;
    cursor: pointer;
}

a.btn_04 {
    padding: 10px;
    background: #66bf97 none repeat scroll 0% 0%;
    color: #FFF !important;
    display: block;
    border-radius: 5px;
    margin: 10px;
    text-decoration: none !important;
    font-size: 100%;
    text-align: center;
    border: none;
    width: 200px;
    float: left;
    cursor: pointer;
}

.btn_05 {
    width: 480px;
    margin: 0 auto;
}

.btn_05 li a {
    padding: 10px;
    background: #66bf97 none repeat scroll 0% 0%;
    color: #FFF !important;
    display: block;
    border-radius: 5px;
    margin: 10px;
    text-decoration: none !important;
    font-size: 100%;
    text-align: center;
    width: 200px;
    float: left;
    cursor: pointer;
}

.btn_05 input {
    padding: 10px;
    background: #66bf97 none repeat scroll 0% 0%;
    color: #FFF !important;
    display: block;
    border-radius: 5px;
    margin: 10px;
    text-decoration: none !important;
    font-size: 100%;
    text-align: center;
    border: none;
    width: 220px;
    float: left;
    cursor: pointer;
}

.btn_06 {
    padding: 10px;
    background: #888888 none repeat scroll 0% 0%;
    color: #FFF !important;
    display: block;
    border-radius: 5px;
    margin: 10px;
    text-decoration: none !important;
    font-size: 133%;
    text-align: center;
    border: none;
    width: 220px;
    cursor: pointer;
    float: left;
}

.btn_07 {
    padding: 10px;
    background: #66bf97 none repeat scroll 0% 0%;
    color: #FFF !important;
    display: block;
    border-radius: 5px;
    margin: 10px;
    text-decoration: none !important;
    font-size: 133%;
    text-align: center;
    border: none;
    width: 220px;
    cursor: pointer;
}

.btn_06:hover {
    filter: alpha(opacity=70);
    /* ie8以下用の透明度を設定 */
    -moz-opacity: 0.7;
    /* Firefox用の透明度を設定 */
    opacity: 0.7;
    /* 透明度を設定 */
}

.btn_07:hover {
    filter: alpha(opacity=70);
    /* ie8以下用の透明度を設定 */
    -moz-opacity: 0.7;
    /* Firefox用の透明度を設定 */
    opacity: 0.7;
    /* 透明度を設定 */
}

.btn_08 {
    width: 500px;
    margin: 0 auto;
}

.btn_08 li a {
    padding: 10px;
    background: #333333 none repeat scroll 0% 0%;
    color: #FFF !important;
    display: block;
    border-radius: 5px;
    margin: 10px;
    text-decoration: none !important;
    font-size: 100%;
    text-align: center;
    width: 200px;
    float: left;
    cursor: pointer;
}

.btn_08 input {
    padding: 10px;
    color: #FFF !important;
    display: block;
    border-radius: 5px;
    margin: 5px;
    text-decoration: none !important;
    font-size: 100%;
    text-align: center;
    border: none;
    width: 220px;
    float: left;
    cursor: pointer;
}

/* 写真 */
/*img.picture {border: 1px solid #ccc;}*/
div.listphoto img {
    margin-bottom: 5px;
}

/* =======================================================================================
▼プラスキレイ サイド 縦バナー                                                                         
======================================================================================= */
.tateobi-common {
    height: 100%;
    position: fixed;
    top: 0;
    z-index: 9999;
    overflow: hidden;
}

.tateobi-common a {
    height: 99999px;
    display: block;
}

#tateobi_right {
    right: 0;
}

#tateobi_left {
    left: 0;
}

body {
    margin: 0;
    background-repeat: repeat-y !important;
    /*background-image:url(../../contents/cp/main/pc-img/sale/tate01.jpg)!important;*/
    background-position: left !important;
}

#tateobi_left a {
    width: 250px;
}

/* ==============================================
 フレーム
=============================================== */
/* 全体を包括 */
.frame_outer {
    margin: 0 auto;
    width: 100%;
    text-align: center;
}

/* コンテンツ */
#container {
    margin: 20px auto 0;
    padding: 0 0 30px;
    width: 1000px;
    text-align: left;
}

/* ==============================================
 カラム指定
=============================================== */
/* メイン部*/
#main_column {
    padding: 0px;
}

/* 1カラム時 */
#main_column.colnum1 {
    margin: 0 auto;
    width: 100%;
}

/* 2カラム時 (共通) */
#main_column.colnum2 {
    width: 685px;
}

/* 2カラム時 (メイン部が左) */
#main_column.colnum2.left {
    float: left;
}

/* 2カラム時 (メイン部が右) */
#main_column.colnum2.right {
    float: unset;
    padding: 0;
    width: unset;
    max-width: 100%;
}

/* 3カラム時 */
#main_column.colnum3 {
    float: left;
    width: 540px;
    background-color: transparent;
    padding: 0 24px;
}

/* サイドカラム*/
.side_column {
    padding: 0;
}

#leftcolumn {
    float: unset;
}

#rightcolumn {
    float: right;
    width: 196px;
}


#leftcolumn.side_column .side-nav__button {
    background: var(--main-color);
    border-radius: 4px;
}

/* サイドナビありレイアウト（2カラム） */
#container:has(.colnum2) {
    display: grid;
    grid-template-columns: 240px 1fr;
    width: 1000px;
    gap: 70px 50px;
    align-items: start;
}

/* #topcolumn が空、または script / style / .demo だけなら非表示 */
#container:has(.colnum2) #topcolumn:empty,
#container:has(.colnum2) #topcolumn:has(> script, > style, > .demo):not(:has(> :not(script, style, .demo))) {
    display: none;
}

#container:has(.colnum2) #topcolumn:has(.topcolumn-contents) {
    display: block;
    grid-area: 1/1/2/3;
}

#container.clearfix:after {
    display: none;
}

/* 他
----------------------------------------------- */
/* ヘッダーとフッターの上下 */
#topcolumn,
#bottomcolumn,
#footerbottomcolumn {
    margin: 0px;
    background: #fff;
    text-align: left;
    clear: both;
}

/* 下層コンテンツ */
#undercolumn {
    width: 100%;
    margin: 0 0 30px 0;
}


/* ==============================================
 ユーティリティ
=============================================== */
/* フロート回り込み解除
----------------------------------------------- */
.clearfix:after {
    display: block;
    clear: both;
    height: 0px;
    visibility: hidden;
    content: ".";
}

.clearfix {
    display: block;
    /* for IE8 */
}

.clear {
    clear: both;
}

/* リンク指定
----------------------------------------------- */
a:link,
a:visited {
    /*color: #34A6C3;*/
    color: #333;
    text-decoration: none;
}

a:link:hover,
a[href]:hover {
    color: #aaaaaa;
    text-decoration: none;
}


/* フォント
----------------------------------------------- */
h1,
h2,
h3,
h4,
h5 {
    font-size: 113%;
}

p {
    font-size: 100%;
}

.sale_price {
    color: #F95D6C;
    font-weight: bold;
}

.sale_price .normal {
    font-weight: normal;
    font-size: 90%;
}

.normal_price {
    font-size: 90%;
}

.point {
    color: #FB318E;
    font-weight: bold;
}

.user_name {
    font-weight: bold;
    /*color: #ffffff;*/
}

.recommend_level {
    color: #ecbd00;
}

.attention {
    color: #F95D6C;
}

.attentionSt {
    color: #F95D6C;
    font-weight: bold;
}

.st {
    font-weight: bold;
}

.newslist {
    font-size: 0.75rem;
    line-height: 1.5;
}

dt.mini {
    font-weight: bold;
    line-height: 1;
    font-size: 1em;
}


/* 行揃え
----------------------------------------------- */
.alignC {
    text-align: center;
}

.alignR {
    text-align: right;
}

.alignL {
    text-align: left;
}

.pricetd em {
    font-weight: bold;
}


/* フォーム
----------------------------------------------- */
select {
    border: solid 1px #ccc;
}

input[type='text'],
input[type='password'] {
    border: solid 1px #ccc;
    padding: 2px;
}

.box40 {
    width: 40px;
}

.box60 {
    width: 60px;
}

.box100 {
    width: 100px;
}

.box120 {
    width: 120px;
}

.box140 {
    width: 140px;
}

.box145 {
    width: 145px;
}

.box150 {
    width: 150px;
}

.box210 {
    width: 210px;
}

.box240 {
    width: 240px;
}

.box300 {
    width: 300px;
}

.box320 {
    width: 320px;
}

.box350 {
    width: 350px;
}

.box380 {
    width: 380px;
}

.box700 {
    width: 700px;
}

.box940 {
    width: 940px;
}

/* フォームが縦に重なり合う場合に併用する余白 */
.top {
    /* FIXME 簡素な単語は、単独で、込み入った指定に使用しない */
    margin-bottom: 5px;
}


/* タイトル
----------------------------------------------- */
#main_column h2.title {
    margin-bottom: 1em;
    padding: 0;
    color: #333;
    font-size: 1.125rem;
    font-weight: 200;
    text-align: left;
    letter-spacing: 0.075em;

}

h2.title {
    margin-bottom: 30px;
    padding: 8px;
    border-bottom: solid 1px #cccccc;
    color: #333333;
    font-size: 170%;
    text-align: center;
}

#main_column .sub_area h3,
#undercolumn_login .login_area h3,
#undercolumn_shopping h3,
#mypagecolumn h3,
#undercolumn_cart h3 {
    margin: 0 0 10px 0;
    padding: 20px 0 8px;
    color: #565954;
    background: url("../img/background/line_01.gif") repeat-x left bottom;
    font-size: 120%;
}

div#undercolumn_login .login_area h4 {
    padding-left: 15px;
    background: url("../img/icon/ico_arrow_05.gif") no-repeat left;
}


/* ==============================================
 レフト
=============================================== */
#side-bnrarea img {
    margin-bottom: 10px;
}


/* ==============================================
 メイン
=============================================== */
#top-banner_area {
    text-align: center;
}

#top-banner_area img {
    border: none;
    margin-bottom: 20px;
    text-align: center;
}

#common-bnrarea,
#newitem_area,
#top-banner_area,
#ranking_area {
    margin-bottom: 30px;
}

#newitem_area ul li {
    float: left;
    padding: 8px;
    width: 155px;
}

#newitem_area ul li p,
#ranking_area ul li p {
    font-size: 80%;
    text-align: center;
}

#ranking_area ul li {
    float: left;
    padding-left: 11px;
    width: 128px;
}

#ranking_area ul li:first-child {
    float: left;
    padding-left: 0px;
}


/* ==============================================
 フッター
=============================================== */
#footer_wrap {
    margin: 0 auto;
    width: 980px;
    height: 80px;
    background: #fff;
}

#footer {
    margin: auto;
    padding-top: 10px;
    width: 100%;
    border-top: none;
    background-color: #000000;
}

#footer h2 {
    padding: 10px;
    background: #333333 none repeat scroll 0% 0%;
    color: #FFF;
    text-align: center;
}

#footer .footer_contents {
    width: 280px;
    float: left;
}

#footer_inner {
    padding: 10px;
    border-bottom: 1px solid #cccccc;
    color: #ffffff;
}

#footer .footer_contents h3 {
    text-align: left;
    border-bottom: 1px solid #aaaaaa;
    margin-bottom: 20px;
    padding: 10px;
}

#footer .footer_contents p {
    width: 260px;
    text-align: left;
    margin: 0 auto;
}

#footer .footer_contents .link_text {
    text-align: right;
    margin-bottom: 20px;
}

#pagetop {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
}

#pagetop a {
    padding: 10px;
    background: #333 none repeat scroll 0% 0%;
    color: #FFF;
    display: block;
    border-radius: 5px;
    margin-top: 10px;
    text-decoration: none;
    font-size: 133%;
    text-align: center;
}

#copyright {
    width: 950px;
    text-align: center;
    font-size: 86%;
}

#footer ul {
    text-align: center;
    display: inline-block;
    margin: 30px auto 18px;
}

#footer ul li {
    float: left;
    font-size: 107%;
    letter-spacing: 0px;
    padding: 0px 30px;
    border-right: 1px solid #333;
}

#footer ul li:first-child {
    border-left: 1px solid #333;
}

/* ==============================================
 パーツ
=============================================== */
/* ボタン
----------------------------------------------- */
.btn_area {
    margin-top: 10px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/*.btn_area ul {float:left; left:50%; position:relative;}*/
/*.btn_area li {display: inline; float:left; left:-50%; position:relative;}*/

.btn_area.btn_type_def input,
.btn_area.btn_type_def a.btn {
    padding: 10px 20px;
    background: #1e9cbd none repeat scroll 0% 0%;
    color: #FFF !important;
    display: block;
    border-radius: 0px;
    margin: 10px;
    text-decoration: none !important;
    font-size: 133%;
    text-align: center;
    border: none;
    min-width: 280px;
    float: left;
    cursor: pointer;
    border: 3px solid #1e9cbd;
}

.btn_area.btn_type_def li a {
    padding: 10px;
    background: #FFFFFF none repeat scroll 0% 0%;
    color: #66bf97 !important;
    display: block;
    border-radius: 0px;
    margin: 10px;
    text-decoration: none !important;
    font-size: 133%;
    text-align: center;
    width: 280px;
    float: left;
    cursor: pointer;
    border: 2px solid #66bf97;
}

/* 完了メッセージ
----------------------------------------------- */
div#complete_area {
    margin-bottom: 20px;
}

div#complete_area .message,
div#undercolumn_entry .message {
    margin-bottom: 20px;
    line-height: 150%;
    font-weight: bold;
    font-size: 120%;
}

div#complete_area .shop_information {
    margin-top: 40px;
    padding: 20px 0 0 0;
    border-top: solid 1px #ccc;
}

div#complete_area .shop_information .name {
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 140%;
}


/* Tipsy
----------------------------------------------- */
.tipsy {
    padding: 5px;
    font-size: 10px;
    position: absolute;
    z-index: 100000;
}

.tipsy-inner {
    padding: 5px 8px 4px 8px;
    background-color: black;
    color: white;
    max-width: 200px;
    text-align: center;
}

.tipsy-inner {
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
}

.tipsy-arrow {
    position: absolute;
    background: url('../img/ajax/tipsy.gif') no-repeat top left;
    width: 9px;
    height: 5px;
}

.tipsy-n .tipsy-arrow {
    top: 0;
    left: 50%;
    margin-left: -4px;
}

.tipsy-nw .tipsy-arrow {
    top: 0;
    left: 10px;
}

.tipsy-ne .tipsy-arrow {
    top: 0;
    right: 10px;
}

.tipsy-s .tipsy-arrow {
    bottom: 0;
    left: 50%;
    margin-left: -4px;
    background-position: bottom left;
}

.tipsy-sw .tipsy-arrow {
    bottom: 0;
    left: 10px;
    background-position: bottom left;
}

.tipsy-se .tipsy-arrow {
    bottom: 0;
    right: 10px;
    background-position: bottom left;
}

.tipsy-e .tipsy-arrow {
    top: 50%;
    margin-top: -4px;
    right: 0;
    width: 5px;
    height: 9px;
    background-position: top right;
}

.tipsy-w .tipsy-arrow {
    top: 50%;
    margin-top: -4px;
    left: 0;
    width: 5px;
    height: 9px;
}

/* ===============================================
▼プラスキレイヘッダー
=============================================== */
#slideheader {
    width: 100%;
    height: 25px;
    padding: 8px 0 0 0;
    background-color: #2c3292
        /*#66bf97*/
    ;
    clear: both;
    color: #ffffff;
}


/* ===============================================
▼プラスキレイTOPイメージ
=============================================== */
#pluskirei-topimg {
    width: 100%;
    height: 300px;
    margin-bottom: 20px;
    background-color: #fdfdf8;
}

/* ===============================================
▼グローバルメニュー
=============================================== */
#pluskirei-menu {
    width: 100%;
    margin-bottom: 50px;
    border-bottom: 1px solid #ededed;
}

#pluskirei-menu ul {
    /*リスト全体*/
    font-size: 0;
}

#pluskirei-menu li {
    /*リストの1段目*/
    background-color: #66bf97;
    display: inline-block;
    width: 150px;
    height: 40px;
}

#pluskirei-menu ul li:hover>ul {
    display: block;
    background-color: #ffffff
}

#pluskirei-menu a {
    /*1段目以降のメニュー文字*/
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    line-height: 40px;
    color: #565954;
    text-decoration: none;
    text-align: center;
    /*1段目は文字を中央合わせに*/
    background-color: #ffffff;
    display: block;
    position: relative;
}

#pluskirei-menu a:before {
    display: block;
    content: "";
    position: absolute;
    top: 43%;
    left: -2px;
    width: 0;
    height: 0;
    margin: -3px 0px 0 0;
    border-top: 8px solid #565954;
    border-left: 8px solid transparent;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#pluskirei-menu a:hover {
    text-decoration: none;
    border-bottom: 2px solid #000;
    opacity: 1.0 !important;
}

#pluskirei-menu a span {
    /*1段目以降のメニュー文字*/
    font-size: 9px;
    font-weight: 300;
    letter-spacing: 1px;
    color: #022c92;
    text-decoration: none;
    text-align: center;
    /*1段目は文字を中央合わせに*/
    background-color: #ffffff;
    display: block;
}

#pluskirei-menu a span:hover {
    color: #565954;
    text-decoration: none;
}

#menu-s_new {
    width: 100%;
    font-size: 14px;
    letter-spacing: 2px;
    margin-bottom: 10px;
    overflow: hidden;
}

#menu-s_new ul {
    width: 980px;
    overflow: hidden;
    margin: auto;
    padding: 0;
    list-style: none;
}

#menu-s_new ul li {
    display: inline;
    margin: 0 5px 0 0;
    padding: 0;
    float: right;
}

#menu-s_new ul li:first-child {
    margin: 0;
    border-right: none;
}

#menu-s_new ul li:after {
    content: ' | ';
}

#menu-s_new a {
    /*display: block;*/
    padding: 10px;
    text-decoration: none;
    color: #333333;
    text-align: center;
    font-size: 11px;
    font-weight: 400;
}

#menu-s_new a:hover {
    color: #3fa9f5;
    text-decoration: none;
}

#menu-s_new ul li.personal {
    background-color: #ededed;
}

#menu-s_new ul li.personal {
    content: '' !important;
}

#menu-s_new ul li.personal a:before {
    content: '>';
}

#ds_trading {
    margin-bottom: 50px;
}


/* ===============================================
▼グローバルメニュー　下部エリア
=============================================== */
#pluskirei-toparea {
    width: 100%;
    padding: 15px 0px 15px 0px;
    background-color: #eeeeee;
}

#pluskirei-toparea p {
    width: 210px;
    background-color: #333333;
    font-size: 14px;
    font-weight: 400;
    margin: 0 0 3px 18px;
    padding: 10px;
    letter-spacing: 1px;
    text-align: center;
}

#pluskirei-toparea p span {
    color: #ffffff;
}

#pluskirei-toparea span {
    color: #333333;
}

#pluskirei-toparea span a {
    color: #022c92;
}

#pluskirei-attentionarea {
    width: 100%;
    padding: 5px 0px 5px 0px;
    background-color: #F1EAD5;
}

#pluskirei-attentionarea p {
    width: 210px;
    background-color: #333333;
    font-size: 13px;
    font-weight: 400;
    margin: 0 0 3px 18px;
    padding: 10px;
    letter-spacing: 1px;
    text-align: center;
}

#pluskirei-attentionarea p span {
    color: #ffffff;
}

#pluskirei-attentionarea span {
    color: #333333;
}

#pluskirei-attentionarea span a {
    color: #333333;
    text-decoration: none;
}

/* ===============================================
▼目玉商品
=============================================== */
#top-recommend_area {
    width: 680px;
    height: 150px;
    /*margin-top: 30px;*/
    background-color: #ffffff;
    clear: both;
    margin-bottom: 50px;
}

#top-recommend_area p.border {
    width: 680px;
    color: #2c3292;
    font-size: 14px;
    border-top: 3px solid #2c3292;
    border-bottom: 1px solid #2c3292;
    letter-spacing: 0.3em;
    font-weight: bold;
    padding: 7px 0 7px 0;
    margin-bottom: 20px;
}

#top-recommend_area p.border span {
    color: #2c3292;
    font-size: 11px;
}

#top-recommend_area .block_body {
    padding: 5px 0 10px 0;
    border: none;
}

#top-recommend_area .block_body p {
    margin: 0 0 5px 0;
}

#top-recommend_area .block_body img {
    margin: 0 5px 0 0;
}

#top-recommend_area .block_body h3 {
    font-size: 100%;
    font-weight: normal;
}

.side_column #top-recommend_area .product_item {
    margin-bottom: 10px;
}

#main_column #top-recommend_area .block_body .productImage {
    margin-bottom: 10px;
    float: left;
    width: 100%;
}

.side_column #top-recommend_area .block_body .productImage {
    float: none;
    text-align: center;
    width: auto;
}

#main_column #top-recommend_area .product_item {
    float: left;
    width: 18%;
    padding-left: 1%;
    padding-right: 1%;
}

#main_column.colnum1 #top-recommend_area .block_body .productContents {
    float: right;
    width: 74%;
}

#main_column.colnum2 #top-recommend_area .block_body .productContents {
    float: right;
    width: 74%;
}

#main_column.colnum3 #top-recommend_area .block_body .productContents {
    float: right;
    width: 67%;
}

.side_column #top-recommend_area .block_body .productContents {
    clear: both;
}

/* ===============================================
▼新着情報
=============================================== */
#top-newsarea {
    width: 680px;
    height: 350px;
    background-color: #ffffff;
    clear: both;
    margin-bottom: 50px;
    /*float:right;*/
}

#top-newsarea a {
    color: #082F90;
    text-decoration: none;
}

#top-newsarea a:hover {
    color: #3fa9f5;
    text-decoration: none;
}

#top-newsarea p.border {
    width: 680px;
    color: #2c3292;
    font-size: 14px;
    border-top: 3px solid #2c3292;
    border-bottom: 1px solid #2c3292;
    letter-spacing: 0.3em;
    font-weight: bold;
    padding: 7px 0 7px 0;
    margin-bottom: 20px;
}

#top-newsarea p.border span {
    color: #2c3292;
    font-size: 11px;
}

/* ===============================================
▼トップ特集
=============================================== */
#top-pickuparea {
    width: 680px;
    height: 550px;
    background-color: #ffffff;
    clear: both;
    margin-top: 5px;
    /*float:right;*/
}

#top-pickuparea p.border {
    width: 680px;
    color: #2c3292;
    font-size: 14px;
    border-top: 3px solid #2c3292;
    border-bottom: 1px solid #2c3292;
    letter-spacing: 0.3em;
    font-weight: bold;
    padding: 7px 0 7px 0;
    margin-bottom: 20px;
}

#top-pickuparea p.border span {
    color: #2c3292;
    font-size: 11px;
}

#top-pickuparea ul.column {
    margin: 0 auto;
    margin-bottom: 20px;
    padding: 0;
    list-style-type: none;
}

#top-pickuparea ul.column li {
    float: left;
    height: 210px;
}

#top-pickuparea ul.column li img {
    width: 210px;
    margin-bottom: 5px;
}

#top-pickuparea ul.column li h1 {
    width: 210px;
    margin: 0;
    margin-bottom: 3px;
    text-align: left;
    font-size: 14px;
    font-weight: 300;
    color: #3D3D3D;
    letter-spacing: 0;
}

#top-pickuparea ul.column li h2 {
    width: 210px;
    margin: 0;
    padding: 0;
    text-align: left;
    font-size: 11px;
    font-weight: 100;
    color: #3D3D3D;
    letter-spacing: 0;
    border-bottom: 0;
}

/* ===============================================
▼プラスキレイ トップ人気ランキング
=============================================== */
#top-rankingarea {
    width: 680px;
    height: 330px;
    background-color: #ffffff;
    clear: both;
    margin: auto;
    /*float:right;*/
}

#top-rankingarea p.border {
    width: 680px;
    color: #2c3292;
    font-size: 14px;
    border-top: 3px solid #2c3292;
    border-bottom: 1px solid #2c3292;
    letter-spacing: 0.3em;
    font-weight: bold;
    padding: 7px 0 7px 0;
    margin-bottom: 20px;
}

#top-rankingarea p.border span {
    color: #2c3292;
    font-size: 11px;
}

#top-rankingarea ul.ranking li a {
    color: #2c3292;
    text-decoration: none;
}

#top-rankingarea ul.ranking li a:hover {
    color: #00BDED;
}

#top-rankingarea ul.ranking li a:hover img {
    opacity: 0.6;
    filter: alpha(opacity=60);
    text-decoration: none;
}

#top-rankingarea ul.ranking {
    margin: 0 auto;
    padding: 0;
    list-style-type: none;
}

#top-rankingarea ul.ranking li {
    float: left;
    width: 135px;
    text-align: center;
    font-size: 12px;
    font-weight: bold;
}

#top-rankingarea ul.ranking li h1 {
    font-size: 9px;
    color: #666;
}


/* ===============================================
▼プラスキレイ トップおすすめ商品
=============================================== */
#top-recommendarea {
    width: 680px;
    height: 330px;
    margin-top: 50px;
    background-color: #ffffff;
    clear: both;
    /*float:right;*/
}

#top-recommendarea p.border {
    width: 680px;
    color: #2c3292;
    font-size: 14px;
    border-top: 3px solid #2c3292;
    border-bottom: 1px solid #2c3292;
    letter-spacing: 0.3em;
    font-weight: bold;
    padding: 7px 0 7px 0;
    margin-bottom: 20px;
}

#top-recommendarea p.border span {
    color: #2c3292;
    font-size: 11px;
}

#top-recommendarea .hotbody {
    padding: 10px 0 10px;
    border: none;
}

#top-recommendarea .hotbody p {
    margin: 0 0 5px 0;
}

#top-recommendarea .hotbody img {
    margin: 0 5px 0 0;
}

#top-recommendarea .hotbody h3 {
    font-size: 100%;
    font-weight: normal;
}

#top-recommendarea a:link {
    color: #2c3292;
    font-size: 110%;
    text-decoration: none;
}

#top-recommendarea a:link:hover {
    color: #00BDED;
    text-decoration: none;
}

#top-recommendarea .mini {
    font-size: 90%;
}

/* サイドカラム用 */
.side_column #top-recommendarea .product_item {
    margin-bottom: 10px;
}

/* 画像
----------------------------------------------- */
/* メインカラム用 */
#main_column #top-recommendarea .hotbody .productImage {
    margin-bottom: 10px;
    float: left;
    width: 100%;
}

/* サイドカラム用 */
.side_column #top-recommendarea .hotbody .productImage {
    float: none;
    text-align: center;
    width: auto;
}

/* 左右の振り分け
----------------------------------------------- */
#main_column #top-recommendarea .product_item {
    float: left;
    width: 20%;
    padding-left: 1%;
    padding-right: 1%;
}

/* 商品説明テキスト
----------------------------------------------- */
/* メインカラム用 1カラム時*/
#main_column.colnum1 #top-recommendarea .hotbody .productContents {
    /*float: right;*/
    width: 90%;
}

/* メインカラム用 2カラム時*/
#main_column.colnum2 #top-recommendarea .hotbody .productContents {
    /*float: right;*/
    width: 90%;
}

/* メインカラム用 3カラム時*/
#main_column.colnum3 #top-recommendarea .hotbody .productContents {
    /*float: right;*/
    width: 67%;
}

/* マイページ
----------------------------------------------- */
#main_column.colnum1 #mypagecolumn {
    width: 90%;
    margin: 0 auto;
}

/*A=>2018.12.03Y*/
#mypagecolumn .account_change_bloc ul {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
}

#mypagecolumn .account_change_bloc ul li {
    margin: 0 20px 8px 0;
}

#mypagecolumn .account_change_bloc ul li:last-child {
    margin-right: 0;
}

/*A<=2018.12.03Y*/

/* =======================================================================================
▼コンテンツ                                                                         
======================================================================================= */
/*コンテンツタイトル
----------------------------------------------- */
#contentstitle {
    margin-bottom: 10px;
    padding: 14px 0 5px 20px;
    color: #565954;
    font-size: 150%;
    font-weight: 700;
    border-bottom: solid 2px;
    border-color: #565954;
    letter-spacing: 2px;
}

/*ご利用ガイド
----------------------------------------------- */
#pluskirei_guide {
    width: 100%;
    margin: 0 auto;
}

/*ご利用ガイド見出し
----------------------------------------------- */
#pluskirei_guide h1 {
    font-size: 17px;
    font-weight: 600;
    color: #333333;
    letter-spacing: 1px;
    line-height: 30px;
    margin-bottom: 7px;
    border-bottom: dotted 1px;
    border-color: #333333;
}

#pluskirei_guide h2 {
    font-size: 15px;
    font-weight: 600;
    color: #333333;
    letter-spacing: 1px;
    border-bottom: none;
    margin-bottom: 3px;
    padding: 10px 0 0 0
}

#pluskirei_guide h3 {
    font-size: 15px;
    font-weight: 600;
    color: #333333;
    letter-spacing: 1px;
    border-bottom: none;
    margin-bottom: 3px;
    padding: 1px 0 0 0
}

/* =======================================================================================
カスタマー向け                                                                 
======================================================================================= */
#newcustomer {
    width: 1000px;
    margin: 30px auto;
    padding: 0;
}

#newcustomer img {
    width: 100%;
}

/* =========================================================================================
▼サイドメニュー2017                                                           
/* ======================================================================================= */
.leftnavi2016 {
    width: 236px;
    border: 2px #ebeae5 solid;
    margin: 0 0 25px;
    background: #ffffff;
}

.leftnavi2016 ul {
    width: 240px;
    padding: 0;
    margin: 0 auto;
    list-style: none;
}

.leftnavi2016 ul li {
    width: 200px;
    display: block;
    color: #2E3192;
    font-size: 12px;
    margin: auto;
    padding: 5px 0 5px;
    border-bottom: 1px #ccc dotted;
    text-decoration: none;
    font-weight: bold;
}

.leftnavi2016 ul li a {
    color: #535353;
    font-size: 12px;
    margin: 0;
    text-decoration: none;
    font-weight: bold;
    font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.leftnavi2016 ul li a:hover {
    color: #A9A9A9;
    text-decoration: none;
}

.leftnavi2016_copy {
    color: #666666;
    font-size: 10px;
    font-weight: 500;
    line-height: 19px;
    text-decoration: none;
}

.leftnavi2016_img {
    width: 240px;
    margin: 0 0 10px;
    font-size: 10px;
}

.leftnavi2016_img ul {
    width: 240px;
    display: block;
    list-style: none;
    padding: 0;
}

.leftnavi2016_img ul li a {
    display: block;
    color: #66666;
    font-size: 11px;
    text-align: right;
    margin: 0 0 10px;
    text-decoration: none;
}

.leftnavi2016_img ul li a:hover {
    opacity: 0.6;
    filter: alpha(opacity=60);
    -ms-filter: "alpha( opacity=60 )";
    background: #ffffff;
}

.leftnavi2016 .midashi:hover {
    background: #3fa9f5;
    color: #ffffff;
}

.leftnavi2016 .tkmidashi {
    width: 210px;
    display: block;
    color: #ffffff;
    text-align: center;
    font-size: 11px;
    border-bottom: none;
    padding: 5px 0;
    margin: 0 auto;
    background: #FF3D50;
}

.leftnavi2016 .tkmidashi:hover {
    background: #D73433;
    color: #ffffff;
}

#menucategory {
    width: 240px;
    color: #323232;
    font-size: 14px;
    margin: 0 0 2px;
}

#menucategory-sub {
    width: 240px;
    color: #999999;
    font-size: 10px;
    letter-spacing: 1px;
    margin: 0 0 3px;
}

#texticon {
    width: 220px;
    background-color: #565954;
    color: #ffffff;
    font-size: 11px;
    letter-spacing: 1px;
    font-weight: 200;
    text-align: center;
    padding: 5px 0;
    margin: 8px auto 0;
}

/* =======================================================================================
▼フッター                                                                   
======================================================================================= */
footer {
    position: relative;
    min-width: 980px;
    padding-bottom: 33px;
    background: #fff;
    border-top: 1px solid #ededed;
    z-index: 1;
    text-align: left;
    background-color: #eeeeee;
}

.pageTop {
    position: fixed;
    right: 0;
    bottom: 70px;
    cursor: pointer;
}

#footer .inner {
    width: 980px;
    margin: 0 auto;
    padding: 45px 0;
}

.clearfix {}

#footer dl {
    float: left;
    width: 240px;
    font-size: 12px;
}

#footer dt {
    font-weight: bold;
    color: #66bf97;
}

#footer dd:nth-child(2) {
    margin-top: 20px;
}

#footer dd {
    margin-top: 15px;
}

#footer a:link,
#footer a:visited {
    color: #ffffff;
}

#footer p+.tradesafe {
    margin-top: 15px;
}

#footer .tradesafe {
    float: right;
    display: block;
    width: 300px;
    padding-top: 10px;
    font-size: 10px;
    line-height: 1.6;
    text-align: left;
}

#footer .tradesafe a {
    float: right;
    display: inline-block;
    width: 100px;
    height: auto;
    margin: -10px 0 0 10px;
}

#copyright {
    padding-top: 33px;
    padding-bottom: 33px;
    font-size: 10px;
    text-align: center;
    color: #999;
    border-top: 1px solid #ededed;
    width: 100%;
}

.item_searchbar {
    width: 980px;
    margin: 0 auto 20px;
    text-align: center;
}

.item_searchbar ul {
    margin: 0 auto;
}

.item_searchbar ul li {
    display: inline-block;
    margin-right: 15px;
    margin-top: 5px;
}

.item_searchbar ul li:first-child {
    margin-right: 0;
}

.item_searchbar ul li:last-child {
    margin-right: 0;
}

.item_searchbar ul li a,
.item_searchbar ul li a:link,
.item_searchbar ul li a:hover,
.item_searchbar ul li a:visited {
    font-size: 14px;
    text-decoration: none;
}

.item_searchbar #search_form {
    float: left;
}

.item_searchbar #search_form i {
    font-size: 18px;
    margin-right: 8px;
}

.item_searchbar #search_form i {
    font-size: 18px;
    margin-right: 8px;
}

.item_searchbar #search_form input[type="text"] {
    width: 260px;
    margin-right: 8px;
    padding: 6px;
}

.item_searchbar #search_form input[type="submit"] {
    width: 100px;
    font-size: 12px;
    font-weight: 200;
    padding: 5px;
    color: #454545;
    background: #ffffff;
    border: 1px solid #a9a9a9;
    border-radius: 8px;
    text-align: center;
    box-shadow: none;
}

.item_searchbar #search_form input[type="submit"]:hover {
    color: #ffffff;
    background: #565656;
    border: 1px solid #565656;
}

#s_guide {
    width: 1000px;
    margin: 0 auto 50px;
    padding: 0;
    color: #232323;
    clear: both;
    zoom: 1;
    overflow: hidden;
    text-align: left;
    font-family: Roboto, "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 12px;
    line-height: 1.6;
}

#s_guide H4 {
    font-size: 22px;
    font-weight: 600;
    line-height: 1.7;
    letter-spacing: 2px;
    text-align: center;
    margin: 50px 0;
}

#s_guide H4 span {
    font-size: 70%;
}

.s_guide_01 {
    width: 320px;
    padding-right: 40px;
    float: left;
}

.s_guide_01 h5 {
    font-size: 13px;
    font-weight: 600;
    border-bottom: solid 1px;
    line-height: 1.7;
}

.s_guide_01 h6 {
    font-size: 12px;
    font-weight: 600;
}

.s_guide_02 {
    width: 280px;
    float: right;
}

.s_guide_02 h5 {
    font-size: 13px;
    font-weight: 600;
    border-bottom: solid 1px;
    line-height: 1.7;
}

.s_guide_02 h6 {
    font-size: 12px;
    font-weight: 600;
}

.s_guide_01 p,
.s_guide_02 p {
    margin-bottom: 2px;
    padding: 2px 0;
}

p.tel span {
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 1px;
}

div.infocomment {
    padding: 5px 0 10px;
}

span.attention {
    color: #CC0000;
}

img#manager {
    float: right;
}

.infocomment a,
.infocomment a:visited {
    text-decoration: underline;
    color: #9fc5af;
}


/* ---------------------------- 営業日カレンダー */
#s_guide table {
    margin: 5px auto 0;
    padding-bottom: 15px;
}

#s_guide td {
    text-align: center;
}

#s_guide .infobtn a {
    width: 200px;
    display: block;
    font-size: 16px;
    background: #9fc5af;
    color: #FFF !important;
    letter-spacing: -0.1em;
    border-radius: 5px;
    text-decoration: none;
    padding: 12px 0;
    margin: auto;
    text-align: center;
}


/* クリニック用コンテンツ */
body:has(.sales-channel--clinic) .clinic-content {
    display: block !important;
}

body:has(.sales-channel--clinic) .clinic-content.section-block {
    display: grid !important;
}

/* サロン用コンテンツ */
body:has(.sales-channel--salon) .salon-content {
    display: block !important;
}

body:has(.sales-channel--salon) .salon-content.section-block {
    display: grid !important;
}


/* 詳細ページ カテゴリスタイル */
body[data-page="detail"] a[href="/products/54.html"],
body[data-page="detail"] a[href="/products/51.html"] {
    pointer-events: none;
    cursor: none;
}

/* -----ご利用ガイド----- */
.guide__payment {
    display: none;
}

/* クリニック用コンテンツ */
body:has(.sales-channel--clinic) .guide__payment--clinic {
    display: block;
}

/* サロン用コンテンツ */
body:not(:has(.sales-channel--clinic)) .guide__payment--non-clinic {
    display: block;
}

/* -----ピックアップ表示----- */
body:has(.sales-channel--salon) .pickup__dm-content--clinic {
    display: none !important;
}


/* ==============================================
 ヘッダー
=============================================== */
.site-header {
    box-sizing: border-box;
}

.site-header * {
    box-sizing: border-box;
}

.site-header__inner {
    width: 1000px;
    margin: 0 auto;
    padding-top: 1.75rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    color: #333;
}

.site-header__logo-area {}

h1.site-header__description {
    font-size: 0.625rem;
    text-align: left;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 1.5em;
}

a.site-header__logo-link {
    width: 250px;
    display: block;
}

img.site-header__logo-image {
    display: block;
    width: 100%;
    height: auto;
}

.site-header__utility {}

.site-header__internal-column {}

.site-header__block {}

.site-header__login-area {}

.site-header__login-body {}

.site-header__status {}

.site-header__message {
    font-size: 0.75rem;
    font-weight: normal;
    text-align: center;
    margin-bottom: 0.75em;
    line-height: 1;
}

.site-header__user-name {
    font-weight: bold;
}

.site-header__menu-list {
    display: flex;
    gap: 0.625rem;
    font-size: 0.75rem;
    line-height: 1;
}

.site-header__menu-item {}

.site-header__menu-button,
a.site-header__menu-link {
    line-height: 1;
    border: unset;
    background: unset;
    padding: 0.8em;
    display: block;
    min-width: 7.5rem;
    border-radius: 5px;
    background: #333;
    color: #fff;
    font-weight: bold;
}

.site-header__menu-button {
    background: #eee;
    color: #333;
}

.site-header__menu-button:hover {
    opacity: 0.8;
    cursor: pointer;
}

.sticky-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: #fff;
}

/* ===============================================
▼グローバルメニュー
=============================================== */
.global-navi {
    width: 1000px;
    margin: 0 auto;
    padding: 1.875rem 0 1.25rem;
}

.global-navi__list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.5em;
}

.global-navi__item {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.5em;
    color: #333;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1;
}

.global-navi__item:not(:last-child)::after {
    content: "";
    width: 1px;
    height: 1em;
    background: #333;
}

a.global-navi__link {
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1;
    color: #333;
    text-decoration: none;
    text-align: center;
    display: block;
}

a.global-navi__link:hover {
    color: var(--main-color);
    text-decoration: none;
}

/* カレント */
.is-current a.global-navi__link {
    position: relative;
    color: var(--main-color);
}

.is-current a.global-navi__link:hover {
    opacity: 1;

}

.contents__wrap {
    display: flex;
    gap: 0 20px;
    padding: 10px 0 0;
    justify-content: center;
}

#headglobalnavi .contents__wrap a {
    line-height: 35px;
    color: #66bf97;
    border: 1px solid #66bf97;
    padding: 5px 0;
    display: block;
    box-sizing: border-box;
    flex: 0 1 50%;
}

#headglobalnavi .contents__wrap a:hover {
    background: #66bf97;
    color: #fff;
}

.headglobalnavifixed {
    position: fixed;
    top: 0;
    padding: 0;
    width: 100%;
    z-index: 1000;
    background-color: #ffffff;
    filter: alpha(opacity=90);
    -ms-filter: "alpha(opacity=90)";
    -moz-opacity: 0.9;
    -khtml-opacity: 0.9;
    opacity: 0.9;
    zoom: 1;
}

/* ===============================================
▼ヘッダー検索バー
=============================================== */
.site-search-bar {
    background: #eee;
    padding: 0.625rem 0;
}

.site-search-bar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 1000px;
    margin: 0 auto;
}

.site-search-bar__keywords {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
}

.site-search-bar__keywords-label {
    flex: 0 0 auto;
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    color: #222;
    white-space: nowrap;
}

.site-search-bar__keyword-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-search-bar__keyword-item {
    margin: 0;
    padding: 0;
}

a.site-search-bar__keyword-link {
    display: inline-block;
    font-size: 0.75rem;
    line-height: 1;
    color: #333;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.site-search-bar__keyword-link:hover {
    opacity: 0.7;
}

.site-search-bar__controls {
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

.site-search-bar__form {
    margin: 0;
}

.site-search-bar__field {
    display: flex;
    align-items: stretch;
    width: 350px;
    min-height: 40px;
    background: #fff;
    border: 1px solid #333;
    border-radius: 9999px;
    overflow: hidden;
    box-sizing: border-box;
}

.site-search-bar__input {
    flex: 1 1 auto;
    min-width: 0;
    height: auto;
    padding-left: 1.25rem;
    border: 0;
    background: transparent;
    font-size: 0.75rem;
    line-height: 1.4;
    color: #000;
    outline: none;
    appearance: none;
}

.site-search-bar__input::placeholder {
    color: #000;
}

.site-search-bar__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    flex: 0 0 auto;
    padding: 0 1.25rem;
    border: 0;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    color: #222;
    cursor: pointer;
    appearance: none;
}

.site-search-bar__submit:hover {
    opacity: 0.7;
}

.site-search-bar__submit-icon {
    position: relative;
    display: inline-block;
    width: 1.4em;
    aspect-ratio: 1;
    flex: 0 0 auto;
}

.site-search-bar__submit-icon::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 80%;
    aspect-ratio: 1;
    border: 2px solid currentColor;
    border-radius: 50%;
    box-sizing: border-box;
    background: #fff;
    z-index: 1;
}

.site-search-bar__submit-icon::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 50%;
    height: 2px;
    background: currentColor;
    border-radius: 9999px;
    transform: rotate(45deg);
    transform-origin: right center;
}

.site-search-bar__submit-text {
    display: inline-block;
    line-height: 1;
    white-space: nowrap;
    font-size: 0.75rem;
}

a.site-search-bar__seminar-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    min-height: 40px;
    padding: 0 2rem;
    border-radius: 9999px;
    background: var(--main-color);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-decoration: none;
    text-align: center;
    box-sizing: border-box;
    transition: opacity 0.2s ease;
}

.site-search-bar__seminar-link:hover {
    opacity: 0.85;
}


/* インフォメーションブロック */
.info-area__list {
    display: grid;
    gap: 20px;
}

.info-area__image {
    display: block;
    width: 100%;
    height: auto;
}


/* 新着商品ブロック */

.new-items__list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem;
}

.new-items__image-link {
    display: block;
}

a.new-items__name {
    font-size: 0.688rem;
    line-height: 1.5;
    text-align: center;
    display: block;
    font-feature-settings: "palt";
}


/* 話題売れ筋商品 */
.featured-products__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

/* セクションタイトル */

.section-block {
    box-sizing: border-box;
    display: grid;
    gap: 1.5rem;
    margin-bottom: 3rem;
}

.section-block * {
    box-sizing: border-box;
}

.section-block img {
    display: block;
    width: 100%;
}

.section-header {}

.section-title {
    text-align: center;
    font-size: 0.875rem;
    font-weight: bold;
    color: #fff;
    background: #000;
    line-height: 1;
    padding: 0.75em;
}


.section-body {}

/* バナーがない場合は非表示 */
.pickup-block:not(:has(> .pickup-block__body > .pickup-block__list li)) {
    display: none;
}

/* バナー管理wraper無効 */
[id^="widget-banner"] {
    display: contents;
}


/* ブロック */
#container #main_column .block_outer {
    padding: 0;
}

#main_column .block_outer {
    margin-bottom: 3rem;
}


/* 見出し付き4カラムブロック */
.four-column-section__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

a.four-column-section__link {
    display: grid;
    gap: 0.5rem;
    font-size: 0.813rem;
    line-height: 1.5;
}

.four-column-section__note {
    font-size: 0.688rem;
    text-align: right;
    line-height: 1;
}

.section-block sup {
    font-size: 0.6em;
}


/* 開催中キャンペーンバナー */
.promo-banners:not(:has(.banner-item)) {
    display: none;
}

.promo-banners {
    width: 100%;
}

.promo-banners__heading-wrap {
    margin-bottom: 1rem;
}

.promo-banners__content-wrap {
    width: 100%;
}

.promo-banners__featured {
    margin-bottom: 1.875rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

.promo-banners__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.875rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.promo-banners__item {
    list-style: none;
}

.promo-banners__featured:not(:has(.banner-item)),
.promo-banners__item:not(:has(.banner-item)) {
    display: none;
}

.promo-banners__item a {
    display: block;
}

.promo-banners__banner {
    display: block;
    text-decoration: none;
}

.promo-banners__banner img {
    display: block;
    width: 100%;
    height: auto;
}


/* トップ共通H2スタイル */
#main_column h2.section-heading {
    font-size: 0.875rem;
    font-weight: bold;
    width: 100% !IMPORTANT;
    border: unset;
    padding: 0;
    box-sizing: border-box;
    line-height: 1;
    margin-bottom: 0;
}



/* 【サイドナビ】バナーエリア */
.side-banner-area {
    width: 100%;
}

.side-banner-area__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.side-banner-area__item {
    margin: 0;
}

.side-banner-area__link {
    display: block;
    text-decoration: none;
}

.side-banner-area__image {
    display: block;
    width: 100%;
    height: auto;
}



/* 【サイドナビ】分類ナビ */
.side-nav-group-nav {
    width: 100%;
    display: grid;
    gap: 1rem;
}

.side-nav-group-nav__section {}

a.side-nav-group-nav__heading-link {
    margin: 0;
    padding: 1em;
    background: #f3f3f3;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1;
    display: block;
}

.side-nav-group-nav__child-list {}

.side-nav-group-nav__child-item {
    border-bottom: 1px solid #d9d9d9;
}

.side-nav-group-nav__child-item[data-channel="salon"] {
    display: none;
}

body[data-banner-code-cache*='"addSalesChannelToBody_salon":true'] .side-nav-group-nav__child-item[data-channel="salon"] {
    display: block;
}

a.side-nav-group-nav__child-link {
    display: block;
    padding: 1em 0.5em;
    color: #333;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1;
    text-decoration: none;
}

/* pickupブロック */
.pickup-block__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.pickup-block__list-item:not(:has(.banner-item)) {
    display: none;
}

.pickup-block:not(:has(.banner-item)) {
    display: none;
}



/* 【オプション】4つの特長_2026修正版ブロック */
.store-features__heading {
    font-size: 0.875rem;
    font-weight: bold;
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1em;
}

.store-features__heading:before,
.store-features__heading:after {
    content: "";
    height: 1px;
    background: currentColor;
    display: block;
    flex: 1;
}

.store-features__list {
    font-size: 0.938rem;
    line-height: 1.5;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
}

.store-features__item {
    background: #000;
    border-radius: 50%;
    aspect-ratio: 1;
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.store-features__text {
    color: #fff;
    text-align: center;
}


/* ぱんくず */
nav:has(.raku2_breadcrumbs) {
    display: none;
}

#breadcrumbArea nav.page-breadcrumbs {
    display: block;
}

#breadcrumbArea {
    min-height: 2lh;
    font-size: 0.688rem;
    padding-top: 1em;
}

.page-breadcrumbs {
    font-size: 0.688rem;
    line-height: 1.5;
    width: 1000px;
    text-align: left;
    margin: 0 auto;
}




/* 【コンテンツ】目玉コンテンツ */
.pickup__list {
    width: 100%;
    margin: 0 auto;
    display: grid;
    box-sizing: border-box;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
}

.pickup__list li {
    width: 100%;
}

a.pickup__imageWrap {
    display: block;
    width: 100%;
}

.pickup__imageWrap img {
    width: 100%;
    height: auto;
}


/* 無効状態のボタン */
.raku2_customer_regist_btn.disabled {
    pointer-events: none;
    cursor: default;
}

/* 開発用スタイル（本番は適切な位置へ設置する） */

/* --- ニュース_2026改修版ブロックに設置 --- */
.block_outer {
    div#news_area {
        margin: 0 auto 0;
        border-top: 1px solid #a9a9a9;
        border-bottom: 1px solid #a9a9a9;
        padding: 10px 0;
        width: 100%;
    }

    div#news_area h2 {
        font-size: 0.875rem;
        padding: 0;
        text-indent: 0;
    }

    div#news_area dl.newslist {
        width: 100%;
        margin: auto;
        border-bottom: none;
    }

    div#news_area dt.mini {
        width: 100%;
        background-color: #565656;
        color: #ffffff;
        padding: 0.75em 1em;
        text-indent: 0;
    }

}

/* 開発後削除 */
.demo {
    bottom: 0 !important;
    top: unset !important;
    margin-bottom: 0 !important;
}