﻿@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700&display=swap");

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

body {
    line-height: 1
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: '';
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

input[type="submit"],
input[type="button"],
button {
    border-radius: 0;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
    display: none
}

input[type="submit"]::focus,
input[type="button"]::focus {
    outline-offset: -2px
}

sup {
    vertical-align: super;
    font-size: smaller
}

input,
button,
textarea,
select {
    font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ W3", "メイリオ", Meiryo, Osaka, "sans-serif"
}

body {
    font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ W3", "メイリオ", Meiryo, Osaka, "sans-serif";
    color: #1A1A1A;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.6;
    overflow-y: auto;
    min-width: 1240px;
    letter-spacing: 0
}

@media screen and (max-width: 767px) {
    body {
        font-size: 14px;
        min-width: inherit;
        padding-bottom: env(safe-area-inset-bottom)
    }

    body.menu-open {
        bottom: 0;
        top: 0;
        width: 100%;
        position: fixed;
        overflow: hidden;
        height: 100%
    }
}

a:link,
a:visited {
    color: #111111;
    text-decoration: none
}

@media screen and (min-width: 768px) {

    a:link,
    a:visited {
        -webkit-transition: 0.3s ease;
        transition: 0.3s ease
    }

    a:hover {
        opacity: 0.7;
        text-decoration: underline
    }
}

@media all and (-ms-high-contrast: none) {

    *::-ms-backdrop,
    a {
        transition: none !important
    }
}

@media screen and (min-width: 768px) {
    #header__navi__sp-menu {
        display: none
    }

    #gnav-sp-wrap {
        display: none !important
    }

    #gnav-sp-bg {
        display: none !important
    }
}

.head_bnr_list_item {
    font-size: 0;
    text-align: center;
    background-color: #180907;
}

.head_bnr_list_item__img {
    margin: 0 auto;
}

#header-upper {
    background: #EEEEEE
}

#header-upper-inner {
    max-width: 1240px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    line-height: 1.1
}

#header-upper-inner dl {
    display: flex;
    width: 40%
}

#header-upper-inner dl dt {
    font-size: 12px;
    font-weight: 400;
    margin-right: 20px
}

#header-upper-inner dl dd {
    font-size: 12px;
    font-weight: 700
}

#header-upper-inner dl dd ul {
    display: flex
}

#header-upper-inner dl dd ul li {
    margin-right: 11px;
    padding-right: 11px;
    border-right: 1px solid #1A1A1A
}

#header-upper-inner dl dd ul li:last-child {
    border-right: none;
    padding-right: 0;
    margin-right: 0px
}

#header-upper-inner dl dd.login {
    font-weight: normal;
    position: relative;
    cursor: pointer
}

#header-upper-inner dl dd.login:hover ul {
    display: block
}

#header-upper-inner dl dd.login:hover p {
    opacity: 0.7
}

#header-upper-inner dl dd.login p {
    width: 112px;
    height: 33px;
    padding: 10px 0 0 25px;
    background: url("../images/common/icon_user.svg") no-repeat;
    background-position: left center;
    position: absolute;
    top: -10px
}

#header-upper-inner dl dd.login p:after {
    position: absolute;
    top: 11px;
    right: 10px;
    width: 7px;
    height: 7px;
    margin: auto;
    border-left: 1px solid #000;
    border-bottom: 1px solid #000;
    transform: rotate(-45deg);
    content: ""
}

#header-upper-inner dl dd.login ul {
    min-width: 112px;
    padding: 7px 12px;
    background: #fff;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    display: block;
    position: absolute;
    top: 23px;
    z-index: 2001;
    display: none
}

#header-upper-inner dl dd.login ul li {
    padding: 7px 0;
    border: none
}

#header-upper-inner ol {
    display: flex;
    margin-right: 15px
}

#header-upper-inner ol li {
    margin-left: 17px;
    font-size: 12px
}

#header-upper-inner ol li a {
    display: inline-block;
    position: relative;
    padding-left: 13px
}

#header-upper-inner ol li a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    border-left: 1px solid #000;
    border-bottom: 1px solid #000;
    transform: rotate(-135deg);
    content: ""
}

#header-upper-inner ol li a.header-upper-icon {
    padding-left: 15px;
    background-repeat: no-repeat;
    background-size: contain;
}

#header-upper-inner ol li a.header-upper-icon::before {
    display: none;
}

#header-upper-inner ol li a.header-upper-icon.icon_store_search {
    background-image: url(../images/common/icon_marker.svg);
}

#header-upper-inner ol li a.header-upper-icon.icon_cart {
    padding-left: 20px;
    background-image: url(../images/common/icon_cart.svg);
}

@media screen and (max-width: 767px) {
    #header-upper {
        display: none
    }
}

#header-wrap {
    height: 60px;
    overflow: visible
}

#header {
    border-bottom: 1px solid #EEEEEE;
    background: #fff;
    min-width: 1240px;
    width: 100%;
    margin: 0 auto;
    position: relative;
    top: 0;
    z-index: 2000;
}

#header-inner {
    background: #fff;
    height: 60px;
    position: relative;
    width: 1240px;
    margin: 0 auto;
    pointer-events: auto !important
}

#header__logo {
    position: absolute;
    top: 0px;
    left: 0;
    line-height: 1.3
}

#header__logo a {
    display: flex;
    align-items: center;
    width: 195px;
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    background: #04256D;
    opacity: 1 !important;
    text-decoration: none !important;
    -webkit-transition: none;
    transition: none
}

#header__logo a img {
    height: 60px;
    width: 60px
}

#header__logo span {
    display: block;
    margin-left: 10px;
    padding-right: 15px
}

#header__gnav {
    position: absolute;
    top: 0;
    left: 195px
}

#header__gnav ul {
    display: flex
}

#header__gnav ul li {
    margin-right: 5px
}

#header__gnav ul li a {
    font-size: 14px;
    font-weight: 500;
    display: block;
    height: 60px;
    padding: 18px 20px
}

#header__gnav ul .news {
    display: flex;
    align-items: center;
}

#header__gnav ul .news a {
    display: flex;
    align-items: center;
    padding: 8px 20px;
    border-radius: 6px;
    height: 45px;
    background-color: #eee;
}

#header__gnav-sp {
    display: none
}

#header__navi {
    display: none;
}

#header__navi>ul {
    display: flex
}

#header__navi>ul>li {
    position: relative;
    margin-left: 25px
}

#header__navi>ul>li>a {
    position: relative;
    display: block;
    line-height: 1.1;
    height: 40px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none !important;
    padding-top: 12px
}

#header__navi>ul>li>a .point-circle {
    position: absolute;
    top: -2px;
    left: 25px
}

#header__navi__sp-news,
#header__navi__sp-search {
    display: none
}

#header__navi__shop>a {
    padding-left: 25px;
    background: url("../images/common/icon_marker.svg") 4px 50% no-repeat;
    background-size: 15px 20px
}

#header__navi__cart>a {
    padding-left: 45px;
    background: url("../images/common/icon_cart.svg") 10px 50% no-repeat;
    background-size: 25px 21px
}

.point-circle {
    display: block;
    overflow: visible;
    background: #CB0000;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    color: #fff !important;
    font-size: 11px;
    font-weight: 500;
    text-align: center;
    line-height: 1;
    padding-top: 6px
}

@media screen and (min-width: 768px) {
    #header__search-box {
        width: 450px;
        position: absolute;
        top: 10px;
        right: 0;
    }
}

@media screen and (min-width: 768px) {
    #header-wrap.fixed #header-upper {
        display: none
    }

    #header-wrap.fixed #header {
        position: fixed;
        left: 0;
        min-width: 890px;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1)
    }
}

@media screen and (max-width: 767px) {
    #header-wrap {
        height: 150px
    }

    #header {
        min-width: inherit;
        border-bottom: none
    }

    #header-inner {
        height: 55px;
        width: 100%;
        background: #F8F8F8;
        position: relative;
        top: 0;
        left: 0;
        z-index: 2001
    }

    #header-wrap.fixed #header-inner {
        position: fixed;
    }

    #header__logo a {
        width: 55px
    }

    #header__logo a img {
        height: 55px;
        width: 55px
    }

    #header__logo span {
        display: none
    }

    #header__gnav {
        display: none
    }

    #header__gnav-sp {
        padding-top: 0;
        display: block;
        position: static;
        top: inherit;
        left: inherit;
        width: 100%
    }

    #header-wrap.fixed #header__gnav-sp {
        padding-top: 55px;
    }

    #header__gnav-sp ul {
        padding-top: 8px;
        display: flex;
        height: 40px;
        align-items: flex-start
    }

    #header__gnav-sp ul li {
        width: 33.333%;
        margin: 0;
        padding: 0 18px;
        border-right: 1px solid #CCCCCC
    }

    #header__gnav-sp ul li:last-child {
        border-right: none
    }

    #header__gnav-sp ul li a {
        line-height: 1;
        display: block;
        text-align: center;
        font-size: 12px;
        height: 24px;
        padding: 5px 5px;
        border-radius: 4px
    }

    #header__gnav-sp ul li a.active {
        background: #04256D;
        color: #fff
    }

    #header__navi {
        display: block;
        width: 100%;
        height: 55px;
        padding-top: 8px;
        position: static;
        top: 10px;
        right: 0px
    }

    #header__navi>ul {
        justify-content: flex-end;
        padding-right: 6px
    }

    #header__navi>ul>li {
        margin-left: 10px
    }

    #header__navi>ul>li>a {
        font-size: 10px;
        padding-top: 26px;
        text-align: center
    }

    #header__navi>ul>li>a .point-circle {
        top: -6px;
        left: inherit;
        right: -1px
    }

    #header__navi__sp-menu {
        display: block;
        cursor: pointer
    }

    #header__navi>ul>#header__navi__sp-menu {
        width: 40px;
        height: 40px;
    }

    #header__navi__sp-menu span {
        cursor: pointer;
        display: block;
        width: 40px;
        height: 40px;
        text-align: center;
        padding-top: 26px;
        font-size: 10px;
        font-weight: 500;
        line-height: 1.1;
        white-space: nowrap;
        background: url("../images/common/header_menu.svg") 50% 4px no-repeat;
        background-size: 19px 17px
    }

    #header__navi__sp-menu.open span {
        background: url("../images/common/icon_close.svg") 50% 5px no-repeat;
        background-size: 17px 17px
    }

    #header__navi__sp-news,
    #header__navi__sp-search {
        display: block
    }

    #header__navi__sp-news>a {
        cursor: pointer;
        display: block;
        width: 40px;
        height: 40px;
        font-size: 10px;
        font-weight: 500;
        line-height: 1.1;
        padding-top: 26px;
        text-align: center;
        background: url("../images/common/icon_news.svg") 50% 4px no-repeat;
        background-size: 17px
    }

    #header__navi__sp-search span {
        cursor: pointer;
        display: block;
        width: 40px;
        height: 40px;
        font-size: 10px;
        font-weight: 500;
        line-height: 1.1;
        padding-top: 26px;
        text-align: center;
        background: url("../images/common/icon_search.svg") 50% 2px no-repeat;
        background-size: 20px 20px
    }

    #header__navi__shop>a {
        padding-left: 0px;
        background: url("../images/common/icon_marker02.svg") 50% 2px no-repeat;
        background-size: 16px 21px
    }

    #header__navi__cart>a {
        padding-left: 0px;
        background-position: calc(50% - 3px) 2px;
        background-size: 25px 21px
    }

    .point-circle {
        width: 20px;
        height: 20px;
        font-size: 10px;
        padding-top: 5px
    }

    #header__search-box {
        width: 100%;
    }

    #header__search-box .keyword-search {
        margin: 0;
        padding: 10px;
        background-color: #fff;
    }
}

@media screen and (max-width: 767px) {
    body.menu-open {
        overflow: auto;
        height: 100%;
        left: 0;
        bottom: 0;
        top: 0;
        width: 100%;
        position: fixed;
        z-index: 1;
        pointer-events: none
    }

    body.menu-open #header {
        position: fixed
    }

    body.menu-open .menu-open-fixed #header__search {
        display: none !important
    }

    #gnav-sp-wrap {
        display: block;
        position: fixed;
        top: 0;
        right: -110%;
        width: 100%;
        height: 100%;
        z-index: 99999;
        padding-bottom: 1000px;
        -webkit-transition: right 0.4s ease-in-out;
        transition: right 0.4s ease-in-out;
        -webkit-box-sizing: content-box;
        box-sizing: content-box;
        pointer-events: auto
    }

    #gnav-sp-wrap.open {
        right: 0
    }

    #gnav-sp {
        position: relative;
        display: flex;
        width: 100%;
        height: 100%
    }

    #gnav-sp__menu {
        width: 100%;
        min-height: 100%;
        height: 100%;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
        background: #fff
    }

    #gnav-sp__menu .keyword-search {
        margin: 0 -10px 25px
    }

    .gnav-sp__menu-ttl {
        position: relative;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.1;
        overflow: hidden;
        margin: 35px 0 10px
    }

    .gnav-sp__menu-ttl span {
        position: relative;
        display: inline-block;
        padding: 0 10px 0 0;
        z-index: 10
    }

    .gnav-sp__menu-ttl span::after {
        display: block;
        content: " ";
        width: 650px;
        height: 1px;
        position: absolute;
        top: 50%;
        left: 100%;
        z-index: 1;
        background: #04256D
    }

    .gnav-sp__menu-list {
        margin-bottom: 35px
    }

    .gnav-sp__menu-list>li {
        position: relative;
        font-size: 14px;
        font-weight: 500;
        margin: 0;
        border-bottom: 1px solid #CCCCCC
    }

    .gnav-sp__menu-list>li>span {
        display: block;
        position: relative;
        padding: 12px 25px 12px 0;
        line-height: 1.2
    }

    .gnav-sp__menu-list>li>a {
        display: block;
        position: relative;
        padding: 12px 20px 12px 0;
        line-height: 1.2
    }

    .gnav-sp__menu-list>li>a::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        right: 2.5px;
        width: 7px;
        height: 7px;
        margin: auto;
        border-left: 1px solid #1A1A1A;
        border-bottom: 1px solid #1A1A1A;
        transform: rotate(-135deg)
    }

    .gnav-sp__menu-list__accordion-btn {
        position: absolute;
        width: 25px;
        height: 33px;
        top: 4px;
        right: 0px;
        z-index: 10;
        cursor: pointer
    }

    .gnav-sp__menu-list__accordion-btn::after {
        position: absolute;
        top: 50%;
        margin-top: -4px;
        right: 2.5px;
        width: 7px;
        height: 7px;
        border-right: 1px solid #1A1A1A;
        border-bottom: 1px solid #1A1A1A;
        transform: rotate(45deg);
        content: ""
    }

    .gnav-sp__menu-list__accordion-btn.open::after {
        margin-top: -2px;
        transform: rotate(-135deg)
    }

    .gnav-sp__menu-list__accordion-btn_nochild::after {
        position: absolute;
        top: 50%;
        margin-top: -4px;
        right: 2.5px;
        width: 7px;
        height: 7px;
        border-right: 1px solid #1A1A1A;
        border-bottom: 1px solid #1A1A1A;
        transform: rotate(-45deg);
        content: ""
    }

    .gnav-sp__menu-list__accordion-btn_nochild.open::after {
        margin-top: -2px;
        transform: rotate(-45deg)
    }

    .gnav-sp__menu-list__accordion-link {
        position: absolute;
        width: 25px;
        height: 33px;
        top: 4px;
        right: 0px;
        z-index: 10;
        pointer-events: none
    }

    .gnav-sp__menu-list__accordion-link::after {
        position: absolute;
        top: 50%;
        margin-top: -4px;
        right: 2.5px;
        width: 7px;
        height: 7px;
        border-right: 1px solid #1A1A1A;
        border-bottom: 1px solid #1A1A1A;
        transform: rotate(-45deg);
        content: "";
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        -o-transform: rotate(-45deg)
    }

    .gnav-sp__menu-list__accordion-btn+a {
        padding: 12px 0px 12px 0 !important;
        margin-right: 30px
    }

    .gnav-sp__menu-list__accordion-btn+a::after {
        display: none !important
    }

    .gnav-sp__menu-list__accordion-body {
        position: relative;
        display: none
    }

    .gnav-sp__menu-list__accordion-body ul {
        padding-left: 15px;
        border-top: 1px solid #CCCCCC
    }

    .gnav-sp__menu-list__accordion-body ul li {
        position: relative;
        font-size: 14px;
        font-weight: 500;
        margin: 0;
        border-bottom: 1px solid #CCCCCC
    }

    .gnav-sp__menu-list__accordion-body ul li:last-child {
        border-bottom: none
    }

    .gnav-sp__menu-list__accordion-body ul li a {
        display: block;
        position: relative;
        padding: 12px 25px 12px 0;
        line-height: 1.2
    }

    .gnav-sp__menu-banner {
        margin-bottom: 25px;
        display: flex;
        flex-wrap: wrap
    }

    .gnav-sp__menu-banner li {
        margin: 0 10px 10px 0;
        width: calc(50% - 5px)
    }

    .gnav-sp__menu-banner li:nth-of-type(2n) {
        margin-right: 0
    }

    .gnav-sp__menu-banner li img {
        width: 100%
    }
}

.bread-crumb {
    font-size: 14px;
    margin-top: 15px;
    margin-bottom: 20px;
    margin-left: 10px;
}

.bread-crumb::after {
    clear: both;
    content: "";
    display: block;
    height: 0;
    visibility: hidden;
}

.bread-crumb ul {
    margin: 0 auto;
    width: 1240px;
    color: #111111;
    line-height: 1.1
}

.bread-crumb ul li::before {
    color: #04256D
}

.bread-crumb li {
    float: left;
}

.bread-crumb li::before {
    content: ">";
    margin: 0 5px;
}

.bread-crumb li:first-child::before {
    content: "";
    margin: 0;
}

.bread-crumb ul a {
    color: #111111
}

@media screen and (max-width: 767px) {
    .bread-crumb {
        font-size: 10px;
        margin: 15px 0px 5px 0px;
        width: 100%;
        padding-bottom: 10px;
        overflow-x: auto;
        overflow-y: hidden
    }

    .bread-crumb ul {
        display: table;
        width: auto;
        white-space: nowrap;
        padding-left: 10px;
        padding-right: 10px;
        margin: 0
    }

    .bread-crumb ul li {
        float: none;
        display: inline-block;
        white-space: nowrap
    }
}

#container {
    position: relative;
    width: 100%;
    overflow: hidden
}

#main {
    display: flex;
    flex-wrap: wrap;
    width: 1240px;
    margin: 0 auto
}

#main strong {
    font-weight: 700
}

#main.single-column {
    display: block
}

.inner {
    position: relative;
    max-width: 100%;
    width: 1240px;
    margin: 0 auto
}

@media screen and (max-width: 767px) {
    #container {
        overflow: hidden
    }

    #main {
        flex-wrap: wrap;
        min-width: inherit !important;
        width: auto !important;
        overflow: hidden
    }

    .inner {
        width: auto;
        min-width: inherit
    }
}

#three_maincolumn {
    width: 100%;
    overflow: hidden
}

#leftcolumn+#three_maincolumn {
    width: calc(100% - 264px)
}

@media screen and (max-width: 767px) {
    #three_maincolumn {
        width: 100% !important;
        padding: 0 10px;
        margin-bottom: 5px;
        order: 2
    }
}

#leftcolumn {
    min-width: 225px;
    max-width: 225px;
    margin-right: 39px;
    margin-bottom: 100px
}

@media screen and (max-width: 767px) {
    #leftcolumn {
        order: 1;
        width: 100%;
        min-width: inherit;
        max-width: inherit;
        margin: 0px 0px 30px 0px
    }

    .indexPage #leftcolumn {
        display: none !important
    }
}

.leftcolumn-head {
    margin: 0 0 10px 0;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.1;
    position: relative;
}

.leftcolumn-head button,
.leftcolumn-head a {
    display: block;
    width: 100%;
    padding: 15px;
    border-radius: 5px;
    font-size: 15px;
}

.leftcolumn-head a {
    text-align: center;
    color: #555;
    background-color: #04256d;
    outline: 0;
}

.leftcolumn-head a:hover {
    text-decoration: none;
}

.leftcolumn-ttl {
    margin: 0px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.1;
    background: #EEEEEE;
    padding: 20px 10px 20px 13px
}

.leftcolumn-text {
    display: block;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 400;
}

.leftcolumn-head-link .leftcolumn-text {
    color: #fff;
}

.block-leftcolumn-mysize-title {
    display: none;
}

.leftcolumn-mysize {
    font-weight: bold;
    font-size: 13px
}

.leftcolumn-mysize span {
    font-weight: normal
}

.leftcolumn-btn {
    margin: 15px 0 40px
}

.leftcolumn-all-list {
    text-align: center;
}

.leftcolumn-btn-sub {
    margin: -30px 0 30px
}

.leftcolumn-btn-sub .btn-type04 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 10px 0;
    min-height: 10px;
}

@media screen and (max-width: 767px) {
    .leftcolumn-head {
        width: 100%;
        padding: 0 15px;
        margin-bottom: 15px;
    }

    .leftcolumn-head button,
    .leftcolumn-head a {
        font-size: 14px;
        text-align: center;
    }

    .leftcolumn-ttl {
        padding-left: 20px
    }

    .leftcolumn-mysize {
        width: 100%;
        padding: 0 15px;
        margin-bottom: 15px;
    }

    .leftcolumn-btn {
        margin: 28px 5px 40px
    }

    .leftcolumn-btn .btn-type01 {
        width: 100%;
        padding: 18px 5px
    }

    .leftcolumn-btn-sub .btn-type04 {
        padding: 0 15px;
    }
}

.leftcolumn__menu-wrap {
    margin-bottom: 40px
}

.leftcolumn__menu dt {
    cursor: pointer;
    position: relative;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.1;
    padding: 18px 20px 18px 47px
}

.leftcolumn__menu dt::after {
    position: absolute;
    top: 50%;
    right: 9px;
    width: 7px;
    height: 7px;
    margin-top: -4px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotate(45deg);
    content: ""
}

.leftcolumn__menu dt.open::after {
    margin-top: -2px;
    transform: rotate(-135deg)
}

.leftcolumn__menu dt.leftcolumn__menu-mens {
    background: #04256D url(../images/common/side_icon01.svg) 13px 50% no-repeat;
    background-size: 24px 28px
}

.leftcolumn__menu dt.leftcolumn__menu-outlet {
    padding-left: 54px;
    background: #DE9A14 url(../images/common/side_icon02.svg) 11px 50% no-repeat;
    background-size: 32px 32px
}

.leftcolumn__menu dd {
    display: none
}

.leftcolumn__menu dd ul .leftcolumn__refine-list_item {
    border-bottom: 1px solid #CCCCCC;
    font-size: 12px
}

.leftcolumn__menu dd ul .leftcolumn__refine-list_item .leftcolumn__menu_link {
    display: block;
    position: relative;
    padding: 10px 26px;
    text-decoration: none !important
}

.leftcolumn__menu dd ul .leftcolumn__refine-list_item .leftcolumn__menu_link::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 11px;
    width: 7px;
    height: 7px;
    margin: auto;
    border-left: 1px solid #000;
    border-bottom: 1px solid #000;
    transform: rotate(-135deg);
    content: ""
}

.leftcolumn__other-list {
    border-top: 1px solid #CCCCCC
}

.leftcolumn__other-list li {
    border-bottom: 1px solid #CCCCCC
}

.leftcolumn__other-list li a {
    display: flex;
    align-items: center;
    height: 64px;
    padding-left: 55px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important
}

.leftcolumn__other-icon01 {
    background: url(../images/common/side_other_icon01.png) 0 50% no-repeat
}

.leftcolumn__other-icon02 {
    background: url(../images/common/side_other_icon02.png) 0 50% no-repeat
}

.leftcolumn__other-icon03 {
    background: url(../images/common/side_other_icon03.png) 0 50% no-repeat
}

.leftcolumn__other-icon04 {
    background: url(../images/common/side_other_icon04.png) 11px 50% no-repeat
}

.leftcolumn__other-icon05 {
    background: url(../images/common/side_other_icon05.png) 0 50% no-repeat
}

.leftcolumn__other-icon06 {
    background: url(../images/common/side_other_icon06.png) 0 50% no-repeat
}

.leftcolumn__brand-box {
    margin-bottom: 40px
}

.leftcolumn__brand-box .select-type01 {
    margin-top: 15px;
    width: 100%;
    font-size: 12px
}

.leftcolumn__brand-box ul .leftcolumn__refine-list_item {
    border-bottom: 1px solid #CCCCCC;
    font-size: 12px
}

.leftcolumn__brand-box ul .leftcolumn__refine-list_item a {
    display: block;
    position: relative;
    padding: 10px 26px;
    text-decoration: none !important
}

.leftcolumn__brand-box ul .leftcolumn__refine-list_item a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 11px;
    width: 7px;
    height: 7px;
    margin: auto;
    border-left: 1px solid #000;
    border-bottom: 1px solid #000;
    transform: rotate(-135deg);
    content: ""
}

.leftcolumn__corporate-box {
    margin-bottom: 40px
}

.leftcolumn__corporate-box .select-type01 {
    margin-top: 15px;
    width: 100%;
    font-size: 12px
}

.leftcolumn__corporate-box ul .leftcolumn__refine-list_item {
    border-bottom: 1px solid #CCCCCC;
    font-size: 12px
}

.leftcolumn__corporate-box ul .leftcolumn__refine-list_item a {
    display: block;
    position: relative;
    padding: 10px 26px;
    text-decoration: none !important
}

.leftcolumn__corporate-box ul .leftcolumn__refine-list_item a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 11px;
    width: 7px;
    height: 7px;
    margin: auto;
    border-left: 1px solid #000;
    border-bottom: 1px solid #000;
    transform: rotate(-135deg);
    content: ""
}

.leftcolumn__corporate-box dt.corporate-free {
    font-size: 15px;
    font-weight: 700;
}

.leftcolumn__banner-list li {
    margin-bottom: 15px
}

.leftcolumn__calendar-wrap {
    margin: 48px 0
}

.leftcolumn__calendar-link {
    text-align: right;
    font-weight: 500
}

.leftcolumn__refine-list>li {
    border-bottom: 1px solid #D9D9D9
}

.leftcolumn__refine-list>li dl dt {
    position: relative;
    font-size: 12px;
    font-weight: 500;
    color: #04256D;
    padding: 10px 25px 10px 8px
}

.leftcolumn__refine-list>li dl dt.leftcolumn-accordion-btn {
    cursor: pointer
}

.leftcolumn__refine-list>li dl dt.leftcolumn-accordion-btn::after {
    position: absolute;
    top: 50%;
    right: 9px;
    width: 7px;
    height: 7px;
    margin-top: -4px;
    border-right: 1px solid #04256D;
    border-bottom: 1px solid #04256D;
    transform: rotate(45deg);
    content: ""
}

.leftcolumn__refine-list>li dl dt.leftcolumn-accordion-btn.open::after {
    margin-top: -2px;
    transform: rotate(-135deg)
}

.leftcolumn__refine-list>li dl dd.leftcolumn-accordion-body {
    display: none
}

.leftcolumn__refine-list>li dl dd ol {
    border-top: 1px solid #eee
}

.leftcolumn__refine-list>li dl dd ol li {
    font-size: 12px;
    border-bottom: 1px solid #eee
}

.leftcolumn__refine-list>li dl dd ol li:last-child {
    border-bottom: none
}

.leftcolumn__refine-list>li dl dd ol li .custom-control {
    display: block;
    padding: 0;
    white-space: inherit
}

.leftcolumn__refine-list>li dl dd ol li .custom-control-indicator {
    left: inherit;
    right: 7px
}

.leftcolumn__refine-list>li dl dd ol li .custom-control-description {
    display: block;
    width: 100%;
    padding: 10px 30px 10px 20px;
    margin: 0
}

.leftcolumn__refine-list>li dl dd ol li .custom-control-input:checked~.custom-control-description {
    background: #E5ECFC
}

@media screen and (min-width: 768px) {
    .sp-leftcolumn-accordion-body {
        display: block !important
    }
}

@media screen and (max-width: 767px) {
    .leftcolumn__menu-wrap {
        margin-bottom: 0px
    }

    .leftcolumn__menu dt {
        font-size: 14px;
        font-weight: 500
    }

    .leftcolumn__menu dt::after {
        right: 20px;
        width: 9px;
        height: 9px;
        margin-top: -4px;
        border: none;
        transform: none;
        background: url(../images/common/icon_plus_w.svg) 50% 50% no-repeat;
        background-size: 100% 100%
    }

    .leftcolumn__menu dt.open::after {
        margin-top: -4px;
        transform: none;
        background: url(../images/common/icon_minus_w.svg) 50% 50% no-repeat;
        background-size: 100% 100%
    }

    .leftcolumn__menu dd ul .leftcolumn__refine-list_item {
        font-size: 14px;
        border-bottom: 1px solid #eee
    }

    .leftcolumn__menu dd ul .leftcolumn__refine-list_item a {
        padding: 15px 35px 15px 25px
    }

    .leftcolumn__menu dd ul .leftcolumn__refine-list_item a::after {
        right: 24px;
        width: 6px;
        height: 6px
    }

    .leftcolumn__brand-box {
        margin-bottom: 0px
    }

    .leftcolumn__brand-box ul li {
        border-bottom: 1px solid #eee;
        font-size: 14px
    }

    .leftcolumn__brand-box ul li a {
        padding: 15px 35px 15px 25px
    }

    .leftcolumn__brand-box ul li a::after {
        right: 24px;
        width: 6px;
        height: 6px
    }

    .leftcolumn__refine-list>li dl dt {
        font-size: 14px;
        font-weight: 500;
        color: #333;
        padding: 15px 35px 15px 25px
    }

    .leftcolumn__refine-list>li dl dt.leftcolumn-accordion-btn::after {
        top: 50%;
        right: 20px;
        width: 9px;
        height: 9px;
        margin-top: -4px;
        border: none;
        transform: none;
        background: url(../images/common/icon_plus_b.svg) 50% 50% no-repeat;
        background-size: 100% 100%
    }

    .leftcolumn__refine-list>li dl dt.leftcolumn-accordion-btn.open::after {
        margin-top: -4px;
        transform: none;
        background: url(../images/common/icon_minus_b.svg) 50% 50% no-repeat;
        background-size: 100% 100%
    }

    .leftcolumn__refine-list>li dl dd ol li {
        font-size: 16px
    }

    .leftcolumn__refine-list>li dl dd ol li .custom-control-indicator {
        right: 17px;
        width: 24px;
        height: 24px;
        margin-top: -12px
    }

    .leftcolumn__refine-list>li dl dd ol li .custom-control-description {
        padding: 13px 45px 13px 35px
    }

    .sp-leftcolumn-accordion-btn {
        position: relative;
        cursor: pointer;
        border-top: 1px solid #fff
    }

    .sp-leftcolumn-accordion-btn::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 20px;
        width: 9px;
        height: 9px;
        margin-top: -4px;
        border: none;
        transform: none;
        background: url(../images/common/icon_plus_b.svg) 50% 50% no-repeat;
        background-size: 100% 100%
    }

    .sp-leftcolumn-accordion-btn.open::after {
        margin-top: -4px;
        transform: none;
        background: url(../images/common/icon_minus_b.svg) 50% 50% no-repeat;
        background-size: 100% 100%
    }

    .sp-leftcolumn-accordion-body {
        display: none
    }
}

.noUi-target {
    margin: 10px
}

.noUi-touch-area {
    border-radius: 50%
}

.noUi-handle.noUi-handle-lower {
    border-radius: 50%;
    width: 20px;
    height: 20px
}

.noUi-handle:after,
.noUi-handle:before {
    content: none
}

.noUi-handle.noUi-handle-upper {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    box-shadow: none
}

.noUi-horizontal .noUi-handle {
    right: -11px
}

div#leftcolumnValue {
    height: 6px;
    box-shadow: none;
    background: #ededed;
    border: none;
    margin: 10px;
    width: 185px
}

.leftcolumn-value {
    overflow: hidden;
    padding: 10px
}

.leftcolumn-value table {
    width: 100%;
    margin-top: 15px
}

.leftcolumn-value td {
    border: none
}

.leftcolumn-value .flex {
    display: flex;
    align-items: center
}

.leftcolumn-value .flex input {
    width: 75px;
    height: 36px;
    border: 1px solid #cccccc;
    margin-right: 5px;
    padding: 2px 5px;
    font-size: 13px;
    outline: 0;
    text-align: right
}

.leftcolumn-value input[type="button"] {
    -webkit-appearance: none;
    border-radius: 0;
    display: inline-block;
    vertical-align: middle;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: none;
    background: transparent;
    font-size: 12px;
    line-height: 1.1;
    margin: 10px;
    color: #04256d;
    float: right
}

.noUi-connect {
    background: #c3c3c3
}

.toggleCtsInr {
    padding: 5px 10px 20px
}

.toggleCtsInr-corporate {
    padding: 20px 10px 20px
}

.keyword-input {
    display: block;
    width: 100%;
    margin: 0 auto;
    position: relative
}

.keyword-input:before {
    content: ' ';
    display: block;
    position: absolute;
    right: 2px;
    top: 50%;
    margin-top: -18px;
    background: url(../images/common/icon_search.svg) 50% 50% no-repeat;
    background-size: 15px 15px;
    border: 0;
    height: 35px;
    width: 30px
}

.keyword-input input[type=search],
.keyword-input input[type=text] {
    display: inline-block;
    width: 100%;
    height: 20px;
    outline: 0;
    border: none;
    background: transparent;
    height: 30px;
    line-height: 30px;
    font-size: 13px;
    padding: 0 22px 0 10px
}

.keyword-input input[type=text] {
    height: 36px;
    line-height: 36px;
    background: #fff;
    border: 1px solid #c5c5c7;
    border-radius: 999px;
    -webkit-border-radius: 999px;
    -moz-border-radius: 999px;
    -ms-border-radius: 999px;
    -o-border-radius: 999px
}

@media screen and (max-width: 767px) {
    div#leftcolumnValue {
        margin: 10px auto;
        width: 80%
    }

    .leftcolumn-value {
        padding: 0
    }

    .leftcolumn-value table {
        width: 80%;
        margin: 20px auto 0
    }

    .leftcolumn-value .flex {
        justify-content: flex-start
    }

    .leftcolumn-value table td:nth-of-type(2) div {
        justify-content: flex-end
    }

    .leftcolumn-value input[type="button"] {
        margin: 10px 10px 20px
    }

    .keyword-input {
        width: 95%
    }

    .toggleCtsInr {
        padding: 5px 10px 25px
    }

    .keyword-input input[type=text] {
        padding: 0 28px 0 15px
    }
}

.leftcolumn__menu_tree_item,
.accordion_tree_list_item {
    display: block;
    position: relative;
    border-bottom: 1px solid #eee
}

.accordion_tree_lists {
    padding-left: 10px
}

.accordion_tree_list_item:first-of-type {
    border-top: 1px solid #eee
}

.accordion_tree_list_item:last-of-type {
    border-bottom: none
}

.accordion_tree_link {
    font-size: 12px;
    font-weight: 500;
    color: #04256D;
    padding: 10px 26px;
    display: flex;
    align-items: center;
    width: calc(100% - 39px)
}

.accordion_tree_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 39px;
    height: 39px;
    position: absolute;
    top: 0;
    right: 0
}

.accordion_tree_btn::before {
    position: absolute;
    top: 50%;
    right: 9px;
    width: 7px;
    height: 7px;
    margin-top: -4px;
    border-right: 1px solid #04256D;
    border-bottom: 1px solid #04256D;
    transform: rotate(45deg);
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg)
}

.accordion_tree_btn.open::before {
    transform: rotate(225deg);
    -webkit-transform: rotate(225deg);
    -moz-transform: rotate(225deg);
    -ms-transform: rotate(225deg);
    -o-transform: rotate(225deg)
}

.accordion_tree_item_link:hover,
.accordion_tree_link:hover {
    text-decoration: none
}

.accordion_tree_item_link {
    padding: 10px 26px;
    display: block;
    font-size: 12px
}

.accordion_tree_item_link:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 11px;
    width: 7px;
    height: 7px;
    margin: auto;
    border-left: 1px solid #000;
    border-bottom: 1px solid #000;
    transform: rotate(-135deg);
    content: ""
}

.accordion_tree_lists {
    display: none
}

@media screen and (max-width: 767px) {
    .accordion_tree_link {
        font-size: 14px;
        padding: 15px 35px 15px 25px;
        width: calc(100% - 49px)
    }

    .accordion_tree_btn {
        width: 49px;
        height: 49px
    }

    .accordion_tree_btn::before {
        content: "";
        position: absolute;
        top: 50%;
        right: 20px;
        width: 9px;
        height: 9px;
        margin-top: -4px;
        border: none;
        transform: none;
        background: url(../images/common/icon_plus_b.svg) 50% 50% no-repeat;
        background-size: 100% 100%
    }

    .accordion_tree_btn.open::before {
        margin-top: -4px;
        transform: none;
        background: url(../images/common/icon_minus_b.svg) 50% 50% no-repeat;
        background-size: 100% 100%
    }

    .accordion_tree_lists {
        padding-left: 25px
    }

    .accordion_tree_item_link {
        padding: 10px 0 10px 25px;
        font-size: 14px
    }

    .accordion_tree_item_link::after {
        right: 22px
    }
}

#rightcolumn {
    min-width: 150px;
    max-width: 150px
}

@media screen and (max-width: 767px) {
    #rightcolumn {
        display: none !important
    }
}

#r-fixed-contents {
    position: absolute;
    top: 0px;
    right: -206px;
    z-index: 1000;
    width: 264px;
    display: flex;
    -webkit-transition: right 0.25s ease-in-out;
    transition: right 0.25s ease-in-out;
    z-index: 100;
}

#r-fixed-contents.open {
    right: 0
}

#r-fixed-contents.open #r-fixed-contents__inner {
    box-shadow: 0 3px 9px rgba(0, 0, 0, 0.16)
}

#r-fixed-contents.fixed {
    position: fixed;
    top: 65px;
    z-index: 998;
}

#r-fixed-contents__btn {
    display: block;
    width: 48px;
    height: 158px;
    background: #04256d url(../images/common/side_nav_right_label.svg) 0 0 no-repeat;
    background-size: 100% 100%;
    padding: 10px 0;
}

#r-fixed-contents__btn a {
    width: 50px;
    height: 35px;
    display: block;
    filter: brightness(0) invert(1);
}

#r-fixed-contents__inner {
    position: relative;
    width: 204px;
    background: #EEEEEE
}

#r-fixed-contents dl {
    padding: 0 15px;
    background: #fff
}

#r-fixed-contents dl dt {
    margin-bottom: 10px;
    padding: 17px 0 10px;
    border-bottom: 1px solid #707070;
    font-size: 14px;
    font-weight: 400
}

#r-fixed-contents dl dd {
    padding-bottom: 10px
}

#r-fixed-contents dl dd ul li a {
    display: block;
    padding: 9px 0;
    font-size: 14px;
    position: relative;
}

#r-fixed-contents dl dd ul li a::before,
#r-fixed-contents dl dd ul li a::after {
    content: "";
    margin: auto;
    vertical-align: middle;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
}

#r-fixed-contents dl dd ul li a::before {
    width: 16px;
    height: 16px;
    border: 1px solid #707070;
    border-radius: 50%;
}

#r-fixed-contents dl dd ul li a::after {
    width: 6px;
    height: 6px;
    border-top: 1px solid #707070;
    border-right: 1px solid #707070;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    right: 6px;
}

#r-fixed-contents ol li {
    border-top: 1px solid #fff
}

#r-fixed-contents ol li a {
    display: block;
    padding: 16px 40px 16px 15px;
    font-size: 14px
}

.r-fixed-icon01 {
    background: url(../images/common/r_fixed_icon01.png) calc(100% - 14px) 50% no-repeat
}

.r-fixed-icon02 {
    background: url(../images/common/r_fixed_icon02.png) calc(100% - 14px) 50% no-repeat
}

.r-fixed-icon03 {
    background: url(../images/common/r_fixed_icon03.png) calc(100% - 14px) 50% no-repeat
}

.r-fixed-icon04 {
    background: url(../images/common/r_fixed_icon04.png) calc(100% - 14px) 50% no-repeat
}

.r-fixed-icon05 {
    background: url(../images/common/r_fixed_icon05.png) calc(100% - 23px) 50% no-repeat
}

.r-fixed-icon06 {
    background: url(../images/common/r_fixed_icon06.png) calc(100% - 14px) 50% no-repeat
}

.r-fixed-icon07 {
    background: url(../images/common/r_fixed_icon07.png) calc(100% - 14px) 50% no-repeat
}

.r-fixed-box-icon__more::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 24px;
    margin: auto;
    width: 8px;
    height: 8px;
    margin: auto;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotate(-135deg);
    content: "";
}

.r-fixed-contents__search {
    padding: 5px 14px 10px;
    position: relative
}

.r-fixed-contents__search h2 {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 5px
}

.r-fixed-contents__search input[type="text"] {
    -webkit-appearance: button;
    appearance: button;
    width: 100%;
    padding: 0 10px 0 40px;
    border: none;
    border-radius: 0;
    background: #fff;
    height: 35px;
    font-size: 11px
}

.r-fixed-contents__search input[type="submit"] {
    position: absolute;
    bottom: 10px;
    left: 17px;
    -webkit-appearance: button;
    appearance: button;
    background: url(../images/common/icon_search.svg) 50% 50% no-repeat;
    background-size: 15px 15px;
    border: 0;
    height: 35px;
    width: 30px
}

.r-fixed-contents__banner {
    line-height: 0
}

@media screen and (max-width: 767px) {
    #r-fixed-contents {
        display: none !important
    }
}

.official-sns {
    border-top: 1px solid #CCCCCC;
    padding: 22px 0;
    text-align: center;
    margin-top: 160px
}

.official-sns dl {
    display: flex;
    align-items: center;
    justify-content: center
}

.official-sns dl dt {
    color: #04256D;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 1px
}

.official-sns dl dd {
    padding-left: 13px
}

.official-sns dl dd ul {
    display: flex
}

.official-sns dl dd ul li {
    margin: 0 13px;
    line-height: 0
}

.official-sns li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
}

@media screen and (max-width: 767px) {
    .official-sns {
        padding: 20px 0;
        margin-top: 50px
    }

    .official-sns dl dt {
        font-size: 12px
    }

    .official-sns dl dd {
        padding-left: 0;
    }

    .official-sns dl dd ul li {
        margin: 0 5px
    }

    .official-sns dl dd ul li img {
        width: 40px;
        height: 40px
    }
}

#about-us {
    padding: 60px 0 63px;
    margin-bottom: 40px
}

#about-us.lazyloaded {
    background: url(../images/common/about_bg.webp) 50% 0 no-repeat;
    background-size: cover;
}

#about-us ul {
    display: flex
}

#about-us ul li {
    width: 393px;
    background: #fff;
    padding: 17px 16px;
    margin-right: 30px
}

#about-us ul li:nth-of-type(3n) {
    margin-right: 0
}

#about-us ul li dl {
    display: flex;
    align-items: center;
    margin-bottom: 13px
}

#about-us ul li dl dt {
    background: #04256D;
    width: 56px;
    height: 56px;
    color: #fff;
    line-height: 1.2;
    text-align: center;
    margin-right: 16px;
    font-size: 10px;
    padding-top: 10px
}

#about-us ul li dl dt strong {
    font-size: 17px;
    display: block;
    padding-top: 3px
}

#about-us ul li dl dd {
    width: calc(100% - 72px);
    margin: 0;
    font-size: 16px;
    font-weight: 500
}

#about-us ul li figure {
    line-height: 0;
    text-align: center;
    margin-bottom: 13px
}

#about-us ul li p {
    font-size: 11px;
    line-height: 1.8
}

@media screen and (max-width: 767px) {
    #about-us {
        padding: 40px 37px 25px
    }

    #about-us ul {
        display: block
    }

    #about-us ul li {
        width: auto;
        padding: 12px;
        margin-right: 0px;
        margin-bottom: 20px
    }

    #about-us ul li dl {
        margin-bottom: 10px
    }

    #about-us ul li dl dt {
        width: 43px;
        height: 43px;
        margin-right: 13px;
        font-size: 10px;
        padding-top: 5px
    }

    #about-us ul li dl dt strong {
        font-size: 16px;
        padding-top: 1px
    }

    #about-us ul li dl dd {
        width: calc(100% - 56px);
        font-size: 15px;
        line-height: 1.3
    }

    #about-us ul li figure {
        margin-bottom: 10px
    }

    #about-us ul li figure img {
        width: 100%
    }

    #about-us ul li p {
        font-size: 10px
    }
}

@media screen and (max-width: 767px) {
    .sp-btm-banner {
        margin: 40px 20px 45px
    }
}

#online-feature ul {
    padding: 0 0px 0 16px;
    display: flex;
    flex-wrap: wrap
}

#online-feature ul li {
    margin: 0 35px 35px 0
}

#online-feature ul li:nth-of-type(4n) {
    margin-right: 0
}

#online-feature ul li dl {
    width: 270px;
    padding-left: 110px;
    min-height: 90px
}

#online-feature ul li dl dt {
    color: #192E5B;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 10px
}

#online-feature ul li dl dd {
    font-size: 12px
}

#online-feature ul li dl.feature-icon01 {
    background: url(../images/common/online_feature01.svg) 0 0 no-repeat;
    background-size: 85px 74px
}

#online-feature ul li dl.feature-icon02 {
    background: url(../images/common/online_feature02.svg) 0 0 no-repeat;
    background-size: 96px 89px
}

#online-feature ul li dl.feature-icon03 {
    background: url(../images/common/online_feature03.svg) 5px 0 no-repeat;
    background-size: 79px 78.86px
}

#online-feature ul li dl.feature-icon04 {
    background: url(../images/common/online_feature04.svg) 0 10px no-repeat;
    background-size: 85px 65px
}

#online-feature ul li dl.feature-icon05 {
    background: url(../images/common/online_feature05.svg) 0 0 no-repeat;
    background-size: 84px 60px
}

#online-feature ul li dl.feature-icon06 {
    background: url(../images/common/online_feature06.svg) 7px 0 no-repeat;
    background-size: 70px 81px
}

#online-feature ul li dl.feature-icon07 {
    background: url(../images/common/online_feature07.svg) 0 0 no-repeat;
    background-size: 87px 80px
}

#online-feature ul li dl.feature-icon08 {
    width: 300px;
    background: url(../images/common/online_feature08.svg) 0 0 no-repeat;
    background-size: 88px 80px
}

@media screen and (max-width: 767px) {
    #online-feature {
        border-top: 1px solid #CCCCCC;
        padding: 40px 10px 0;
        margin-bottom: -10px
    }

    #online-feature ul {
        padding: 0
    }

    #online-feature ul li {
        width: calc(50% - 5px);
        margin: 0 10px 20px 0
    }

    #online-feature ul li:nth-of-type(2n) {
        margin-right: 0
    }

    #online-feature ul li dl {
        width: auto !important;
        padding-left: 58px;
        min-height: 45px;
        background-size: 48px auto !important;
        background-position: 0 2% !important
    }

    #online-feature ul li dl dt {
        font-size: 12px;
        margin-bottom: 5px
    }

    #online-feature ul li dl dd {
        font-size: 10px
    }
}

@media screen and (min-width: 768px) {
    #footer-top {
        background: #04256D
    }

    #footer-top .inner {
        display: flex;
        align-items: center;
        justify-content: space-between
    }

    #footer-top p {
        color: #fff;
        font-size: 12px
    }

    #footer-top p a {
        color: #fff
    }

    #page-top {
        display: block !important
    }

    #page-top a {
        display: block;
        height: 60px;
        background: url("../images/common/pagetop.svg") 2px 50% no-repeat;
        background-size: 35px 35px;
        color: #fff
    }

    #page-top a span {
        display: block;
        padding-top: 17px;
        font-size: 15px;
        font-weight: 500px;
        padding-left: 35px
    }
}

@media screen and (max-width: 767px) {
    #footer-top p {
        display: none
    }

    #page-top {
        display: none;
        position: fixed;
        right: 10px;
        bottom: 30px;
        z-index: 301
    }

    #page-top a {
        display: block;
        width: 40px;
        height: 40px;
        background: url("../images/common/pagetop.svg") 0 0 no-repeat;
        background-size: 100% 100%
    }

    #page-top a span {
        display: none
    }
}

#footer {
    margin-top: 50px;
    position: relative;
    min-width: 1240px;
    text-align: left
}

#footer-nav {
    background: #EEEEEE;
    padding: 60px 0 50px
}

.footer-nav__box01 {
    width: 1000px;
    margin: 0 auto;
    display: flex;
    padding-bottom: 35px;
    border-bottom: 1px solid #CCCCCC
}

.footer-nav__box01 dl {
    width: 250px
}

.footer-nav__box01 dl dt {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px
}

.footer-nav__box01 dl dd {
    font-size: 13px
}

.footer-nav__box01 dl dd ul li {
    padding-right: 10px;
    margin-bottom: 9px
}

.footer-nav__box02 {
    width: 1000px;
    margin: 0 auto;
    padding-top: 40px;
    display: flex
}

.footer-nav__box02 dl {
    width: 250px
}

.footer-nav__box02 dl dt {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px
}

.footer-nav__box02 dl dd {
    font-size: 13px
}

.footer-nav__box02 dl dd ul li {
    padding-right: 10px;
    margin-bottom: 9px
}

.footer-nav__box02 dl:nth-of-type(2) {
    width: 500px;
    padding-right: 0px
}

.footer-nav__box02 dl:nth-of-type(2) dd ul {
    display: flex;
    flex-wrap: wrap
}

.footer-nav__box02 dl:nth-of-type(2) dd ul li {
    width: 250px
}

.footer-nav__box02 dl:nth-of-type(3) {
    width: 250px;
}

#footer-btm {
    position: relative;
    background: #fff;
    padding: 50px 0;
    width: 1240px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end
}

#footer-btm .footer-btm__logo {
    position: absolute;
    top: 40px;
    left: 70px;
    width: 132px;
    height: 52px;
    background: url(../images/common/footer_logo.png) 0 0 no-repeat;
    background-size: 100% 100%
}

#footer-btm ul {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    line-height: 1.1;
    margin-bottom: 10px
}

#footer-btm ul li {
    margin-left: 13px;
    padding-left: 13px;
    border-left: 1px solid #333333
}

#footer-btm ul li:first-child {
    border-left: none
}

#footer-btm ul li a {
    font-size: 12px;
    color: #333333
}

#footer-btm .copyright {
    width: 100%;
    text-align: right;
    border: 0;
    padding: 0;
    margin: 0
}

#footer-btm .copyright small {
    font-weight: 400;
    font-size: 11px;
    letter-spacing: 0px
}

@media screen and (max-width: 767px) {
    #footer {
        margin-top: 30px;
        min-width: inherit
    }

    #footer-nav {
        display: none
    }

    #footer-btm {
        padding: 0;
        width: auto;
        justify-content: flex-start
    }

    #footer-btm .footer-btm__logo {
        order: 2;
        position: static;
        width: 100%;
        height: 35px;
        background: url(../images/common/footer_logo.png) 50% 0 no-repeat;
        background-size: 89px 35px
    }

    #footer-btm ul {
        order: 1;
        width: 100%;
        background: #F8F8F8;
        padding: 30px 20px 15px;
        display: block;
        margin-bottom: 28px
    }

    #footer-btm ul li {
        margin-left: 0px;
        padding-left: 0px;
        border-left: none;
        margin-bottom: 15px
    }

    #footer-btm ul li a {
        display: inline-block;
        font-size: 11px;
        padding: 7px 0
    }

    #footer-btm .copyright {
        order: 3;
        width: 100%;
        text-align: center;
        padding: 5px 2px 25px
    }

    #footer-btm .copyright small {
        font-size: 10px
    }
}

#view-change-sp {
    background: #F8F8F8;
    text-align: center
}

#view-change-sp a {
    display: inline-block;
    font-size: 13px;
    font-weight: 500;
    height: 60px;
    padding-top: 15px
}

#view-change-sp a span {
    display: inline-block;
    margin: 0 auto;
    padding-top: 5px;
    min-height: 30px;
    padding-left: 60px;
    text-align: left;
    background: url(../images/common/icon_pc.svg) 0 50% no-repeat;
    background-size: 40px 30px
}

.card_logo {
    height: 50px
}

@media screen and (max-width: 767px) {
    .card_logo {
        height: 40px;
        max-width: 100%;
    }
}

.heading-h1 {
    background: #f0f0f0;
    font-size: 24px;
    display: flex;
    align-items: center;
    height: 80px;
    padding-left: 20px;
    font-weight: bold
}

.heading-h2 {
    font-size: 18px;
    padding-bottom: 10px;
    border-bottom: 1px solid #ccc;
    display: flex;
    align-items: center;
    margin-top: 10px;
    margin-bottom: 20px;
    font-weight: bold
}

.heading-h2 .required {
    background: #DD2929;
    font-size: 13px;
    padding: 1px 5px;
    color: white;
    font-weight: normal
}

.heading-h2 .heading-h2--caution {
    display: inline-block;
    margin-left: 5px;
}

.heading-h3 {
    font-size: 16px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 40px 0 20px
}

.heading-h3::before {
    content: '';
    width: 16px;
    height: 2px;
    display: block;
    background: #555555;
    margin-right: 8px
}

@media screen and (max-width: 767px) {
    .heading-h1 {
        background: #f0f0f0;
        font-size: 16px;
        display: flex;
        align-items: center;
        padding: 15px;
        height: 58px;
        box-sizing: border-box
    }

    .heading-h2 {
        font-size: 13px
    }

    .heading-h2 .required {
        font-size: 10px
    }

    .heading-h2 .heading-h2--caution {
        margin-left: 3px;
        font-size: 10px;
    }

    .heading-h3 {
        font-size: 12px;
        margin: 20px 0 10px
    }

    .heading-h3::before {
        width: 13px;
        height: 1px
    }
}

.wrap-block-center {
    width: 600px;
    margin: 30px auto 0
}

.wrap-form {
    margin: 30px auto
}

.wrap-block + .wrap-block {
    margin-top: 100px;
}

.item-block {
    margin: 50px 0
}

.item-block-contact-tel {
    padding: 100px 0;
    background-color: #f0f0f0;
}

.item-block-contact-tel .item-block:last-of-type {
    margin-bottom: 0;
}

.item-block-contact-tel-header {
    margin-bottom: 20px;
    padding: 0 30px;
    font-size: 24px;
    font-weight: bold;
}

.item-block-contact-tel-inner {
    padding: 30px;
    background-color: #fff;
}

.btn-block-2col {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row-reverse;
    width: 822px;
    margin: 0 auto
}

.btn-block-2col .btn.link,
.btn-block-2col .btn.submit {
    height: 64px
}

.btn-block-2col-100p {
    display: flex;
    justify-content: space-between
}

.btn-block-2col-100p .btn.link {
    margin-top: 0
}

.btn.link.single {
    height: 64px
}

.btn.submit.single {
    height: 64px
}

@media screen and (max-width: 767px) {
    .wrap-block-center {
        width: 100%;
        margin: 25px auto
    }

    .wrap-form {
        width: 100%;
        margin: 10px auto
    }

    .wrap-block {
        padding: 10px
    }

    .wrap-block + .wrap-block {
        margin-top: 50px;
    }

    .item-block {
        margin: 30px 0
    }

    .item-block-contact-tel {
        padding: 30px 15px;
    }

    .item-block-contact-tel-header {
        padding: 0 15px;
        font-size: 16px;
        text-align: center;
    }

    .item-block-contact-tel-inner {
        padding: 15px;
    }

    .btn-block-2col {
        justify-content: space-between;
        align-items: center;
        flex-direction: column;
        width: 100%
    }

    .btn-block-2col .btn.link,
    .btn-block-2col .btn.submit {
        margin: 10px auto
    }

    .btn-block-2col-100p {
        flex-direction: column
    }
}

.ttl-red {
    font-size: 14px;
    color: #DD2929
}

@media screen and (max-width: 767px) {
    .ttl-red {
        font-size: 12px
    }
}

.link-defo {
    color: #333 !important
}

.link-underline {
    text-decoration: underline !important
}

.arrow-link {
    position: relative;
    display: inline-block;
    padding: 0 0 0 13px;
    color: #333;
    font-size: 13px;
    text-decoration: underline
}

.arrow-link::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    border-left: 1px solid #000;
    border-bottom: 1px solid #000;
    transform: rotate(45deg);
    content: ""
}

.arrow-link_r {
    position: relative;
    display: inline-block;
    padding: 0 13px 0 0;
    color: #333;
    font-size: 13px;
    text-decoration: underline
}

.arrow-link_r_first {
    position: relative;
    display: inline-block;
    padding: 0 13px 0 0;
    color: #333;
    font-size: 13px;
    text-decoration: underline
}

.arrow-link_r_first.arrow-none {
    padding: 0;
}

.arrow-link_r_first.arrow-none::before {
    display: none;
}

.item-detail-fulfill>ol>li:nth-of-type(1) a.arrow-link_r_first::before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 7px;
    height: 7px;
    margin: auto;
    border-left: 1px solid #000;
    border-bottom: 1px solid #000;
    transform: rotate(-135deg);
    content: "";
}

.item-detail-fulfill>ol>li:nth-last-of-type(-n+2) a.arrow-link_r,
.item-detail-fulfill>ol>li:nth-last-of-type(-n+2) a.arrow-link_r {
    padding-right: 19px;
    background-position: right center;
}

.item-detail-fulfill>ol>li:nth-last-of-type(-n+2) a.arrow-link_r::after,
.item-detail-fulfill>ol>li:nth-last-of-type(-n+2) a.arrow-link_r::after {
    content: '';
    background-image: url(../images/common/window.svg);
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    width: 15px;
    height: 13px;
    margin-left: 6px;
    position: absolute;
    top: 4px;
}

@media screen and (max-width: 767px) {

    .item-detail-fulfill>ol>li:nth-last-of-type(-n+2) a.arrow-link_r::after,
    .item-detail-fulfill>ol>li:nth-last-of-type(-n+2) a.arrow-link_r::after {
        height: 12px;
    }
}

.btn-wrap {
    position: relative;
    text-align: center;
    margin: 40px 0 80px
}

.btn-wrap.cart-complete-button {
    margin-bottom: 40px
}

.btn.submit {
    background: #555555;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 3em;
    width: 400px;
    color: #fff;
    margin: 80px auto 0;
    font-size: 16px
}

.btn.link {
    background: white;
    border: 1px solid #333;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 3em;
    width: 400px;
    color: black;
    margin: 80px auto 0;
    font-size: 16px
}

.btn.link.input-text-zip {
    display: inline;
    padding: 5px 10px;
    margin-left: 20px;
    font-size: 12px
}

.btn.link.btn-left {
    margin-left: 0
}

.btn.back {
    position: relative
}

.btn.back::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 11px;
    margin: auto;
    width: 8px;
    height: 8px;
    margin: auto;
    border-left: 1px solid #333;
    border-bottom: 1px solid #333;
    transform: rotate(45deg);
    content: ""
}

.btn.next {
    position: relative
}

.btn.next::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 11px;
    margin: auto;
    width: 8px;
    height: 8px;
    margin: auto;
    border-left: 1px solid #333;
    border-bottom: 1px solid #333;
    transform: rotate(-135deg);
    content: ""
}

.btn.tall {
    height: 64px
}

.btn2.link {
    background: white;
    border: 1px solid #b5b5b5;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 3em;
    min-height: 46px;
    width: 290px;
    color: #555;
    margin: 32px auto 0;
    font-size: 13px
}

.btn2.next {
    position: relative
}

.btn2.next::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 11px;
    margin: auto;
    width: 8px;
    height: 8px;
    margin: auto;
    border-left: 1px solid #555;
    border-bottom: 1px solid #555;
    transform: rotate(-135deg);
    content: ""
}

@media screen and (max-width: 767px) {
    .btn-wrap {
        margin: 30px 0 70px;
        padding: 0 20px
    }

    .btn-wrap.cart-complete-button {
        margin-bottom: 0
    }

    .btn.link,
    .btn.submit {
        width: 100%;
        margin: 40px auto 0;
        font-size: 15px
    }

    .btn2.link {
        width: 225px;
        min-height: 40px;
        margin: 15px auto 0;
        font-size: 11px
    }
}

@media screen and (max-width: 374px) {
    .btn.link.input-text-zip {
        display: table-cell;
    }
}

.btn-more-wrap {
    text-align: center
}

.btn-more,
a.btn-more {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    display: inline-block;
    width: 240px;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    background: #04256D;
    color: #fff !important;
    text-decoration: none !important;
    min-height: 40px;
    line-height: 1.2;
    padding-top: 10px
}

.btn-more::after,
a.btn-more::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 11px;
    margin: auto;
    width: 8px;
    height: 8px;
    margin: auto;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotate(-135deg);
    content: ""
}

@media screen and (max-width: 767px) {

    .btn-more,
    a.btn-more {
        width: 295px;
        max-width: 100%;
        font-size: 15px;
        padding-top: 12px
    }
}

.btn-type01 {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    display: inline-block;
    width: 240px;
    max-width: 100%;
    text-align: center;
    font-size: 13px;
    font-weight: 500;
    background: #04256D;
    color: #fff !important;
    text-decoration: none !important;
    min-height: 46px;
    line-height: 1;
    padding: 15px 5px
}

@media screen and (max-width: 767px) {
    .btn-type01 {
        width: 295px;
        max-width: 100%;
        font-size: 15px
    }
}

.btn-type02 {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    display: inline-block;
    width: 124px;
    text-align: center;
    font-size: 13px;
    font-weight: 500;
    background: #F0F0F0;
    color: #999999 !important;
    text-decoration: none !important;
    line-height: 40px;
    text-align: center
}

@media screen and (max-width: 767px) {
    .btn-type02 {
        width: 295px;
        max-width: 100%;
        font-size: 15px
    }
}

.btn-type03 {
    background: white;
    border: 1px solid #B5B5B5;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 5px 10px;
    color: #555555;
    font-size: 15px;
    display: block;
    font-size: 12px
}

.btn-type03:not(:nth-of-type(1)) {
    margin-top: 10px
}

@media screen and (min-width: 768px) {
    .btn-type03.wid100_pc {
        width: 100px;
        margin-left: auto;
        margin-right: auto
    }
}

@media screen and (max-width: 767px) {
    .btn-type03 {
        white-space: nowrap
    }
}

.btn-type04 {
    display: inline-block;
    width: 100%;
    text-align: center;
    font-size: 13px;
    font-weight: 500;
    background: #fff;
    color: #111111 !important;
    text-decoration: none !important;
    min-height: 46px;
    line-height: 1;
    padding: 15px 5px
}

.btn-type04:not(:nth-of-type(1)) {
    margin-top: 10px
}

.btn-favorite {
    display: inline-block;
    width: 40px;
    height: 40px;
    background: url(../images/common/icon_favorite_off.svg) 50% 50% no-repeat;
    background-size: 28px 24px
}

#sub-kv {
    position: relative;
    width: 100%;
    height: 640px;
    margin-bottom: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #ccc
}

#sub-kv__ttl {
    color: #fff;
    text-align: center;
    margin: 0
}

#sub-kv__ttl strong {
    display: block;
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 2px
}

#sub-kv__ttl span {
    display: block;
    font-size: 18px;
    font-weight: 400
}

@media screen and (max-width: 767px) {
    #sub-kv {
        width: auto;
        height: 134px;
        margin-bottom: 25px
    }

    #sub-kv__ttl strong {
        font-size: 20px;
        letter-spacing: 2px
    }

    #sub-kv__ttl span {
        font-size: 11px
    }
}

.ttl-type01 {
    position: relative;
    color: #111111;
    font-size: 26px;
    line-height: 1.1;
    margin: 0px 0 30px;
    text-align: center;
    width: 100%;
    overflow: hidden
}

.ttl-type01 strong {
    position: relative;
    display: inline-block;
    padding: 0 28px;
    font-size: 26px;
    font-weight: 700;
    z-index: 10;
    letter-spacing: 0.05em
}

.ttl-type01 strong::before,
.ttl-type01 strong::after {
    display: block;
    content: " ";
    width: 650px;
    height: 3px;
    position: absolute;
    top: 50%;
    left: 100%;
    z-index: 1;
    background: #04256D
}

.ttl-type01 strong::after {
    left: inherit;
    right: 100%
}

.ttl-type01 span {
    display: block;
    color: #04256D;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-top: 12px
}

@media screen and (max-width: 767px) {
    .ttl-type01 {
        font-size: 16px;
        margin: 0px 0 20px
    }

    .ttl-type01 strong {
        padding: 0 15px;
        font-size: 16px
    }

    .ttl-type01 strong::before,
    .ttl-type01 strong::after {
        height: 1px
    }

    .ttl-type01 span {
        font-size: 13px;
        margin-top: 6px;
        letter-spacing: 0em
    }
}

.ttl-other-type01 {
    position: relative;
    width: 100%;
    height: 200px;
    margin: 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url(../images/common/ttl_bg_type02.jpg);
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #ccc;
    font-size: 25px;
    font-weight: 700
}

.ttl-other-type01 strong {
    display: block;
    color: #fff;
    text-align: center;
    margin: 0;
    letter-spacing: 2px
}

@media screen and (max-width: 767px) {
    .ttl-other-type01 {
        width: auto;
        height: 134px;
        font-size: 16px
    }

    .ttl-other-type01 strong {
        display: block;
        color: #fff;
        text-align: center;
        margin: 0;
        letter-spacing: 2px
    }
}

.pagination-area {
    margin: 25px 0 70px
}

.pagination-count {
    color: #111111;
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 20px
}

.pagination-count strong {
    font-size: 16px;
    font-weight: 500
}

.pagination-wrap {
    position: relative
}

.pagination {
    position: relative;
    border: none;
    margin-left: 0;
    padding: 0;
    width: auto;
    display: flex;
    padding-left: 0;
    list-style: none;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    background: #EEEEEE;
    padding: 16px
}

.pagination a,
.pagination strong {
    position: relative;
    display: block;
    font-size: 16px;
    font-weight: 500;
    color: #04256D;
    text-align: center;
    padding: 4px 2px 0;
    min-width: 32px;
    height: 32px;
    background: #fff;
    border-radius: 0;
    margin: 0 4px
}

.pagination a.pagination__link-prev,
.pagination strong.pagination__link-prev {
    position: absolute;
    top: 50%;
    left: 22px;
    margin-top: -16px;
    background: none !important;
    padding-left: 20px;
    color: #111111 !important;
    font-weight: 400
}

.pagination a.pagination__link-prev::after,
.pagination strong.pagination__link-prev::after {
    position: absolute;
    top: 50%;
    left: 0px;
    margin-top: -4px;
    width: 8px;
    height: 8px;
    border-right: 2px solid #04256D;
    border-bottom: 2px solid #04256D;
    transform: rotate(135deg);
    content: ""
}

.pagination a.pagination__link-next,
.pagination strong.pagination__link-next {
    position: absolute;
    top: 50%;
    right: 22px;
    margin-top: -16px;
    background: none !important;
    padding-right: 20px;
    color: #111111 !important;
    font-weight: 400
}

.pagination a.pagination__link-next::after,
.pagination strong.pagination__link-next::after {
    position: absolute;
    top: 50%;
    right: 0px;
    margin-top: -4px;
    width: 8px;
    height: 8px;
    border-right: 2px solid #04256D;
    border-bottom: 2px solid #04256D;
    transform: rotate(-45deg);
    content: ""
}

.pagination a:hover,
.pagination strong {
    opacity: 1;
    background: #04256D;
    color: #fff;
    text-decoration: none
}

@media screen and (max-width: 767px) {
    .pagination-area {
        margin: 10px 0 40px
    }

    #three_maincolumn .pagination-area {
        margin-left: -10px;
        margin-right: -10px
    }

    .pagination-count {
        font-size: 12px;
        margin-bottom: 13px
    }

    .pagination-count strong {
        font-size: 13px
    }

    .pagination-wrap {
        position: relative
    }

    .pagination {
        padding: 12px 95px
    }

    .pagination a,
    .pagination strong {
        min-width: 24px;
        height: 24px;
        font-size: 13px;
        padding-top: 2px;
        margin: 0 3px
    }

    .pagination a.pagination__link-prev,
    .pagination strong.pagination__link-prev {
        font-size: 11px;
        padding-left: 11px;
        left: 10px;
        margin-top: -11px
    }

    .pagination a.pagination__link-prev::after,
    .pagination strong.pagination__link-prev::after {
        width: 6px;
        height: 6px;
        border-width: 1px !important
    }

    .pagination a.pagination__link-next,
    .pagination strong.pagination__link-next {
        font-size: 11px;
        padding-right: 11px;
        right: 10px;
        margin-top: -11px
    }

    .pagination a.pagination__link-next::after,
    .pagination strong.pagination__link-next::after {
        width: 6px;
        height: 6px;
        border-width: 1px !important
    }
}

ul.basic {
    list-style: disc;
    padding: 0 0 0 1em;
    margin-left: 5px
}

ul.basic li {
    margin-bottom: 1.5em
}

@media screen and (max-width: 767px) {
    ul.basic {
        margin-left: 0
    }

    ul.basic li {
        margin-bottom: 1em
    }
}

.box-type01 {
    position: relative;
    padding: 0px 0px 80px
}

.box-type02 {
    position: relative;
    padding: 80px 17px 80px;
    background: #F9F9F9;
    margin-bottom: 80px
}

.box-type03 {
    position: relative;
    padding: 0px 17px 80px;
    background: #FFF
}

.box-type04 {
    padding: 15px;
    background: #F9F9F9
}

@media screen and (max-width: 767px) {
    .box-type01 {
        padding: 0px 0px 45px
    }

    .box-type02 {
        margin-left: -10px;
        margin-right: -10px;
        padding: 40px 10px 45px;
        margin-bottom: 40px
    }

    .box-type03 {
        margin-left: -10px;
        margin-right: -10px;
        padding: 0px 10px 45px
    }
}

.tbl-type01 {
    width: 100%;
    margin-bottom: 30px;
    border-collapse: collapse;
    border: 1px solid #dedede
}

.tbl-type01 td,
.tbl-type01 th {
    padding: 18px;
    font-size: 14px;
    text-align: left;
    border: 1px solid #dedede;
    word-break: break-all;
}

.tbl-type01 td.tdcenter {
    text-align: center
}

.tbl-type01 th {
    text-align: center;
    background: #ebebeb
}

.tbl-type01.tdcenter td {
    text-align: center
}

.tbl-type01.tdmiddle td {
    vertical-align: middle
}

.tbl-type01.txl th {
    text-align: left
}

.tbl-type01.thmid th {
    vertical-align: middle
}

.tbl-type01.thwid200 th {
    width: 200px
}

.tbl-type01.thwid300 th {
    width: 300px
}

.tbl-type01.thlock th {
    word-break: keep-all
}

.tbl-type01.thlock td {
    word-break: break-all;
    white-space: normal
}

.tbl-type01 .btn.link {
    display: inline;
    padding: 5px 10px;
    font-size: 12px
}

.tbl-type01 .btn.link.thwid397 th {
    width: 397px
}

.tbl-type01.ver-top td,
.tbl-type01.ver-top th {
    vertical-align: top
}

.tbl-type01.td-middle td {
    vertical-align: middle
}

.tbl-type01.td-max600 td {
    max-width: 600px;
    white-space: normal;
    width: 70%;
    word-break: break-all
}

@media screen and (max-width: 767px) {
    .tbl-type01.td-max600 td {
        max-width: 200px;
        white-space: normal;
        word-break: break-all
    }
}

@media screen and (max-width: 767px) {

    .tbl-type01 td,
    .tbl-type01 th {
        padding: 10px;
        font-size: 12px;
        white-space: normal
    }

    .tbl-type01.tblNarrow_sp td,
    .tbl-type01.tblNarrow_sp th {
        padding: 2vw 1vw
    }

    .tbl-type01 th.nowrap_sp {
        white-space: nowrap
    }

    .tbl-type01 th.thwid23p_sp {
        width: 23%
    }

    .tbl-type01.thwid23p_sp th {
        width: 23%
    }

    .tbl-type01.thwid40p_sp th {
        width: 40%
    }

    .tbl-imgsp {
        width: 100%
    }
}

.tbl-type02 {
    width: 100%;
    margin-bottom: 30px;
    border-collapse: collapse;
    border: 1px solid #dedede
}

.tbl-type02 td,
.tbl-type02 th {
    padding: 18px;
    font-size: 14px;
    text-align: left;
    border: 1px solid #dedede
}

.tbl-type02 th {
    text-align: center;
    background: #ebebeb
}

.tbl-type02 td label {
    display: block;
    cursor: text
}

.tbl-type02 td label:not(:first-child) {
    padding-top: 8px
}

.tbl-type02.txl th {
    text-align: left
}

.tbl-type02.thwid532 td:first-child,
.tbl-type02.thwid532 th:first-child {
    width: 532px
}

.tbl-type02.tdmiddle td {
    vertical-align: middle
}

@media screen and (max-width: 767px) {

    .tbl-type02 td,
    .tbl-type02 th {
        padding: 10px;
        font-size: 13px
    }

    .tbl-type02.thwid30p_sp td:first-child,
    .tbl-type02.thwid30p_sp th:first-child {
        width: 30%
    }

    .tbl-type02.tdmiddle td {
        vertical-align: middle
    }
}

.tbl-type03 {
    width: auto;
    border-collapse: collapse;
    border: none
}

.tbl-type03 td {
    padding: 4px 0;
    font-size: 14px;
    text-align: left;
    border: none
}

.tbl-type03 td:last-child::before {
    content: ":";
    padding: 0 5px
}

@media screen and (max-width: 767px) {
    .tbl-type03 td {
        padding: 3px 0;
        font-size: 14px
    }
}

.item-ph {
    position: relative;
    line-height: 0;
    margin-bottom: 13px;
    text-align: center
}

.item-ph img {
    width: 100%;
    border: 1px solid #CCCCCC
}

.item-ph img.no-line {
    border: none
}

.item-brand {
    margin-bottom: 5px;
    font-size: 16px;
    font-weight: 700
}

.item-name {
    font-size: 14px;
    width: 100%;
    line-height: 1.4;
    margin-bottom: 8px
}

.item-list p.item-name,
.item-list div.set-sale {
    word-break: break-all;
    height: 36px;
    overflow: hidden;
    display: block;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    position: relative;
}

.item-list div.set-sale {
    color: #dd3077;
    line-height: 1.4;
    margin-top: 8px;
}

@media (-ms-high-contrast: none),
(-ms-high-contrast: active) {

    .item-list p.item-name:before,
    .item-list p.item-name:after {
        position: absolute;
        background: #fff;
    }

    .box-type02 .item-list p.item-name:before,
    .box-type02 .item-list p.item-name:after {
        position: absolute;
        background: #F9F9F9;
    }

    .item-list p.item-name:before {
        content: "･･･";
        bottom: 0;
        right: 0;
    }

    .item-list p.item-name:after {
        content: "";
        width: 100%;
        height: 100%;
    }
}

.item-price {
    line-height: 1.3;
    margin-bottom: 0px;
    font-weight: 500
}

.item-price .price-text {
    font-size: 18px
}

.item-price .tax {
    font-size: 13px
}

.item-price .price-off-text {
    font-size: 18px;
    padding-left: 4px
}

.item-price del .price-text {
    font-size: 16px
}

.item-price del .tax {
    font-size: 12px
}

.item-price-off {
    color: #FF0000 !important
}

.item-price-off .price-kind {
    letter-spacing: -0.5px;
}

.item-price-off .price-text {
    letter-spacing: -0.5px;
}

.item-price+.item-price {
    margin-top: 5px
}

.item-staffname {
    margin-bottom: 5px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3
}

.item-date {
    font-size: 14px;
    color: #6A6A6A;
    margin-bottom: 0px
}

.item-list {
    display: flex;
    flex-wrap: wrap
}

.item-list li {
    position: relative
}

.item-list li a {
    display: block;
    position: relative;
    text-decoration: none !important
}

.item-list.list-column4 {
    margin: 0 -8px 10px
}

.item-list.list-column4 li {
    width: calc(25% - 16px);
    margin: 0 8px 30px 8px
}

.item-list.list-column5 {
    margin: 0 -8px 10px
}

.item-list.list-column5 li {
    width: calc(20% - 16px);
    margin: 0 8px 30px 8px
}

.item-list.list-column5 li .item-brand {
    font-size: 13px
}

.item-list.list-column5 li .item-name {
    font-size: 12px;
    height: 33px;
}

.item-list.list-column5 li .item-price .price-text {
    font-size: 16px
}

.item-list.list-column5 li .item-price .tax {
    font-size: 12px
}

.item-list.list-column5 li .item-price .price-off-text {
    font-size: 16px;
    padding-left: 2px
}

@media screen and (max-width: 767px) {
    .item-ph {
        margin-bottom: 10px
    }

    .item-brand {
        margin-bottom: 5px;
        font-size: 11px
    }

    .item-name {
        font-size: 10px;
        margin-bottom: 5px;
    }

    .item-list.list-column5 li .item-name {
        height: 30px;
    }

    .item-list p.item-name {
        height: 28px;
    }

    .item-price .price-text {
        font-size: 14px
    }

    .item-price .tax {
        font-size: 10px
    }

    .item-price .price-off-text {
        font-size: 14px;
        padding-left: 3px
    }

    .item-price del .price-text {
        font-size: 12px
    }

    .item-price del .tax {
        font-size: 10px
    }

    .item-price+.item-price {
        margin-top: 1px
    }

    .item-price-off .price-kind {
        font-size: 10px;
        letter-spacing: -0.5px;
    }

    .item-price-off .price-text {
        font-size: 13px;
        letter-spacing: -0.5px;
    }

    .item-price-off .tax {
        font-size: 10px;
        letter-spacing: -0.5px;
    }

    .item-staffname {
        margin-bottom: 5px;
        font-size: 11px
    }

    .item-date {
        font-size: 10px
    }

    .item-list.list-column4 {
        margin: 0 -5px 10px
    }

    .item-list.list-column4 li {
        width: calc(50% - 10px);
        margin: 0 5px 25px
    }

    .item-list.list-column5 {
        margin: 0 -5px 10px
    }

    .item-list.list-column5 li {
        width: calc(50% - 10px);
        margin: 0 5px 25px
    }

    .item-list.list-column5 li .item-brand {
        font-size: 11px
    }

    .item-list.list-column5 li .item-name {
        font-size: 10px
    }

    .item-list.list-column5 li .item-price .price-text {
        font-size: 13px
    }

    .item-list.list-column5 li .item-price .tax {
        font-size: 10px
    }

    .item-list.list-column5 li .item-price .price-off-text {
        font-size: 14px
    }
}

.item-iconbox {
    line-height: 1;
    min-height: 28px;
    padding-bottom: 1px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start
}

.item-iconbox i {
    display: inline-block;
    padding: 3px 5px;
    text-align: center;
    border: 1px solid transparent;
    font-size: 13px;
    font-weight: 500;
    margin-right: 4px
}

@media screen and (max-width: 767px) {
    .item-iconbox {
        min-height: 20px;
        padding-bottom: 1px
    }

    .item-iconbox i {
        padding: 2px 4px;
        font-size: 10px;
        margin-right: 4px
    }
}

.icon-new {
    color: #04256D !important;
    border-color: #04256D !important
}

.icon-reserve {
    color: #146D04 !important;
    border-color: #146D04 !important
}

.icon-sale {
    color: #FF0000 !important;
    border-color: #FF0000 !important
}

.icon-outlet {
    color: #de9a14 !important;
    border-color: #de9a14 !important
}

.item-iconbox02 {
    line-height: 1;
    position: absolute;
    bottom: 0;
    left: 0
}

.item-iconbox02 i {
    display: block;
    min-width: 64px;
    text-align: center;
    margin-top: 1px;
    padding: 5px 5px;
    font-size: 10px;
    font-weight: 500;
    color: #fff
}

@media screen and (max-width: 767px) {
    .item-iconbox02 i {
        padding: 4px 4px
    }
}

.icon-setitem {
    background: #3F85B1
}

.icon-webonly {
    background: #526CB2
}

.icon-limited {
    background: #B13E6E
}

.icon-recommend {
    background: #D1AF3B
}

.item-iconbox03 {
    line-height: 1;
    position: absolute;
    bottom: 7px;
    right: 8px;
    display: flex;
    flex-wrap: wrap
}

.item-iconbox03 i {
    display: block;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    text-align: center;
    padding-top: 5px;
    font-size: 12px;
    font-weight: 400;
    color: #111111;
    background: rgba(238, 238, 238, 0.8);
    margin-left: 4px
}

@media screen and (max-width: 767px) {
    .item-iconbox03 i {
        width: 18px;
        height: 18px;
        padding-top: 4px;
        font-size: 9px;
        margin-left: 3px
    }
}

.item-iconbox04 {
    line-height: 1;
    padding-bottom: 1px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
}

.item-iconbox04 i {
    display: block;
    text-align: center;
    margin: 0 2px;
}

.icon-image {
    width: 50px;
    height: 50px;
}

@media screen and (max-width: 767px) {
    .item-iconbox04 i {
        margin: 0 1px;
    }

    .icon-image {
        width: 40px;
        height: 40px;
    }
}

.rank-icon {
    display: block;
    position: absolute;
    top: 5px;
    left: 0px;
    z-index: 10;
    width: 48px;
    height: 32px;
    font-family: Arial, Helvetica, "sans-serif";
    background: url(../images/common/rank_bg.png) 50% 0 no-repeat;
    background-size: 100% 100% !important;
    color: #1A1A1A;
    font-size: 20px;
    font-weight: 400;
    text-align: center;
    line-height: 1;
    padding-top: 7px
}

.rank-icon.rank-1 {
    left: 5px;
    color: #fff;
    background: url(../images/common/rank_bg01.png) 50% 0 no-repeat
}

.rank-icon.rank-2 {
    left: 5px;
    color: #fff;
    background: url(../images/common/rank_bg02.png) 50% 0 no-repeat
}

.rank-icon.rank-3 {
    left: 5px;
    color: #fff;
    background: url(../images/common/rank_bg03.png) 50% 0 no-repeat
}

@media screen and (max-width: 767px) {
    .rank-icon {
        top: 5px;
        left: 0px;
        width: 37px;
        height: 24px;
        font-size: 15px;
        padding-top: 5px
    }
}

.category-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-bottom: 30px;
}

.category-list li,
.category-list h3 {
    margin: 0 40px 0 0;
    width: 260px;
}

.category-list li a,
.category-list h3 a {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 16px;
    color: #333333;
    text-decoration: none;
}

.category-list li a figure,
.category-list h3 a figure {
    line-height: 0;
    width: 80px;
}

.category-list li a figure img,
.category-list h3 a figure img {
    width: 100%;
}

.category-list li a span,
.category-list h3 a span {
    display: block;
    width: calc(100% - 80px);
    padding-left: 20px;
}

@media screen and (max-width: 767px) {
    .category-list li,
    .category-list h3 {
        width: calc((100% - 15px) / 4);
        margin: 0 5px 0 0;
    }

    .category-list li:nth-child(4n),
    .category-list h3:nth-child(4n) {
        margin-right: 0;
    }

    .category-list li a,
    .category-list h3 a {
        display: block;
        font-size: 11px;
    }

    .category-list li a figure,
    .category-list h3 a figure {
        width: 100%;
    }

    .category-list li a span,
    .category-list h3 a span {
        width: 100%;
        margin-top: 3px;
        padding-left: 0;
        text-align: center;
    }
}

.news-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -8px 24px
}

.news-list li {
    line-height: 0;
    margin: 0 8px 16px;
    width: calc(33.333% - 16px)
}

@media screen and (max-width: 767px) {
    .news-list {
        margin: 0 -5px 22px
    }

    .news-list li {
        margin: 0 5px 10px;
        width: calc(50% - 10px)
    }
}

.info-list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 24px
}

.info-list li {
    width: 470px;
    margin: 0 35px 16px 0
}

.info-list li:nth-of-type(2n) {
    margin-right: 0
}

.info-list li a {
    display: flex;
    width: 100%
}

.info-list li a figure {
    width: 200px;
    margin-right: 20px;
    line-height: 0
}

.info-list li a dl {
    width: calc(100% - 220px)
}

.info-list li a dl dt {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 15px
}

.info-list li a dl dd {
    font-size: 13px
}

@media screen and (max-width: 767px) {
    .info-list {
        display: block;
        margin-bottom: 0px;
        padding-bottom: 10px
    }

    .info-list li {
        width: auto;
        margin: 0 0px 23px 0
    }

    .info-list li a figure {
        width: 158px;
        margin-right: 10px
    }

    .info-list li a dl {
        width: calc(100% - 168px)
    }

    .info-list li a dl dt {
        font-size: 14px;
        margin-bottom: 10px
    }

    .info-list li a dl dd {
        font-size: 12px
    }
}

.contents-banner-list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 24px
}

.contents-banner-list li {
    width: 235px;
    margin: 0 16px 16px 0;
    line-height: 0
}

.contents-banner-list li:nth-of-type(5n) {
    margin-right: 0
}

@media screen and (max-width: 767px) {
    .contents-banner-list {
        margin: 0 -5px 22px
    }

    .contents-banner-list li {
        margin: 0 5px 10px;
        width: calc(50% - 10px)
    }
}

.keyword-search {
    background-color: #fff;
    margin: 0;
    padding: 0;
    position: relative
}

.keyword-search p {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 8px;
    line-height: 1
}

.keyword-search input[type="text"] {
    -webkit-appearance: button;
    appearance: button;
    width: 100%;
    padding: 0 10px 0 40px;
    border: none;
    border-bottom: 1px solid #707070;
    border-radius: 0;
    background: #fff;
    height: 35px;
    font-size: 16px
}

.keyword-search input[type="text"]::-webkit-input-placeholder {
    color: #ccc;
    font-size: 12px;
    padding-top: 3px
}

.keyword-search input[type="text"]::placeholder {
    color: #ccc;
    font-size: 12px;
    padding-top: 3px
}

.keyword-search input[type="submit"] {
    margin: auto;
    -webkit-appearance: button;
    appearance: button;
    background: url(../images/common/icon_search.svg) 50% 50% no-repeat;
    background-size: 15px 15px;
    border: 0;
    height: 35px;
    width: 30px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
}

@media screen and (max-width: 767px) {
    .keyword-search input[type="submit"] {
        left: 15px;
    }
}

/* ===========================================
* awooタグ制御
* ======================================== */
.tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    align-items: center;
    margin-top: 10px;
}

.tag-list li {
    font-size: 13px;
    word-break: break-all;
}

.tag-list li a {
    display: block;
    padding: 5px 10px;
    border-radius: 40px;
    text-align: center;
    color: #fff;
    background-color: #04256D;
    text-decoration: none;
}

.indexPage .products-awoo-list.bottom {
    width: 1240px;
    margin: 0 auto;
}

/* 前半5つを表示 */
.products-awoo-list.top .tag-list li:nth-child(n+6) {
    display: none;
}

.products-awoo-list.bottom .tag-list li:nth-child(n+21) {
    display: none;
}

.products-awoo-list.top dl dt {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 10px;
}

.products-awoo-list.bottom dl dt {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
    .indexPage .products-awoo-list.bottom {
        width: 100%;
    }

    .products-awoo-list {
        padding: 0 10px;
    }

    #three_maincolumn .products-awoo-list {
        padding: 0;
    }
}

.include-area {
    margin-bottom: 70px;
    overflow: hidden
}

@media screen and (max-width: 767px) {
    .include-area {
        margin: 40px 0;
        overflow: hidden
    }
}

.flow-type01 {
    overflow: hidden;
    position: relative;
    width: 100%;
    display: flex;
    justify-content: space-between
}

.flow-type01::before {
    content: " ";
    width: calc(100% - 68px);
    height: 0;
    border-bottom: 2px solid #CCCCCC;
    position: absolute;
    bottom: 7px;
    left: 35px;
    z-index: 1
}

.flow-type01 li {
    text-align: center;
    position: relative;
    z-index: 5;
    height: 43px;
    min-width: 58px
}

.flow-type01 li p {
    position: relative;
    text-align: center;
    margin-bottom: 10px;
    z-index: 20;
    font-size: 14px
}

.flow-type01 li span {
    width: 16px;
    height: 16px;
    display: inline-block;
    border-radius: 100%;
    border: 2px solid #CCCCCC;
    background: #CCCCCC;
    position: absolute;
    bottom: 0px;
    left: 50%;
    margin-left: -7px;
    z-index: 20
}

.flow-type01 li.current span {
    border: 2px solid #111111;
    background: #111111
}

.star-on {
    display: inline-block;
    width: 19px;
    height: 19px;
    background: url(../images/common/rating_star_on.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

.star-half {
    display: inline-block;
    width: 19px;
    height: 19px;
    background: url(../images/common/rating_star_half.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

.star-off {
    display: inline-block;
    width: 19px;
    height: 19px;
    background: url(../images/common/rating_star_off.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

.review-star {
    display: flex;
    margin-bottom: 15px
}

.review-star .star-on {
    margin-right: 7px
}

.review-star .star-half {
    margin-right: 7px
}

.review-star .star-off {
    margin-right: 7px
}

.confirm-star .star-on {
    width: 15px;
    height: 15px
}

.confirm-star .star-half {
    width: 15px;
    height: 15px
}

.confirm-star .star-off {
    width: 15px;
    height: 15px
}

@media screen and (max-width: 767px) {
    .star-on {
        width: 12px;
        height: 12px
    }

    .star-half {
        width: 12px;
        height: 12px
    }

    .star-off {
        width: 12px;
        height: 12px
    }

    .review-star {
        margin-bottom: 10px
    }

    .review-star .star-on {
        margin-right: 4px
    }

    .review-star .star-half {
        margin-right: 4px
    }

    .review-star .star-off {
        margin-right: 4px
    }
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
    cursor: pointer;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease
}

button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover {
    opacity: 0.7
}

button:disabled,
input[type="button"]:disabled,
input[type="submit"]:disabled,
input[type="reset"]:disabled {
    opacity: 1 !important;
    cursor: default
}

@media all and (-ms-high-contrast: none) {

    *::-ms-backdrop,
    button,
    input[type="button"],
    input[type="submit"],
    input[type="reset"] {
        transition: none
    }
}

.select-type01 {
    -webkit-appearance: none;
    appearance: none;
    display: inline-block;
    position: relative;
    min-width: 90px;
    max-width: 100%;
    padding: 0 25px 0 15px;
    height: 46px;
    border: 1px solid #EEEEEE;
    box-shadow: none;
    line-height: 1.2;
    border-radius: 0;
    box-sizing: border-box;
    background-color: #fff;
    background-image: url("../images/common/arrow_btm.svg");
    background-position: calc(100% - 10px) 50%;
    background-repeat: no-repeat;
    background-size: 12px 8px;
    font-size: 13px
}

.select-type01::-ms-expand {
    display: none
}

.item-detail-typechoice dl dd ul li {
    width: calc(25% - 4px);
    margin: 0 2px;
    border: 1px solid #E4E4E4;
    text-align: center
}


.item-detail-typechoice dl {
    margin-bottom: 25px
}

.item-detail-typechoice dl dt {
    font-size: 12px;
    margin-bottom: 10px
}

.item-detail-typechoice dl dd ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -2px
}

@media screen and (max-width: 767px) {
    .select-type01 {
        font-size: 16px;
        padding: 0 25px 0 10px;
        height: 36px
    }

    .select-type01.wid100p_sp {
        width: 100%
    }

    .item-block .select-type01 {
        font-size: 12px
    }
}

.custom-control {
    position: relative;
    display: inline-flex;
    min-height: 1.5rem;
    padding-left: 30px;
    align-items: center
}

@media all and (-ms-high-contrast: none) {

    *::-ms-backdrop,
    .custom-control {
        display: inline-block
    }
}

label.custom-control {
    cursor: pointer
}

.custom-control-input {
    position: absolute;
    z-index: -1;
    opacity: 0
}

.custom-control-indicator {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 16px;
    height: 16px;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-color: #ddd;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% 100% !important
}

.custom-control-description {
    display: block;
    margin-left: 5px
}

.custom-control.custom-checkbox {
    padding-left: 25px
}

.custom-control.custom-checkbox .custom-control-indicator {
    top: 50%;
    margin-top: -8px;
    background: url("../images/common/icon_check.svg") 0 50% no-repeat
}

.custom-control.custom-checkbox .custom-control-input:checked~.custom-control-indicator {
    background: url("../images/common/icon_check_selected.svg") 0 50% no-repeat
}

.custom-control.custom-radio {
    padding-left: 25px
}

.custom-control.custom-radio .custom-control-indicator {
    top: 50%;
    margin-top: -10px;
    width: 24px;
    height: 20px;
    background: url("../images/common/icon_radio.svg") 50% 50% no-repeat
}

.custom-control.custom-radio .custom-control-input:checked~.custom-control-indicator {
    background: url("../images/common/icon_radio_selected.svg") 50% 50% no-repeat
}

.custom-control.custom-radio .custom-control-input:checked~.custom-control-description {
    font-weight: bold
}

.custom-control.custom-radio .custom-control-input:disabled~.custom-control-indicator {
    background: url("../images/common/icon_radio_disabled.svg") 50% 50% no-repeat
}

.custom-control.custom-radio02 {
    padding-left: 0px;
    display: block
}

.custom-control.custom-radio02 .custom-control-indicator {
    top: 50%;
    left: 50%;
    margin-top: -10px;
    margin-left: -12px;
    width: 24px;
    height: 20px;
    background: url("../images/common/icon_radio.svg") 50% 50% no-repeat
}

.custom-control.custom-radio02 .custom-control-description {
    display: block;
    margin: 0px;
    height: 42px;
    width: 100%
}

.custom-control.custom-radio02 .custom-control-input:checked~.custom-control-indicator {
    background: url("../images/common/icon_radio_selected.svg") 50% 50% no-repeat
}

.custom-control.custom-radio02 .custom-control-input:checked~.custom-control-description {
    background: #FDEAEA
}

.custom-control.custom-radio02 .custom-control-input:disabled~.custom-control-indicator {
    background: url("../images/common/icon_radio_disabled.svg") 50% 50% no-repeat
}

.custom-control.custom-radio03 {
    padding-left: 0px;
    display: block
}

.custom-control.custom-radio03 .custom-control-indicator {
    display: none
}

.custom-control.custom-radio03 .custom-control-description {
    display: block;
    margin: 0px;
    color: #111111;
    font-weight: 700;
    text-align: center;
    padding: 13px 2px;
    line-height: 1;
    width: 100%
}

.custom-control.custom-radio03 .custom-control-input:checked~.custom-control-description {
    background: #999999;
    color: #fff
}

.custom-control.custom-radio04 {
    padding-left: 0px;
    display: block
}

.custom-control.custom-radio04 .custom-control-indicator {
    top: 0;
    left: 0;
    margin: 0px;
    width: 100%;
    height: 100%;
    background: none
}

.custom-control.custom-radio04 .custom-control-description {
    display: block;
    margin: 0px;
    width: auto;
    min-width: 76px;
    line-height: 1;
    padding: 15px;
    color: #111111;
    font-size: 16px;
    font-weight: 500
}

.custom-control.custom-radio04 .custom-control-input:checked~.custom-control-description {
    background: #999999;
    color: #ffffff
}

@media screen and (max-width: 767px) {
    .custom-control.custom-radio04 .custom-control-description {
        display: block;
        margin: 0px;
        width: auto;
        min-width: 76px;
        line-height: 1;
        padding: 13px 2px;
        font-size: 12px;
        font-weight: 700
    }
}

.label,
label {
    font-size: 14px;
    line-height: 1;
    position: relative;
    display: block;
    overflow: hidden;
    cursor: pointer;
    -webkit-transition: all 0.15s ease;
    transition: all 0.15s ease;
    white-space: nowrap;
    text-overflow: ellipsis
}

.label .required,
label .required {
    background: #DD2929;
    font-size: 13px;
    padding: 3px 7px;
    color: white
}

@media screen and (max-width: 767px) {

    .label,
    .radio-label-ex,
    label {
        font-size: 12px
    }

    .label .required,
    .radio-label-ex .required,
    label .required {
        font-size: 10px
    }
}

.radio-label {
    display: inline;
    padding: 0.5rem 0.5rem 0.5rem 1.4rem
}

.radio-label:before {
    position: absolute;
    top: 10px;
    left: 0;
    width: 18px;
    height: 18px;
    content: '';
    border: 0.2rem solid #ccc;
    border-radius: 50%
}

label:focus,
label:hover,
label:active,
input:checked+label {
    color: #000
}

label:focus:before,
label:hover:before,
label:active:before,
input:checked+label:before {
    border-color: #838383;
    background: #ffffff
}

.radio-wrap {
    box-sizing: border-box
}

.radio-wrap:before,
.radio-wrap:after {
    box-sizing: inherit
}

.radio-wrap input[type=radio] {
    display: none
}

.radio-wrap .radio-label-ex {
    display: inline
}

.radio-wrap input:checked+label:before {
    border-color: #ccc;
    background: black
}

.radio-wrap input:disabled+label {
    cursor: not-allowed;
    color: rgba(0, 0, 0, 0.5);
    background: #efefef
}

.radio-wrap input:disabled+label:hover {
    border-color: rgba(0, 0, 0, 0.1)
}

.radio-wrap input:disabled+label:before {
    border-color: #ffffff;
    background: #ffffff
}

@media screen and (max-width: 767px) {
    .radio-label {
        margin-top: 20px;
        padding-bottom: 3px
    }

    .radio-label:before {
        position: absolute;
        top: 5px;
        left: 0;
        width: 18px;
        height: 18px;
        content: '';
        border: 0.2rem solid #ccc;
        border-radius: 50%
    }
}

.input-text-pass,
.input-text-email,
.input-text-number,
textarea[name="textfield"] {
    display: block;
    font-size: 14px;
    width: 100%;
    padding: 13px 20px
}

.input-text-pass.wid100,
.input-text-email.wid100,
.input-text-number.wid100,
textarea[name="textfield"].wid100 {
    width: 100px
}

.input-text-pass.wid200,
.input-text-email.wid200,
.input-text-number.wid200,
textarea[name="textfield"].wid200 {
    width: 200px
}

.input-text-pass.wid300,
.input-text-email.wid300,
.input-text-number.wid300,
textarea[name="textfield"].wid300 {
    width: 300px
}

.input-text-pass.wid100p,
.input-text-email.wid100p,
.input-text-number.wid100p,
textarea[name="textfield"].wid100p {
    width: 100%
}

.input-text {
    font-size: 14px;
    padding: 13px 20px
}

.input-text-zip {
    width: 80px
}

.input-text-city {
    display: block;
    width: 300px;
    margin: 20px 0
}

.input-text-tel {
    width: 80px
}

.input-text-card {
    width: 80px
}

@media screen and (max-width: 767px) {

    .input-text-pass,
    .input-text-email,
    .input-text-number {
        display: block;
        font-size: 12px;
        border: 2px solid #ccc;
        margin: 10px 0;
        padding: 6px 8px
    }

    .input-text-pass.wid100p_sp,
    .input-text-email.wid100p_sp,
    .input-text-number.wid100p_sp {
        width: 100%
    }

    .input-text {
        font-size: 12px;
        border: 2px solid #ccc;
        margin: 10px 0;
        padding: 6px 8px
    }

    .flex {
        display: flex;
        justify-content: space-between
    }

    .flex .input-text {
        width: 47%
    }

    .flex.flex-start {
        justify-content: flex-start
    }
}

.attention {
    color: #c0102a !important;
    font-weight: 400;
    min-height: 1px
}

.required {
    display: inline-block;
    margin-left: 5px;
    color: #c0102a;
    font-size: 12px
}

#modal-bg {
    display: none;
    position: fixed;
    z-index: 3000;
    top: 0;
    left: 0;
    width: 100%;
    height: 150%;
    background: rgba(0, 0, 0, 0.6)
}

.modal-open {
    overflow: hidden
}

.modal {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 3050;
    overflow: hidden;
    outline: 0;
    overflow-x: hidden;
    overflow: auto;
    flex-flow: column;
    align-items: center;
    padding: 50px 50px 0 50px
}

.modal-content {
    position: relative;
    width: 100%;
    max-width: 1000px;
    margin: auto;
    pointer-events: auto;
    border-bottom: 50px solid transparent
}

.modal-header {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 15px 20px 0 20px;
    background: #fff;
    justify-content: flex-end;
    align-items: center
}

.modal-header .icn-cart-check img {
    vertical-align: middle
}

.modal-header .modal-header__ttl {
    order: 2;
    font-size: 24px;
    font-weight: 700;
    color: #333;
    width: 100%;
    margin-bottom: 50px
}

.modal-header .modal-header__close {
    order: 1;
    height: 50px;
    width: 100%;
    text-align: right
}

.modal-header .modal-header__close a {
    display: inline-block;
    width: 40px;
    height: 40px;
    background: url("../images/common/icon_close_modal.svg") 50% 50% no-repeat;
    background-size: 22px 22px
}

.modal-body {
    position: relative;
    overflow: auto;
    padding: 0;
    background: #fff;
    text-align: left;
    font-size: 15px
}

.modal-body__inner {
    padding: 0 40px 50px
}

.modal-close-btn-wrap {
    text-align: center
}

.modal-close-btn {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    display: inline-block;
    width: 240px;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    background: #04256D;
    color: #fff !important;
    text-decoration: none !important;
    min-height: 40px;
    line-height: 1.2;
    padding-top: 10px
}

.modal-close-btn::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 11px;
    margin: auto;
    width: 8px;
    height: 8px;
    margin: auto;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotate(-135deg);
    content: ""
}

@media screen and (max-width: 767px) {
    .modal {
        -webkit-overflow-scrolling: touch;
        padding: 40px 10px 40px
    }

    .modal-content {
        border-bottom: none
    }

    .modal-header {
        padding: 7px 7px 0 20px
    }

    .modal-header .modal-header__ttl {
        font-size: 20px;
        margin-bottom: 45px
    }

    .modal-header .modal-header__close {
        height: 40px
    }

    .modal-header .modal-header__close a {
        width: 40px;
        height: 40px;
        background-size: 14px 14px
    }

    .modal-body {
        font-size: 14px
    }

    .modal-body__inner {
        padding: 0 10px 30px
    }

    .modal-close-btn {
        width: 295px;
        max-width: 100%;
        font-size: 15px;
        padding-top: 12px
    }
}

.textare-type01 {
    padding: 16px 20px;
    font-size: 14px;
    border: 1px solid #CCCCCC;
    color: #555555;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px
}

@media screen and (max-width: 767px) {
    .textare-type01 {
        padding: 8px 10px;
        font-size: 12px
    }
}

.zoomLens {
    border: 1px solid transparent !important
}

.wrap-gray {
    font-size: 14px;
    width: 100%;
    padding: 13px 20px;
    background-color: #f2f2f2;
    display: block
}

.wrap-form p+.wrap-gray {
    margin-top: 20px
}

.order-radio-wrap {
    width: 80%
}

.leave-radio-wrap {
    width: 100%;
}

.order-radio {
    width: 30%
}

.order-radio .radio-label:before {
    margin-top: 2px
}

@media screen and (max-width: 767px) {
    .order-radio .radio-label:before {
        margin-top: 3px
    }
}

.dltable-type-01 {
    display: flex;
    flex-wrap: wrap
}

.dltable-type-01 dt,
.dltable-type-01 dd {
    line-height: 1.4
}

.dltable-type-01 dt {
    width: 30%;
    padding: 0;
    box-sizing: border-box
}

.dltable-type-01 dd {
    padding: 0;
    margin: 0;
    width: 70%;
    box-sizing: border-box
}

@media screen and (max-width: 320px) {
    .dltable-type-01 {
        flex-flow: column nowrap
    }

    .dltable-type-01 dt,
    .dltable-type-01 dd {
        width: 100%
    }

    .dltable-type-01 dd {
        border-left: none
    }
}

.dltable-type-02 {
    box-sizing: border-box
}

.dltable-type-02 dt,
.dltable-type-02 dd {
    box-sizing: border-box;
    padding: 0
}

.dltable-type-02 dt {
    width: auto;
    float: left
}

.dltable-type-02 dd {
    margin-left: 23%;
    padding-bottom: 0
}

.dltable-type-02 dd:before {
    content: ":";
    padding: 0 5px
}

.dltable-type-02 dd:after {
    content: '';
    display: block;
    clear: both
}

.acdn-parent {
    margin-bottom: 30px
}

.acdn-target {
    margin-top: 10px;
    padding: 0 20px
}

.acdn-toggle-arrow {
    padding-right: 40px;
    border-bottom: 1px solid #ccc;
    cursor: pointer;
    position: relative
}

.acdn-toggle-arrow:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 11px;
    margin: auto;
    width: 8px;
    height: 8px;
    margin: auto;
    border-left: 1px solid #555;
    border-bottom: 1px solid #555;
    transform: rotate(-45deg);
    content: ""
}

@media screen and (max-width: 767px) {
    .acdn-parent {
        font-size: 13px
    }

    .acdn-target {
        padding: 0 10px;
        font-size: 13px
    }
}

.unit-sizeMatrix-ctrl {
    padding: 10px;
    background: #dedede
}

.unit-sizeMatrix-ctrl .unit-sizeMatrix-ctrl-select {
    border-bottom: none;
    padding: 5px
}

.unit-sizeMatrix-ctrl .select-type01 {
    width: 100%;
    border: 1px solid #dedede
}

.unit-sizeMatrix .modal-content {
    max-width: 1240px
}

@media all and (-ms-high-contrast: none) {
    .unit-sizeMatrix .modal-content {
        min-width: 1240px;
    }
}

.unit-sizeMatrix thead th:first-child {
    position: relative
}

.unit-sizeMatrix thead th:first-child span {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.1;
    font-style: normal
}

.unit-sizeMatrix thead th:first-child span:nth-child(1) {
    text-align: right;
    top: 0;
    padding: 10px 10px 0 0
}

.unit-sizeMatrix thead th:first-child span:nth-child(2) {
    text-align: left;
    bottom: 0;
    padding: 0 0 10px 10px
}

.unit-sizeMatrix th {
    vertical-align: middle
}

.unit-sizeMatrix td {
    background: #fff;
    text-align: center
}

.unit-sizeMatrix td em,
.unit-sizeMatrix td small {
    display: block
}

.unit-sizeMatrix td em {
    font-size: 16px;
    font-weight: bold
}

.unit-sizeMatrix button {
    -webkit-appearance: none;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    height: 30px;
    line-height: 30px;
    outline: 0;
    border: 1px solid #04256D;
    padding: 0 8px;
    font-size: 18px;
    line-height: 1.1;
    color: #fff;
    font-weight: bold;
    background: #04256D
}

.unit-sizeMatrix .sizeMatrix_btns {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 40px
}

.unit-sizeMatrix .sizeMatrix_btns li {
    width: calc((100% - 80px) / 3);
}

.unit-sizeMatrix .sizeMatrix_btns button {
    height: 40px
}

.unit-sizeMatrix .modal-close-btn {
    background: white;
    border: 1px solid #333;
    color: #333 !important
}

.unit-sizeMatrix .modal-close-btn:after {
    border-left: 1px solid #333;
    border-bottom: 1px solid #333
}

.unit-toggleColor {
    padding: 10px;
    background: #dedede;
    overflow: auto
}

.unit-toggleColor .unit-toggleColor-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -7px
}

.unit-toggleColor .unit-toggleColor-list .unit-toggleCololist-item {
    display: block;
    position: relative;
    min-height: 1px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    float: left;
    width: 20%;
    padding: 0 7px;
    margin: 7px 0;
    line-height: 1.357
}

.unit-toggleColor .unit-toggleColor-list input[class^="ico_color_"] {
    display: block;
    width: 0;
    height: 0;
    opacity: .0001;
    margin: 0;
    padding: 0
}

.unit-toggleColor .unit-toggleColor-list input[class^="ico_color_"]+label {
    position: relative;
    display: block;
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    background-size: 100% 100%;
    border-radius: 4px;
    cursor: pointer
}

.unit-toggleColor .unit-toggleColor-list input[class^="ico_color_"]:checked+label {
    -webkit-box-shadow: 0 0 0 2px #bbb;
    box-shadow: 0 0 0 2px #bbb
}

.unit-toggleColor .unit-toggleColor-list input[class^="ico_color_"]:checked+label:before {
    content: ' ';
    display: block;
    width: 16px;
    height: 16px;
    border-radius: 16px;
    background: #333;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-top: -7px;
    margin-left: -7px
}

.unit-toggleColor .unit-toggleColor-list input[class^="ico_color_"]:checked+label:after {
    content: ' ';
    display: block;
    width: 5px;
    height: 7px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    left: 50%;
    top: 50%;
    margin-top: -3px;
    margin-left: -2px
}

.unit-toggleColor .unit-toggleColor-list .ico_color_01+label {
    background: url(../images/common/ico_color01.png) no-repeat center center
}

.unit-toggleColor .unit-toggleColor-list .ico_color_02+label {
    background: url(../images/common/ico_color02.png) no-repeat center center
}

.unit-toggleColor .unit-toggleColor-list .ico_color_03+label {
    background: url(../images/common/ico_color03.png) no-repeat center center
}

.unit-toggleColor .unit-toggleColor-list .ico_color_04+label {
    background: url(../images/common/ico_color04.png) no-repeat center center
}

.unit-toggleColor .unit-toggleColor-list .ico_color_05+label {
    background: url(../images/common/ico_color05.png) no-repeat center center
}

.unit-toggleColor .unit-toggleColor-list .ico_color_06+label {
    background: url(../images/common/ico_color06.png) no-repeat center center
}

.unit-toggleColor .unit-toggleColor-list .ico_color_07+label {
    background: url(../images/common/ico_color07.png) no-repeat center center
}

.unit-toggleColor .unit-toggleColor-list .ico_color_08+label {
    background: url(../images/common/ico_color08.png) no-repeat center center
}

.unit-toggleColor .unit-toggleColor-list .ico_color_09+label {
    background: url(../images/common/ico_color09.png) no-repeat center center
}

.unit-toggleColor .unit-toggleColor-list .ico_color_10+label {
    background: url(../images/common/ico_color10.png) no-repeat center center
}

.unit-toggleColor .unit-toggleColor-list .ico_color_11+label {
    background: url(../images/common/ico_color11.png) no-repeat center center
}

.unit-toggleColor .unit-toggleColor-list .ico_color_12+label {
    background: url(../images/common/ico_color12.png) no-repeat center center
}

.unit-toggleColor .unit-toggleColor-list .ico_color_13+label {
    background: url(../images/common/ico_color13.png) no-repeat center center
}

@media screen and (max-width: 767px) {
    .unit-toggleColor {
        padding: 15px
    }

    .unit-toggleColor .unit-toggleColor-list {
        margin: 0 auto
    }

    .unit-toggleColor .unit-toggleColor-list .unit-toggleCololist-item {
        width: 14.25%
    }
}

.alert {
    display: block;
    margin-top: 5px;
    color: #DD2929
}

.red-font {
    color: #DD2929;
}

@media screen and (max-width: 767px) {

    #products-new-item .item-list li:nth-child(n+5),
    #products-ranking-item .item-list li:nth-child(n+5),
    #products-recommend-item .item-list li:nth-child(n+5),
    #products-favorite-item .item-list li:nth-child(n+5),
    #products-history-item .item-list li:nth-child(n+5),
    #products-coordinate-item .item-list li:nth-child(n+5) {
        display: none
    }
}

#products-favorite-item .item-list li:nth-child(n+6) {
    display: none
}

#products-list-header {
    width: 100%;
    margin-bottom: 40px
}

.refine-result {
    border-bottom: 1px solid #EEEEEE;
    padding-bottom: 15px
}

.refine-result dl {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.refine-result dl dt {
    font-size: 14px
}

.refine-result dl dt strong {
    color: #04256D;
    font-weight: 700px;
    font-size: 20px
}

.refine-result dl dd {
    display: flex;
    justify-content: flex-end;
    align-items: center
}

.refine-result__sort {
    width: 300px
}

.refine-result__sort .select-type01 {
    width: 100%
}

.refine-result__viewnum {
    margin-left: 15px;
    width: 160px
}

.refine-result__viewnum .select-type01 {
    width: 100%
}

.refine-condition {
    margin-top: 20px
}

.refine-condition dl {
    display: flex;
    flex-wrap: wrap
}

.refine-condition dl dt {
    font-size: 14px;
    font-weight: 700;
    width: 105px;
    padding-top: 2px
}

.refine-condition dl dd {
    width: calc(100% - 105px)
}

.refine-condition dl dd ul {
    display: flex;
    flex-wrap: wrap
}

.refine-condition dl dd ul li {
    font-size: 13px;
    margin: 0 13px 5px 0
}

.refine-condition dl dd ul li strong {
    font-weight: 500
}

.refine-condition dl dd ul li span {
    position: relative;
    display: inline-block;
    background: #fff;
    font-size: 13px;
    padding: 2px 28px 2px 12px;
    border-radius: 20px;
    border: 1px solid #EEEEEE
}

.refine-condition dl dd ul li span button {
    position: absolute;
    top: 5px;
    right: 6px;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    width: 16px;
    height: 16px;
    outline: 0;
    background: url(../images/common/icon_close.svg) 50% 50% no-repeat;
    background-size: 10px 10px
}

@media screen and (max-width: 767px) {
    #products-list-header {
        margin-bottom: 10px
    }

    .refine-result {
        padding-bottom: 0;
        border-bottom: none
    }

    .refine-result dl {
        display: block
    }

    .refine-result dl dt {
        font-size: 12px;
        border-bottom: 1px solid #EEEEEE;
        padding: 0 10px 5px
    }

    .refine-result dl dt strong {
        font-size: 16px
    }

    .refine-result dl dd {
        padding: 10px 10px 0
    }

    .refine-result__sort {
        width: 150px
    }

    .refine-result__viewnum {
        width: 90px
    }

    .refine-condition {
        margin-top: 10px;
        padding: 0 10px
    }

    .refine-condition dl {
        display: block
    }

    .refine-condition dl dt {
        font-size: 10px;
        width: auto;
        padding-top: 0px;
        margin-bottom: 10px
    }

    .refine-condition dl dd {
        width: auto
    }

    .refine-condition dl dd ul {
        display: flex;
        flex-wrap: wrap
    }

    .refine-condition dl dd ul li {
        font-size: 10px;
        margin: 0 10px 10px 0
    }

    .refine-condition dl dd ul li span {
        font-size: 10px
    }

    .refine-condition dl dd ul li span button {
        top: 2px;
        right: 5px
    }
}

#item-detail {
    overflow: hidden;
    padding-top: 20px;
    margin-bottom: 70px
}

@media screen and (max-width: 767px) {
    #item-detail {
        overflow: visible;
        padding-top: 0px;
        margin-bottom: 40px
    }
}

#item-detail__kv {
    width: 600px;
    float: left
}

#item-detail__kv-main {
    position: relative;
    margin-bottom: 40px
}

#item-detail__kv .favorite-btn-wrap {
    position: absolute;
    display: none
}

#item-detail__kv .slides .slide-item {
    position: relative
}

#item-detail__kv .slides .slide-item figure {
    line-height: 0
}

#item-detail__kv .slides .slide-item img {
    width: 100%
}

#item-detail__kv-thumb ul {
    display: flex;
    flex-wrap: wrap;
    margin-right: -11px;
    padding-bottom: 9px
}

#item-detail__kv-thumb ul li {
    width: 76px;
    margin: 0 11px 11px 0;
    cursor: pointer
}

#item-detail__kv-thumb ul li img {
    width: 100%
}

#item-detail__kv-thumb ul li figure {
    line-height: 0;
    border: 1px solid transparent
}

#item-detail__kv-thumb ul li p {
    padding-top: 7px;
    font-size: 12px;
    line-height: 1.2
}

#item-detail__kv-thumb ul li.custom-active figure {
    border: 1px solid #707070
}

#item-detail__kv-btm ul {
    display: flex;
    flex-wrap: wrap;
    margin-right: -11px
}

#item-detail__kv-btm ul li {
    cursor: pointer;
    width: 76px;
    line-height: 0;
    margin: 0 11px 11px 0
}

#item-detail__kv-btm ul li figure {
    line-height: 0;
    border: 1px solid transparent
}

#item-detail__kv-btm ul li img {
    width: 100%
}

#item-detail__kv-btm ul li.custom-active figure {
    border: 1px solid #707070
}

@media screen and (max-width: 767px) {
    .productsDetailPage .ZoomContainer {
        display: none !important
    }

    #item-detail__kv {
        width: auto;
        float: none
    }

    #item-detail__kv-main {
        margin-bottom: 27px
    }

    #item-detail__kv .favorite-btn-wrap {
        line-height: 0;
        display: block;
        position: absolute;
        bottom: 7px;
        right: 10px;
        z-index: 100
    }

    #item-detail__kv .btn-expand {
        width: 40px;
        height: 40px;
        display: block;
        position: absolute;
        top: 6px;
        right: 6px;
        background: rgba(204, 204, 204, 0.8) url(../images/common/icon_zoom.svg) 50% 50% no-repeat;
        background-size: 23px 23px
    }

    #item-detail__kv .slides .slide-item figure {
        pointer-events: none
    }

    #item-detail__kv .slides .slick-prev {
        left: 0;
        width: 15px;
        height: 60px;
        background: url(../images/common/slide_arrow_l_sp.png) 0 0 no-repeat;
        background-size: 100% 100%
    }

    #item-detail__kv .slides .slick-next {
        right: 0;
        width: 15px;
        height: 60px;
        background: url(../images/common/slide_arrow_r_sp.png) 0 0 no-repeat;
        background-size: 100% 100%
    }

    #item-detail__kv #item-detail__kv-thumb {
        padding-bottom: 10px;
        margin: 0 -10px 10px;
        width: calc(100% + 20px);
        overflow-y: hidden;
        overflow-x: auto
    }

    #item-detail__kv #item-detail__kv-thumb ul {
        display: flex;
        flex-wrap: nowrap;
        padding-left: 10px;
        margin-right: 0px;
        padding-bottom: 0px
    }

    #item-detail__kv #item-detail__kv-thumb ul li {
        white-space: nowrap;
        width: 65px;
        min-width: 65px;
        margin: 0 10px 0px 0
    }

    #item-detail__kv #item-detail__kv-thumb ul li p {
        padding-top: 5px;
        font-size: 11px
    }

    #item-detail__kv-btm {
        margin: 0 -10px;
        padding-bottom: 10px;
        width: calc(100% + 20px);
        overflow-y: hidden;
        overflow-x: auto
    }

    #item-detail__kv-btm ul {
        display: flex;
        flex-wrap: nowrap;
        padding-left: 10px;
        margin-right: 0px;
        padding-bottom: 0px
    }

    #item-detail__kv-btm ul li {
        white-space: nowrap;
        width: 65px;
        min-width: 65px;
        margin: 0 10px 0px 0
    }
}

#item-detail__desc {
    width: 600px;
    float: right;
    min-height: 1200px
}

#item-detail__desc .item-brand-logo {
    line-height: 0;
    margin-bottom: 20px;
    width: 200px;
}

#item-detail__desc .item-name {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 20px
}

#item-detail__desc .item-iconbox {
    margin-bottom: 20px;
    min-height: 20px
}

#item-detail__desc .item-price {
    margin-bottom: 20px
}

#item-detail__desc .item-price+.item-price {
    margin-top: -15px
}

#item-detail__desc .item-iconbox04 {
    margin-bottom: 10px
}

#item-detail__desc .item-desc {
    font-size: 16px;
    margin-bottom: 20px
}

.productsDetailPage #main .item-detail-tag strong {
    font-weight: normal;
}

#item-detail__desc .cart-btn-wrap {
    margin-bottom: 20px
}

#item-detail__desc .cart-btn {
    height: 64px;
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    display: block;
    width: 100%;
    text-align: center;
    font-size: 16px;
    font-weight: 400;
    background: #04256D;
    color: #fff
}

#item-detail__desc .cart-btn span {
    line-height: 1;
    padding-top: 4px;
    display: inline-block;
    min-height: 25px;
    padding-left: 47px;
    background: url(../images/common/icon_cart_w.svg) 0 50% no-repeat;
    background-size: 30px 25px
}

#item-detail__desc .item-detail-btnlist {
    display: flex;
    flex-wrap: wrap
}

#item-detail__desc .item-detail-btnlist li {
    width: calc(50% - 10px);
    margin: 0 20px 20px 0
}

#item-detail__desc .item-detail-btnlist li:nth-of-type(2n) {
    margin-right: 0 !important
}

#item-detail__desc .item-detail-btnlist li:last-child {
    margin-right: 0 !important
}

#item-detail__desc .item-detail-btnlist li a {
    position: relative;
    display: block;
    background: #EEEEEE;
    text-align: center;
    font-size: 14px;
    padding: 13px;
    text-decoration: none !important;
    cursor: pointer;
}

#item-detail__desc .item-detail-btnlist li a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 21px;
    width: 7px;
    height: 7px;
    margin: auto;
    border-left: 1px solid #555555;
    border-bottom: 1px solid #555555;
    transform: rotate(-135deg);
    content: ""
}

@media screen and (max-width: 767px) {
    #item-detail__desc {
        padding-top: 37px;
        width: auto;
        float: none;
        min-height: inherit
    }

    #item-detail__desc .item-brand-logo {
        text-align: center;
        margin: 0 auto;
        margin-bottom: 15px;
    }

    #item-detail__desc .item-name {
        font-size: 20px;
        margin-bottom: 10px
    }

    #item-detail__desc .item-iconbox {
        margin-bottom: 10px;
        min-height: 18px
    }

    #item-detail__desc .item-price {
        margin-bottom: 13px
    }

    #item-detail__desc .item-price .price-kind {
        font-size: 12px
    }

    #item-detail__desc .item-price .price-text {
        font-size: 22px
    }

    #item-detail__desc .item-price .tax {
        font-size: 12px
    }

    #item-detail__desc .item-price .price-off-text {
        font-size: 22px
    }

    #item-detail__desc .item-price del .price-kind {
        font-size: 12px
    }

    #item-detail__desc .item-price del .price-text {
        font-size: 12px
    }

    #item-detail__desc .item-price del .tax {
        font-size: 10px
    }

    #item-detail__desc .item-price+.item-price {
        margin-top: -5px
    }

    #item-detail__desc .item-iconbox04 {
        margin-bottom: 10px
    }

    #item-detail__desc .item-desc {
        font-size: 14px;
        margin-bottom: 15px
    }

    #item-detail__desc .cart-btn-wrap {
        margin-bottom: 20px
    }

    #item-detail__desc .cart-btn {
        height: 60px;
        font-size: 15px;
        font-weight: 500
    }

    #item-detail__desc .item-detail-btnlist li {
        width: calc(50% - 8px);
        margin: 0 15px 15px 0
    }

    #item-detail__desc .item-detail-btnlist li a {
        font-size: 12px;
        padding: 10px
    }
}

.item-detail-info {
    border-top: 1px solid #E5E5E5;
    padding-top: 20px;
    margin-bottom: 20px
}

.item-detail-info dl {
    display: flex;
    flex-wrap: wrap
}

.item-detail-info dl dt {
    font-size: 12px;
    font-weight: 400
}

.item-detail-info dl dd {
    font-size: 12px
}

@media screen and (max-width: 767px) {
    .item-detail-info {
        padding-top: 15px;
        margin-bottom: 15px
    }

    .item-detail-info dl {
        display: flex;
        flex-wrap: wrap
    }

    .item-detail-info dl dt {
        font-size: 11px
    }

    .item-detail-info dl dd {
        font-size: 11px
    }
}

.item-detail-fulfill {
    margin-bottom: 30px
}

.item-detail-fulfill dl {
    padding: 25px 23px;
    background: #F8F8F8;
    display: flex;
    align-items: center;
    margin-bottom: 5px
}

.item-detail-fulfill dl dt {
    font-size: 14px;
    font-weight: 700;
    width: 72px
}

.item-detail-fulfill dl dd {
    width: calc(100% - 72px)
}

.item-detail-fulfill dl dd ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center
}

.item-detail-fulfill dl dd ul li {
    margin-right: 10px;
    line-height: 0
}

.item-detail-fulfill ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    margin-top: 20px;
    padding-right: 5px
}

.item-detail-fulfill ol li {
    margin-left: 10px
}

.item-detail-fulfill .v-align-btm {
    vertical-align: bottom;
}

@media screen and (max-width: 767px) {
    .item-detail-fulfill {
        margin-bottom: 30px
    }

    .item-detail-fulfill dl {
        padding: 15px 15px;
        margin-bottom: 5px
    }

    .item-detail-fulfill dl dt {
        font-size: 12px;
        width: 43px
    }

    .item-detail-fulfill dl dd {
        width: calc(100% - 43px)
    }

    .item-detail-fulfill dl dd ul li {
        margin-right: 10px
    }

    .item-detail-fulfill dl dd ul li img {
        width: 50px
    }

    .item-detail-fulfill ol {
        justify-content: center;
    }

    .item-detail-fulfill ol .picture_col {
        width: 100%;
        text-align: center;
    }

    .item-detail-fulfill ol li .arrow-link_r {
        font-size: 11px
    }
}

.item-detail-fulfill-descrition {
    margin-top: 20px;
}

.item-detail-fulfill-descrition-ttl {
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: 700;
}

.item-detail-delivery {
    border: 1px solid #EEEEEE;
    text-align: center;
    margin: 30px 0 10px
}

.item-detail-delivery span {
    display: inline-block;
    padding: 12px 0 12px 45px;
    background: url(../images/common/icon_truck.svg) 0 50% no-repeat;
    background-size: 45px 20px
}

.item-detail-delivery span strong {
    font-weight: 700
}

@media screen and (max-width: 767px) {
    .item-detail-delivery {
        margin: 20px 0 10px;
        font-size: 12px
    }

    .item-detail-delivery span {
        padding-left: 40px
    }
}

.item-detail-together dl {
    display: flex;
    align-items: center;
    margin-bottom: 20px
}

.item-detail-together dl dt {
    font-size: 14px;
    font-weight: 700;
    width: 85px
}

.item-detail-together dl dd {
    width: calc(100% - 85px);
    border-bottom: 1px solid #CCCCCC
}

.item-detail-together dl dd .select-type01 {
    width: 100%;
    border: none;
    padding-left: 0;
    font-size: 14px
}

@media screen and (max-width: 767px) {
    .item-detail-together dl dt {
        font-size: 12px;
        width: 50px
    }

    .item-detail-together dl dd {
        width: calc(100% - 50px)
    }

    .item-detail-together dl dd .select-type01 {
        font-size: 16px
    }
}

.bundle-table th {
    background: #fff
}

.bundle-table td {
    width: 21%;
    vertical-align: middle
}

.bundle-table .item-quantity {
    display: inline-block;
    vertical-align: top;
    text-align: right;
    height: 30px
}

.bundle-table .item-quantity img {
    width: 20px;
    display: inline-block
}

.bundle-table .item-quantity ul {
    overflow: hidden;
    display: inline-flex;
    font-size: 16px;
    font-weight: bold;
    margin: 0 auto
}

.bundle-table .item-quantity ul li {
    padding: 0 4px
}

.bundle-table .item-quantity div {
    margin: 0
}

.bundle-table .item-quantity div p {
    margin: 0;
    padding: 0;
    display: inline-block;
    font-size: 14px;
    font-weight: bold
}

.bundle-table .item-quantity .item-quantity-select {
    display: inline-block;
    position: relative
}

.bundle-table .item-quantity .item-quantity-select:after {
    position: absolute;
    top: 50%;
    right: 9px;
    width: 7px;
    height: 7px;
    margin-top: -9px;
    border-right: 1px solid #04256D;
    border-bottom: 1px solid #04256D;
    transform: rotate(45deg);
    content: "";
    pointer-events: none
}

.bundle-table .item-quantity .select-type01 {
    border-top: none;
    border-right: none;
    border-bottom: 1px solid #eeeeee;
    border-left: none;
    height: 30px;
    min-width: 79px;
    padding-bottom: 7px;
    background: none;
    font-size: 16px;
    font-weight: bold
}

.item-detail-typechoice+.item-detail-typechoice,
.item-detail-typechoice+.item-detail-sizechoice {
    margin-top: 50px
}

.item-detail-typechoice dl dt {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 20px
}

.item-detail-typechoice table {
    border: 1px solid #E5E5E5;
    table-layout: fixed;
    width: 100%;
    border-collapse: separate
}

.item-detail-typechoice table th {
    border: 1px solid #E5E5E5;
    height: 42px;
    vertical-align: middle;
    text-align: center;
    background: #F0F0F0;
    font-size: 14px;
    line-height: 1;
    padding: 0px;
    box-sizing: content-box
}

.item-detail-typechoice table td {
    border: 1px solid #E5E5E5;
    position: relative;
    height: 42px;
    vertical-align: middle;
    text-align: center;
    background: #fff;
    color: #000;
    font-weight: 700;
    font-size: 20px;
    line-height: 1;
    padding: 0px;
    box-sizing: content-box
}

/* 即日=当日 */
.item-detail-typechoice .item-detail-typechoice__time {
    display: block;
    width: 20px;
    height: 20px;
    background: url(../images/common/icon_hassouTouzitsu_02.svg) 0 50% no-repeat;
    background-size: 20px 20px;
    position: absolute;
    top: 4px;
    left: 4px;
    z-index: 10
}

/* 翌日 */
.item-detail-typechoice .item-detail-typechoice__time.--yokuzitsu {
    background-image: url("../images/common/icon_hassouYokuzitsu_02.svg");
}
/* 4営業日で発送 */
.item-detail-typechoice .item-detail-typechoice__time.--4day {
    background-image: url("../images/common/icon_hassou4days_02.svg");
}
/* 5営業日で発送 */
.item-detail-typechoice .item-detail-typechoice__time.--5day {
    background-image: url("../images/common/icon_hassou5days_02.svg");
}

@media screen and (max-width: 767px) {
    .item-detail-typechoice dl {
        margin-bottom: 25px
    }

    .item-detail-typechoice dl dt {
        font-size: 12px;
        margin-bottom: 10px
    }

    .item-detail-typechoice dl dd ul {
        display: flex;
        flex-wrap: wrap;
        margin: 0 -2px
    }

    .item-detail-typechoice dl dd ul li {
        width: calc(25% - 4px);
        margin: 0 2px;
        border: 1px solid #E4E4E4;
        text-align: center
    }

    .item-detail-typechoice p {
        margin-top: -5px;
        font-size: 11px
    }
}

.item-detail-sizechoice dl {
    margin-bottom: 30px
}

.item-detail-sizechoice dl dt {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 10px
}

.item-detail-sizechoice dl dd ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -2px
}

.item-detail-sizechoice dl dd ul li {
    margin: 0 5px;
    width: calc(25% - 10px);
    border: 1px solid #E4E4E4;
    text-align: center
}

@media screen and (max-width: 767px) {
    .item-detail-sizechoice dl dt {
        font-size: 12px
    }

    .item-detail-sizechoice dd ul li {
        margin: 0 2px;
        width: calc(25% - 4px)
    }
}

#item-detail__desc-more {
    width: 600px;
    padding-top: 45px;
    clear: both;
}

.item-detail__desc-more__coordinate {
    margin-bottom: 45px
}

.item-detail__desc-more__coordinate dt {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 15px
}

.item-detail__desc-more__coordinate dd ul {
    display: flex;
    flex-wrap: wrap;
    margin-right: -11px
}

.item-detail__desc-more__coordinate dd ul li {
    cursor: pointer;
    line-height: 0;
    width: 76px;
    margin: 0 11px 11px 0
}

.item-detail__desc-more__coordinate dd ul li a {
    display: block
}

.item-detail__desc-more__coordinate dd ul li img {
    width: 100%
}

.item-detail__desc-more__article {
    margin-bottom: 35px
}

.item-detail__desc-more__article dt {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 15px
}

.item-detail__desc-more__article dd ul {
    display: flex;
    flex-wrap: wrap;
    margin-right: -10px
}

.item-detail__desc-more__article dd ul li {
    cursor: pointer;
    margin: 0 10px 10px 0;
    width: 142px
}

.item-detail__desc-more__article dd ul li a {
    display: block
}

.item-detail__desc-more__article dd ul li figure {
    line-height: 0
}

.item-detail__desc-more__article dd ul li p {
    padding-top: 5px;
    font-size: 14px;
    font-weight: 500
}

.item-detail__desc-more__article dd ul li img {
    width: 100%
}

.item-detail__desc-more__btn a {
    position: relative;
    display: block;
    background: #EEEEEE;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    margin-top: 40px;
}

.item-detail__desc-more__btn a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 21px;
    width: 7px;
    height: 7px;
    margin: auto;
    border-left: 1px solid #555555;
    border-bottom: 1px solid #555555;
    transform: rotate(-135deg);
    content: ""
}

.item-detail__desc-more__btn a span {
    display: inline-block;
    padding: 20px 0 20px 40px;
    background: url(../images/common/icon_tag.svg) 0 50% no-repeat;
    background-size: 25px 25px
}

@media screen and (max-width: 767px) {
    #item-detail__desc-more {
        width: auto;
        float: none;
        padding-top: 0px;
        display: flex;
        flex-wrap: wrap
    }

    .item-detail__desc-more__coordinate {
        order: 2;
        width: 100%;
        margin-bottom: 20px
    }

    .item-detail__desc-more__coordinate dt {
        font-size: 14px;
        margin-bottom: 10px
    }

    .item-detail__desc-more__coordinate dd ul {
        margin: 0 -2px
    }

    .item-detail__desc-more__coordinate dd ul li {
        width: calc(20% - 4px);
        margin: 0 2px 4px 2px
    }

    .item-detail__desc-more__article {
        order: 3;
        width: 100%;
        margin-bottom: 0px
    }

    .item-detail__desc-more__article dt {
        font-size: 14px;
        margin-bottom: 10px
    }

    .item-detail__desc-more__article dd ul {
        margin: 0 -2px
    }

    .item-detail__desc-more__article dd ul li {
        width: calc(25% - 4px);
        margin: 0 2px 4px 2px
    }

    .item-detail__desc-more__article dd ul li p {
        padding-top: 3px;
        font-size: 11px;
        font-weight: 400
    }

    .item-detail__desc-more__btn {
        order: 1;
        width: 100%;
        margin-top: 40px;
        margin-bottom: 30px
    }

    .item-detail__desc-more__btn a {
        font-size: 15px
    }

    .item-detail__desc-more__btn a span {
        display: inline-block;
        padding: 15px 0 15px 30px;
        background-size: 20px 20px !important
    }
}

#item-detail-about {
    padding: 35px 40px;
    background: #F8F8F8;
    margin: 75px 0
}

.item-detail-about__ttl-btn {
    font-size: 18px;
    font-weight: 700;
    padding-bottom: 15px
}

.item-detail-about__body {
    border-top: 1px solid #CCCCCC
}

.item-detail-about__body__inner {
    display: flex;
    justify-content: space-between;
    padding-top: 35px
}

.item-detail-about__body__inner h4 {
    font-size: 16px;
    font-weight: 700;
    padding-bottom: 15px;
    margin: 0 0 15px 0;
    border-bottom: 1px solid #CCCCCC
}

.item-detail-about__body__inner-l {
    width: 560px
}

.item-detail-about__body__inner-l table {
    width: 100%;
    border-collapse: collapse
}

.item-detail-about__body__inner-l table th {
    background: none;
    border: none;
    padding: 6px 5px 6px 0;
    text-align: left;
    width: 100px;
    font-weight: 700
}

.item-detail-about__body__inner-l table td {
    background: none;
    border: none;
    padding: 6px 0;
    text-align: left
}

.item-detail-about__body__inner-l p {
    font-size: 11px;
    margin: 20px 0 0 0
}

.item-detail-about__body__inner-r {
    width: 560px
}

.item-detail-about__body__inner-r dl {
    display: flex;
    align-items: flex-end;
    padding-top: 5px;
    margin-bottom: 30px
}

.item-detail-about__body__inner-r dl dt {
    width: 80px;
    font-size: 14px;
    font-weight: 700
}

.item-detail-about__body__inner-r dl dd {
    width: calc(100% - 80px)
}

@media screen and (min-width: 768px) {
    .item-detail-about__ttl-btn {
        pointer-events: none
    }

    .item-detail-about__body {
        display: block !important
    }
}

@media screen and (max-width: 767px) {
    #item-detail-about {
        padding: 0px 10px;
        margin: 40px -10px
    }

    .item-detail-about__ttl-btn {
        position: relative;
        font-size: 16px;
        padding: 15px 15px 15px 0;
        cursor: pointer
    }

    .item-detail-about__ttl-btn::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 10px;
        width: 9px;
        height: 9px;
        margin-top: -3px;
        border: none;
        transform: none;
        background: url(../images/common/icon_plus_b.svg) 50% 50% no-repeat;
        background-size: 100% 100%
    }

    .item-detail-about__ttl-btn.open::after {
        transform: none;
        background: url(../images/common/icon_minus_b.svg) 50% 50% no-repeat;
        background-size: 100% 100%
    }

    .item-detail-about__body {
        display: none
    }

    .item-detail-about__body__inner {
        display: block;
        padding-top: 10px;
        padding-bottom: 30px
    }

    .item-detail-about__body__inner h4 {
        font-size: 14px;
        padding-top: 10px;
        padding-bottom: 10px;
        margin: 0 0 10px -20px
    }

    .item-detail-about__body__inner-l {
        width: auto;
        padding-left: 20px
    }

    .item-detail-about__body__inner-l table th {
        padding: 3px 3px 3px 0;
        text-align: left;
        width: 95px;
        font-size: 12px
    }

    .item-detail-about__body__inner-l table td {
        padding: 3px 3px 3px 0;
        font-size: 12px
    }

    .item-detail-about__body__inner-l p {
        font-size: 11px;
        margin: 15px 0 0 0
    }

    .item-detail-about__body__inner-r {
        padding-top: 20px;
        width: auto;
        padding-left: 20px
    }

    .item-detail-about__body__inner-r dl {
        padding-top: 5px;
        margin-bottom: 10px
    }

    .item-detail-about__body__inner-r dl dt {
        width: 75px;
        font-size: 12px
    }

    .item-detail-about__body__inner-r dl dd {
        width: calc(100% - 75px)
    }

    .item-detail-about__body__inner-r dl dd .flow-type01 li {
        font-size: 12px;
        height: 38px
    }
}

.review-header strong {
    display: block;
    text-align: center;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 5px
}

.review-header .review-star {
    display: flex;
    justify-content: center;
    margin-bottom: 5px
}

.review-header .review-star .star-on,
.review-header .review-star .star-half,
.review-header .review-star .star-off {
    margin: 0 4px;
    width: 25px;
    height: 25px
}

.review-header em {
    display: block;
    text-align: center
}

.review-entry {
    text-align: right;
    margin-bottom: 15px
}

.review-entry a {
    display: inline-block;
    width: 205px;
    padding: 10px 10px 10px 30px;
    text-align: center;
    background: #eee url(../images/common/icon_pencil.svg) 25px 50% no-repeat;
    background-size: 17px 17px;
    color: #111111;
    font-size: 14px;
    text-decoration: none !important
}

@media screen and (max-width: 767px) {
    .review-header strong {
        font-size: 24px;
        margin-bottom: 5px
    }

    .review-header .review-star {
        margin-bottom: 5px
    }

    .review-header .review-star .star-on,
    .review-header .review-star .star-off,
    .review-header .review-star .star-half {
        margin: 0 2px;
        width: 16px;
        height: 16px
    }

    .review-header em {
        font-size: 10px
    }

    .review-entry {
        margin-top: 10px;
        text-align: right;
        margin-bottom: 15px
    }

    .review-entry a {
        width: 145px;
        padding: 8px 8px 8px 18px;
        text-align: center;
        background: #eee url(../images/common/icon_pencil.svg) 16px 50% no-repeat;
        background-size: 10px 10px;
        font-size: 10px
    }
}

.review-box {
    border: 1px solid #E5E5E5;
    padding: 40px 20px 40px
}

.review-box ul {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 25px
}

.review-box ul>li {
    width: calc(50% - 40px);
    margin: 0 20px 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #E5E5E5
}

.review-box ul>li dl {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 3px
}

.review-box ul>li dl dt {
    font-size: 12px
}

.review-box ul>li dl dd {
    font-size: 12px
}

.review-box ul>li h3 {
    font-size: 16px;
    font-weight: 700;
    margin: 10px 0 10px;
    letter-spacing: 0.05em
}

.review-box ul>li h4 {
    font-size: 20px;
    font-weight: 700;
    margin: 10px 0 10px
}

.review-box ul>li p {
    font-size: 14px;
    margin-bottom: 15px
}

.review-box ul>li ol {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 15px
}

.review-box ul>li ol li {
    font-size: 12px
}

.review-box ul>li ol li::before {
    display: inline;
    content: "／"
}

.review-box ul>li ol li:first-child::before {
    display: none
}

@media screen and (max-width: 767px) {
    #item-detail-review {
        padding-bottom: 0 !important
    }

    .review-box {
        padding: 0px;
        border: none
    }

    .review-box ul {
        display: block;
        border: 1px solid #E5E5E5;
        padding: 0px 15px 10px;
        margin-bottom: 30px
    }

    .review-box ul>li {
        width: auto;
        margin: 0;
        padding-bottom: 10px;
        padding-top: 20px
    }

    .review-box ul>li:last-child {
        border-bottom: none;
        padding-bottom: 0px
    }

    .review-box ul>li h3 {
        font-size: 12px;
        margin: 10px 0 10px
    }

    .review-box ul>li h4 {
        font-size: 18px;
        margin: 10px 0 10px
    }

    .review-box ul>li p {
        font-size: 12px;
        margin-bottom: 15px
    }

    .review-box ul>li ol {
        margin-bottom: 15px
    }

    .review-box ul>li ol li {
        font-size: 12px
    }
}

#review-more-modal .box-type01 {
    padding-bottom: 0px
}

#review-more-modal .review-sort-box {
    text-align: right;
    margin-bottom: 15px
}

#review-more-modal .review-sort-box .select-type01 {
    width: 205px
}

#review-more-modal .review-box {
    border: none !important;
    padding: 0px !important
}

#review-more-modal .review-box ul {
    border-top: 1px solid #E5E5E5;
    display: block;
    padding-top: 25px;
    padding-bottom: 25px
}

#review-more-modal .review-box ul>li {
    width: auto;
    margin: 0 0px 20px
}

#review-more-modal .review-box ul>li ol {
    background: #F8F8F8;
    padding: 10px;
    display: table
}

#review-more-modal .review-box ul>li ol li {
    display: table-cell;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    #review-more-modal .modal-header .modal-header__close {
        height: 30px
    }

    #review-more-modal .review-sort-box {
        margin-top: 10px;
        margin-bottom: 15px
    }

    #review-more-modal .review-sort-box .select-type01 {
        width: 150px
    }

    #review-more-modal .review-box ul {
        border: none;
        border-top: 1px solid #E5E5E5;
        display: block;
        padding: 0px 0 0
    }

    #review-more-modal .review-box ul>li {
        width: auto;
        margin: 0
    }
}

#store-list-modal .box-type01 {
    padding-bottom: 50px
}

.store-list-head {
    border-top: 1px solid #E5E5E5;
    border-bottom: 1px solid #E5E5E5;
    padding: 30px 0;
    display: flex;
    margin-bottom: 30px
}

.store-list-head__ph {
    width: 240px;
    margin-right: 30px
}

.store-list-head__desc {
    width: calc(100% - 270px)
}

.store-list-head__desc .item-detail-fulfill {
    margin-bottom: 20px
}

.store-list-head__desc .item-name {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 15px
}

.store-list-head__desc .item-price {
    margin-bottom: 15px
}

.store-list-head__desc .item-price * {
    font-size: 14px;
    font-weight: 700
}

.store-list-head__desc .item-detail-info {
    border-top: none;
    padding-top: 0px;
    margin-bottom: 0px
}

.store-list-head__desc .item-detail-info dl {
    margin-bottom: 5px
}

.store-list-head__desc .item-detail-info dl * {
    font-size: 14px
}

.store-list-body p {
    margin-bottom: 15px
}

.store-list-body h2 {
    font-size: 18px;
    font-weight: 700;
    margin: 30px 0 15px
}

.store-list-refine dl {
    display: flex;
    align-items: center;
    margin-bottom: 20px
}

.store-list-refine dl dt {
    font-size: 14px;
    font-weight: 700;
    width: 122px
}

.store-list-refine dl dd {
    width: 205px
}

.store-list-refine dl dd .select-type01 {
    width: 100%
}

.store-list-refine.store_receiving {
    display: flex;
    align-items: center;
}

.store-list-refine.store_receiving dl {
    margin-bottom: 0;
}

.store-list-refine.store_receiving .store-list-refine-counseling {
    margin-left: 15px;
    font-size: 12px;
}

.store-list-tbl {
    width: 100%;
    border: 2px solid #E5E5E5;
    border-collapse: collapse
}

.store-list-tbl th {
    background: #F0F0F0;
    border: 2px solid #E5E5E5;
    padding: 8px
}

.store-list-tbl td {
    border: 2px solid #E5E5E5;
    vertical-align: middle;
    font-size: 14px;
    padding: 15px 20px
}

.store-list-tbl td .store-list-tbl__name {
    font-size: 18px;
    margin-bottom: 5px
}

@media screen and (max-width: 767px) {
    #store-list-modal .modal-header .modal-header__close {
        height: 30px
    }

    #store-list-modal .box-type01 {
        padding-bottom: 20px
    }

    .store-list-head {
        padding: 15px 0;
        display: block;
        overflow: hidden;
        margin-bottom: 15px
    }

    .store-list-head__ph {
        width: 86px;
        margin-right: 12px;
        margin-bottom: 20px;
        float: left
    }

    .store-list-head__desc {
        width: auto;
        display: inline
    }

    .store-list-head__desc .item-detail-fulfill dl dd ul li img {
        width: 37px
    }

    .store-list-head__desc .item-name {
        clear: both;
        width: 100%;
        font-size: 14px;
        margin-bottom: 10px
    }

    .store-list-head__desc .item-price {
        margin-bottom: 10px
    }

    .store-list-head__desc .item-price * {
        font-size: 14px;
        font-weight: 700
    }

    .store-list-head__desc .item-detail-info {
        border-top: none;
        padding-top: 0px;
        margin-bottom: 0px
    }

    .store-list-head__desc .item-detail-info dl {
        margin-bottom: 0px
    }

    .store-list-body p {
        margin-bottom: 15px;
        font-size: 12px
    }

    .store-list-body h2 {
        font-size: 16px;
        margin: 20px 0 15px
    }

    .store-list-refine dl {
        margin-bottom: 15px
    }

    .store-list-refine dl dt {
        font-size: 12px;
        font-weight: 700;
        width: 100px
    }

    .store-list-refine dl dd {
        width: calc(100% - 100px)
    }

    .store-list-refine dl dd .select-type01 {
        width: 100%;
        max-width: 190px
    }

    .store-list-refine.store_receiving {
        flex-wrap: wrap;
    }

    .store-list-refine.store_receiving .store-list-refine-counseling {
        margin-top: 10px;
        margin-left: 0;
    }

    .store-list-tbl {
        white-space: nowrap
    }

    .store-list-tbl th {
        font-size: 11px;
        padding: 8px 10px;
        text-align: left
    }

    .store-list-tbl td {
        font-size: 11px;
        padding: 10px 10px;
        white-space: nowrap
    }

    .store-list-tbl td .store-list-tbl__name {
        font-size: 16px;
        margin-bottom: 5px
    }

    .store-list-tbl-wrap {
        width: 100%;
        overflow-y: hidden;
        overflow-x: auto;
        padding-bottom: 10px;
        margin-bottom: 15px
    }
}

.wrap-login {
    padding-bottom: 40px
}

@media screen and (max-width: 767px) {
    .wrap-login {
        padding-bottom: 10px
    }
}

.block-2col-login {
    display: flex;
    justify-content: space-between;
    width: 960px;
    margin: 0 auto
}

.block-2col-login .inner {
    width: 100%
}

.block-2col-login .clm-login-input {
    width: 600px;
    padding: 0 20px
}

.block-2col-login .clm-login-other {
    width: 330px;
}

.block-2col-login .checkbox {
    display: inline;
    width: auto
}

.block-2col-login .checkbox-wrap {
    display: flex;
    align-items: center;
    margin-top: 20px
}

.block-2col-login .checkbox-wrap .checkbox {
    margin-right: 5px
}

.block-2col-login .btn.submit {
    color: #fff;
    margin: 80px auto 20px
}

.block-2col-login .btn.link {
    margin: 20px auto;
    width: 100%
}

.block-2col-login .text-left {
    text-align: left;
    margin-top: -10px;
    margin-bottom: 10px
}

.block-2col-login .text-left a {
    text-decoration: underline
}

@media screen and (max-width: 767px) {
    .block-2col-login {
        display: block;
        width: 100%;
        margin: 10px auto
    }

    .block-2col-login .clm-login-other,
    .block-2col-login .clm-login-input {
        width: 100%
    }

    .block-2col-login .clm-login-input {
        padding: 0
    }

    .block-2col-login .btn.submit {
        margin: 40px auto 20px
    }
}

a[name="delivery_area"] {
    text-decoration: none;
    color: inherit
}

a[name="delivery_area"]:hover {
    text-decoration: none;
    color: inherit
}

textarea[name="order_comment"],
textarea[name="contact_contents"] {
    border: solid 1px #eee
}

.review .select-type01,
.review .input-text {
    margin-top: 10px
}

.review .evaluation {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end
}

.review .evaluation input[type='radio'] {
    display: none
}

.review .evaluation label {
    position: relative;
    padding: 20px 0;
    color: gray;
    cursor: pointer;
    font-size: 3.0rem;
    top: 20px
}

.review .evaluation label:nth-of-type(odd) {
    margin-right: 10px
}

.review .evaluation label:nth-of-type(even) {
    margin-right: 10px
}

.review .evaluation label .text {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    text-align: center;
    font-size: 12px
}

.review .evaluation label .text.good {
    transform: scale(-1, 1)
}

.review .evaluation label:hover,
.review .evaluation label:hover~label,
.review .evaluation input[type='radio']:checked~label {
    color: #ffcc00
}

.cart-title-area+td,
.normal_price {
    word-break: keep-all
}

.cart-item-area dl {
    display: flex
}

.cart-item-area dt {
    width: 280px;
    text-align: center;
    margin-right: 10px
}

.cart-item-area dd {
    white-space: normal
}

@media screen and (max-width: 767px) {
    .cart-item-area dl {
        display: flex;
        flex-direction: column
    }

    .cart-item-area dt {
        width: auto;
        margin-right: 0
    }

    .cart-item-area img {
        width: 100%
    }
}

.cart-img-area img {
    width: 100%
}

.tab-flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}

.tab-flex>.item-block {
    width: 48%
}

.tab-flex .select-type01 {
    width: 357px
}

.tabs {
    padding-bottom: 40px;
    background-color: #fff;
    margin: 0 auto
}

.tabs .item-block {
    margin: 10px 0
}

.tabs.mysize_confirm .tbl-type01 {
    table-layout: fixed
}

.tabs.mysize_confirm .tbl-type01 th:nth-of-type(1) {
    width: 37%
}

.tabs.mysize_confirm .tbl-type01 th:nth-of-type(2) {
    width: 26%
}

.tabs.mysize_confirm .tbl-type01 td {
    width: 37%
}

.tabs_block {
    border: bottom 1px solid #ccc;
    display: block
}

.tab_item {
    width: 240px;
    height: 50px;
    background-color: #F0F0F0;
    line-height: 50px;
    font-size: 16px;
    text-align: center;
    color: #111;
    display: block;
    float: left;
    text-align: center;
    font-weight: bold;
    transition: all 0.2s ease
}

@media screen and (max-width: 767px) {
    .tabs {
        margin-top: 20px
    }

    .tab-flex>.item-block {
        width: 100%
    }

    .tab-flex .select-type01 {
        width: 100%
    }

    .tab_item {
        width: 49.9%;
        font-size: 12px;
        height: 3em;
        line-height: 3
    }
}

input[name="tab_item"] {
    display: none
}

.tab_content {
    display: none;
    clear: both;
    overflow: hidden;
    border-top: 1px solid #999
}

#mens:checked~#mens_content,
#ladys:checked~#ladys_content {
    display: block
}

.tabs input:checked+.tab_item {
    border-bottom: 0;
    border-top: 1px solid #999;
    border-right: 1px solid #999;
    border-left: 1px solid #999;
    color: #111;
    background: white;
    position: relative;
    z-index: 1;
    top: 1px
}

.wrap-form .checkbox-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px
}

.wrap-form .checkbox-wrap .checkbox {
    margin-right: 5px
}

.wrap-form textarea[name="textfield"] {
    border: 1px solid #eee;
    border-radius: 4px
}

.wrap-form .radio-wrap-flex-wide {
    display: flex
}

.wrap-form .radio-wrap-flex-wide div {
    min-width: 300px
}

.wrap-form .radio-wrap-flex-nallow {
    display: flex
}

.wrap-form .radio-wrap-flex-nallow div {
    min-width: 150px
}

.entry-content {
    font-size: .9em;
    width: 100%;
    margin-bottom: 20px
}

.btn.submit.disabled {
    color: #fff;
    background: #cacaca;
    border: none;
    pointer-events: none
}

@media screen and (max-width: 767px) {
    .wrap-form textarea[name="textfield"] {
        border: 1px solid #eee;
        border-radius: 4px;
        height: 75vw
    }

    .wrap-form .radio-wrap-flex-wide {
        display: block
    }

    .wrap-form .radio-wrap-flex-wide div {
        min-width: auto
    }

    .wrap-form .radio-wrap-flex-nallow {
        display: block
    }

    .wrap-form .radio-wrap-flex-nallow div {
        min-width: auto
    }
}

.item-grid {
    display: grid;
    display: -ms-grid;
    grid-template-columns: 179px 790px auto;
    grid-template-rows: auto auto auto;
    -ms-grid-columns: 179px 790px auto;
    -ms-grid-rows: auto auto auto
}

.item-grid-head {
    grid-column: 1 / 4;
    grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-row: 1
}

.item-grid-img {
    grid-column: 1 / 2;
    grid-row: 2;
    -ms-grid-column: 1;
    -ms-grid-row: 1
}

.item-grid-disc {
    grid-column: 2 / 3;
    grid-row: 2;
    -ms-grid-column: 2;
    -ms-grid-row: 1
}

.item-grid-misc {
    grid-column: 3 / 4;
    grid-row: 2;
    -ms-grid-column: 3;
    -ms-grid-row: 1
}

.item-grid-misc.item-select-wrap {
    grid-column: 1 / 4;
    grid-row: 3;
    -ms-grid-column: 2;
    -ms-grid-row: 1
}

.item-grid.order-detail-item {
    grid-template-columns: 179px 680px auto;
    -ms-grid-columns: 179px 680px auto
}

.item-grid.order-detail-item__after {
    grid-template-columns: 179px 680px auto;
    -ms-grid-columns: 179px 680px auto
}

.item-grid-type-02 {
    display: grid;
    display: -ms-grid;
    grid-template-columns: 179px auto;
    grid-template-rows: auto auto;
    -ms-grid-columns: 179px auto;
    -ms-grid-rows: auto auto
}

.item-grid-type-02 .item-grid-disc {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%
}

.item-quantity-wrap {
    display: flex;
    align-items: center
}

.quantity-aomunt {
    padding: 2px 0 0 50px
}

.order-detail .wrap-cart .row {
    padding: 30px 0
}

.wrap-order.btn-block-2col {
    margin-top: 30px
}

.wrap-order.btn-block-2col .btn.submit,
.wrap-order.btn-block-2col .btn.link {
    margin-top: 0
}

.wrap-cart .row {
    border-bottom: 1px solid #F2F2F2;
    overflow: hidden;
    padding: 20px 0
}

.wrap-cart .row .item-thumbnail {
    width: 179px;
    display: inline-block;
    padding: 16px 0 0 0;
    vertical-align: top
}

.wrap-cart .row .item-thumbnail img {
    width: 100%
}

.wrap-cart .row .item-info {
    display: inline-block;
    padding: 16px 0 0 32px
}

.wrap-cart .row .item-info .name {
    font-size: 16px;
    font-weight: bold;
    margin: 0
}

.wrap-cart .row .item-info .itemid,
.wrap-cart .row .item-info .price,
.wrap-cart .row .item-info .size {
    font-size: 14px;
    padding: 8px 0 0 0;
    font-weight: normal
}

.wrap-cart .row .item-info .color,
.wrap-cart .row .item-info .ordrer-exchange-select label {
    font-size: 14px;
    padding: 10px 0 0 0;
    font-weight: normal
}

.wrap-cart .row .item-info .ordrer-exchange-select label {
    cursor: text;
    display: inline-block
}

.wrap-cart .row .ordrer-exchange-select {
    padding-top: 10px
}

.wrap-cart .row .ordrer-exchange-select .select-type01 {
    cursor: pointer
}

.wrap-cart .row .item-quantity {
    display: inline-block;
    vertical-align: top;
    text-align: right;
    height: 30px
}

.wrap-cart .row .item-quantity img {
    width: 20px;
    display: inline-block
}

.wrap-cart .row .item-quantity ul {
    overflow: hidden;
    display: inline-flex;
    font-size: 16px;
    font-weight: bold;
    margin: 0 auto
}

.wrap-cart .row .item-quantity ul li {
    padding: 0 4px
}

.wrap-cart .row .item-quantity div {
    margin: 0
}

.wrap-cart .row .item-quantity div p {
    margin: 0 10px 0 0;
    padding: 0;
    display: inline-block;
    font-size: 15px;
    font-weight: bold
}

.wrap-cart .row .item-quantity .item-quantity-select {
    display: inline-block;
    position: relative
}

.wrap-cart .row .item-quantity .item-quantity-select:after {
    position: absolute;
    top: 50%;
    right: 9px;
    width: 7px;
    height: 7px;
    margin-top: -9px;
    border-right: 1px solid #04256D;
    border-bottom: 1px solid #04256D;
    transform: rotate(45deg);
    content: "";
    pointer-events: none
}

.wrap-cart .row .item-quantity .select-type01 {
    border-top: none;
    border-right: none;
    border-bottom: 1px solid #eeeeee;
    border-left: none;
    height: 30px;
    min-width: 79px;
    padding-bottom: 7px;
    background: none;
    font-size: 16px;
    font-weight: bold
}

.wrap-cart .row .item-subtotal {
    display: inline-block;
    vertical-align: top;
    width: 100%;
    text-align: right;
    padding: 20px 0 0
}

.wrap-cart .row .item-cancel {
    display: block;
    text-align: right
}

.wrap-cart .row .item-cancel a {
    text-decoration: underline
}

.wrap-cart .row:last-child {
    border-bottom: none;
    padding-bottom: 0
}

.wrap-cart .wrap-price {
    margin: 40px 0 20px
}

.wrap-cart .order-textarea {
    margin-top: 30px;
    padding: 16px 20px;
    font-size: 14px;
    border: 1px solid #CCCCCC;
    color: #555555;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px
}

.wrap-cart .wrap-order .btn {
    margin-top: 4px
}

.wrap-cart .item-select-wrap {
    padding-top: 30px
}

.tbl-type01 .cart-subtotal-area {
    min-width: 117px
}

.cart-excange-content .title th:first-child {
    width: 20%
}

.cart-excange-content .title th:nth-of-type(2) {
    width: 70%
}

.cart-excange-content .title th:nth-of-type(3) {
    width: 10%
}

.order-detail-wrap {
    background: #f8f8f8;
    margin-bottom: 30px;
    padding: 10px 0 20px 0;
}

.order-detail-wrap .row {
    border-bottom: none
}

.order-detail-misc-inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.btn-block-3row .btn-type02 {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    display: block;
    width: 124px;
    text-align: center;
    font-size: 13px;
    font-weight: 500;
    background: #F0F0F0;
    color: #999999 !important;
    text-decoration: none !important;
    line-height: 40px;
    text-align: center;
    margin: 0 0 10px auto
}

.btn-block-3row .btn-type02.btn-dead {
    background-color: #F0F0F0;
    pointer-events: none;
    border: none
}

.btn-block-3row .btn-type02.btn-active {
    background-color: #fff;
    border: 1px solid #B5B5B5;
    color: #555555 !important
}

.order-detail-item {
    padding: 0 28px
}

.order-detail-item__after {
    background: #fff;
    padding: 28px
}

.item-quantity-inner {
    padding-top: 16px
}

.item-quantity-price {
    text-align: left
}

.item-quantity-price span {
    font-size: 20px
}

.item-quantity-price-wrap {
    padding: 16px 0 0 32px
}

.wrapping-head {
    display: flex;
    align-items: center;
    border: 1px solid #E5E5E5;
    height: 56px;
    padding-left: 28px;
    border-top: none
}

.wrapping-head-ttl {
    font-size: 16px;
    font-weight: bold
}

.wrapping-head-select {
    margin-left: 40px
}

.wrap-misc {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}

.wrap-misc-item {
    width: 48%;
    display: flex;
    justify-content: space-between;
    border: 1px solid #E5E5E5;
    margin-top: 50px;
    padding: 27px 30px
}

.wrap-misc-item h4 {
    font-size: 16px;
    font-weight: bold
}

.wrap-message.wrap-misc-item {
    display: block
}

.wrap-misc-item-inner {
    width: 70%
}

.wrap-message .wrap-misc-item-inner {
    margin-top: 10px;
    width: 100%
}

.order .tbl-type03 {
    margin-top: 10px
}

@media screen and (max-width: 767px) {
    .item-grid {
        display: grid;
        display: -ms-grid;
        grid-template-columns: 65px 73vw;
        grid-template-rows: auto auto;
        -ms-grid-columns: 65px 73vw;
        -ms-grid-rows: auto auto
    }

    .item-grid-head {
        grid-column: 1 / 3;
        grid-row: 1;
        -ms-grid-column: 2;
        -ms-grid-row: 1
    }

    .item-grid-img {
        grid-column: 1 / 2;
        grid-row: 2;
        -ms-grid-column: 1;
        -ms-grid-row: 1
    }

    .item-grid-disc {
        grid-column: 2 / 3;
        grid-row: 2;
        -ms-grid-column: 2;
        -ms-grid-row: 1
    }

    .item-grid-misc {
        grid-column: 2 / 3;
        grid-row: 3;
        -ms-grid-column: 2;
        -ms-grid-row: 3
    }

    .item-grid-misc.item-select-wrap {
        grid-column: 1 / 3;
        grid-row: 3;
        -ms-grid-column: 2;
        -ms-grid-row: 3
    }

    .item-grid.order-detail-item {
        grid-template-columns: 65px auto;
        grid-template-rows: auto auto;
        -ms-grid-columns: 65px auto;
        -ms-grid-rows: auto auto
    }

    .item-grid.order-detail-item__after {
        grid-template-columns: 65px auto;
        grid-template-rows: auto auto;
        -ms-grid-columns: 65px auto;
        -ms-grid-rows: auto auto
    }

    .order-detail-item .item-grid-misc,
    .order-detail-item__after .item-grid-misc {
        grid-column: 1 / 3;
        grid-row: 3;
        -ms-grid-column: 2;
        -ms-grid-row: 3
    }

    .item-grid-type-02 {
        display: grid;
        display: -ms-grid;
        grid-template-columns: 65px auto;
        grid-template-rows: auto auto;
        -ms-grid-columns: 65px auto;
        -ms-grid-rows: auto auto
    }

    .item-grid-type-02 .item-grid-disc {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        height: 100%
    }

    .item-quantity-wrap {
        display: flex;
        align-items: center;
        justify-content: space-between
    }

    .item-quantity-select {
        margin-top: 2px
    }

    .quantity-aomunt {
        padding: 2px 0 0 1em
    }

    .wrap-cart .row {
        border-bottom: 1px solid #F2F2F2;
        overflow: hidden;
        padding: 0 8px
    }

    .wrap-cart .row .item-thumbnail {
        width: 65px;
        padding: 8px 0 0 0;
        display: inline-block;
        vertical-align: top
    }

    .wrap-cart .row .item-thumbnail img {
        width: 100%
    }

    .wrap-cart .row .item-info {
        padding: 8px 0 0 10px
    }

    .wrap-cart .row .item-info .name {
        font-size: 13px;
        font-weight: bold;
        margin: 0
    }

    .wrap-cart .row .item-info .itemid,
    .wrap-cart .row .item-info .price,
    .wrap-cart .row .item-info .size,
    .wrap-cart .row .item-info .color,
    .wrap-cart .row .item-info .ordrer-exchange-select label {
        font-size: 12px;
        padding: 5px 0 0 0;
        font-weight: normal
    }

    .wrap-cart .row .item-info .select-type01 {
        width: 100%;
        font-size: 12px
    }

    .wrap-cart .row .item-info .ordrer-exchange-select {
        padding-top: 10px
    }

    .wrap-cart .row .item-info .ordrer-exchange-select label {
        padding: 10px 0 0
    }

    .wrap-cart .row .item-quantity-wrap {
        padding: 20px 0 20px 8px
    }

    .wrap-cart .row .item-quantity {
        display: inline-block;
        vertical-align: top;
        text-align: right
    }

    .wrap-cart .row .item-quantity img {
        width: 20px;
        display: inline-block
    }

    .wrap-cart .row .item-quantity ul {
        overflow: hidden;
        display: inline-flex;
        font-size: 16px;
        font-weight: bold;
        margin: 0 auto
    }

    .wrap-cart .row .item-quantity ul li {
        padding: 0 4px
    }

    .wrap-cart .row .item-quantity div {
        margin: 0
    }

    .wrap-cart .row .item-quantity div p {
        margin: 0;
        padding: 0;
        display: inline-block;
        font-size: 12px;
        font-weight: bold
    }

    .wrap-cart .row .item-quantity .item-quantity-select {
        display: inline-block;
        position: relative
    }

    .wrap-cart .row .item-quantity .item-quantity-select:after {
        position: absolute;
        top: 50%;
        right: 9px;
        width: 7px;
        height: 7px;
        margin-top: -6px;
        border-right: 1px solid #04256D;
        border-bottom: 1px solid #04256D;
        transform: rotate(45deg);
        content: "";
        pointer-events: none
    }

    .wrap-cart .row .item-quantity .select-type01 {
        border-top: none;
        border-right: none;
        border-bottom: 1px solid #eeeeee;
        border-left: none;
        height: 28px;
        min-width: 79px;
        padding-bottom: 7px;
        background: none;
        font-size: 16px;
        font-weight: bold
    }

    .wrap-cart .row .item-subtotal {
        display: inline-block;
        vertical-align: top;
        width: 100%;
        text-align: right;
        padding: 20px 0 0
    }

    .wrap-cart .row .item-cancel {
        display: block;
        text-align: right
    }

    .wrap-cart .row .item-cancel a {
        text-decoration: underline
    }

    .wrap-cart .row:last-child {
        border-bottom: none;
        padding-top: 20px;
        padding-bottom: 0
    }

    .wrap-cart .wrap-price {
        margin: 40px 0 20px
    }

    .wrap-cart .select-wrap.quantity .select-type01 {
        width: 100%
    }

    .tbl-type01 .cart-subtotal-area {
        min-width: 90px
    }

    .cart-excange-content .title th:first-child {
        width: 25%
    }

    .cart-excange-content .title th:nth-of-type(2) {
        width: 55%
    }

    .cart-excange-content .title th:nth-of-type(3) {
        width: 20%
    }

    .order-detail-misc-inner {
        flex-direction: column-reverse
    }

    .item-quantity-price {
        text-align: right
    }

    .btn-block-3row {
        display: flex;
        justify-content: space-between;
        margin-top: 20px
    }

    .order-detail-item {
        padding: 0 14px
    }

    .order-detail-wrap .order-detail-item {
        padding: 0 24px
    }

    .order-detail-item__after {
        margin: 0 10px;
        padding: 14px
    }

    .wrap-cart .order-detail-wrap {
        margin-left: calc(((100vw - 100%) / 2) * -1);
        margin-right: calc(((100vw - 100%) / 2) * -1);
        padding-bottom: 30px
    }

    .wrap-cart .order-detail-wrap .row {
        border-bottom: none;
        padding: 30px 0 0
    }

    .order-detail .wrap-cart .row {
        padding: 20px 0
    }

    .btn-block-3row .btn-type02.btn {
        width: 31.5%;
        line-height: 32px;
        font-size: 11px;
        margin: 0
    }

    .btn-type02.btn-dead {
        background-color: #F0F0F0;
        pointer-events: none;
        border: none
    }

    .btn-type02.btn-active {
        background-color: #fff;
        border: 1px solid #B5B5B5;
        color: #555555 !important
    }

    .wrap-misc-item {
        width: 100%;
        margin-top: 10px;
        padding: 20px 15px;
        display: block
    }

    .wrap-misc-item h4 {
        font-size: 14px
    }

    .wrap-misc-item .wrap-misc-item-inner {
        width: 100%;
        font-size: 13px;
        margin-top: 15px
    }
}

.favorite-item-list .item-img {
    text-align: center
}

.favorite-item-list .item-img img {
    max-width: 150px
}

@media screen and (max-width: 767px) {
    .favorite-item-list .item-img img {
        max-width: 60px
    }
}

.col2-outer {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}

.col2-outer>.item-block {
    width: 48%;
    margin: 0 0 50px
}

.col2-outer .select-type01 {
    width: 357px
}

.col2-outer .tbl-type01 {
    margin-bottom: 0
}

@media screen and (max-width: 767px) {
    .col2-outer>.item-block {
        width: 100%;
        margin-bottom: 20px
    }

    .col2-outer .select-type01 {
        width: 100%
    }
}

@media screen and (max-width: 767px) {
    .coupon-tbl th:nth-child(1) {
        width: 25%
    }

    .coupon-tbl th:nth-child(2) {
        width: 20%
    }

    .coupon-tbl th:nth-child(3) {
        width: 20%
    }

    .coupon-tbl th:nth-child(4) {
        width: 35%
    }

    .coupon-tbl td img {
        width: 100%
    }

    .coupon-tbl td:nth-child(3) {
        word-break: break-all
    }

    .coupon-tbl2 th:nth-child(1) {
        width: 5%
    }

    .coupon-tbl2 th:nth-child(2) {
        width: 20%
    }

    .coupon-tbl2 th:nth-child(3) {
        width: 20%
    }

    .coupon-tbl2 th:nth-child(4) {
        width: 20%
    }

    .coupon-tbl2 th:nth-child(5) {
        width: 35%
    }

    .coupon-tbl2 td img {
        width: 100%
    }

    .coupon-tbl2 td:nth-child(4) {
        word-break: break-all
    }
}

.tbl-card .card-name {
    display: inline-block
}

.mypage .intro-msg {
    margin-top: 25px;
    font-size: 16px
}

.mypage .member-no {
    font-size: 16px
}

.mypage .member-no span {
    font-weight: bold
}

.mypage .point {
    margin-top: 10px;
    margin-right: 25px;
    font-size: 16px;
    display: inline-block
}

.mypage .point span {
    font-size: 24px;
    font-weight: bold
}

.mypage .expiration-date {
    padding: 10px 25px;
    background: #f8f8f8;
    border-radius: 9999px;
    font-size: 14px;
    display: inline-block
}

.mypage .item-block-outer {
    display: flex;
    justify-content: space-between
}

.mypage .item-block-outer .item-block {
    width: 600px;
    margin-top: 0
}

.mypage .item-list.list-column4.recom-campaign li {
    margin-bottom: 8px
}

.mypage .item-list.list-column4 img {
    width: 100%;
    height: auto
}

.mypage .heading-h3 {
    margin-top: 20px;
    font-weight: bold
}

.mypage .coupon-end-ttl {
    font-size: 16px
}

.mypage .coupon-end-date {
    font-size: 16px;
    font-weight: bold
}

.mypage .tbl-type01.mysize {
    color: #555;
    margin-bottom: 0
}

.mypage .tbl-type01.mysize th {
    font-weight: bold;
    vertical-align: middle
}

.mypage .tbl-type01.mysize td:nth-last-child(2) {
    background: #ebebeb
}

.mypage .tbl-type01.service-plan {
    color: #555
}

.mypage .tbl-type01.service-plan th {
    font-weight: bold;
    text-align: left
}

.mypage .mypage-link-list li {
    margin: 0 20px 20px;
    font-size: 16px
}

.mypage .mypage-link-list li a {
    display: block;
    position: relative
}

.mypage .mypage-link-list li a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 11px;
    margin: auto;
    width: 8px;
    height: 8px;
    margin: auto;
    border-left: 1px solid #555;
    border-bottom: 1px solid #555;
    transform: rotate(-135deg);
    content: ""
}

.mypage .tabs {
    padding-bottom: 0
}

.mypage .tabs .tbl-type01 th {
    width: 213px
}

.mypage .tabs .tbl-type01 td:nth-of-type(1) {
    width: 166px
}

.mypage .tabs .tbl-type01 td:nth-of-type(2) {
    width: 220px
}

#coupon-item .item-list li:nth-child(n+5) {
    display: none;
}

@media screen and (max-width: 767px) {
    .mypage .intro-msg {
        margin-top: 20px;
        font-size: 14px
    }

    .mypage .member-no {
        font-size: 12px
    }

    .mypage .point {
        margin-top: 0;
        font-size: 12px
    }

    .mypage .point span {
        font-size: 16px
    }

    .mypage .expiration-date {
        margin-top: 25px;
        padding: 7px;
        font-size: 10px;
        font-weight: bold;
        text-align: center;
        display: block
    }

    .mypage .barcode {
        margin-top: 25px;
        text-align: center
    }

    .mypage .barcode .barcode-img {
        line-height: 1
    }

    .mypage .barcode .barcode-img img {
        max-width: 90%
    }

    .mypage .barcode .barcode-no {
        margin-top: 5px;
        font-size: 16px;
        font-weight: bold;
        line-height: 1
    }

    .mypage .barcode .txt {
        margin-top: 10px;
        font-size: 12px;
        text-align: left
    }

    .mypage .item-block-outer {
        display: block
    }

    .mypage .item-block-outer .item-block {
        width: 100%
    }

    .mypage .item-list.list-column4.recom-campaign li {
        margin-bottom: 5px
    }

    .mypage .item-list.list-column5 li:nth-child(n+5) {
        display: none
    }

    .mypage .heading-h3 {
        margin-top: 10px
    }

    .mypage .coupon-end-ttl {
        font-size: 11px
    }

    .mypage .coupon-end-date {
        font-size: 12px
    }

    .mypage .tbl-type01.mysize th,
    .mypage .tbl-type01.mysize td {
        font-size: 11px
    }

    .mypage .tbl-type01.service-plan th {
        vertical-align: middle
    }

    .mypage .tbl-type01.service-plan th,
    .mypage .tbl-type01.service-plan td {
        font-size: 11px
    }

    .mypage .mypage-link-list li {
        margin: 0 10px 10px;
        font-size: 12px
    }

    .mypage .tabs .tbl-type01 th {
        width: 36%
    }

    .mypage .tabs .tbl-type01 td:nth-of-type(1) {
        width: 27%
    }

    .mypage .tabs .tbl-type01 td:nth-of-type(2) {
        width: 37%
    }
}

.contact-tel {
    font-size: 18px
}

.contact-txt {
    margin-top: 20px
}

.btn_contact {
    display: inline-block;
    padding: 2px 12px;
    border: 1px solid #000;
    border-radius: 40px;
    font-size: 14px;
    text-align: center;
}

.contact_dd_heading {
    margin-bottom: 20px;
    font-size: 18px;
    font-weight: bold;
}

@media screen and (max-width: 767px) {
    .contact-tel {
        font-size: 13px
    }

    .contact-txt {
        margin-top: 20px;
        margin-bottom: 15px;
        font-size: 13px
    }

    .contact_dd_heading {
        font-size: 13px;
    }
}

.article-btn-list {
    margin: 50px 0
}

.article-btn-list li {
    padding: 0 20px;
    border-right: 1px solid #ccc;
    display: inline-block
}

.article-btn-list li:first-child {
    padding-left: 0
}

.article-btn-list li:last-child {
    padding-right: 0;
    border-right: none
}

.article-btn-list li a {
    min-width: 200px;
    padding: 10px;
    background: #fff;
    border-radius: 5px;
    color: #04256D;
    text-align: center;
    display: block;
    border: 1px solid #04256D
}

.article-btn-list li a.active,
.article-btn-list li a:hover,
.article-btn-list li span {
    min-width: 200px;
    padding: 10px;
    background: #04256D;
    border-radius: 5px;
    color: #fff;
    text-align: center;
    display: block
}

.article-btn-list li a.active {
    pointer-events: none
}

.article-btn-list li a.disabled {
    color: #fff;
    background: #cacaca;
    border: none;
    pointer-events: none
}

.article-btn-list2 {
    margin: 10px 0
}

.article-btn-list2 li {
    padding: 5px 20px;
    border-right: 1px solid #ccc;
    display: inline-block
}

.article-btn-list2 li:last-child {
    border-right: none
}

.article-btn-list2 li a {
    min-width: 200px;
    padding: 10px;
    background: #fff;
    border-radius: 5px;
    color: #04256D;
    text-align: center;
    display: block;
    border: 1px solid #04256D
}

.article-btn-list2 li a.active,
.article-btn-list2 li a:hover,
.article-btn-list2 li span {
    min-width: 200px;
    padding: 10px;
    background: #04256D;
    border-radius: 5px;
    color: #fff;
    text-align: center;
    display: block
}

.article-btn-list2 li a.active {
    pointer-events: none
}

.article-btn-list2 li a.disabled {
    color: #fff;
    background: #cacaca;
    border: none;
    pointer-events: none
}

.article-list {
    margin: 0 -8px 10px;
    display: flex;
    flex-wrap: wrap
}

.article-list li {
    width: calc(33.33% - 16px);
    margin: 0 8px 40px 8px;
    padding: 10px;
    position: relative
}

.article-list li a,
.article-list li span {
    display: block;
    position: relative;
    text-decoration: none !important
}

.article-list figure {
    margin-bottom: 10px;
    line-height: 1;
    text-align: center
}

.article-list figure img {
    max-width: 100%;
    max-height: 227px
}

.article-list .sub {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.article-list .date {
    vertical-align: top;
    line-height: 1;
    display: inline-block
}

.article-list .label {
    padding: 3px 5px;
    background: #04256D;
    font-size: 11px;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    display: inline-block;
    float: right
}

.article-list .text {
    margin-top: 5px;
    font-weight: bold
}

.page-cnt {
    margin-bottom: 20px;
    text-align: center
}

@media screen and (max-width: 767px) {
    .article-btn-list {
        margin: 30px 0;
        display: flex
    }

    .article-btn-list li {
        padding: 0 10px;
        width: auto;
    }

    .article-btn-list2 li {
        padding: 5px 20px;
        display: list-item;
        border-right: initial;
    }

    .article-btn-list li a,
    .article-btn-list li a.active,
    .article-btn-list li a:hover {
        min-width: calc((123 / 375) * 100vw);
        padding: 5px;
        font-size: 12px;
        box-sizing: border-box;
    }

    .article-list li {
        width: calc(50% - 10px);
        margin: 0 5px 25px
    }

    .article-list figure {
        margin-bottom: 5px
    }

    .article-list .date {
        font-size: 12px
    }

    .article-list .label {
        font-size: 10px
    }

    .article-list .text {
        font-size: 12px
    }

    .page-cnt {
        margin-bottom: 15px;
        font-size: 13px
    }

    .article-btn-list2 {
        margin: 10px 0;
        width: 100%;
    }

    .article-btn-list2 li a,
    .article-btn-list2 li a.active,
    .article-btn-list2 li a:hover {
        min-width: 100%;
        padding: 5px;
        font-size: 12px
    }

    .article-btn-list_wrap {
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }

}

.article-detail .page-title {
    margin: 0 0 15px;
    font-size: 22px;
    font-weight: bold;
    color: #555555;
    overflow: hidden;
    border-bottom: 2px solid #000000
}

.article-detail .page-title span.page-title__inner {
    display: block;
    padding-bottom: 12px;
    margin-bottom: 1px;
    border-bottom: 1px solid #000000
}

.article-detail .page-title__news-date {
    font-size: 13px;
    padding-top: 5px;
    margin: 0
}

.article-detail p {
    margin-bottom: 15px
}

.article-detail .heading-2 {
    border-bottom: 4px solid #04256D;
    font-size: 22px;
    padding: 7px 0;
    margin-bottom: 40px;
    font-weight: bold
}

.article-detail .heading-3 {
    font-size: 22px;
    text-align: center;
    padding: 10px;
    background: #f0f0f0;
    border-left: 5px solid #04256D;
    display: flex;
    margin-bottom: 20px;
    color: #040000
}

.article-detail .heading-4 {
    position: relative;
    margin: 26px 0 20px;
    border: none;
    font-size: 18px;
    font-weight: bold;
    padding: 10px 0 16px
}

.article-detail .heading-4:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 7px;
    background: -webkit-repeating-linear-gradient(135deg, #04256D, #04256D 2px, #fff 2px, #fff 4px);
    background: repeating-linear-gradient(-45deg, #04256D, #04256D 2px, #fff 2px, #fff 4px)
}

.article-detail .mainvisual {
    margin-bottom: 30px;
    text-align: center
}

.article-detail .article-btn-list .article-btn-list2 {
    margin: 15px 0
}

.article-detail .column_innner p {
    font-size: 17px;
    line-height: 1.8
}

@media screen and (max-width: 767px) {
    .article-detail .article-btn-list .article-btn-list2 li span {
        padding: 10px 15px;
        min-width: auto
    }

    .article-detail .page-title {
        font-size: 16px
    }

    .article-detail .heading-3 {
        font-size: 18px;
        padding: 10px 15px
    }
}

.cart .wrap-cart .row .item-thumbnail,
.cart .wrap-cart .row .item-info {
    padding: 0
}

.cart .wrap-cart .row .item-info-wrap {
    padding: 0 0 0 32px
}

.cart .clm-cart {
    width: 800px;
    float: left;
    overflow: hidden
}

.cart .clm-price {
    width: 400px;
    padding-top: 32px;
    margin-left: 40px;
    float: right;
    overflow: hidden
}

.cart .block_mysize {
    padding-top: 40px
}

.cart .block_mysize p {
    font-size: 18px;
    font-weight: bold;
    border-bottom: 1px solid #F2F2F2;
    padding-bottom: 18px;
    position: relative
}

.cart .block_mysize .tab_content_description {
    margin-top: 32px
}

.cart .block_mysize table th,
.cart .block_mysize table td {
    vertical-align: middle
}

.cart .block_mysize table th {
    white-space: nowrap;
    text-align: center
}

.cart .block_mysize .tabs {
    padding-bottom: 0
}

@media screen and (min-width: 768px) {
    .cart .block_mysize .tabs .tab_item {
        width: 200px
    }
}

.cart .block_mysize .tabs .tbl-type02 th:nth-of-type(1) {
    width: 107px
}

.cart .block_mysize .tabs .tbl-type02 th:nth-of-type(2) {
    width: 127px
}

.cart .block_mysize .tabs .tbl-type02 td {
    width: 165px
}

.cart .link.back {
    margin: 15px auto 0;
    font-size: 14px;
    display: block;
    text-align: center
}

.cart .link.back::before {
    display: inline-block;
    margin: auto;
    width: 8px;
    height: 8px;
    margin-right: 10px;
    border-left: 1px solid #333;
    border-bottom: 1px solid #333;
    transform: rotate(45deg);
    content: ""
}

.cart .wrap-price {
    margin-bottom: 20px;
    padding: 1rem;
    background: #ebebeb
}

.cart .wrap-price p {
    display: flex;
    justify-content: space-between;
    align-items: flex-end
}

.cart .wrap-price .total {
    font-weight: bold;
    font-size: 18px
}

.cart .wrap-price .total span:last-child {
    font-size: 24px
}

.cart .wrap-price .tax {
    font-size: 14px
}

.cart .wrap-cart {
    margin-top: 32px;
    border-top: 1px solid #F2F2F2;
    border-bottom: 1px solid #F2F2F2
}

.cart .wrap-cart .row {
    padding: 32px 0
}

.relative-parent {
    position: relative;
}

.cart #price-block.fixed {
    position: fixed;
    top: 60px
}

.cart #price-block.absolute {
    position: absolute;
    bottom: 65px;
    z-index: 10;
}

.cart .wrap-note {
    font-weight: bold;
    font-size: 13px
}

.cart .set dt {
    width: 6em;
    display: table-cell
}

.cart .set dd {
    display: table-cell
}

.cart .btn.submit {
    margin-top: 10px;
    height: 64px
}

.cart .item-wrap {
    display: flex
}

.cart .heading {
    font-size: 16px;
    margin-top: 40px;
    margin-bottom: 20px;
    font-weight: bold
}

.cart .heading span {
    display: inline-block;
    padding-left: 1rem;
    font-size: 12px;
    font-weight: normal
}

.cart .item-cancel-btn.btn-type03 {
    width: 50px;
    display: flex;
    margin-right: 0;
    font-size: 11px;
    margin-left: auto
}

.cart .item-quantity-price {
    margin-top: 80px;
    display: flex;
    justify-content: space-evenly
}

.cart .item-quantity-price .item-quantity {
    width: 183px;
    text-align: left
}

.cart .item-quantity-price .item-subtotal {
    padding: 0
}

.cart .item-wrap-right {
    display: inline-block;
    width: 588px
}

.cart .item-wrap-right table {
    margin-bottom: 0;
    border: none
}

.cart .item-wrap-right table tr td:first-child {
    white-space: nowrap
}

.cart .item-wrap-right table .order-radio {
    width: auto
}

.cart .item-wrap-right table .order-radio .radio-label:before {
    margin-top: -1px
}

.cart .item-wrap-right table .radio-label {
    padding: 0.5rem 1rem 0.5rem 1.4rem;
    cursor: pointer
}

.cart .item-wrap-right table .select-type01 {
    width: 100%;
    border: none;
    padding-left: 0;
    border-bottom: 1px solid #dedede
}

.cart .item-wrap-right table .cart-wrap-right-price {
    vertical-align: middle;
    text-align: right;
    font-weight: bold
}

.cart .item-wrap-right table .cart-wrap-right-alart {
    color: #fe0000;
    padding-top: 1em
}

.cart .cart-noitem-msg {
    font-size: 16px;
    font-weight: 500;
    text-align: center
}

@media screen and (max-width: 767px) {
    .cart .wrap-cart .row .item-info-wrap {
        padding: 0 0 0 10px
    }

    .cart .clm-cart {
        width: 100%;
        float: none;
        overflow: hidden
    }

    .cart .clm-price {
        width: 100%;
        padding-top: 0;
        margin-left: 0;
        float: none;
        overflow: hidden
    }

    .cart .block_mysize {
        padding-top: 20px
    }

    .cart .block_mysize p {
        font-size: 16px;
        padding-bottom: 10px
    }

    .cart .block_mysize table th,
    .cart .block_mysize table td {
        font-size: 11px
    }

    .cart .block_mysize .tabs .tbl-type02 {
        table-layout: fixed
    }

    .cart .block_mysize .tabs .tbl-type02 th:nth-of-type(1) {
        width: 37%
    }

    .cart .block_mysize .tabs .tbl-type02 th:nth-of-type(2) {
        width: 26%
    }

    .cart .block_mysize .tabs .tbl-type02 td {
        width: 37%
    }

    .cart .link.back {
        font-size: 12px
    }

    .cart .wrap-cart .row .item-info .name {
        font-size: 12px
    }

    .cart .tag,
    .cart .set {
        font-size: 11px
    }

    .cart .wrap-cart .row .item-quantity .select-type01 {
        min-width: 60px
    }

    .cart .wrap-price .total {
        font-size: 14px
    }

    .cart .wrap-price .total span:last-child {
        font-size: 16px
    }

    .cart .wrap-price .tax {
        font-size: 10px
    }

    .cart .wrap-cart {
        margin-top: 20px
    }

    .cart .wrap-cart .row {
        padding: 20px 0
    }

    .cart .btn.submit {
        margin-top: 16px;
        height: 60px
    }

    .cart .row {
        padding: 20px 0
    }

    .cart .item-wrap {
        width: 100%;
        display: flex
    }

    .cart .heading {
        height: auto;
        margin: 12px 0;
        font-size: 12px
    }

    .cart .subtotal {
        font-size: 10px
    }

    .cart .subtotal span {
        font-size: 16px
    }

    .cart .item-cancel-btn.btn-type03 {
        width: 50px
    }

    .cart .item-quantity-price {
        margin-top: 25px;
        display: flex;
        justify-content: space-evenly
    }

    .cart .item-quantity-price .item-quantity {
        width: 46%
    }

    .cart .item-quantity-price .item-subtotal {
        width: 60%
    }

    .cart .item-wrap-right {
        width: calc(100% - (65px + 12px))
    }

    .cart .item-wrap-right table {
        margin-left: auto
    }

    .cart .item-wrap-right table td:first-child {
        width: 34%;
        font-size: 11px
    }

    .cart .item-wrap-right table .radio-label {
        margin-top: 0
    }

    .cart .item-wrap-right table .order-radio {
        line-height: 3
    }

    .cart .item-wrap-right table .select-type01 {
        font-size: 11px
    }
}

input[name="mypage_reg"] {
    display: none
}

input[name="mypage_reg"]+label {
    display: block
}

input[name="mypage_reg"]+label:before {
    margin-top: -2px
}

@media screen and (max-width: 767px) {
    input[name="mypage_reg"]+label:before {
        margin-top: 0px
    }
}

#shoplist-wrap {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

#shoplist-wrap .heading-h1 {
    margin-bottom: 25px;
    width: 100%
}

#shoplist-side {
    width: 260px
}

#shoplist-side .select-type01 {
    width: 100%;
    display: block;
    margin-bottom: 10px
}

#shoplist-side input[type="submit"] {
    -webkit-appearance: button;
    appearance: button;
    text-align: center;
    border: 1px solid #B5B5B5;
    border-radius: 0;
    background: #fff;
    color: #1A1A1A;
    font-size: 13px;
    height: 46px;
    width: 100%
}

#shoplist-main {
    width: 940px
}

.shoplist-count {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 10px
}

.shoplist>li {
    margin-bottom: 20px
}

.shoplist__inner {
    position: relative;
    background: #F0F0F0;
    padding: 25px 80px 30px 30px
}

.shoplist__link {
    display: block;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.shoplist__link::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 40px;
    width: 9px;
    height: 9px;
    margin: auto;
    border-left: 1px solid #000;
    border-bottom: 1px solid #000;
    transform: rotate(-135deg);
    content: ""
}

.shoplist__header {
    position: relative;
    z-index: 1;
    overflow: hidden;
    margin-bottom: 10px
}

.shoplist__header figure {
    width: 64px;
    float: left
}

.shoplist__header h2 {
    padding-left: 85px;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 15px
}

.shoplist__header p {
    padding-left: 85px;
    font-size: 14px
}

.shoplist__body {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    padding-left: 85px
}

.shoplist__body-item {
    font-size: 14px;
    width: 100%;
    display: flex;
    margin-bottom: 12px
}

.shoplist__body-item dt {
    font-weight: 700;
    white-space: nowrap;
    margin-right: 10px
}

.shoplist__body-item dt::after {
    content: "：";
    display: inline
}

.shoplist__body-item .shoplist__body-item-attention {
    display: block;
    margin-top: 2px;
    font-size: 12px
}

.shoplist__body-item2 {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    margin-right: 20px
}

.shoplist__body-item2 dt {
    font-weight: 700;
    white-space: nowrap;
    margin-right: 10px
}

.shoplist__body-item2 dt::after {
    content: "：";
    display: inline
}

.shoplist__iconlist {
    display: flex;
    flex-wrap: wrap;
}

.shoplist__iconlist li {
    margin-right: 10px
}

.shoplist__iconlist li i {
    display: block;
    font-size: 12px;
    border: 1px solid #B5B5B5;
    text-align: center;
    padding: 3px 15px
}

.shoplist__btnlist {
    position: relative;
    z-index: 3;
    padding-top: 10px;
    padding-left: 85px;
    display: flex;
    flex-wrap: wrap
}

.shoplist__btnlist li {
    margin-right: 15px;
    width: 290px
}

.shoplist__btnlist li a {
    display: block;
    position: relative;
    padding: 15px 30px;
    text-align: center;
    color: #555555;
    text-decoration: none !important;
    background: #D9D9D9
}

.shoplist__btnlist li a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    width: 8px;
    height: 8px;
    margin: auto;
    border-left: 1px solid #555555;
    border-bottom: 1px solid #555555;
    transform: rotate(-135deg);
    content: ""
}

@media screen and (max-width: 767px) {
    #shoplist-wrap {
        display: block;
        padding: 0 10px
    }

    #shoplist-wrap .heading-h1 {
        margin-bottom: 25px
    }

    #shoplist-side {
        width: 100%;
        margin-bottom: 25px
    }

    #shoplist-main {
        width: 100%
    }

    .shoplist-count {
        font-size: 13px
    }

    .shoplist>li {
        margin-bottom: 15px
    }

    .shoplist__inner {
        padding: 10px 40px 15px 15px
    }

    .shoplist__link::after {
        right: 15px;
        width: 7px;
        height: 7px
    }

    .shoplist__header {
        margin-bottom: 10px
    }

    .shoplist__header figure {
        width: 50px
    }

    .shoplist__header h2 {
        padding-left: 65px;
        font-size: 15px;
        margin-bottom: 10px
    }

    .shoplist__header p {
        padding-left: 65px;
        font-size: 12px
    }

    .shoplist__body {
        display: block;
        padding-left: 0px
    }

    .shoplist__body-item {
        font-size: 12px;
        margin-bottom: 10px
    }

    .shoplist__body-item dt {
        margin-right: 5px
    }

    .shoplist__body-item .shoplist__body-item-attention {
        font-size: 10px
    }

    .shoplist__body-item2 {
        font-size: 12px;
        margin-bottom: 10px;
        margin-right: 0px
    }

    .shoplist__body-item2 dt {
        margin-right: 5px
    }

    .shoplist__iconlist {
        display: flex
    }

    .shoplist__iconlist li {
        margin: 3px 3px;
    }

    .shoplist__iconlist li i {
        font-size: 10px;
        padding: 3px 10px
    }

    .shoplist__btnlist {
        padding-top: 5px;
        padding-left: 0px;
        justify-content: center;
        margin: 0 -25px 0 -5px
    }

    .shoplist__btnlist li {
        margin: 0 5px;
        width: calc(50% - 10px)
    }

    .shoplist__btnlist li a {
        padding: 10px 20px;
        font-size: 12px
    }

    .shoplist__btnlist li a::after {
        right: 13px;
        width: 7px;
        height: 7px
    }
}

#shop-detail {
    width: 1000px;
    margin: 0 auto;
    padding-top: 35px
}

.shop-detail__photo {
    text-align: center;
    line-height: 0;
    margin-bottom: 15px
}

.shop-detail__name {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px
}

.shop-detail__address {
    font-size: 14px;
    margin-bottom: 15px
}

.shop-detail__item {
    font-size: 14px;
    width: 100%;
    display: flex;
    margin-bottom: 15px
}

.shop-detail__item dt {
    font-weight: 700;
    white-space: nowrap;
    margin-right: 5px
}

.shop-detail__item dt::after {
    content: "：";
    display: inline
}

.shop-detail__item .shop-detail__text-attention {
    display: block;
    margin-top: 5px;
    font-size: 12px
}

.shop-detail__btnlist {
    position: relative;
    z-index: 3;
    padding-top: 10px;
    margin-bottom: 35px;
    display: flex;
    justify-content: space-between
}

.shop-detail__btnlist li {
    width: 480px
}

.shop-detail__btnlist li a {
    display: block;
    position: relative;
    padding: 15px 30px;
    text-align: center;
    color: #555555;
    text-decoration: none !important;
    background: #EEEEEE
}

.shop-detail__btnlist li a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    width: 8px;
    height: 8px;
    margin: auto;
    border-left: 1px solid #555555;
    border-bottom: 1px solid #555555;
    transform: rotate(-135deg);
    content: ""
}

.shop-detail__info {
    display: flex;
    justify-content: space-between
}

.shop-detail__info dl {
    margin-bottom: 40px
}

.shop-detail__info dl dt {
    font-size: 14px;
    font-weight: 700;
    padding-bottom: 15px;
    border-bottom: 1px solid #F0F0F0;
    margin-bottom: 20px
}

.shop-detail__info dl dd {
    font-size: 14px
}

.shop-detail__info-item {
    width: 480px
}

.shop-detail__iconlist {
    display: flex;
    flex-wrap: wrap;
}

.shop-detail__iconlist li {
    margin: 3px;
}

.shop-detail__iconlist li i {
    display: block;
    font-size: 12px;
    border: 1px solid #B5B5B5;
    text-align: center;
    padding: 3px 15px;
}

.shop-detail__map dt {
    font-size: 14px;
    font-weight: 700;
    padding-bottom: 15px;
    border-bottom: 1px solid #F0F0F0;
    margin-bottom: 20px
}

.shop-detail__map dd {
    position: relative;
    padding-bottom: 56.25%;
    overflow: hidden
}

.shop-detail__map dd iframe,
.shop-detail__map dd object,
.shop-detail__map dd embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

@media screen and (max-width: 767px) {
    #shop-detail {
        width: auto;
        padding: 0 10px
    }

    .shop-detail__name {
        font-size: 16px
    }

    .shop-detail__address {
        font-size: 12px;
        margin-bottom: 10px
    }

    .shop-detail__item {
        font-size: 12px;
        margin-bottom: 10px
    }

    .shop-detail__item dt {
        margin-right: 0px
    }

    .shop-detail__item .shop-detail__text-attention {
        margin-top: 2px;
        font-size: 10px
    }

    .shop-detail__btnlist {
        padding-top: 5px;
        justify-content: center;
        margin: 0 -5px 30px -5px
    }

    .shop-detail__btnlist li {
        margin: 0 5px;
        width: calc(50% - 10px)
    }

    .shop-detail__btnlist li a {
        padding: 10px 20px;
        font-size: 12px
    }

    .shop-detail__btnlist li a::after {
        right: 13px;
        width: 7px;
        height: 7px
    }

    .shop-detail__info {
        display: block
    }

    .shop-detail__info dl {
        margin-bottom: 30px
    }

    .shop-detail__info dl dt {
        font-size: 12px;
        padding-bottom: 10px;
        margin-bottom: 15px
    }

    .shop-detail__info dl dd {
        font-size: 12px
    }

    .shop-detail__info-item {
        width: auto
    }

    .shop-detail__iconlist li {
        margin: 3px
    }

    .shop-detail__iconlist li i {
        font-size: 10px;
        padding: 5px 10px
    }

    .shop-detail__map {
        margin-bottom: 20px
    }

    .shop-detail__map dt {
        font-size: 12px;
        padding-bottom: 10px;
        margin-bottom: 15px
    }
}

.indexPage #three_maincolumn {
    padding-top: 20px
}

#slides-thumb-wrap {
    position: absolute;
    bottom: 10px;
    left: 0;
    width: 100%;
    z-index: 10
}

#slides-thumb-wrap .slides-thumb {
    display: table;
    margin: 0 auto;
    padding: 4px 2px;
    background: #fff
}

#slides-thumb-wrap .slides-thumb .slide-item {
    display: table-cell;
    padding: 0 2px;
    cursor: pointer
}

#slides-thumb-wrap .slides-thumb .slide-item:hover {
    opacity: 0.8
}

#slides-thumb-wrap .slides-thumb .slide-item figure {
    position: relative;
    line-height: 0
}

#slides-thumb-wrap .slides-thumb .slide-item img {
    width: 138px
}

#slides-thumb-wrap .slides-thumb .slide-item.custom-active figure::after {
    display: block;
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid #04256D
}

@media screen and (max-width: 767px) {
    #slides-thumb-wrap {
        display: none !important
    }
}

@media screen and (max-width: 767px) {
    body.indexPage .contents-banner-list li:nth-child(n+5) {
        display: none
    }
}

.pos-rela {
    position: relative !important
}

.op_view {
    opacity: 1 !important
}

.txr {
    text-align: right !important
}

.txl {
    text-align: left !important
}

.txtu {
    text-decoration: underline !important
}

.nopointer {
    cursor: inherit !important
}

.star {
    color: #ffcc00
}

img {
    max-width: 100%;
    height: auto
}

td img,
th img {
    max-width: inherit;
    height: inherit
}

.cl {
    clear: both
}

.none {
    display: none !important
}

.show {
    display: block
}

.hide {
    display: none
}

.cf:after,
.cf:before {
    content: "";
    display: table
}

.cf:after {
    clear: both
}

.bold {
    font-weight: bold !important
}

.normal {
    font-weight: normal !important
}

.t-col01 {
    color: #FF0000 !important
}

.txtred {
    color: #FF0000
}

@media screen and (min-width: 768px) {
    .align-r {
        text-align: right !important
    }

    .align-c {
        text-align: center !important
    }

    .align-l {
        text-align: left !important
    }

    .sp-view {
        display: none
    }

    .flexw {
        display: flex;
        flex-wrap: wrap
    }

    .flexc {
        display: flex;
        align-items: center;
        justify-content: center
    }

    .flexb {
        display: flex;
        justify-content: space-between
    }

    .fs9 {
        font-size: 9px !important
    }

    .fs10 {
        font-size: 10px !important
    }

    .fs11 {
        font-size: 11px !important
    }

    .fs12 {
        font-size: 12px !important
    }

    .fs13 {
        font-size: 13px !important
    }

    .fs14 {
        font-size: 14px !important
    }

    .fs15 {
        font-size: 15px !important
    }

    .fs16 {
        font-size: 16px !important
    }

    .fs18 {
        font-size: 18px !important
    }

    .fs20 {
        font-size: 20px !important
    }

    .mt10_minus {
        margin-top: -10px !important
    }

    .mt5_minus {
        margin-top: -5px !important
    }

    .mt0 {
        margin-top: 0 !important
    }

    .mt5 {
        margin-top: 5px !important
    }

    .mt10 {
        margin-top: 10px !important
    }

    .mt15 {
        margin-top: 15px !important
    }

    .mt20 {
        margin-top: 20px !important
    }

    .mt25 {
        margin-top: 25px !important
    }

    .mt30 {
        margin-top: 30px !important
    }

    .mt35 {
        margin-top: 35px !important
    }

    .mt40 {
        margin-top: 40px !important
    }

    .mt45 {
        margin-top: 45px !important
    }

    .mt50 {
        margin-top: 50px !important
    }

    .mt60 {
        margin-top: 60px !important
    }

    .mt70 {
        margin-top: 70px !important
    }

    .mt80 {
        margin-top: 80px !important
    }

    .mb0 {
        margin-bottom: 0 !important
    }

    .mb5 {
        margin-bottom: 5px !important
    }

    .mb10 {
        margin-bottom: 10px !important
    }

    .mb15 {
        margin-bottom: 15px !important
    }

    .mb20 {
        margin-bottom: 20px !important
    }

    .mb25 {
        margin-bottom: 25px !important
    }

    .mb30 {
        margin-bottom: 30px !important
    }

    .mb35 {
        margin-bottom: 35px !important
    }

    .mb40 {
        margin-bottom: 40px !important
    }

    .mb50 {
        margin-bottom: 50px !important
    }

    .mb60 {
        margin-bottom: 60px !important
    }

    .mb70 {
        margin-bottom: 70px !important
    }

    .mb100 {
        margin-bottom: 100px !important
    }

    .mr0 {
        margin-right: 0 !important
    }

    .mr5 {
        margin-right: 5px !important
    }

    .mr10 {
        margin-right: 10px !important
    }

    .mr15 {
        margin-right: 15px !important
    }

    .mr20 {
        margin-right: 20px !important
    }

    .mr30 {
        margin-right: 30px !important
    }

    .mr40 {
        margin-right: 40px !important
    }

    .mr50 {
        margin-right: 50px !important
    }

    .ml0 {
        margin-left: 0 !important
    }

    .ml5 {
        margin-left: 5px !important
    }

    .ml10 {
        margin-left: 10px !important
    }

    .ml15 {
        margin-left: 15px !important
    }

    .ml20 {
        margin-left: 20px !important
    }

    .ml30 {
        margin-left: 30px !important
    }

    .ml40 {
        margin-left: 40px !important
    }

    .ml50 {
        margin-left: 50px !important
    }

    .pt0 {
        padding-top: 0 !important
    }

    .pt5 {
        padding-top: 5px !important
    }

    .pt8 {
        padding-top: 8px !important
    }

    .pt18 {
        padding-top: 18px !important
    }

    .pt10 {
        padding-top: 10px !important
    }

    .pt15 {
        padding-top: 15px !important
    }

    .pt20 {
        padding-top: 20px !important
    }

    .pt25 {
        padding-top: 25px !important
    }

    .pt30 {
        padding-top: 30px !important
    }

    .pt35 {
        padding-top: 35px !important
    }

    .pt40 {
        padding-top: 40px !important
    }

    .pt45 {
        padding-top: 45px !important
    }

    .pt50 {
        padding-top: 50px !important
    }

    .pt55 {
        padding-top: 55px !important
    }

    .pt70 {
        padding-top: 70px !important
    }

    .pt75 {
        padding-top: 75px !important
    }

    .pb0 {
        padding-bottom: 0 !important
    }

    .pb5 {
        padding-bottom: 5px !important
    }

    .pb10 {
        padding-bottom: 10px !important
    }

    .pb15 {
        padding-bottom: 15px !important
    }

    .pb20 {
        padding-bottom: 20px !important
    }

    .pb30 {
        padding-bottom: 30px !important
    }

    .pb40 {
        padding-bottom: 40px !important
    }

    .pb50 {
        padding-bottom: 50px !important
    }

    .pr0 {
        padding-right: 0 !important
    }

    .pr5 {
        padding-right: 5px !important
    }

    .pr10 {
        padding-right: 10px !important
    }

    .pr15 {
        padding-right: 15px !important
    }

    .pr20 {
        padding-right: 20px !important
    }

    .pr30 {
        padding-right: 30px !important
    }

    .pr40 {
        padding-right: 40px !important
    }

    .pr50 {
        padding-right: 50px !important
    }

    .pl0 {
        padding-left: 0 !important
    }

    .pl5 {
        padding-left: 5px !important
    }

    .pl10 {
        padding-left: 10px !important
    }

    .pl15 {
        padding-left: 15px !important
    }

    .pl20 {
        padding-left: 20px !important
    }

    .pl30 {
        padding-left: 30px !important
    }

    .pl40 {
        padding-left: 40px !important
    }

    .pl50 {
        padding-left: 50px !important
    }

    .w100 {
        width: 100px !important
    }

    .w300 {
        width: 300px !important
    }

    .w100p {
        width: 100% !important
    }

    .w75p {
        width: 75% !important
    }

    .w50p {
        width: 50% !important
    }

    .w25p {
        width: 25% !important
    }

    .w10p {
        width: 10% !important
    }

    .w_auto {
        width: auto !important
    }
}

@media screen and (max-width: 767px) {
    .sp-view {
        display: block !important
    }

    .pc-view {
        display: none !important
    }

    .align-r_sp {
        text-align: right !important
    }

    .align-c_sp {
        text-align: center !important
    }

    .align-l_sp {
        text-align: left !important
    }

    .fs8_sp {
        font-size: 8px !important
    }

    .fs9_sp {
        font-size: 9px !important
    }

    .fs10_sp {
        font-size: 10px !important
    }

    .fs11_sp {
        font-size: 11px !important
    }

    .fs12_sp {
        font-size: 12px !important
    }

    .fs13_sp {
        font-size: 13px !important
    }

    .fs14_sp {
        font-size: 14px !important
    }

    .fs15_sp {
        font-size: 15px !important
    }

    .fs16_sp {
        font-size: 16px !important
    }

    .fs17_sp {
        font-size: 17px !important
    }

    .fs18_sp {
        font-size: 18px !important
    }

    .fs19_sp {
        font-size: 19px !important
    }

    .fs20_sp {
        font-size: 20px !important
    }

    .fs21_sp {
        font-size: 21px !important
    }

    .fs22_sp {
        font-size: 22px !important
    }

    .fs23_sp {
        font-size: 23px !important
    }

    .fs24_sp {
        font-size: 24px !important
    }

    .mt0_sp {
        margin-top: 0 !important
    }

    .mt5_sp {
        margin-top: 5px !important
    }

    .mt10_sp {
        margin-top: 10px !important
    }

    .mt15_sp {
        margin-top: 15px !important
    }

    .mt20_sp {
        margin-top: 20px !important
    }

    .mt25_sp {
        margin-top: 25px !important
    }

    .mt30_sp {
        margin-top: 30px !important
    }

    .mt35_sp {
        margin-top: 35px !important
    }

    .mt40_sp {
        margin-top: 40px !important
    }

    .mt45_sp {
        margin-top: 45px !important
    }

    .mt50_sp {
        margin-top: 50px !important
    }

    .mb0_sp {
        margin-bottom: 0 !important
    }

    .mb5_sp {
        margin-bottom: 5px !important
    }

    .mb10_sp {
        margin-bottom: 10px !important
    }

    .mb15_sp {
        margin-bottom: 15px !important
    }

    .mb20_sp {
        margin-bottom: 20px !important
    }

    .mb25_sp {
        margin-bottom: 25px !important
    }

    .mb30_sp {
        margin-bottom: 30px !important
    }

    .mb35_sp {
        margin-bottom: 35px !important
    }

    .mb40_sp {
        margin-bottom: 40px !important
    }

    .mb50_sp {
        margin-bottom: 50px !important
    }

    .mb60_sp {
        margin-bottom: 60px !important
    }

    .mb70_sp {
        margin-bottom: 70px !important
    }

    .mb100_sp {
        margin-bottom: 100px !important
    }

    .mlr10_sp_minus {
        margin-right: -10px !important;
        margin-left: -10px !important
    }

    .mr10_sp_minus {
        margin-right: -10px !important
    }

    .mr0_sp {
        margin-right: 0 !important
    }

    .mr5_sp {
        margin-right: 5px !important
    }

    .mr10_sp {
        margin-right: 10px !important
    }

    .mr15_sp {
        margin-right: 15px !important
    }

    .mr20_sp {
        margin-right: 20px !important
    }

    .mr30_sp {
        margin-right: 30px !important
    }

    .mr40_sp {
        margin-right: 40px !important
    }

    .mr50_sp {
        margin-right: 50px !important
    }

    .ml0_sp {
        margin-left: 0 !important
    }

    .ml5_sp {
        margin-left: 5px !important
    }

    .ml7_sp {
        margin-left: 7px !important
    }

    .ml10_sp {
        margin-left: 10px !important
    }

    .ml15_sp {
        margin-left: 15px !important
    }

    .ml20_sp {
        margin-left: 20px !important
    }

    .ml30_sp {
        margin-left: 30px !important
    }

    .ml40_sp {
        margin-left: 40px !important
    }

    .ml50_sp {
        margin-left: 50px !important
    }

    .pt0_sp {
        padding-top: 0 !important
    }

    .pt5_sp {
        padding-top: 5px !important
    }

    .pt10_sp {
        padding-top: 10px !important
    }

    .pt15_sp {
        padding-top: 15px !important
    }

    .pt20_sp {
        padding-top: 20px !important
    }

    .pt25_sp {
        padding-top: 25px !important
    }

    .pt30_sp {
        padding-top: 30px !important
    }

    .pt35_sp {
        padding-top: 35px !important
    }

    .pt40_sp {
        padding-top: 40px !important
    }

    .pt45_sp {
        padding-top: 45px !important
    }

    .pt50_sp {
        padding-top: 50px !important
    }

    .pb0_sp {
        padding-bottom: 0 !important
    }

    .pb5_sp {
        padding-bottom: 5px !important
    }

    .pb10_sp {
        padding-bottom: 10px !important
    }

    .pb15_sp {
        padding-bottom: 15px !important
    }

    .pb20_sp {
        padding-bottom: 20px !important
    }

    .pb30_sp {
        padding-bottom: 30px !important
    }

    .pb40_sp {
        padding-bottom: 40px !important
    }

    .pb50_sp {
        padding-bottom: 50px !important
    }

    .pr0_sp {
        padding-right: 0 !important
    }

    .pr5_sp {
        padding-right: 5px !important
    }

    .pr10_sp {
        padding-right: 10px !important
    }

    .pr15_sp {
        padding-right: 15px !important
    }

    .pr20_sp {
        padding-right: 20px !important
    }

    .pr30_sp {
        padding-right: 30px !important
    }

    .pr40_sp {
        padding-right: 40px !important
    }

    .pr50_sp {
        padding-right: 50px !important
    }

    .pl0_sp {
        padding-left: 0 !important
    }

    .pl5_sp {
        padding-left: 5px !important
    }

    .pl10_sp {
        padding-left: 10px !important
    }

    .pl15_sp {
        padding-left: 15px !important
    }

    .pl20_sp {
        padding-left: 20px !important
    }

    .pl30_sp {
        padding-left: 30px !important
    }

    .pl40_sp {
        padding-left: 40px !important
    }

    .pl50_sp {
        padding-left: 50px !important
    }

    .w100_sp {
        width: 100px !important
    }

    .w100p_sp {
        width: 100% !important
    }

    .w75p_sp {
        width: 75% !important
    }

    .w50p_sp {
        width: 50% !important
    }

    .w40p_sp {
        width: 40% !important
    }

    .w25p_sp {
        width: 25% !important
    }

    .w10p_sp {
        width: 10% !important
    }

    .order1_sp {
        order: 1 !important
    }

    .order2_sp {
        order: 2 !important
    }

    .order3_sp {
        order: 3 !important
    }

    .order4_sp {
        order: 4 !important
    }

    .order5_sp {
        order: 5 !important
    }
}

.iframe_body {
    width: 100%;
    min-width: 100%;
    box-sizing: border-box;
    padding: 0
}

.iframe_body .inner {
    padding: 0 20px 50px
}

.iframe_body .select-type01 {
    width: 20%
}

.iframe_body h2 {
    font-size: 18px;
    font-weight: 700;
    margin: 30px 0 15px
}

.iframe_body .shoplist__header h2 {
    margin: 0 0 15px 0
}

.iframe_body .shoplist__header h2,
.iframe_body .shoplist__header p,
.iframe_body .shoplist__body {
    padding-left: 0
}

.iframe_body .shoplist__inner {
    margin-bottom: 10px
}

.iframe_body .shoplist__btnlist {
    justify-content: center
}

.iframe_body .shoplist__btnlist li {
    width: 266px
}

.iframe_body .shoplist__btnlist li a {
    background: #fff;
    border: 1px solid #ccc
}

.iframe_body .non-shop-data-wrapper {
    padding: 0 30px
}

.iframe_body .btn2.link {
    margin: 50px auto 0
}

.iframe_body .btn-block-2col {
    width: 100%
}

.iframe_body .btn-block-2col .btn.submit,
.iframe_body .btn-block-2col .btn.link {
    width: 48.6618%
}

@media screen and (max-width: 767px) {
    #iframe {
        width: 100% !important;
        left: 0 !important
    }

    #iframe .iframe_wrap {
        padding: 0 10px
    }

    .iframe_body {
        padding: 0
    }

    .iframe_body .inner {
        padding: 0 0 10px
    }

    .iframe_body .modal-header {
        padding: 0
    }

    .iframe_body .non-shop-data-wrapper {
        padding: 10px 40px 15px 15px
    }

    .iframe_body .shoplist__btnlist li {
        width: 100%
    }

    .iframe_body .btn2.link {
        margin: 60px auto 0
    }

    .iframe_body .btn-block-2col .btn.submit,
    .iframe_body .btn-block-2col .btn.link {
        width: 100%
    }
}

.announce-list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 24px
}

.announce-list li {
    width: 45%;
    margin: 0px 10% 3% 0px;
    padding: 3%;
    border: 1px solid #CCCCCC
}

.announce-list li:nth-of-type(2n) {
    margin-right: 0
}

.announce-list li a {
    display: flex;
    width: 100%
}

.announce-list li a figure {
    width: 200px;
    margin-right: 20px;
    line-height: 0
}

.announce-list li a dl {
    width: calc(100% - 220px)
}

.announce-list li a dl dt {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 15px
}

.announce-list li a dl dd {
    font-size: 13px
}

@media screen and (max-width: 767px) {
    .announce-list {
        display: block;
        margin-bottom: 0px;
        padding-bottom: 10px
    }

    .announce-list li {
        width: auto;
        margin: 0 0px 23px 0
    }

    .announce-list li a figure {
        width: 158px;
        margin-right: 10px
    }

    .announce-list li a dl {
        width: calc(100% - 168px)
    }

    .announce-list li a dl dt {
        font-size: 14px;
        margin-bottom: 10px
    }

    .announce-list li a dl dd {
        font-size: 12px
    }
}

.announce-detail {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 24px
}

.announce-detail li {
    width: 100%;
}

.announce-detail li:nth-of-type(2n) {
    margin-right: 0
}

.announce-detail li {
    display: flex;
    width: 100%
}

.announce-detail li figure {
    width: 500px;
    margin-right: 10%;
    line-height: 0
}

.announce-detail li dl {
    width: calc(100% - 220px)
}

.announce-detail li dl dt {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 15px
}

@media screen and (max-width: 767px) {
    .announce-detail {
        display: block;
        margin-bottom: 0px;
        padding-bottom: 10px
    }

    .announce-detail li {
        width: auto;
        margin: 0 0px 23px 0
    }

    .announce-detail li figure {
        width: 70%;
        margin-right: 5%
    }

    .announce-detail li dl {
        width: calc(100% - 168px)
    }

    .announce-detail li dl dt {
        font-size: 14px;
        margin-bottom: 10px
    }

    .announce-detail li dl dd {
        font-size: 12px
    }
}

.products-list-head {
    font-size: 20px;
    padding: 0 0 10px;
}

@media screen and (max-width: 767px) {
    .products-list-head {
        font-size: 16px;
        padding: 0 10px 5px;
    }
}

.wrap-cart .row .item-quantity ul {
    padding-top: 3px;
}

.wrap-cart .row .item-quantity a {
    display: block;
}

.wrap-cart .row .item-quantity img {
    width: 26px;
}

@media screen and (max-width: 767px) {
    .wrap-cart .row .item-quantity img {
        width: 23px;
    }
}

@media screen and (max-width: 767px) {
    .item-detail-typechoice .item-detail-typechoice table {
        border: none;
    }
}

.bundle-table .tbl-type01.txl th span {
    display: flex;
    align-items: center;
    border: none;
}

.bundle-table .tbl-type01.txl th span img {
    width: 76px;
    height: 98px;
    margin-right: 10px;
}

/*--- errorpage ---*/
.error {
    text-align: center;
}

.error_head,
.error_read,
.error_txt {
    color: #666;
}

.error_head {
    font-size: 50px;
}

.error_read {
    font-size: 30px;
}

.error_txt {
    font-size: 18px;
    color: #707070;
}

.error_img_wrap {
    margin: 10px auto;
    width: 300px;
}

.pc_box_inner {
    width: 960px;
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
    .error_img_wrap {
        margin: 10px auto;
        width: 147px;
    }

    .sp_box_inner {
        width: 350px;
        margin: 0 auto;
        padding: 10px;
    }
}

input::placeholder {
    color: #ccc;
}

.img_title {
    display: inline-flex;
    margin-bottom: 10px;
}

.notice_image {
    font-size: 18px;
    height: 1.5em;
    align-items: center;
    font-weight: bold;
    margin-top: 10px;
}

.notice_icon_image {
    margin-top: 15px;
    padding-right: 10px;
}

.signin-box-notice {
    display: block;
    box-sizing: border-box;
    background: #f5f5f5;
    padding: 20px;
    color: #ae0808;
    margin-top: 15px;
}

.indexPage .index-kv {
    margin-bottom: 30px;
}

.page_feature_content {
    margin-top: 50px;
}

.page_feature_content .flex_items {
    display: flex;
    margin-top: 40px;
    flex-flow: wrap;
    justify-content: space-between;
}

.page_feature_content .flex_items_item {
    flex-basis: 23%;
}

.page_feature_content .flex_items::after {
    display: block;
    content: "";
    flex-basis: 23%;
}

.page_feature_content .flex_items_item:nth-child(n+5) {
    margin-top: 2.5%;
}

.page_feature_content .flex_items_itemLink {
    display: block;
}

.page_feature_content .text_box {
    margin-top: 20px;
}

.page_feature_content .js_text_overflow {
    height: 45px;
    font-size: 14px;
    overflow: hidden;
}

@media screen and (max-width: 767px) {
    .page_feature_content {
        margin-top: 30px;
    }

    .page_feature_content .flex_items_item {
        flex-basis: calc((100% - 2%) / 2);
    }

    .page_feature_content .flex_items_item:nth-child(n+3) {
        margin-top: 5%;
    }

    .page_feature_content .js_text_overflow {
        height: 40px;
        font-size: 12px;
    }
}

.page_app_content_mv,
.page_app_content_mv_2 {
    margin-bottom: 50px;
}

.page_app_content_lead_text {
    text-align: center;
    line-height: 2.0;
    padding-bottom: 50px;
}

.page_app_content_flexItems {
    display: flex;
    flex-flow: wrap;
    justify-content: start;
}

.page_app_content_flexItems_item {
    flex-basis: 98%;
    margin-right: 2.5%;
}

.page_app_content_textBox p {
    margin-top: 10px;
}

.page_app_content_btnLink {
    text-align: center;
    margin-top: 50px;
    margin: 50px 0px;
}

.page_app_content {
    margin-top: 25px;
    margin-bottom: 50px;
}

.page_app_content_img {
    width: 100%;
}

.pc {
    display: block;
}

.sp {
    display: none;
}

@media screen and (max-width: 767px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .page_app_content_mv,
    .page_app_content_mv_2 {
        margin-bottom: 15px;
    }

    .page_app_content_lead_text {
        text-align: center;
        line-height: 2.0;
        font-size: 18px;
        padding-bottom: 10px;
    }

    .page_app_content_flexItems_item {
        margin-right: 0;
    }

    .page_app_content_textBox p {
        margin-top: 0;
        font-size: 12px;
    }

    .page_app_content_btnLink {
        margin: 0;
    }

    .page_app_content_btnLink a {
        margin: 30px 0;
        display: block;
    }

    .page_app_content p {
        font-size: 12px;
    }

    .page_app_content {
        margin-bottom: 10px;
    }

    .page_app_content_btnLink img {
        width: 100%;
    }

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

    .modal_fixed {
        position: fixed;
    }
}

.modal_fixed {
    position: fixed;
    width: 100%;
}

.wrap_ranking_cat {
    overflow: hidden;
    padding: 15px;
    background-color: #f2f2f2;
    margin: 0 0 30px;
}

.wrap_ranking_cat .btn {
    background: #fff;
    border: 1px solid #b5b5b5;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 2.8em;
    width: 100%;
    color: #333;
    margin: 0;
    font-size: 14px;
    padding: 0 1.2em;
}

.wrap_ranking_cat .btn:hover {
    background-color: #f2f2f2;
    text-decoration: none;
}

.wrap_ranking_cat .btn.active {
    background-color: #04256D;
    border: 1px solid #04256D;
    color: #fff;
    font-weight: bold;
}

.wrap_list_ranking_cat {
    margin: 0;
    padding: 0;
}


@media screen and (max-width: 767px) {
    ul.list_ranking_cat {
        display: block;
    }

    ul.list_ranking_cat li {
        display: inline-block;
        margin: 0 0 5px 5px;
    }
}

@media screen and (min-width: 768px) {
    ul.list_ranking_cat {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }

    ul.list_ranking_cat li {
        display: inline-flex;
        margin: 0 0 0 10px;
    }

    ul.list_ranking_cat li:first-child {
        margin: 0;
    }

    .picture_layout {
        width: 200px;
        height: 150px;
    }
}

@media screen and (max-width: 767px) {

    #order-list table {
        width: 100%;
        border: none;
        padding: 10px;
    }

    #order-list thead {
        display: none
    }

    #order-list tr {
        border-top: 1px solid #dedede;
        display: block;
        margin-bottom: 60px;
    }

    #order-list td {
        border-right: 1px solid #dedede;
        border-bottom: none;
        text-align: left;
        display: block;
        padding: 0;
        font-size: 0;
    }

    #order-list td span {
        display: inline-block;
        padding: 10px;
        font-size: 13px;
        vertical-align: bottom;
    }

    #order-list td a span {
        text-decoration: underline;
    }

    #order-list td:before {
        content: attr(data-label);
        font-weight: bold;
        background-color: #ebebeb;
        color: #333;
        text-align: left;
        display: inline-block;
        width: 8em;
        padding: 10px;
        margin: 0;
        border-right: 1px solid #dedede;
        font-size: 13px;
        vertical-align: bottom;
    }

    #order-list td:nth-of-type(1) {
        border-top: none;
    }

    #order-list td:last-child {
        border-bottom: 1px solid #dedede;
    }
}

@media screen and (max-width: 767px) {
    #header__navi__cart>a {
        background: url(../images/common/cart_sp.svg) 0px 3px no-repeat;
        background-size: 25px 21px;
    }
}

#r-fixed-contents #r-fixed-contents__btn {
    display: block;
    width: 60px;
    height: 60px;
    background: #04256d url(../images/common/side_nav_left_label.svg) 0 0 no-repeat;
    background-size: 100% 100%;
    cursor: pointer;
}

#r-fixed-contents.open #r-fixed-contents__btn {
    background: #04256d url(../images/common/side_nav_left_label_close.svg) 0 0 no-repeat;
}

#r-fixed-contents .r-fixed-box-icon__more::after {
    display: none;
}

#info-browser {
    width: 100%;
    margin-top: 60px;
    display: none;
}

#info-browser .inner {
    border: 5px solid #04256D;
    padding: 20px 40px;
    text-align: center;
}

#info-browser .inner p {
    margin-bottom: 10px;
}

#info-browser .inner a {
    color: #04256D;
    font-weight: bold;
    text-decoration: underline;
}

@media screen and (max-width: 767px) {
    #info-browser {
        padding: 0 20px;
    }
}

@media all and (-ms-high-contrast: none) {
    #info-browser {
        display: block;
    }
}

.service-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 auto 50px;
    /* max-height: 460px; 3行目まで */
    overflow-y: hidden;
}

.service-list__item {
    width: calc((100% - 240px) / 5);
}

.service-list__item:nth-child(n+2) {
    margin-left: 60px;
}

.service-list__item:nth-child(n+6) {
    margin-top: 60px;
}

.service-list__item:nth-child(5n+6) {
    margin-left: 0;
}

.service-list__link {
    display: block;
}

.service-list-pic {
    font-size: 0;
}

.max-height-auto {
    max-height: none !important;
}

a.btn-more.js-more-btn {
    display: none;
}

a.btn-more.js-more-btn::after {
    display: none;
}

a.btn-more.not_arw::after {
    display: none;
}

a.btn-more.arw_top::after {
    top: 5px;
    transform: rotate(135deg);
}

a.btn-more.arw_btm::after {
    transform: rotate(-45deg);
}

@media screen and (max-width: 767px) {
    .service-list {
        margin-bottom: 30px;
    }

    .service-list__item {
        width: calc((100% - 15px) / 2);
    }

    .service-list__item:nth-child(even) {
        margin-left: 15px;
    }

    .service-list__item:nth-child(n+3) {
        margin-top: 15px;
    }

    .service-list__item:nth-child(2n+3) {
        margin-left: 0;
    }

    a.btn-more.js-more-btn {
        display: inline-block;
    }
}

#gnav__menu {
    width: 600px;
    min-height: 100%;
    height: 100%;
    padding: 0px 30px 0px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    background: #fff;
}

#grav__user {
    display: flex;
    margin: 0 -30px;
}

.grav__user-login,
.grav__user-mypage {
    width: 50%;
    height: 60px;
}

.grav__user-login a,
.grav__user-mypage a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.1;
    background-color: #04256d;
}

#gnav__menu-close {
    padding: 10px;
}

#gnav__menu-close span {
    cursor: pointer;
    width: 40px;
    height: 40px;
    display: block;
    background: url("../images/common/icon_close_w.svg") 50% 50% no-repeat;
    background-size: 32px 32px;
}

#gnav__close {
    width: calc(100% - 600px);
}

#gnav__tools {
    display: flex;
    justify-content: space-around;
    margin: 20px 0;
}

.gnav__tools-item__link {
    display: block;
    padding-top: 50px;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 50px auto;
}

.gnav__tools-item__link.order_history {
    background-image: url("../images/common/icon_order_history.svg");
}

.gnav__tools-item__link.point {
    background-image: url("../images/common/icon_point.svg");
    background-size: 55px auto;
}

.gnav__tools-item__link.favorite {
    background-image: url("../images/common/icon_favorite.svg");
}

.gnav__tools-item__link.store_search {
    background-image: url("../images/common/icon_store_search.svg");
}

.gnav__menu-list {
    margin-bottom: 0px;
}

.gnav__menu-list.grav__menu-list__col2 {
    display: flex;
    flex-wrap: wrap;
}

.gnav__menu-list.grav__menu-list__col2 li {
    width: 50%;
    border-bottom: 0;
}

.gnav__menu-list.grav__menu-list__col2 li:nth-child(n+3) {
    border-top: 1px solid #e5e5e5;
}

.gnav__menu-list.grav__menu-list__col2 li:nth-child(odd) {
    border-right: 1px solid #e5e5e5;
}

.gnav__menu-list>li {
    position: relative;
    font-size: 16px;
    font-weight: 400;
    margin: 0;
    border-bottom: 1px solid #e5e5e5;
}

.gnav__menu-list>li>span {
    display: block;
    position: relative;
    padding: 18px 20px 18px 10px;
    line-height: 1.2;
}

.gnav__menu-list>li>a {
    display: block;
    position: relative;
    padding: 18px 20px 18px 10px;
    line-height: 1.2;
}

.gnav__menu-list a.bg_icon_right {
    padding: 7px 20px 7px 10px;
}

.gnav__menu-list a.bg_icon_right .bg_icon_right__span {
    display: inline-block;
    padding: 11px 45px 11px 0;
    background-repeat: no-repeat;
    background-size: 35px;
    background-position: right center;
}

.gnav__menu-list a.bg_icon_right .bg_icon_right__span.bg_icon_hukidashi_new {
    background-image: url("../images/common/icon_hukidashi_new.png");
}

.gnav__menu-list>li>a::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    width: 9px;
    height: 9px;
    margin: auto;
    border-left: 1px solid #555555;
    border-bottom: 1px solid #555555;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

.gnav__menu-list__accordion-btn {
    position: absolute;
    width: 40px;
    height: 40px;
    top: 6px;
    right: 0px;
    z-index: 10;
    cursor: pointer;
}

.gnav__menu-list__accordion-btn::after {
    position: absolute;
    top: 50%;
    margin-top: -7px;
    right: 11px;
    width: 14px;
    height: 14px;
    background: url("../images/common/icon_plus.svg") 50% 50% no-repeat;
    background-size: 14px 14px;
    content: "";
}

.gnav__menu-list__accordion-btn.open::after {
    background: url("../images/common/icon_minus.svg") 50% 50% no-repeat;
    background-size: 14px 14px;
}

.gnav__menu-list__accordion-btn+a {
    padding: 12px 0px 12px 0 !important;
    margin-right: 30px;
}

.gnav__menu-list__accordion-btn+a.span_chenged_link {
    padding: 18px 20px 18px 10px !important;
}

.gnav__menu-list__accordion-textbtn {
    cursor: pointer;
}

.gnav__menu-list__accordion-textbtn:hover {
    opacity: 1;
    text-decoration: none;
}

.gnav__menu-list__accordion-btn+a::after {
    display: none !important;
}

.gnav__menu-list__accordion-body {
    position: relative;
    display: none;
}

.gnav__menu-list__accordion-body ul {
    padding-left: 0px;
    border-top: 1px solid #e5e5e5;
}

.gnav__menu-list__accordion-body ul li {
    position: relative;
    font-size: 16px;
    font-weight: 400;
    margin: 0;
    border-bottom: 1px solid #e5e5e5;
}

.gnav__menu-list__accordion-body ul li:last-child {
    border-bottom: none;
}

.gnav__menu-list__accordion-body ul li a {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 18px 25px 18px 50px;
    line-height: 1.2;
}

.gnav__menu-list__accordion-body ul li a::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    width: 9px;
    height: 9px;
    margin: auto;
    border-left: 1px solid #555555;
    border-bottom: 1px solid #555555;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

.gnav__menu-list__accordion-body .gnav__menu-list_item {
    margin-bottom: 0px;
}

.gnav__menu-list__accordion-body .gnav__menu-list_item>li {
    position: relative;
    font-size: 16px;
    font-weight: 400;
    margin: 0;
    border-bottom: 1px solid #e5e5e5;
}

.gnav__menu-list__accordion-body .gnav__menu-list_item>li>span {
    display: block;
    width: 93%;
    margin-left: auto;
    position: relative;
    padding: 18px 20px 18px 10px;
    line-height: 1.2;
}

.gnav__menu-list__accordion-body .gnav__menu-list_item>li>a {
    display: block;
    position: relative;
    margin: 0 !important;
    padding: 18px 55px 18px 50px !important;
    line-height: 1.2;
    width: calc(100% - 55px);
}

.gnav__menu-list__accordion-body .gnav__menu-list_item>li .gnav__menu-list__accordion-body a {
    padding: 18px 55px 18px 65px !important;
}

@media screen and (max-width: 767px) {
    #gnav__menu {
        width: 100%;
        padding: 0 15px 0px 15px;
        padding-bottom: env(safe-area-inset-bottom);
        -webkit-transition: left 0.3s ease-in-out;
        transition: left 0.3s ease-in-out;
    }

    #grav__user {
        display: flex;
        margin: 0 -15px;
    }

    .grav__user-login,
    .grav__user-mypage {
        height: 40px;
    }

    .grav__user-login a,
    .grav__user-mypage a {
        font-size: 12px;
    }

    #gnav__menu-close {
        display: flex;
        align-items: center;
        margin-bottom: 0;
        padding: 0;
        background-color: #04256d;
    }

    #gnav__menu-close span {
        background-size: 20px 20px;
    }

    #gnav__close {
        width: calc(100% - 300px);
    }

    #gnav__tools {
        margin: 17px 0;
    }

    .gnav__tools-item__link {
        padding-top: 30px;
        background-size: 30px auto;
        font-size: 12px;
    }

    .gnav__tools-item__link.point {
        background-size: 37px auto;
    }

    .gnav__menu-ttl {
        margin-top: 15px;
        font-size: 18px;
        font-weight: bold;
        position: relative;
    }

    .gnav__menu-ttl::before {
        content: '';
        display: block;
        width: 100%;
        height: 1px;
        margin: auto;
        background-color: #000;
        position: absolute;
        top: 0;
        bottom: 0;
    }

    .gnav__menu-ttl>span {
        display: inline-block;
        padding-right: 10px;
        background-color: #fff;
        position: relative;
    }

    .gnav__menu-list {
        margin-bottom: 0px;
    }

    .gnav__menu-list>li {
        font-size: 12px;
    }

    .gnav__menu-list>li>span {
        padding: 16px 35px 16px 10px;
    }

    .gnav__menu-list>li>a {
        display: flex;
        align-items: center;
        padding: 16px 20px 16px 10px;
    }

    .gnav__menu-list>li>a.no_arw::after {
        display: none;
    }

    .gnav__menu-list a.bg_icon_right {
        padding: 5px 20px 5px 10px;
    }

    .gnav__menu-list>li>a::after {
        right: 12px;
        width: 7px;
        height: 7px;
    }

    .gnav__menu-list__accordion-btn {
        width: 30px;
        height: 30px;
        top: 8px;
        right: 0px;
    }

    .gnav__menu-list__accordion-btn::after {
        margin-top: -5px;
        right: 10px;
        width: 9px;
        height: 9px;
        background-size: 9px 9px;
    }

    .gnav__menu-list__accordion-btn.open::after {
        background-size: 9px 9px;
    }

    .gnav__menu-list__accordion-btn+a {
        padding: 16px 0px 16px 5px !important;
        margin-right: 35px;
    }

    .gnav__menu-list__accordion-btn+a::after {
        display: none !important;
    }

    .gnav__menu-list__accordion-body ul li {
        font-size: 12px;
    }

    .gnav__menu-list__accordion-body ul li a {
        padding: 16px 20px 16px 20px;
    }

    .gnav__menu-list__accordion-body ul li a::after {
        right: 12px;
        width: 7px;
        height: 7px;
    }

    .gnav__menu-list__accordion-body .gnav__menu-list_item>li {
        font-size: 12px;
    }

    .gnav__menu-list__accordion-body .gnav__menu-list_item>li>a {
        padding: 16px 20px 16px 20px !important;
        line-height: 1.2;
        width: calc(100% - 46px);
    }

    .gnav__menu-list__accordion-body .gnav__menu-list_item>li .gnav__menu-list__accordion-body {
        margin-left: 10px;
    }

    .gnav__menu-list__accordion-body .gnav__menu-list_item>li .gnav__menu-list__accordion-body a {
        padding: 16px 20px !important;
    }

    .gnav__menu-silhouette li {
        margin-bottom: 10px;
    }

    .gnav__menu-list__accordion-body .gnav__menu-list_item>li>span {
        width: 97%;
    }
}

@media screen and (min-width: 768px) {
    #header-search-sp-wrap {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    #header-search-sp-wrap {
        display: block;
        position: fixed;
        top: 0;
        left: -110%;
        width: 100%;
        height: 100%;
        z-index: 99999;
        padding-bottom: 1000px;
        -webkit-transition: left 0.4s ease-in-out;
        transition: left 0.4s ease-in-out;
        -webkit-box-sizing: content-box;
        box-sizing: content-box;
        pointer-events: auto;
    }

    #header-search-sp-wrap.open {
        left: 0;
    }

    #header-search-sp {
        position: relative;
        display: flex;
        width: 100%;
        height: 100%;
    }

    #header-search-sp-menu {
        width: 100%;
        min-height: 100%;
        height: 100%;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
        background: #fff;
    }

    #header-search-menu {
        width: 100%;
        min-height: 100%;
        height: 100%;
        padding: 0 15px;
        padding-bottom: env(safe-area-inset-bottom);
        overflow: auto;
        -webkit-overflow-scrolling: touch;
        background: #fff;
        -webkit-transition: left 0.3s ease-in-out;
        transition: left 0.3s ease-in-out;
    }

    #header-search-sp-menu-close {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        margin: 0 -15px;
    }

    #header-search-sp-menu-close span {
        display: block;
        width: 40px;
        height: 40px;
        background: url("../images/common/icon_close_w.svg") 50% 50% no-repeat;
        background-size: 20px 20px;
        background-color: #04256d;
        cursor: pointer;
    }

    .gnav__menu-ttl-sub {
        margin: 20px 0 10px;
        font-size: 16px;
        font-weight: bold;
    }

    .gnav__menu-ttl-sub+.gnav__menu-list {
        border-top: 1px solid #e5e5e5;
    }

    .header_keyword_list {
        display: none;
        padding: 0 20px;
        position: relative;
        z-index: 1;
    }

    .header_keyword_list_item {
        margin: 0 10px;
    }

    .header_keyword_list.slick-initialized {
        display: block;
    }

    .header_keyword_list .slick-arrow,
    #header-search-menu-ranking .slick-arrow,
    #header-products-history-item .slick-arrow {
        width: 25px;
        height: 25px;
        margin: auto;
        font-size: 0;
        position: absolute;
        top: 0;
        bottom: 0;
        z-index: 10;
    }

    .header_keyword_list .slick-arrow.slick-disabled,
    #header-search-menu-ranking .slick-arrow.slick-disabled,
    #header-products-history-item .slick-arrow.slick-disabled {
        display: none !important;
    }

    .header_keyword_list .slick-arrow:before,
    #header-search-menu-ranking .slick-arrow:before,
    #header-products-history-item .slick-arrow:before {
        content: '';
        display: block;
        width: 10px;
        height: 10px;
        margin: auto;
        border-top: 1px solid #191919;
        border-right: 1px solid #191919;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
    }

    .header_keyword_list .slick-prev,
    #header-search-menu-ranking .slick-prev,
    #header-products-history-item .slick-prev {
        left: -5px;
        -webkit-transform: rotate(-135deg);
        transform: rotate(-135deg);
    }

    .header_keyword_list .slick-next,
    #header-search-menu-ranking .slick-next,
    #header-products-history-item .slick-next {
        right: -5px;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    #header-search-menu-ranking .item-list,
    #header-products-history-item .item-list {
        display: none;
    }

    #header-search-menu-ranking .item-list.slick-initialized,
    #header-products-history-item .item-list.slick-initialized {
        display: block;
    }

    #header-search-menu-ranking .item-list,
    #header-products-history-item .item-list {
        padding: 0 20px;
    }

    #header-search-menu-ranking .item-list.list-column4 li {
        margin-bottom: 0;
    }

    .header-search-menu_more_btn {
        padding: 0 20px;
        text-align: right;
    }
}

/* mypage */
.mypage_main,
.mypage_sub_menu {
    font-family: "メイリオ", Meiryo, "Noto Sans JP", "Hiragino Kaku Gothic ProN",
        "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ W3",
        Osaka, "sans-serif";
    color: #707070;
}

.mypage_main {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 40px;
}

.mypage_main_point {
    width: 605px;
    padding: 28px 35px;
    background-color: #f0f0f0;
}

.mypage_main_point__name {
    font-size: 20px;
    text-align: center;
}

.mypage_main_point__num {
    margin-top: 10px;
    font-size: 20px;
    text-align: center;
}

.mypage_main_point_box {
    padding: 32px 35px 44px;
    background-color: #fff;
}

.mypage_main_point_box {
    margin-top: 25px;
    text-align: center;
}

.mypage_main_point_box__current {
    font-size: 20px;
}

.mypage_main_point_box_mid {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    margin-top: 15px;
}

.mypage_main_point_box__num {
    display: inline-block;
    font-size: 50px;
    font-weight: bold;
    line-height: 50px;
}

.mypage_main_point_box__point {
    display: inline-block;
    margin-left: 15px;
    font-size: 16px;
}

.mypage_main_point_box__caution {
    margin-top: 15px;
    font-size: 20px;
    font-weight: bold;
    color: #ae0808;
}

.mypage_btn+.mypage_btn {
    margin-top: 20px;
}

.mypage_btn_link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 290px;
    margin: 0 auto;
    padding: 15px 20px;
    border: 1px solid #707070;
    font-size: 15px;
    text-align: center;
    color: #707070;
    background-color: #fff;
    position: relative;
}

.mypage_btn_link:link,
.mypage_btn_link:visited {
    color: #707070;
}

.mypage_btn_link::after {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    margin: auto;
    border-top: 1px solid #707070;
    border-right: 1px solid #707070;
    position: absolute;
    top: 0;
    right: 11px;
    bottom: 0;
    transform: rotate(45deg);
}

.mypage_main_order_status {
    display: flex;
    flex-direction: column;
    width: calc(1240px - 605px - 30px);
    padding: 28px 35px;
    background-color: #f0f0f0;
}

.mypage_main_order_status_head {
    font-size: 20px;
    line-height: 30px;
    text-align: center;
}

.mypage_main_order_status_box {
    height: 100%;
    margin-top: 20px;
    padding: 20px 40px 15px;
    background-color: #fff;
}

.mypage_main_order_status_box.shop {
    height: auto;
}

/* bar bg setting */
.mypage_main_order_status_box.bg_one .mypage_main_order_status_bar .mypage_main_order_status_bar_item:first-child .order_status_display,
.mypage_main_order_status_box.bg_two .mypage_main_order_status_bar .mypage_main_order_status_bar_item:nth-child(-n+2) .order_status_display,
.mypage_main_order_status_box.bg_three .mypage_main_order_status_bar .mypage_main_order_status_bar_item:nth-child(-n+3) .order_status_display,
.mypage_main_order_status_box.bg_four .mypage_main_order_status_bar .mypage_main_order_status_bar_item:nth-child(-n+4) .order_status_display {
    background-color: #04256D;
}

.mypage_main_order_status_box.normal .mypage_main_order_status_bar_item {
    width: calc((100% - 20px) / 3);
}

.mypage_main_order_status_box.shop .mypage_main_order_status_bar_item {
    width: calc((100% - 30px) / 4);
}

.mypage_main_order_status_box_head {
    font-size: 32px;
    font-weight: bold;
    line-height: 48px;
    text-align: center;
}

.mypage_main_order_status_bar {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-top: 20px;
}

.mypage_main_order_status_bar_item .order_status_display {
    height: 18px;
    background-color: #f0f0f0;
}

.mypage_main_order_status_bar_item .order_status_name {
    margin-top: 10px;
    font-size: 14px;
    text-align: center;
}

.mypage_main_order_status_shipping {
    margin-top: 20px;
}

.mypage_main_order_status_shipping_precautions {
    font-size: 12px;
}

.order_status_confirmation {
    margin-top: 20px;
    font-size: 20px;
    line-height: 30px;
    text-align: center;
}

.order_status_confirmation_link {
    color: #707070;
}

.order_status_confirmation_link:link,
.order_status_confirmation_link:visited {
    color: #707070;
}

.mypage_main_btm_menu {
    margin-top: 40px;
}

.mypage_main_btm_menu+.mypage_sub_menu {
    margin-top: 150px;
}

.mypage_main_menu {
    width: 100%;
}

.mypage_main_menu.pc-view {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.mypage_main_btm_menu .mypage_btn_duo {
    display: flex;
    justify-content: space-between;
    width: calc((100% - 30px) / 2);
    padding-top: 15px;
}

.mypage_main_btm_menu .mypage_btn_duo .mypage_btn+.mypage_btn {
    margin-top: 0;
}

.mypage_main_btm_menu .mypage_main_menu_dl {
    width: calc((100% - 30px) / 2);
}

.mypage_main_menu_dl+.mypage_main_menu_dl {
    margin-top: 90px;
}

.mypage_main_menu_dt {
    padding-bottom: 5px;
    border-bottom: 1px solid #707070;
    font-size: 20px;
    background-repeat: no-repeat;
    background-position: top left;
}

.mypage_main_menu_dt.purchase {
    padding-left: 55px;
    background-image: url("../images/common/icon_cart.svg");
    background-size: 32px 30px;
}

.mypage_main_menu_dt.station {
    padding-left: 55px;
    background-image: url("../images/common/icon_hss.png");
    background-size: 32px 30px;
}

.mypage_main_menu_dt.member {
    padding-bottom: 10px;
    padding-left: 55px;
    background-image: url("../images/common/icon_mypage_user.svg");
    background-size: 32px 33px;
}

.mypage_main_menu_dt.other {
    padding-bottom: 10px;
    padding-left: 70px;
    background-image: url("../images/common/icon_mypage_other.svg");
    background-size: 53px 28px;
}

.mypage_main_menu_list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 18px;
}

.mypage_main_menu_dd {
    width: calc((100% - 36px) / 3);
}

.mypage_main_menu_dd:nth-child(n+2) {
    margin-left: 18px;
}

.mypage_main_menu_dd:nth-child(n+4) {
    margin-top: 18px;
}

.mypage_main_menu_dd:nth-child(3n+4) {
    margin-left: 0;
}

.mypage_main_menu_dd_link {
    font-size: 20px;
    color: #707070;
}

.mypage_main_menu_dd_link:link,
.mypage_main_menu_dd_link:visited {
    color: #707070;
}

.mypage_sub_menu {
    margin-top: 40px;
}

.mypage_sub_menu+.mypage_sub_menu {
    margin-top: 150px;
}

.mypage_sub_menu_dt {
    margin-bottom: 25px;
    padding-bottom: 10px;
    border-bottom: 1px solid #707070;
    font-size: 20px;
}

.mypage_sub_menu_dt__name {
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center left;
}

.mypage_sub_menu_dt.coupon .mypage_sub_menu_dt__name {
    padding-left: 80px;
    background-image: url("../images/common/icon_mypage_coupon.svg");
    background-size: 59px 25px;
}

.mypage_sub_menu_dt.mysize .mypage_sub_menu_dt__name {
    padding-top: 10px;
    padding-left: 75px;
    background-image: url("../images/common/online_feature08.svg");
    background-size: contain;
}

.mypage_sub_menu_dd+.mypage_sub_menu_dd {
    margin-top: 30px;
}

.mypage_sub_menu_dd_content_dt {
    margin-bottom: 8px;
}

.mypage_sub_menu_dd_content_dt__name {
    padding-left: 30px;
    font-size: 20px;
    position: relative;
}

.mypage_sub_menu_dd_content_dt__name::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 2px;
    margin: auto;
    background-color: #707070;
    position: absolute;
    top: -3px;
    bottom: 0;
    left: 0;
}

.mypage_sub_menu_dd_content_dt__name::after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 2px;
    margin: auto;
    background-color: #707070;
    position: absolute;
    top: -3px;
    bottom: 0;
    left: 0;
    transform: rotate(90deg);
}

.mypage_sub_menu_dd_content_dt.open .mypage_sub_menu_dd_content_dt__name::after {
    display: none;
}

.mypage_sub_menu_dd_content_dd_caution_p {
    margin-top: 20px;
    font-size: 16px;
}

.mypage_table_typeA {
    width: 100%;
}

.mypage_table_typeA_header,
.mypage_table_typeA_content {
    font-size: 16px;
    text-align: center;
}

.mypage_table_typeA_header_th,
.mypage_table_typeA_content_td {
    padding: 8px;
    border: 1px solid #707070;
}

.mypage_table_typeA_header_th {
    text-align: center;
    background-color: #f0f0f0;
}

.mypage_table_typeA_header_th:nth-child(n+2) {
    width: 180px;
}

.mypage_table_typeB {
    width: 100%;
}

.mypage_table_typeB_tr:first-child .mypage_table_typeB_th {
    width: 30%;
}

.mypage_table_typeB_tr:first-child .mypage_table_typeB_td {
    width: 70%;
}

.mypage_table_typeB_th,
.mypage_table_typeB_td {
    padding: 20px;
    border: 1px solid #707070;
    font-size: 16px;
}

.mypage_table_typeB_th {
    text-align: center;
    background-color: #f0f0f0;
}

.mypage_table_typeB_td {
    min-height: 67px;
}

.mypage_table_typeB_td_duo,
.mypage_table_typeB_td_triple {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.mypage_table_typeB_td_duo .mypage_table_typeB_td_dl {
    width: calc((100% - 15px) / 2);
}

.mypage_table_typeB_td_triple .mypage_table_typeB_td_dl {
    width: calc((100% - 30px) / 3);
}

.mypage_table_typeB_td_dl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

.mypage_table_typeB_td_dt {
    white-space: nowrap;
}

@media screen and (max-width: 767px) {
    .mypage_main {
        display: block;
        margin-top: 20px;
    }

    .mypage_main_point {
        width: 100%;
        padding: 15px;
    }

    .mypage_main_point .mypage_btn_duo {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex !important;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-top: 15px;
    }

    .mypage_main_point .mypage_btn_duo .mypage_btn {
        width: calc(50% - 2%);
    }

    .mypage_main_point .mypage_btn_duo .mypage_btn+.mypage_btn {
        margin-top: 0;
    }

    .mypage_main_point .mypage_btn_duo .mypage_btn_link {
        width: 100%;
    }

    .mypage_main_point__name {
        font-size: 14px;
    }

    .mypage_main_point__num {
        margin-top: 7px;
        font-size: 14px;
    }

    .mypage .barcode {
        padding: 15px;
        background-color: #fff;
    }

    .mypage_main_point_box {
        padding: 15px;
    }

    .mypage_main_point_box {
        margin-top: 15px;
    }

    .mypage_main_point_box__current {
        font-size: 16px;
    }

    .mypage_main_point_box_mid {
        margin-top: 10px;
    }

    .mypage_main_point_box__num {
        font-size: 25px;
        line-height: 25px;
    }

    .mypage_main_point_box__point {
        margin-left: 10px;
        font-size: 12px;
    }

    .mypage_main_point_box__caution {
        margin-top: 10px;
        font-size: 12px;
    }

    .mypage_btn+.mypage_btn {
        margin-top: 10px;
    }

    .mypage_btn_link {
        width: 70%;
        height: 100%;
        padding: 10px 20px;
        font-size: 11px;
    }

    .mypage_main_order_status {
        width: 100%;
        margin-top: 15px;
        padding: 15px;
    }

    .mypage_main_order_status_head {
        font-size: 16px;
        line-height: 26px;
    }

    .mypage_main_order_status_box {
        margin-top: 20px;
        padding: 15px 10px;
    }

    .mypage_main_order_status_box.normal .mypage_main_order_status_bar_item {
        width: calc((100% - 10px) / 3);
    }

    .mypage_main_order_status_box.shop .mypage_main_order_status_bar_item {
        width: calc((100% - 15px) / 4);
    }

    .mypage_main_order_status_box_head {
        font-size: 22px;
        line-height: 32px;
    }

    .mypage_main_order_status_bar {
        margin-top: 15px;
    }

    .mypage_main_order_status_bar_item .order_status_display {
        height: 15px;
    }

    .mypage_main_order_status_bar_item .order_status_name {
        margin-top: 5px;
        font-size: 11px;
    }

    .mypage_main_order_status_shipping {
        margin-top: 15px;
    }

    .order_status_confirmation {
        margin-top: 15px;
        font-size: 14px;
        line-height: 28px;
    }

    .mypage_main_btm_menu+.mypage_sub_menu {
        margin-top: 100px;
    }

    .mypage_main_menu {
        margin-top: 30px;
    }

    .mypage_main_menu.pc-view {
        display: none;
    }

    .mypage_main_menu_dl:nth-of-type(n+2) .mypage_main_menu_dt {
        border-top: none;
    }

    .mypage_main_menu_dl+.mypage_main_menu_dl {
        margin-top: 0;
    }

    .mypage_main_menu_dt {
        padding: 10px 30px;
        border: 1px solid #707070;
        font-size: 14px;
        background-position: center left 10px;
        color: #707070;
        background-color: #f0f0f0;
        position: relative;
    }

    .mypage_main_menu_dt::after {
        content: '';
        display: inline-block;
        width: 8px;
        height: 8px;
        margin: auto;
        border-top: 1px solid #707070;
        border-right: 1px solid #707070;
        position: absolute;
        top: 5px;
        right: 11px;
        bottom: 0;
        transform: rotate(-45deg);
    }

    .mypage_main_menu_dt.open::after {
        top: -5px;
        transform: rotate(135deg);
    }

    .mypage_main_menu_dt.purchase {
        padding-left: 45px;
        background-size: 25px;
    }

    .mypage_main_menu_dt.station {
        padding-left: 45px;
        background-size: 25px;
    }

    .mypage_main_menu_dt.member {
        padding-bottom: 10px;
        padding-left: 45px;
        background-size: 25px;
    }

    .mypage_main_menu_dt.other {
        padding-bottom: 10px;
        padding-left: 60px;
        background-size: 40px;
    }

    .mypage_main_menu_list {
        display: block;
        margin-top: 0;
    }

    .mypage_main_menu_dd {
        width: 100%;
        border-right: 1px solid #707070;
        border-bottom: 1px solid #707070;
        border-left: 1px solid #707070;
    }

    .mypage_main_menu_dd:nth-child(n+2) {
        margin-left: 0;
    }

    .mypage_main_menu_dd:nth-child(n+4) {
        margin-top: 0;
    }

    .mypage_main_menu_dd_link {
        display: block;
        padding: 10px;
        font-size: 14px;
    }

    .mypage_sub_menu {
        margin-top: 30px;
    }

    .mypage_sub_menu+.mypage_sub_menu {
        margin-top: 100px;
    }

    .mypage_sub_menu_dt {
        margin-bottom: 15px;
        padding-bottom: 5px;
        font-size: 16px;
        text-align: center;
    }

    .mypage_sub_menu_dt.coupon .mypage_sub_menu_dt__name {
        padding-left: 60px;
        background-size: 50px;
    }

    .mypage_sub_menu_dt.mysize .mypage_sub_menu_dt__name {
        padding-left: 60px;
    }

    .mypage_sub_menu_dd+.mypage_sub_menu_dd {
        margin-top: 20px;
    }

    .mypage_sub_menu_dd_content_dt {
        text-align: center;
    }

    .mypage_sub_menu_dd_content_dt__name {
        padding-right: 25px;
        padding-left: 0;
        font-size: 16px;
    }

    .mypage_sub_menu_dd_content_dt__name::before {
        width: 8px;
        height: 8px;
        border-top: 1px solid #707070;
        border-right: 1px solid #707070;
        top: -5px;
        right: 5px;
        left: auto;
        background-color: transparent;
        transform: rotate(135deg);
    }

    .mypage_sub_menu_dd_content_dt.open .mypage_sub_menu_dd_content_dt__name::before {
        top: 5px;
        transform: rotate(-45deg);
    }

    .mypage_sub_menu_dd_content_dt__name::after {
        display: none;
    }

    .mypage_sub_menu_dd_content_dd_caution_p {
        margin-top: 15px;
        font-size: 12px;
    }

    .mypage_table_typeA.sp-view {
        display: table !important;
    }

    .mypage_table_typeA_header,
    .mypage_table_typeA_content {
        font-size: 12px;
    }

    .mypage_table_typeA_header:first-child .mypage_table_typeA_header_th:first-child {
        width: 70%;
    }

    .mypage_table_typeA_header:first-child .mypage_table_typeA_header_th:nth-child(2) {
        width: 30%;
    }

    .mypage_table_typeA_header:nth-child(2) .mypage_table_typeA_header_th {
        width: calc(100% / 3);
    }

    .mypage_table_typeB_tr {
        display: flex;
        flex-direction: column;
    }

    .mypage_table_typeB_tr:first-child .mypage_table_typeB_th,
    .mypage_table_typeB_tr:first-child .mypage_table_typeB_td {
        width: 100%;
    }

    .mypage_table_typeB_tr:nth-child(n+2) .mypage_table_typeB_th {
        border-top: none;
    }

    .mypage_table_typeB_th {
        border-bottom: none;
    }

    .mypage_table_typeB_th,
    .mypage_table_typeB_td {
        padding: 8px;
        font-size: 12px;
    }

    .mypage_table_typeB_td {
        min-height: 37px;
    }

    .mypage_table_typeB_td_dl {
        justify-content: center;
    }

    .mypage_table_typeB_td_duo .mypage_table_typeB_td_dl,
    .mypage_table_typeB_td_triple .mypage_table_typeB_td_dl {
        justify-content: flex-start;
    }

    .mypage_table_typeB_td_duo .mypage_table_typeB_td_dl {
        width: calc((100% - 10px) / 2);
    }

    .mypage_table_typeB_td_triple .mypage_table_typeB_td_dl {
        width: calc((100% - 20px) / 3);
    }
}

/* end mypage */

#products-sub-category .category-list {
    gap: 15px;
    padding-bottom: 0;
}

#products-sub-category .category-list li {
    width: calc((100% - 45px) / 4);
    margin: 0;
}

#products-sub-category .category-list-item-link {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 20px 30px 20px 20px;
    background-color: #f2f2f2;
    position: relative;
}

#products-sub-category .category-list-item-link::after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    margin: auto;
    border-top: 2px solid #bfbfbf;
    border-right: 2px solid #bfbfbf;
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    transform: rotate(45deg);
}

@media screen and (max-width: 767px) {
    #products-sub-category .category-list {
        padding-right: 0;
        padding-left: 0;
    }

    #products-sub-category .category-list li {
        width: calc((100% - 15px) / 2);
    }

    #products-sub-category .category-list-item-link {
        padding: 15px 30px 15px 15px;
    }

    #products-sub-category .category-list-item-link::after {
        width: 8px;
        height: 8px;
    }
}

/* SP / 絞り込みボタン実装 */
.filter-layer {
    display: none;
}

.filter-layer-btns {
    display: none;
}

@media screen and (max-width: 767px) {
    .is-filter-ttl,
    .is-filter-body,
    .is-category-ttl,
    .is-category-body,
    .leftcolumn-btn {
        display: none;
    }

    #products-list-header+#leftcolumn {
        margin-bottom: 0;
    }

    .fixed-filter-button {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 75px;
        height: 75px;
        border-radius: 100%;
        background-color: #04256d;
        position: fixed;
        right: 10px;
        bottom: 80px;
        z-index: 301; /* ページトップと同じ */
    }

    .fixed-filter-button-icon {
        width: 30px;
        margin: auto;
        position: absolute;
        top: 8px;
        right: 0;
        left: 0;
    }

    .fixed-filter-button-text {
        min-width: 85px;
        margin: auto;
        padding: 2px 0 4px;
        border: 1px solid #04256d;
        font-size: 18px;
        font-weight: bold;
        line-height: 1;
        text-align: center;
        color: #04256d;
        background-color: #fff;
        position: absolute;
        bottom: 5px;
        left: 50%;
        transform: translateX(-50%)
    }

    .filter-layer {
        display: block;
        width: 100%;
        height: 100vh;
        background-color: #fff;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 2000;
        transition: transform 0.3s ease-in-out;
        transform: translateY(-100%);
        pointer-events: auto;
        overflow: auto;
    }

    .filter-layer.open {
        transform: translateY(0);
    }

    .filter-layer-top {
        display: flex;
        align-items: center;
        gap: 5px;
        padding: 15px 5px 15px 15px;
    }

    .filter-layer-heading {
        width: calc(100% - 38px - 5px);
        font-size: 24px;
        color: #707070;
    }

    .filter-layer-close {
        width: 38px;
        height: 38px;
        padding-top: 28px;
        font-size: 9px;
        font-weight: 400;
        line-height: 1.1;
        text-align: center;
        text-decoration: none;
        font-family: 'Lato', sans-serif;
        position: relative;
    }

    .filter-layer-close::before,
    .filter-layer-close::after {
        content: '';
        display: block;
        width: 80%;
        height: 2px;
        margin: auto;
        background-color: #707070;
        position: absolute;
        top: -10px;
        right: 0;
        bottom: 0;
        left: 0;
    }

    .filter-layer-close::before {
        transform: rotate(45deg);
    }

    .filter-layer-close::after {
        transform: rotate(-45deg);
    }

    .filter-layer-btns {
        display: flex;
        gap: 10px;
        align-items: center;
        justify-content: center;
        margin-top: 30px;
        padding: 0 15px;
    }

    .filter-layer-reset {
        width: 35%;
        height: 3em;
        padding: 0 5px;
        border: 1px solid #04256d;
        border-radius: 5px;
        font-size: 14px;
        color: #04256d;
        background-color: #fff;
    }

    #leftcolumn .filter-layer .filter-layer-submit {
        width: calc(100% - 35% - 10px);
        min-height: 42px;
        margin: 0;
        padding: 0 5px;
        border-radius: 5px;
        font-size: 14px;
        color: #fff;
        background-color: #04256d;
    }

    .block-leftcolumn-mysize {
        border-top: 1px solid #e5e5e5;
    }

    .block-leftcolumn-mysize-title {
        display: block;
        padding: 15px 30px 15px 15px;
        font-size: 14px;
        font-weight: 500;
        color: #333;
        position: relative;
    }

    .block-leftcolumn-mysize-title::after {
        content: "";
        width: 9px;
        height: 9px;
        transform: none;
        background-image: url("/packages/website/design/perfects/ja/pc/images/common/icon_plus.svg");
        background-repeat: no-repeat;
        background-size: cover;
        position: absolute;
        top: 50%;
        right: 20px;
        transform: translateY(-50%);
    }

    .block-leftcolumn-mysize-title.open::after {
        background-image: url("/packages/website/design/perfects/ja/pc/images/common/icon_minus.svg");
    }

    .block-leftcolumn-mysize-body {
        display: none;
    }

    .filter-layer .leftcolumn__refine-list {
        /* リスト */
        background-color: #fff;
    }

    .filter-layer .leftcolumn__refine-list>li:first-of-type {
        border-top: 1px solid #e5e5e5;
    }

    .filter-layer .leftcolumn__refine-list>li dl dt {
        padding-right: 30px;
        padding-left: 15px;
    }

    .filter-layer .leftcolumn__refine-list>li dl dt.leftcolumn-accordion-btn::after {
        margin-top: 0;
        background-image: url("/packages/website/design/perfects/ja/pc/images/common/icon_plus.svg");
        background-size: cover;
        position: absolute;
        top: 50%;
        right: 20px;
        transform: translateY(-50%);
    }

    .filter-layer .leftcolumn__refine-list>li dl dt.leftcolumn-accordion-btn.open::after {
        background-image: url("/packages/website/design/perfects/ja/pc/images/common/icon_minus.svg");
    }

    .filter-layer .unit-toggleColor {
        background-color: #fff;
    }

    .filter-layer .custom-control.custom-checkbox .custom-control-indicator {
        margin-top: 0;
        right: 15px;
        transform: translateY(-50%);
    }

    .filter-layer .leftcolumn__refine-list>li dl dd ol li .custom-control-description {
        padding-right: 45px;
        padding-left: 30px;
    }

    .filter-layer .leftcolumn-value {
        padding-right: 15px;
        padding-bottom: 15px;
    }

    .filter-layer #leftcolumnValue,
    .filter-layer input.leftcolumn-value-clear {
        display: none;
    }

    .filter-layer .leftcolumn-value ~ .alert {
        padding: 0 15px;
        margin-top: 0;
        margin-bottom: 5px;
    }

    .filter-layer .leftcolumn-value ~ .alert:empty {
        display: none;
    }

    .filter-layer .leftcolumn-value table {
        width: 100%;
        margin-top: 0;
    }

    .filter-layer .leftcolumn-value table tr {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: 20px;
    }

    .filter-layer .products-awoo-list {
        margin-top: 30px;
        padding: 0;
    }

    .filter-layer .products-awoo-list dl dt {
        padding: 0 15px;
    }

    .filter-layer .products-awoo-list dl dd {
        padding: 0 15px;
    }
}

/* カテゴリー / ランキング */
.products-ranking-section {
    margin-bottom: 70px;
}
.products-ranking-section .slick-dots li {
    margin: 0 8px;
}
.products-ranking-section .slick-dots li button {
    padding: 5px;
}
.products-ranking-section .item-price .price-text {
    font-size: 14px;
    font-weight: bold;
}
.products-ranking-section .ttl-type01 {
    margin-bottom: 10px;
    text-align: left;
}
.products-ranking-section .ttl-type01 strong {
    margin-top: 0;
    padding: 0;
    font-size: 14px;
    font-weight: 700;
}
.products-ranking-section .ttl-type01 strong::before,
.products-ranking-section .ttl-type01 strong::after {
    display: none;
}
.products-ranking-list-wrap {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 60px;
    overflow: hidden;
}
.products-ranking-list {
    display: none;
    padding-bottom: 80px;
    overflow: visible;
}
.products-ranking-list.slick-initialized {
    display: block;
}
.products-ranking-list .slick-list {
    overflow: visible;
}
.products-ranking-list-item {
    margin: 0 5px;
    position: relative;
}
.products-ranking-list-item-pic--img {
    vertical-align: top;
}
.products-ranking-list-item .products-ranking-list-item-rank {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 18px;
    height: 18px;
    font-size: 14px;
    color: #fff;
    background-color: #898d98;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
.products-ranking-list-item-rank.--rank-1 {
    background-color: #c8a954;
}
.products-ranking-list-item-rank.--rank-2 {
    background-color: #779fc0;
}
.products-ranking-list-item-rank.--rank-3 {
    background-color: #c87f65;
}
.products-ranking-list .slick-dots li button {
    background: none;
    border: 2px solid #000;
}
.products-ranking-list .slick-dots li button:hover,
.products-ranking-list .slick-dots li.slick-active button {
    background: #000;
    border: 2px solid #000;
}
.products-ranking-list .slick-arrow {
    width: 50px;
    height: 50px;
    border-radius: 100%;
    background-color: rgba(233, 233, 236, 0.5);
    background-image: none;
}
.products-ranking-list .slick-arrow::before {
    content: '';
    width: 8px;
    height: 8px;
    margin: auto;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: rotate(45deg);
}
.products-ranking-list .slick-prev {
    left: -85px;
}
.products-ranking-list .slick-prev::before {
    right: -25px;
    transform: rotate(-135deg);
}
.products-ranking-list .slick-next {
    right: -85px;
}
.products-ranking-list .slick-next::before {
    left: -25px;
}
.products-ranking-list-item-name {
    display: -webkit-box;
    width: 100%;
    height: 38px;
    margin-top: 15px;
    font-size: 14px;
    line-height: 1.4;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-break: break-all;
    overflow: hidden;
}
.products-ranking-list-item-price {
    margin-top: 5px;
}

@media screen and (max-width: 767px) {
    .products-ranking-section {
        padding: 0 15px;
    }
    .products-ranking-section .item-price del .price-text {
        font-size: 12px;
    }
    .products-ranking-section .item-price .price-text {
        font-size: 11px;
    }
    .products-ranking-section .ttl-type01 strong {
        font-size: 16px;
    }
    .products-ranking-list-wrap {
        max-width: none;
        padding: 0;
        overflow-x: auto;
    }
    .products-ranking-list {
        display: flex;
        gap: 10px;
        padding-bottom: 10px;
    }
    .products-ranking-list-item {
        max-width: calc(50% - 5px);
        min-width: 150px;
        margin: 0;
        flex-grow: 1;
}
}
/* end カテゴリー / ランキング */

/* 商品詳細 発送予定日文言 */
.item-detail-hassou {
    margin-top: 15px;
}
.item-detail-hassou.--no-icon {
    margin-bottom: 25px;
}
.item-detail-hassou.--no-icon .item-detail-hassou-list-item {
    padding-left: 0;
}
.item-detail-hassou-ttl {
    font-size: 14px;
    font-weight: 700;
}
.item-detail-hassou-body {
    margin-top: 10px;
}
.item-detail-hassou-list,
.item-detail-typechoice dl dd ul.item-detail-hassou-list {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin: 0;
}
.item-detail-hassou-list-item,
.item-detail-typechoice dl dd .item-detail-hassou-list .item-detail-hassou-list-item {
    display: flex;
    align-items: center;
    width: calc((100% - 15px) / 2);
    margin: 0;
    padding: 0 0 0 30px;
    border: none;
    font-size: 12px;
    line-height: normal;
    text-align: left;
}
.item-detail-hassou-list-item {
    padding-left: 30px;
    background-repeat: no-repeat;
    background-position: center left;
    background-size: 20px;
}
.item-detail-hassou-list-item.--touzitsu {
    background-image: url("../images/common/icon_hassouTouzitsu_02.svg");
}
.item-detail-hassou-list-item.--yokuzitsu {
    background-image: url("../images/common/icon_hassouYokuzitsu_02.svg");
}
.item-detail-hassou-list-item.--4day {
    background-image: url("../images/common/icon_hassou4days_02.svg");
}
.item-detail-hassou-list-item.--5day {
    background-image: url("../images/common/icon_hassou5days_02.svg");
}
.item-detail-hassou-precautions-list,
.item-detail-typechoice dl dd ul.item-detail-hassou-precautions-list {
    display: block;
    margin: 15px 0 0 0;
}
.item-detail-hassou-precautions-list-item,
.item-detail-typechoice dl dd .item-detail-hassou-precautions-list li.item-detail-hassou-precautions-list-item {
    width: 100%;
    margin: 0;
    border: 0;
    font-size: 12px;
    text-align: left;
}
.item-detail-hassou-precautions-list-item + .item-detail-hassou-precautions-list-item {
    margin-top: 5px;
}

@media screen and (max-width: 767px) {
    .item-detail-hassou {
        margin-bottom: 20px;
    }
    .item-detail-hassou.--no-icon .item-detail-hassou-list {
        gap: 0;
    }
    .item-detail-hassou-ttl {
        padding-right: 30px;
        position: relative;
    }
    .item-detail-hassou-ttl::before {
        content: '';
        display: inline-block;
        width: 12px;
        height: 8px;
        margin: auto;
        background-image: url("../images/common/arrow_btm.svg");
        background-size: 12px 8px;
        position: absolute;
        top: 0;
        right: 10px;
        bottom: 0;
    }
    .item-detail-hassou-ttl.open::before {
        transform: rotate(180deg);
    }
    .item-detail-hassou-list,
    .item-detail-typechoice .item-detail-hassou-list {
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        gap: 10px;
    }
    .item-detail-hassou-list-item,
    .item-detail-typechoice .item-detail-hassou-list .item-detail-hassou-list-item {
        width: 100%;
        min-height: 20px;
    }
    .item-detail-hassou-precautions-list,
    .item-detail-typechoice .item-detail-hassou-precautions-list {
        display: block;
        margin: 10px 0 0 0;
    }
    .item-detail-hassou-precautions-list-item,
    .item-detail-typechoice .item-detail-hassou-precautions-list .item-detail-hassou-precautions-list-item {
        width: 100%;
        margin: 0;
        border: 0;
        font-size: 12px;
        text-align: left;
    }
    .item-detail-hassou-precautions-list-item + .item-detail-hassou-precautions-list-item {
        margin-top: 5px;
    }
}
/* end 商品詳細 発送予定日文言 */

/* 商品詳細 カート */
.cart-top-flex {
    display: flex;
    align-items: center;
    gap: 40px;
    margin-top: 100px;
}
.wrap-block + .cart-top-flex {
    margin-top: 30px;
}
.cart-top-flex-left {
    width: calc(100% - 400px - 40px);
}
.cart-top-flex-right {
    width: 400px;
}
.cart-top-shipping-text {
    font-size: 16px;
}
.cart-top-shipping-text-date {
    font-weight: bold;
}
.cart-top-shipping-precautions {
    font-size: 12px;
}

@media screen and (max-width: 767px) {
    .cart-top-flex {
        display: block;
        margin-top: 50px;
        padding: 0 10px;
    }
    .wrap-block + .cart-top-flex {
        margin-top: 15px;
    }
    .cart-top-flex-left {
        width: 100%;
        margin-bottom: 20px;
    }
    .cart-top-flex-right {
        width: 100%;
    }
    .cart-top-shipping-text {
        font-size: 13px;
    }
}
/* end 商品詳細 カート */

/* 商品詳細 / footer_fixed_cart */
.footer_cart_fixed #page-top {
    bottom: 135px;
}

.footer_fixed_cart {
    display: none;
    width: 100%;
    padding: 0 15px;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.7);
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 1000;
}

.footer_fixed_cart_inr {
    max-width: 1240px;
    width: 100%;
    height: 60px;
    margin-right: auto;
    margin-left: auto;
    position: relative;
}

.footer_fixed_cart_name {
    font-size: 18px;
    position: absolute;
    top: 25px;
    left: 0;
}

.footer_fixed_cart_revico {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.footer_fixed_cart_revico .revico-star-block--title {
    font-size: 40px;
    font-weight: bold;
}

.footer_fixed_cart_revico .revico-star-block--total {
    margin-top: 10px;
    color: #fff;
}

.footer_fixed_cart_revico .revico-read-more-review {
    display: none;
}

.footer_fixed_cart_price {
    position: absolute;
    top: 50%;
    right: 190px;
    transform: translateY(-50%);
}

.footer_fixed_cart_price__span {
    font-size: 14px;
    text-align: right;
}

.footer_fixed_cart_price__span_num {
    font-size: 24px;
}

.footer_fixed_cart_btn {
    width: 160px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.footer_fixed_cart_btn_link {
    display: block;
    width: 100%;
    padding: 6px 15px 8px;
    border-radius: 100px;
    font-size: 15px;
    text-align: center;
    color: #fff;
    background-color: #f17070;
}

@media screen and (max-width: 1000px) {
    .footer_fixed_cart_name {
        font-size: 14px;
    }

    .footer_fixed_cart_price {
        right: 300px;
    }
}

@media screen and (max-width: 767px) {
    .footer_cart_fixed #page-top {
        bottom: 90px;
    }

    .footer_fixed_cart {
        padding: 10px;
    }

    .footer_fixed_cart_inr {
        display: flex;
        align-items: center;
        gap: 10px;
        max-width: 100%;
        height: auto;
    }

    .footer_fixed_cart_name,
    .footer_fixed_cart_revico {
        display: none;
    }

    .footer_fixed_cart_price {
        width: 60%;
        position: static;
        transform: translateY(0);
    }

    .footer_fixed_cart_price__span {
        display: block;
        white-space: nowrap;
    }

    .footer_fixed_cart_price__span_num {
        font-size: 20px;
    }

    .footer_fixed_cart_btn {
        width: calc(40% - 10px);
        position: static;
        transform: translateY(0);
    }

    .footer_fixed_cart_btn_link {
        padding: 10px;
        font-size: 12px;
    }
}

@media screen and (max-width: 320px) {
    .footer_fixed_cart_price__span {
        font-size: 12px;
    }

    .footer_fixed_cart_price__span_num {
        font-size: 16px;
    }

    .footer_fixed_cart_btn_link {
        padding: 8px;
        font-size: 10px;
    }
}

/* 商品詳細 / product_detail_tab */
.product_detail_tab {
    display: flex;
    width: 1240px;
    margin-right: auto;
    margin-left: auto;
}

.product_detail_tab_item {
    width: 100%;
}

.product_detail_tab_item+.product_detail_tab_item {
    border-left: 1px solid #fff;
}

.product_detail_tab_item_link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 7px 30px;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    background-color: #04256d;
    position: relative;
}

.product_detail_tab_item_link:link,
.product_detail_tab_item_link:visited {
    color: #fff;
}

.product_detail_tab_item_link::after {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    margin: auto;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    transform: rotate(135deg);
}

@media screen and (max-width: 767px) {
    .product_detail_tab {
        width: auto;
        margin-right: -10px;
        margin-left: -10px;
    }

    .product_detail_tab.fixed {
        margin-right: auto;
        margin-left: auto;
    }

    .product_detail_tab_item_link {
        padding: 10px;
        font-size: 10px;
    }

    .product_detail_tab_item_link::after {
        width: 6px;
        height: 6px;
        right: 7px;
    }
}

/* 商品詳細 / productDetailSizeChart */
.productDetailSizeChart {
    margin: 75px 0;
}

.productDetailSizeChart__img_wrap {
    text-align: center;
}

.productDetailSizeChart__no_image {
    font-size: 14px;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .productDetailSizeChart {
        margin: 40px 0;
    }
}