/* カスタマイズ用CSS */

/*デバックバー非表示 */
.ec-debugModeAlert {
    display: none !important;
}

.ec-debugModeAlert+* {
    margin: 0;
}

@font-face {
    font-family: 'icomoon';
    src: url('/html/user_data/assets/fonts/icomoon.eot?eflr9t');
    src: url('/html/user_data/assets/fonts/icomoon.eot?eflr9t#iefix') format('embedded-opentype'),
        url('/html/user_data/assets/fonts/icomoon.ttf?eflr9t') format('truetype'),
        url('/html/user_data/assets/fonts/icomoon.woff?eflr9t') format('woff'),
        url('/html/user_data/assets/fonts/icomoon.svg?eflr9t#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

[class^="icon-"],
[class*=" icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icomoon' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-gide:before {
    content: "\e904";
}

.icon-faq:before {
    content: "\e907";
}

.icon-logout:before {
    content: "\e905";
}

.icon-login:before {
    content: "\e906";
}

.icon-cart:before {
    content: "\e900";
}

.icon-search:before {
    content: "\e901";
}

.icon-favo:before {
    content: "\e902";
}

.icon-member:before {
    content: "\e903";
}

ol,
ul {
    padding-left: 1rem;
}

.sp-t20 {
    margin-top: 20px;
}

.sp-t40 {
    margin-top: 40px;
}

.sp-b20 {
    margin-bottom: 20px;
}

.sp-b40 {
    margin-bottom: 40px;
}


body {
    font-family: "Zen Kaku Gothic New", "Yu Gothic", 游ゴシック, YuGothic, 游ゴシック体, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "iconmoon", "Font Awesome 5 Free", sans-serif;
    color: #131e3d;
    font-weight: 500;
}


h1.title,
h2.title,
h3.title,
h4.title,
h5.title,
h6.title,
.btn a,
.bar-more a {
    font-family: "Arvo", "Zen Kaku Gothic New", "Yu Gothic", 游ゴシック, YuGothic, 游ゴシック体, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "iconmoon", "Font Awesome 5 Free", sans-serif;
    font-weight: 700;
    color: #131e3d;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #131e3d;
}

a,
.ec-customerRole,
.ec-off1Grid {
    color: #131e3d;
}

a img {
    transition: .2s;
}

a:hover img {
    opacity: 0.7;
}

a.txt-link {
    color: #0074B6;
    text-decoration: underline;
}

.txt-left {
    text-align: left;
}

.txt-center {
    text-align: center;
}

.txt-right {
    text-align: right;
    width: 100%;
}

.sub-title {
    font-size: 18px;
    opacity: 0.8;
    font-weight: 500;
}

.txt-small {
    font-size: 60%;
}

.txt-mid {
    font-size: 80%;
}

.txt-big {
    font-size: 120%;
    font-weight: bold;
}

.txt-red {
    color: #C1272D;
}

p,
.list-number {
    font-size: 16px;
    line-height: 1.7em;
}

.list-number {
    margin: 20px 0 0 1em;
}

h3 {
    margin-bottom: 20px;
    font-size: 38px;
}

h3.gideh3 {
    font-size: 24px;
}

h1 .sub-title,
h3 .sub-title {
    color: #0074B6
}

.btn {
    position: relative;
    z-index: 10;
}

.btn a {
    display: block;
    padding: 15px 40px;
    text-align: center;
    border: 1px solid #131e3d;
    color: #131e3d;
    font-size: 140%;
    overflow: hidden;
    z-index: 1;
    position: relative;
}

.btn a::after {
    content: "";
    background: #131e3d;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    ;
    height: 100%;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
    z-index: -1;
}

.btn a:hover {
    color: #131e3d;
}

.btn a:hover::after {
    transform: scale(1, 1);
}

.btn.yellow a {
    border: 1px solid #FCEE21;
    color: #FCEE21 !important;
}

.btn.yellow a::after {
    background: #FCEE21;
}

.btn.yellow a:hover {
    color: #131e3d !important;
}

.btn.yellow a:hover::after {
    transform: scale(1, 1);
}


/*-----------------------------------------------
   common header
   ------------------------------------------------*/
.ec-headerRole {
    max-width: none;
    background: rgba(255, 255, 255, 100);
    padding: 0;
}

.top-header {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 40px;
    border-bottom: 1px solid #E6E6E6;
}

h1.top-title {
    font-size: 12px;
    margin: 0;
    padding: 0;
}

h1.top-title a {
    color: #131e3d;
}

.top-nav {
    width: 70%;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-end;
}

.ec-headerRole .ec-cartNavi {
    padding: 0;
    background: #fff;
}

.ec-cart-title {
    font-size: 14px;
    font-weight: 500;
    padding: 0 2px;
}

.ec-headerRole__cart {
    padding: 5px 0 0 0;
}

.ec-cartNavi .ec-cartNavi__badge {
    background: #C1272D;
}

.main-header {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 40px;

}

h2.ec-headerTitle a img {
    width: 300px;
}

.ec-headerNaviRole {
    width: 70% !important;
    display: flex;
    justify-content: flex-end;
}

.ec-categoryNaviRole__title {
    padding: 10px 1.5%;
    white-space: nowrap;
}

.ec-headerNav .ec-headerNav__itemLink {
    font-weight: 500 !important;
}

.ec-headerNaviRole__search {
    width: 250px;
    margin-left: 0 4%;
}

.ec-headerSearch .ec-headerSearch__keyword {
    float: none;
    width: 100%;
    border-radius: 0px;
    border-top: 0;
    border-left: 0;
    border-right: 0;
    background: #fff;
}

.ec-icon {
    font-size: 20px
}

.ec-headerRole .ec-headerTitle a,
.ec-headerNav .ec-headerNav__itemLink,
.ec-headerNav .ec-headerNav__item .ec-headerNav__itemIcon,
.ec-cartNavi,
.ec-categoryNaviRole__title,
.ec-headerRole .ec-categoryNaviRole {
    color: #131e3d;
}


.ec-layoutRole .ec-layoutRole__contents {
    max-width: none;
}

.ec-headerRole {
    padding-left: 0;
    padding-right: 0;
    align-items: center;
    position: relative;
    /* z-index: 999; */
}

.ec-headerRole .ec-headerTitle {
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 0 30px;
}

.ec-headerRole .ec-headerNav {
    margin-right: 0;
}

.ec-headerRole .ec-headerNaviRole {
    width: auto;
    max-width: none;
    padding: 0;
    margin: 0 0 0 auto;
}

.ec-headerNav .ec-headerNav__item {
    font-size: 14px;
}

.ec-headerNav .ec-headerNav__itemIcon {
    display: inline-block;
    margin-right: 2px;
    margin-left: 2px;
    font-size: 18px;
}

.ec-headerNav .ec-headerNav__item .ec-headerNav__itemIcon {
    display: inline-block;
    vertical-align: middle;
}

.ec-cartNavi {
    background: #fff !important;
    padding: 3px 0 0 10px;
}

.ec-headerNavSP {
    top: 8px;
}

.ec-headerNav {
    display: none;
}

.ec-headerRole .ec-categoryNaviRole {
    display: none;
}


/* ポップアップオーバーレイ */
#popup-notice-overlay {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
}

/* ポップアップ本体 */
#popup-notice-content {
    background: #fff;
    width: 90%;
    max-width: 960px;
    margin: 60px auto;
    padding: 40px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.24);
    position: relative;
    top: 10vh;
    font-size: 1rem;
    line-height: 1.7;
    max-height: 80vh;
    overflow-y: auto;
}

/* タイトル */
#popup-notice-content h2 {
    color: #d32f2f;
    font-weight: bold;
    font-size: 1.2em;
    margin-bottom: 1.2em;
    text-align: center;
    letter-spacing: 0.1em;
}

/* 本文 */
#popup-notice-content div {
    margin-bottom: 1.5em;
}

/* チェックボックスラベル */
#popup-notice-content label {
    font-size: 1em;
    margin-right: 1em;
    cursor: pointer;
}

/* 同意ボタン */
#popup-continue-btn {
    background: #1976d2;
    color: #fff;
    margin: auto;
    padding: 12px 40px;
    font-size: 1.1em;
    border: none;
    border-radius: 6px;
    cursor: not-allowed;
    transition: background 0.2s, opacity 0.2s;
    opacity: 0.7;
}

#popup-continue-btn:enabled {
    background: #1976d2;
    cursor: pointer;
    opacity: 1;
}

#popup-continue-btn:disabled,
#popup-continue-btn:hover {
    opacity: 0.7;
}


/*-----------------------------------------------
  Common Footer
  -------------------------------------------------*/


.ec-checked {
    margin-top: 100px;
}

.ft-contact {
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}



.ft-contact .sub-title {
    color: #fff;
}

.front_page .ft-contact {
    margin: 0;
}

.ft-btn {
    width: calc(100% / 3);
}

.ft-btn a {
    display: block;
    padding: 150px 20px;
    text-align: center;
    overflow: hidden;
    position: relative;
    z-index: 0;
}

.ft-btn h3 {
    color: #fff !important;
    position: absolute;
    z-index: 3;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.ft-btn a:before {
    content: "";
    width: 100%;
    height: 100%;
    background: #131e3d;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0.6;
    transition: .3s;
    z-index: 2;
}

.ft-btn img {
    position: absolute;
    left: 50%;
    top: 50%;
    height: auto;
    transform: translate(-50%, -50%);
    transition: transform .6s ease;
    z-index: 1;
}

.ft-btn a:hover:before {
    opacity: 0.2;
}

.ft-contact h3 .sub-title {
    display: block;
    padding-top: 5px;
}

.ec-footerRole {
    margin: 0;
    border: none;
    background: url('/html/user_data/assets/img/common/ft-back.png')left top repeat;
    color: #131e3d;
}


.ec-footerNavi a,
.ec-footerNavi,
.ec-footerTitle__copyright,
.ec-footerNavi-title {
    color: #131e3d;
}

.ec-footerNavi {
    text-align: left;
}

.ec-footerNavi .ec-footerNavi__link {
    display: block;
}

.ec-footerRole .ec-footerRole__inner img {
    margin-bottom: 15px;
}

.ec-footerTitle {
    padding: 20px 0;
}

.ec-footerTitle img {
    max-width: 230px;
}

.ft-sns {
    margin-top: 10px;
    padding: 0;
}

.ft-sns li {
    list-style: none;
    margin: 0 0.5em 0 0;
    font-size: 22px;
    display: inline-block;
}

.ft-sns li:last-child {
    margin: 0
}

.ft-sns li a {
    transition: .2s;
}

.ft-sns li a:hover {
    opacity: 0.8;
}

.ec-ft-banner {
    display: -webkit-flex;
    display: flex;
    margin: 0 0 10px 0;
    padding: 0;
    list-style: none;
}

.ec-ft-banner li {
    margin-right: 1%;
}

.ec-ft-banner li:last-child {
    margin-right: 0;
}

.ec-footerTitle__copyright {
    font-size: 10px;
}

.ec-blockBtn--cancel,
.ec-inlineBtn--cancel,
.ec-progress .ec-progress__number,
.ec-blockBtn--cancel:disabled,
.ec-inlineBtn--cancel:disabled,
.ec-progress .ec-progress__number:disabled {
    background: #131e3d;
    border-color: #131e3d;
}

.ec-blockBtn--cancel a,
.ec-inlineBtn--cancel a,
.ec-progress .ec-progress__number a,
.ec-blockBtn--cancel:disabled a,
.ec-inlineBtn--cancel:disabled a,
.ec-progress .ec-progress__number:disabled a {
    color: #fff;
}

.ec-progress__label,
.ec-cartNaviIsset .ec-cartNaviIsset__action .ec-blockBtn--action {
    color: #131e3d;
}

.ec-progress .is-complete .ec-progress__number {
    background: #0074B6;
}

.ec-progress .is-complete .ec-progress__label {
    color: #0074B6;
}

.ec-inlineBtn--action,
.ec-blockBtn--action,
.ec-inlineBtn--action.btn_color {
    background: #FCEE21 !important;
    border-color: #FCEE21 !important;
    color: #131e3d !important;
    border: 0;
}

.ec-inlineBtn--action:hover,
.ec-blockBtn--action:hover,
.ec-inlineBtn--action:disabled,
.ec-blockBtn--action:disabled {
    background: #FCEE21 !important;
    border-color: #FCEE21 !important;
    color: #131e3d;
    opacity: 0.7;
}

.ec-btn-action {
    display: inline-block;
    margin-bottom: 0;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    touch-action: manipulation;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    white-space: nowrap;
    --bs-btn-padding-y: 6px;
    --bs-btn-padding-x: 12px;
    --bs-btn-font-size: 0.875rem;
    --bs-btn-border-radius: 1.42857142;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    padding: 10px 16px;
    text-decoration: none;
    background: #FCEE21;
    border-color: #FCEE21;
    color: #131e3d;
    border: 0;
}

a.ec-blockBtn--action.btn_color {
    color: #fff !important;
    background: #0074B6 !important;
}

a.ec-blockBtn--action.btn_color:hover {
    background: #0074B6 !important;
}

.ec-zipInputHelp .ec-zipInputHelp__icon .ec-icon img {
    width: 0.5em;
    height: 0.5em;
    left: 5px;
    top: 5px;
}

/*-----------------------------------------------
   common page
   ------------------------------------------------*/
.pagetitle {
    width: 100%;
    height: 50px;
    background: url('/html/user_data/assets/img/common/pagetitle.jpg') center center no-repeat;
    background-size: cover;
}

.ec-categoryRole {
    background: #fff;
}

.ec-heading-bold {
    margin-top: 40px;
}

.ec-categoryRole .ec-role {
    padding: 0 0 0 40px;
}

.ec-layoutRole__contents {
    margin-top: 80px;
}

.ec-categoryRole h3 {
    padding: 0 0 10px 0;
    font-size: 16px;
    border-bottom: 2px solid #131e3d;
}

.ec-categoryRole h3 .sub-title {
    display: inline;
    padding: 0 0 0 5px;
    font-size: 10px;
}

.front_page .ec-layoutRole__contents {
    margin-top: 0;
}

.ec-calendar-container {
    padding: 80px 20px;
    background: #131e3d;
}

.ec-calendar {
    padding: 20px;
    background: #fff;
}

.ec-calendar-container .ec-secHeading h3 {
    color: #fff;
    text-align: center;
}

.ec-calendar-container .ec-secHeading h3 .sub-title {
    color: rgba(255, 255, 255, 0.8);
    display: block;
}

.ec-calendar-box:last-child {
    margin: 0 0 20px 0;
}

.ec-calendar__title {
    color: #131e3d;
    font-size: 20px;
}

.ec-blockTopBtn {
    background: #131e3d;
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    line-height: 1;
    position: relative;
    width: 40px;
    height: 40px;
    position: fixed;
    bottom: 30px;
    right: 30px;
    border-radius: 50%;
    transition: .2s;
}

.ec-blockTopBtn::before {
    content: '';
    width: 0.65em;
    height: 0.65em;
    border: 0.1em solid #fff;
    border-left: 0;
    border-bottom: 0;
    transform: rotate(-45deg);
    transform-origin: top right;
    position: absolute;
    top: 1em;
    right: 50%;
}

.ec-blockTopBtn:hover {
    opacity: 1;
}

/* top */
.ec-sliderRole {
    display: -webkit-flex;
    display: flex;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}

.main_visual.slick-dotted.slick-slider {
    margin-bottom: 0px;
}

.main_visual .slick-dots {
    position: absolute;
    top: 20px;
    left: 20px;
    display: block;
    width: 20px;
    padding: 0;
    list-style: none;
    text-align: center;
}

.main_visual .slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}

.main_visual .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.main_visual .slick-dots li button:hover,
.main_visual .slick-dots li button:focus {
    outline: none;
}

.main_visual .slick-dots li button:hover:before,
.main_visual .slick-dots li button:focus:before {
    opacity: 1;
}

.main_visual .slick-dots li button:before {
    content: " ";
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 12px;
    height: 12px;
    text-align: center;
    opacity: .25;
    background-color: black;
    border-radius: 50%;

}

.main_visual .slick-dots li.slick-active button:before {
    opacity: .75;
    background-color: white;
}

.main_visual .slick-dots li button.thumbnail img {
    width: 0;
    height: 0;
}

.sl-box {
    width: 40%;
    position: relative;
}

.sl-box .arrow_box {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    bottom: 1px;
    right: 0;
    position: absolute;
    z-index: 999;
}

.sl-box .prev-arrow,
.sl-box .next-arrow {
    display: block;
    width: 50px;
    height: 50px;
    background: #FCEE21;
    transition: all .3s ease;
    cursor: pointer;
    position: relative;
}

.sl-box .prev-arrow {
    transform: rotate(180deg);
    margin-right: 2px;
}

.sl-box .prev-arrow::before,
.sl-box .next-arrow::before {
    position: absolute;
    content: "";
    width: 12px;
    height: 12px;
    border-right: 1px solid #131e3d;
    border-top: 1px solid #131e3d;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    transform: rotate(45deg);
}

.top-cate-container {
    display: -webkit-flex;
    display: flex;
    width: 60%;
    flex-direction: column;
    column-gap: 0px;
    row-gap: 0px;
}

/* 上の1カラム */
.top-cate-full {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.top-cate-full img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 下の2カラム部分 */
.top-cate-row {
    display: flex;
}

.top-cate-row .top-cate {
    flex: 1;
}

.top-cate-full,
.top-cate {
    position: relative;
    margin: 0;
    padding: 0;
    background: #131e3d;
}

.top-cate-full a,
.top-cate a {
    display: block;
    position: relative;
}

.top-cate-full a h3,
.top-cate a h3 {
    position: absolute;
    bottom: 20px;
    left: 40px;
    z-index: 10;
    color: #fff;
    font-size: 18px;
    margin: 0;
    padding: 0;
}

.ec-role {
    max-width: 100%;
    padding-left: 40px;
    padding-right: 40px;
}

.ec-news-top {
    overflow: hidden;
}

.ec-newsRole h3 .sub-title {
    display: inline-block;
    padding-left: 10px;
}

.ec-newsRole .ec-newsRole__news {
    border: none;
    padding: 0;
}

.ec-newsRole__newsDate {
    font-size: 16px !important;
    color: #131e3d;
}

.recommend-container {
    max-width: 100%;
    margin-bottom: 80px;
    background: #131e3d;
    color: #fff;
    overflow: hidden;
    position: relative;
}

.recommend-container .ec-secHeading {
    padding: 0 40px;
}

.pro-container {
    overflow: hidden;
    padding: 80px 0;
}

.pro-container .pro-inner {
    margin: 0 0 0 auto;
    width: 80%;
    padding-left: 4rem;
    padding-right: 4rem;
}

.pro-container .lineup {
    position: relative;
}

.pro-container .slick-list {
    overflow: visible;
}

.pro-container .slick-nav-arrows {
    position: absolute;
    top: -40px;
    right: 20px;
}

.pro-container .slick-track {
    display: flex;
}

.pro-container .slick-slide {
    height: auto;
}


.recommend-container h3.title,
.recommend-container h3.title .sub-title {
    color: #fff;
}

.recommend-container .ec-secHeading {
    margin-bottom: 40px;
}

.recommend-container .item_name,
.recommend-container .item_price {
    color: #fff;
    text-align: center;
}

.recommend-container .item_price {
    font-weight: 400;
}

.recommend-container .item_name {
    margin-top: 10px;
}

.recommend-container .reco_slider {
    display: flex;
    flex-wrap: nowrap;
}

.recommend-container .slick-slide {
    margin-right: 20px;
}

.rec_arrow_box {
    display: flex;
    position: absolute;
    right: 20px;
    top: -60px;
}

.aboutus-container {
    padding: 100px 40px;
    background-size: cover;
}

.aboutus-container h3 {
    margin-left: 20px;
    font-size: 78px;
    font-weight: 700;
    color: #fff;
}

.aboutus-container p {
    margin-left: 20px;
    font-size: 18px;
    line-height: 200%;
    color: #fff;
}


.ec-cate_nav,
.ec-cate_nav li {
    list-style: none;
    display: 100%;
    margin: 0;
    padding: 0;
}

.ec-cate_nav li a {
    padding: 8px 10px;
    position: relative;
    display: block;
    transition: .2s;
}

.ec-cate_nav li a:hover,
.ec-cate_nav li.current>a,
.ec-cate_nav li.is-open>a {
    background: #ececec;
}


.ec-cate_nav ul.category-children {
    list-style: none;
    padding-left: 1em;
    margin: 0;
}

.ec-cate_nav li {
    margin: 0.3em 0;
}

.ec-cate_nav li a {
    display: block;
    font-size: 14px;
    padding: 0.2em 0.5em;
    position: relative;
}

.ec-cate_nav li.category-level-0>a {
    margin-top: 20px;
    font-size: 16px;
    font-weight: bold;
}


/* 親 → 子：常時表示 */
.ec-cate_nav ul.category-children.level-1 {
    display: block;
}

/* 子 → 孫：非表示が基本 */
.ec-cate_nav ul.category-children.level-2 {
    display: none;

}

.ec-cate_nav ul.category-children.level-2 {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
    position: relative;
}

.ec-cate_nav li.category-level-1:hover>ul.category-children.level-2 {
    display: block;
    opacity: 1;
    visibility: visible;
}

.ec-cate_nav li a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 8px;
    height: 8px;
    border-right: 1px solid #aaa;
    border-bottom: 1px solid #aaa;
    transform: translateY(-50%) rotate(45deg);
    opacity: 0;
    transition: 0.2s;
}

.ec-cate_nav li.has-grandchildren>a::before {
    opacity: 1;
}

.ec-cate_nav ul.category-children.level-2 {
    display: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
}

/* is-open のときに表示 */
.ec-cate_nav ul.category-children.level-2.is-open {
    display: block;
    opacity: 1;
    visibility: visible;
}

.ec-role.ec-checked {
    background: #fafafa;
}


.ec-checkedItemRole {
    padding: 40px 0;
}

.ec-checkedItemRole .ec-checkedItemRole__list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px;
}

.ec-checkedItemRole .ec-checkedItemRole__listItem {
    margin-bottom: 5%;
    width: 48%;
    height: auto;
}

.ec-checkedItemRole .ec-checkedItemRole__listItem:nth-child(odd) {
    margin-right: 4%;
}

.ec-checkedItemRole .ec-checkedItemRole__listItem a {
    color: black;
    text-decoration: none;
}

.ec-checkedItemRole .ec-checkedItemRole__listItem a p {
    margin-bottom: 0;
}

.ec-checkedItemRole .ec-checkedItemRole__listItemTitle {
    margin: 10px 0;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    color: #131e3d;
}

.ec-checkedItemRole .ec-checkedItemRole__listItemPrice {
    font-weight: bold;
    text-align: center;
    color: #131e3d;
}

.ec-checkedItemRole .ec-checkedItemRole__listItemPrice .ec-price__price {
    font-size: 14px;
}

.ec-checkedItemRole__listItemTag {
    margin-top: 10px;
}

.ec-checkedItemRole__listItemTag ul {
    padding: 0;
    margin-top: 10px;
    margin-bottom: 0;
    display: inline-block;
}

.ec-checkedItemRole__tag {
    display: inline-block;
    padding: 2px 5px;
    margin-bottom: 1%;
    list-style: none;
    font-size: 12px;
    color: #525263;
    border: solid 1px #D7DADD;
    border-radius: 3px;
    background-color: #F5F7F8;
}

.hover_none {
    display: inline-block;
}


.ec-checkedItemRole .ec-checkedItemRole__list .ec-checkedItemRole__listItem a:hover .hover_none {
    text-decoration: none !important;
}



.ec-checkedItemRole__listItemBrand,
.ec-checkedItemRole__listItemStock,
.ec-checkedItemRole__listItemCode {
    font-size: 12px;
    margin-top: 10px;
}

.ec-checkedItemRole__listItemCategory {
    font-size: 12px;
    padding-top: 10px;
    margin-top: 10px;

}

.ec-checkedItemRole__listItemCategory ul {
    text-decoration: none;
    display: block;
    list-style: none;
    padding: 0;
    margin-bottom: 0;
}

.ec-checkedItemRole__listItemDescription {
    font-size: 12px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    padding-top: 10px;
    margin-top: 10px;

}

.ec-blockBtn--top {
    margin: 0 auto;
}

.ec-checkedItemRole__average {
    font-size: 80%;
    margin-top: 10px;
}

.ec-checkedItemRole__average .recommend_average {
    color: #DE5D50;
}

.ec-checkedItemRole .switch-off {
    text-align: right;
    margin: 10px 0 20px;
}

.ec-checkedItemRole .switch-off a {
    color: black;
    padding: 10px 0;
    text-decoration: underline;
    font-size: 80%;
}

.ec-checkedItemRole__nohistory {
    font-size: 80%;
    padding: 10px;
    width: 100%;
    text-align: center;
}



/* products single */

h2.ec-headingTitle {
    font-weight: 700;
}


.ec-price {
    color: #C1272D;
}

.ec-productRole__priceRegular {
    color: #999;
    text-decoration: line-through;
    margin-right: 0.5em;
    font-size: 0.9em;
}

#to_getestima span {
    background: none !important;
    border: 0 !important;
}

.ec-sliderItemRole .slideThumb {
    margin-bottom: 25px;
    width: 12.5%;
    opacity: 0.8;
    cursor: pointer;
}

/* FAQ */
.qa-1 {
    margin-bottom: 7px;
    border: 1px solid #d6dde3;
    border-radius: 5px;
}

.qa-1 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #131e3d;
    font-weight: 600;
    cursor: pointer;
}

.qa-1 summary::before,
.qa-1 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

.qa-1 summary::before {
    color: #2F8FC4;
    content: "Q";
}

.qa-1 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #131e3db3;
    border-right: 3px solid #131e3db3;
    content: '';
    transition: transform .5s;
}

.qa-1[open] summary::after {
    transform: rotate(225deg);
}

.qa-1 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform .5s, opacity .5s;
}

.qa-1[open] p {
    transform: none;
    opacity: 1;
}

.qa-1 p::before {
    color: #c1272d;
    line-height: 1.2;
    content: "A";
}

/* Entry */

.ec-select label {
    font-weight: normal;
}

.ec-checkbox input[type=checkbox] {
    display: inline-block;
    /* block系に変更 */
    position: relative;
    width: 20px;
    height: 20px;
    margin: 0;
    padding: 0;
    /* paddingは0に */
    border: 1px solid #ccc;
    vertical-align: -5px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-weight: normal;
    box-sizing: border-box;
    /* これを追加 */
    background: #fff;
}

.ec-checkbox input[type="checkbox"]:checked:before {
    position: absolute;
    top: -5%;
    left: 30%;
    transform: rotate(50deg);
    width: 10px;
    height: 14px;
    border-right: 2px solid #131e3d;
    border-bottom: 2px solid #131e3d;
    content: '';
}

.ec-registerRole__actions>.ec-checkbox {
    margin-bottom: 20px;
}


/* Guide */
.g-btn {
    display: flex;
    flex-wrap: wrap;
    column-gap: 20px;
    row-gap: 20px;
}

.section-trigger {
    display: block;
    width: 48%;
    cursor: pointer;
    padding: 20px;
    text-align: center;
    border: 1px solid #ccc;
    transition: .3s;
}

.section-link {
    width: 48%;
}

.section-link a {
    display: block;
    cursor: pointer;
    padding: 20px;
    text-align: center;
    border: 1px solid #ccc;
    transition: .3s;
}

.section-trigger:hover,
.section-link a:hover {
    color: #fff;
    background-color: #131e3d;
}

.section {
    padding-top: 40px;
}

.guide-pic {
    margin-top: 20px;
    border: 1px solid #ccc;
}


.ec-select.ec-select__delivery,
.ec-select.ec-select__time {
    display: none;
}


/*--------------------------------------------------------------
  
  PC min-width: 911px〜
  
  ----------------------------------------------------------------*/
@media screen and (min-width: 911px) {

    .sp-none {
        display: block;
    }

    .pc-none {
        display: none;
    }

    .sub-title {
        display: block;
    }

    .pc-br {
        display: block;
    }

    .sp-br {
        display: inline;
    }

    .ec-borderedDefs dd {
        line-height: 2em;
    }

    /*----------------------------------------------
    PC header
    ------------------------------------------------*/

    .sp-nav-btn {
        display: none;
    }

    h2.ec-headerTitle {
        width: 30%;
    }

    .ec-headerRole:hover {
        background: #fff;
    }

    .ec-cartNavi {
        background: #fff !important;
    }

    .ec-headerNav .ec-headerNav__item .ec-headerNav__itemIcon,
    .ec-cartNavi {
        color: #131e3d;
    }

    .ec-cartNavi {
        width: auto;
        min-width: auto;
        height: auto;
    }

    .ec-layoutRole__left {
        position: -webkit-sticky;
        position: sticky;
        top: 50px;
    }

    .ec-headerSearch .ec-headerSearch__keyword {
        margin-bottom: 10px;
    }


    .ec-headerRole .ec-categoryNaviRole li a {
        width: 180px;
        color: #131e3d;
        background: rgba(255, 255, 255, 0.8);
    }

    .ec-headerRole .ec-categoryNaviRole ul ul {
        left: 180px;
    }

    .ec-headerRole .ec-categoryNaviRole li a:hover {
        background: rgba(250, 250, 250, 0.8);
    }

    .ec-headerRole .ec-categoryNaviRole li ul:before {
        color: #131e3d;
    }

    .front_page .ec-headerRole {
        position: relative !important;

    }

    .ec-headerRole a:hover {
        text-decoration: none;
        opacity: 0.8;
    }

    .ec-headerRole .ec-headerTitle {
        margin: 0;
    }

    .ec-headerRole .ec-headerNav {
        margin-right: 10px;
    }

    .ec-headerNav .ec-headerNav__item {
        margin: 0 5px;
    }

    .ec-headerNav .ec-headerNav__item .ec-headerNav__itemIcon {
        display: inline-block;
    }

    .ec-headerNav .ec-headerNav__item a {
        font-size: 14px;
        font-weight: bold;
    }

    .ec-headerNav {
        display: block;
    }

    .ec-headerRole .ec-categoryNaviRole {
        position: relative;
        padding: 0;
        font-size: 14px;
        font-weight: bold;
        color: #000;
        margin-right: 18px;
        transform: translateY(1px);
        max-width: none;
        width: auto;
        display: block;
    }

    .ec-headerRole .ec-categoryNaviRole__item {
        position: absolute;
        top: 40px;
        left: -80px;
        padding-top: 25px;
        background: #fff;
        width: 220px;
        z-index: 99999;
        display: none;
    }

    .ec-news-top {
        border-bottom: 1px solid #f1f1f1;
    }

    .ec-categoryNaviRole__title {
        display: block;
        position: relative;
    }

    .ec-categoryNaviRole__title:hover .ec-categoryNaviRole__item {
        display: block;
    }

    .ec-headerRole .ec-categoryNaviRole__item ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .ec-categoryNaviRole__lists li a {
        display: block;
        padding: 8px 20px;
    }

    .ec-categoryNaviRole__lists li a:hover {
        background: #ececec;
        opacity: 1;
    }

    .ec-categoryNaviRole__lists li:has(> ul) {
        position: relative;
    }

    .ec-categoryNaviRole__lists li:has(> ul)::after {
        content: "";
        position: absolute;
        top: 15px;
        right: 15px;
        width: 10px;
        height: 10px;
        border-top: 1px solid #131e3d;
        border-right: 1px solid #131e3d;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        z-index: 1;
        transition: .2s;
    }

    .ec-categoryNaviRole__lists li>ul,
    .ec-categoryNaviRole__lists li ul li>ul {
        position: relative;
        display: none;
    }


    .ec-categoryNaviRole__lists li:hover>ul,
    .ec-categoryNaviRole__lists li ul li:hover>ul {
        position: absolute;
        width: 220px;
        height: auto;
        left: 220px;
        top: 0;
        z-index: 100;
        background: #fff;
        display: block;
    }


    .ec-categoryNaviRole__lists li ul li>ul {
        top: 0;
        left: 100%;
    }

    /* メガメニュー全体 */

    .global-nav__item {
        padding: 15px 1.5%;
    }

    .mega-menu {
        position: absolute;
        left: 0;
        right: 0;
        background: #fff;
        padding: 40px;
        display: none;
        width: 100%;
        z-index: 999999;
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
    }

    /* 展開するトリガー */
    .has-mega:hover .mega-menu {
        display: flex;

    }

    /* メニュー内のレイアウト（左画像 + 右カテゴリ） */
    .mega-menu__inner {
        display: flex;
        margin: 0 auto;
        gap: 2rem;
    }

    /* 左画像ブロック */
    .category-column__image {
        width: 30%;
        height: auto;

    }

    .category-column {
        width: 100%;
        max-width: 33.33%;
        box-sizing: border-box;
        display: flex;
        flex-direction: row;
        gap: 1rem;
    }

    .category-column__content {
        width: 70%;
    }

    .category-column__content a {
        display: block;
        margin-bottom: 0.5rem;
        font-size: 14px;
        font-weight: 500;
    }

    .category-column__content ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .category-column__content a.parent-category__title {
        font-size: 16px;
        font-weight: bold;
    }

    /* 孫カテゴリ（ulの中のul）を非表示 */
    .category-column__content ul ul {
        display: none;
    }


    /*-----------------------------------------------
    PC Footer
    -------------------------------------------------*/

    .ec-footerRole {
        margin: 0 !important;
    }

    .ec-footerRole .ec-footerRole__inner img {
        width: 260px;
    }

    .ec-footerRole {
        padding: 80px 40px 0px 40px;
    }

    .ec-footerRole .ec-footerRole__inner {
        width: 100%;
        max-width: 1400px;
        margin: auto;
        display: -webkit-flex;
        display: flex;
        justify-content: space-between;
    }

    .ec-footerRole .ec-footerRole__inner .ft-sns {
        text-align: left !important;
    }

    .ft-nav-container,
    .ft-bottom-container {
        width: 100%;
        max-width: 1400px;
        margin: auto;
        padding-left: 20px;
        padding-right: 20px;
        display: -webkit-flex;
        display: flex;
        justify-content: space-between;
    }

    .ft-bottom-container {
        align-items: center;
    }

    .ec-footerNavi .ec-footerNavi__link {
        display: block;
    }

    .ec-footerNavi-title {
        padding: 0;
        border: none;
        margin-bottom: 10px;
        font-size: 14px;
        font-weight: bold;
    }

    .ec-footerNavi-title::after {
        content: "";
    }

    .ec-footerNavi {
        display: block;
    }

    .ec-footerNavi .ec-footerNavi__link a {
        text-decoration: none;
        font-size: 12px;
        margin: 0;
        padding: 3px 0;
    }

    .ft-nav {
        margin-right: 5%;
    }

    .ft-nav:last-child {
        margin-right: 0;
    }

    .ft-sns {
        text-align: left;
    }

    .ec-ft-banner {
        justify-self: right;
    }

    .ec-footerTitle__copyright {
        padding-bottom: 60px;
    }

    /*----------------------------------------------
    PC page
    ------------------------------------------------*/

    /* toppage */
    .ec-sliderRole {
        display: -webkit-flex;
        display: flex;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .top-cate-full {
        width: 100%;
        height: 50% !important;
    }

    .top-cate-full img .top-cate img {
        position: absolute;
        left: 0;
        top: 0;
        min-width: 100%;
        min-height: 100%;
        max-width: inherit;
        z-index: 1;
    }

    .ec-newsRole .ec-secHeading {
        width: 25%;
    }

    #product_list_with_pager .ec-secHeading h3 .sub-title {
        padding-left: 1em;
        display: inline-block !important;
    }

    .ec-newsRole {
        display: -webkit-flex;
        display: flex;
        align-items: center;
    }

    .ec-newsRole .ec-newsRole__news {
        width: 60%;
        padding: 20px;
        font-size: 16px;
    }

    .bar-more {
        width: 15%;
        text-align: right;
        position: relative;
        margin-right: 40px;
        transition: .2s;
    }

    .bar-more:after {
        content: "";
        width: 100px;
        height: 1px;
        background: #131e3d;
        position: absolute;
        top: 48%;
        right: -120px;
        transition: .2s;
    }

    .bar-more:hover {
        margin-right: 50px;
    }

    .bar-more:hover:after {
        width: 100px;
    }

    .ec-newsRole {
        padding: 0;
    }

    .recommend-container {
        padding: 100px 0;
    }

    .front_page .ec-layoutRole__contents {
        padding: 60px 0;
    }

    .ec-layoutRole__contents {
        padding: 0 0 60px 0;
    }

    .top-product-list {
        padding-left: 40px;
    }

    .ec-calendar {
        padding: 40px;
        margin-left: 0 !important;
    }

    .ec-calendar__month {
        width: 46%;
        margin: 0 2% 20px 2%
    }

    .aboutus-container {
        background: url('/html/user_data/assets/img/top/aboutus-back.jpg') center center no-repeat;
        background-size: cover;
        background-attachment: fixed;

    }

    .ec-categoryRole {
        padding: 0;
    }

    .product-list {
        display: flex;
    }

    .products.ec-categoryRole {
        width: 25%;
    }

    .product-list-box {
        width: 75%;
        padding: 0 20px;
    }

    .ec-layoutRole__left .ec-secHeading {
        background: #fff;
    }

    .ec-checked {
        margin-top: 100px;
    }

    .ec-checkedItemRole__nohistory {
        text-align: left;
    }

    .ec-layoutRole__left .ec-checkedItemRole .l-side__hide,
    .ec-layoutRole__right .ec-checkedItemRole .l-side__hide {
        display: none;
    }

    .ec-layoutRole__left .ec-checkedItemRole,
    .ec-layoutRole__right .ec-checkedItemRole {
        padding-top: 0;
    }

    .ec-layoutRole__left .ec-checkedItemRole .ec-checkedItemRole__listItem,
    .ec-layoutRole__right .ec-checkedItemRole .ec-checkedItemRole__listItem {
        width: 100% !important;
        margin-right: 0;
    }

    .ec-checkedItemRole {
        padding: 60px 0;
    }

    .ec-checkedItemRole .ec-checkedItemRole__listItem {
        width: 18%;
        margin-bottom: 30px;
        margin-right: 2%;
    }

    .ec-checkedItemRole .ec-checkedItemRole__listItem:nth-child(odd),
    .ec-checkedItemRole .ec-checkedItemRole__listItem:not(:last-of-type) {
        margin-right: 2%;
    }

    .ec-checkedItemRole .ec-checkedItemRole__listItem:nth-of-type(5n) {
        margin-right: 0;
    }

    .ec-productRole__btn,
    .ec-conntact_btn {
        width: 100%;
        margin: 20px 0 16px 0;
        max-width: 350px;
    }

    .product-list-box .ec-searchnavRole,
    .product-list-box .ec-searchnavRole .ec-searchnavRole__infos,
    .product-list-box .ec-shelfRole {
        max-width: 100%;
    }

}


/*--------------------------------------------------------------
  
  Tablet min-width: 911px〜
  
  ----------------------------------------------------------------*/
@media screen and (min-width: 910px) and (max-width:1120px) {
    h2.ec-headerTitle {
        width: 20%;
    }

    .ec-headerRole .ec-headerNaviRole {
        width: 80% !important;
        font-size: 14px;
    }

    .ec-headerNav .ec-headerNav__item a {
        margin-right: 2px;
    }

    .ec-headerNav .ec-headerNav__itemLink,
    .ec-cart-title {
        font-size: 12px;
    }

    .ec-headerRole .ec-headerNav {
        margin: 0;
    }

    .ec-headerNaviRole__search {
        width: 200px;
    }

}

/*-----------------------------------------------------------------
  
  mobile max-width: 910px
  
  -------------------------------------------------------------------*/
@media screen and (max-width:910px) {


    .sp-none {
        display: none;
    }

    .pc-none {
        display: block;
    }

    .pc-br {
        display: inline;
    }

    .sp-br {
        display: block;
    }

    .ec-pageHeader h1 {
        font-size: 32px;
        border-top: 0;
        border-bottom: 1px solid #ccc;
    }

    .ec-pageHeader h1 .sub-title {
        display: block;
    }

    /*----------------------------------------------
    mobile  header
    ------------------------------------------------*/

    .ec-headerRole .ec-headerNaviRole,
    .top-nav {
        display: none;
    }

    .top-header {
        padding: 10px 20px 5px 20px;
        border: none;
    }

    h2.ec-headerTitle {
        width: 60%;
    }

    .main-header {
        padding: 0 0 20px 20px;
    }

    .ec-headerRole .ec-headerTitle {
        margin: 0;
    }

    .ec-headerRole__navSP {
        z-index: 99999;
    }

    .search-toggle {
        position: absolute;
        width: 40px;
        height: 50px;
        top: 11px;
        right: 55px;
        font-size: 28px;
        color: #131e3d;
        text-align: center;
        line-height: 2.2;
        font-weight: 700;
        cursor: pointer;
    }

    .sp-nav-btn {
        position: absolute;
        width: 30px;
        height: 40px;
        top: 25px;
        right: 20px;
        font-size: 10px;
        color: #131e3d;
        text-align: center;
        line-height: 2.2;
        font-weight: 700;
        cursor: pointer;
    }

    .sp-nav-btn span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #131e3d;
        border-radius: 4px;
    }

    .sp-nav-btn,
    .sp-nav-btn span {
        display: inline-block;
        transition: all .5s;
        box-sizing: border-box;
    }

    .sp-nav-btn span:nth-of-type(1) {
        top: 0;
    }

    .sp-nav-btn span:nth-of-type(2) {
        top: 12px;
    }

    .sp-nav-btn span:nth-of-type(3) {
        bottom: 13px;
    }

    .sp-nav-btn.active span:nth-of-type(1) {
        -webkit-transform: translateY(12px) rotate(45deg);
        transform: translateY(12px) rotate(45deg);
    }

    .sp-nav-btn.active span:nth-of-type(2) {
        opacity: 0;
    }

    .sp-nav-btn.active span:nth-of-type(3) {
        -webkit-transform: translateY(-12px) rotate(-45deg);
        transform: translateY(-12px) rotate(-45deg);
    }

    .sp-headerNaviRole__search {
        width: 90%;
        padding: 20px;
        position: absolute;
        top: -100px;
        left: 50%;
        border-radius: 20px;
        transform: translateX(-50%);
        background: #fff;
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
        opacity: 0;
        transition: .3s;
        z-index: 99;
    }

    .sp-headerNaviRole__search.is_active {
        top: 90px;
        opacity: 1;
    }

    .ec-drawerRole {
        width: 100%;
        transform: translateX(1000px);
        background: #fff;
        color: #131e3d;
        transition: z-index 0ms 1ms;
        display: block;
    }

    .ec-drawerRole.is_active {
        width: 100%;
        transform: translateX(0);
        background: #fff;
        color: #131e3d;
        display: block;
    }

    .ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav li a {
        color: #131e3d;
        text-align: left;
    }

    .ec-itemNav__nav li ul {
        display: block;
        width: 100% !important;
        z-index: 0;
        position: inherit;
        min-width: 100%;
    }

    .ec-drawerRole .ec-itemNav__nav li {
        display: block;
        width: 100%;
        position: inherit;
    }

    .sp-logo {
        padding: 20px 20px 40px 20px;
    }

    .sp-logo img {
        width: 100%;
        max-width: 200px;
    }

    .ec-drawerRole .ec-headerSearch {
        padding: 0px 40px 20px 40px;
        background: #fff;
    }

    .ec-drawerRole .ec-itemNav__nav,
    .ec-drawerRole .ec-headerLink__list {
        display: flex;
        flex-wrap: wrap;
    }

    .ec-drawerRole .ec-headerLinkArea .ec-headerLink__icon {
        width: 20px;
    }

    .ec-drawerRole .ec-headerLink__item {
        width: 50%;
    }

    .ec-drawerRole .ec-headerLink__list {
        background: #131e3d;
    }

    .ec-drawerRole .ec-headerCategoryArea p {
        color: #131e3d;
        font-size: 120%;
    }

    .ec-drawerRole .ec-headerLinkArea .ec-headerLink__item,
    .ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav li a,
    .ec-drawerRole .ec-headerCategoryArea .ec-headerCategoryArea__heading,
    .ec-drawerRole .ec-headerLinkArea .ec-headerLink__list {
        border: none;
    }

    .ec-drawerRole .ec-headerLinkArea .ec-headerLink__list .ec-headerLink__item {
        border-right: 1px solid #37415e;
        border-bottom: 1px solid #37415e;
    }

    .ec-drawerRole .ec-headerCategoryArea {
        padding: 20px;
        background: #fff;
    }

    .ec-drawerRole .ec-headerCategoryArea .ec-headerCategoryArea__heading,
    .ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav li a {
        background: #fff;
    }

    .ec-itemNav__nav li {
        position: relative;
    }

    .ec-itemNav__nav li ul li ul {
        position: inherit;
    }

    .ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav li ul li a {
        border-bottom: 0;
    }

    .ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav li ul li a,
    .ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav li ul li ul li a {
        color: #131e3d;
    }

    .ec-itemNav__nav li ul li {
        overflow: visible;
    }

    .ec-itemNav__nav li a {
        display: block;
        position: relative;
    }

    .ec-itemNav__nav li a:before {
        content: "";
        position: absolute;
        top: 40%;
        right: 10px;
        width: 10px;
        height: 10px;
        border-top: 1px solid #131e3d;
        border-right: 1px solid #131e3d;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        transition: .2s;
    }

    .sp-sns {
        display: flex;
        margin: 20px 0 0 0;
        padding: 0;
        list-style: none;
        justify-content: center;
        text-align: center;
    }

    .sp-sns li a {
        padding: 10px;
        color: #131e3d;
        font-size: 200%;
    }

    #popup-notice-content {
        max-width: 95vw;
        max-height: 70vh;
        margin: 20px auto;
        padding: 40px 20px;
        font-size: 0.95em;
    }

    #popup-notice-content h2 {
        font-size: 1em;
    }

    /*----------------------------------------------
    mobile  footer
    ------------------------------------------------*/

    .ec-checked {
        margin-top: 60px;
    }

    .ec-footerRole {
        padding: 80px 20px 20px 20px;
    }

    .ft-sns {
        font-size: 30px;
    }

    .ec-footerNavi {
        display: none;
    }

    .ec-footerNavi.active {
        display: block;
    }

    .ec-footerNavi-title {
        padding: 20px;
        border-bottom: 1px solid #919192;
        position: relative;

    }

    .ec-footerNavi-title::after {
        content: "+";
        position: absolute;
        right: 20px;
        top: 20px;
        font-size: 20px;
    }

    .ec-footerNavi-title.active::after {
        content: "ー";
    }

    .ec-footerNavi .ec-footerNavi__link a {
        width: 100%;
        margin: 0;
        padding: 15px 30px;
        text-decoration: none;
        border-bottom: 1px solid #919192;
    }

    .ec-footerTitle {
        padding: 40px 40px 20px 40px;
    }

    .ec-ft-banner {
        justify-content: center;
    }

    .ec-footerTitle__copyright {
        padding: 20px 40px 60px 20px;
        text-align: center;
    }

    /*----------------------------------------------
    mobile  page
    ------------------------------------------------*/

    /* top */

    .ec-role {
        padding-left: 20px;
        padding-right: 20px;
    }

    .ec-sliderRole,
    .top-cate-container {
        width: 100%;
        max-width: 100%;
        flex-wrap: wrap;
    }

    .top-cate-container {
        margin-top: -1px;
        overflow: hidden;
    }

    .sl-box {
        width: 100%;
    }

    .top-cate-full a h3,
    .top-cate h3 {
        left: 20px !important;
        font-size: 18px;
    }

    .ec-newsRole {
        padding: 0 0 40px 0;
    }

    .bar-more {
        text-align: right;
        position: relative;
        padding-right: 40px;
        transition: .2s;
    }

    .bar-more:after {
        content: "";
        width: 100px;
        height: 1px;
        background: #131e3d;
        position: absolute;
        top: 48%;
        right: -80px;
        transition: .2s;
    }

    .bar-more:hover {
        padding-right: 60px;
    }

    .bar-more:hover:after {
        right: -60px;
        width: 100px;
    }

    .ec-layoutRole .ec-layoutRole__left {
        display: none;
    }

    .ec-layoutRole .ec-layoutRole__mainWithColumn {
        width: 100%;
    }


    .recommend-container {
        padding: 40px 0 0 0;
    }

    .recommend-container .ec-secHeading {
        padding: 0 20px;
    }

    #product_list_with_pager .ec-secHeading h3 .sub-title {
        display: block !important;
    }

    .recommend-container .sub-title {
        display: block;
    }

    .recommend-container .reco-inner {
        margin-top: 80px;
        width: 90%;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .recommend-container .rec_arrow_box {
        right: -40px;
    }

    .recommend-container .slick-slide {

        margin-right: 10px;
    }

    .recommend-container .item_name,
    .recommend-container .item_price {
        font-size: 12px;
    }

    .pro-container .pro-inner {
        width: 95%;
    }

    .aboutus-container {
        padding: 100px 20px;
        background: url('/html/user_data/assets/img/top/aboutus-back-sp.jpg') right bottom no-repeat;
        background-size: cover;
    }

    .aboutus-container h3 {
        font-size: 36px;
    }



    .ft-contact {
        flex-wrap: wrap;
    }

    .ec-calendar-container {
        padding: 40px 0px;
        background: #131e3d;
    }

    .ec-calendar {
        padding: 20px 20px 40px 20px;
        margin-left: 0;
    }


    .ec-calendar__month {
        width: 100%;
        margin-bottom: 20px;
    }

    .ft-btn {
        width: 100%;
    }

    .ft-btn img {
        width: 110%;
    }

    .ec-searchnavRole__topicpath {
        padding: 0px 20px;
    }

    .ec-checked {
        margin-top: 40px;
    }

    .ec-checked .ec-secHeading span,
    #RelatedProduct-product_area.ec-shelfRole .ec-secHeading span {
        display: block;
    }

    .ec-checkedItemRole .ec-checkedItemRole__listItem:nth-of-type(5n) {
        display: none;
    }

    .ec-conntact_btn {
        margin-bottom: 10px;
    }

    .section-trigger,
    .section-link {
        flex: 1 1 100%;
        font-size: 1rem;
    }

    .ec-sliderItemRole .slick-dots {
        display: flex !important;
        flex-direction: row !important;
        overflow-x: auto !important;
        /* ← 横スクロールできるように */
        white-space: nowrap;
        /* 改行しない */
        width: 100%;
        -webkit-overflow-scrolling: touch;
        /* iOSでなめらかに */
        scrollbar-width: none;
        /* Firefoxでスクロールバー非表示（任意） */
    }

    .ec-sliderItemRole .slick-dots::-webkit-scrollbar {
        display: none;
        /* Chrome/Safariでスクロールバー非表示（任意） */
    }

    .ec-sliderItemRole.slick-dots li {
        flex: 0 0 auto;
        margin: 0 3px;
    }

}

@media screen and (max-width: 455px) {
    .ft-btn a {
        padding: 100px 20px;
    }

    .ec-calendar__month {
        font-size: 12px !important
    }

    .top-cate-full h3,
    .top-cate a h3 {
        font-size: 16px;
    }
}