.ec-layoutRole__contentBottom {
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
    font-size: 1pc;
    line-height: 1.4;
    color: #525263;
    -webkit-text-size-adjust: 100%;
    width: 100%;
    max-width: 1130px
}

.ec-headerRole .ec-headerTitle img {
    width: auto;
    display: block;
    margin: 0 auto
}

@media only screen and (min-width:768px) {
    .ec-headerNaviRole .ec-headerNaviRole__search {
        display: block !important
    }
}

@media only screen and (max-width:767px) {
    /*.ec-drawerRole .ec-headerSearch {*/
    /*    background-color: #fff;*/
    /*    border: 0*/
    /*}*/

    .ec-drawerRole .ec-headerSearch .ec-headerSearch__category {
        display: none
    }

    .ec-drawerRole .ec-headerSearch .ec-headerSearch__keyword {
        border-radius: 18px
    }

    .ec-drawerRole .ec-headerCategoryArea .ec-headerCategoryArea__heading {
        border: 0;
        background-color: #fff
    }

    .ec-drawerRole .ec-headerCategoryArea .ec-headerCategoryArea__heading .ec-secHeading__en {
        font-size: 20px
    }

    .ec-drawerRole .ec-headerCategoryArea .ec-headerCategoryArea__heading .ec-secHeading__ja {
        font-size: 14px
    }

    .ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav .list-group-item:first-child {
        border-bottom: 0;
        border-left: 0;
        border-right: 0;
        border-radius: 0
    }

    .ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav>li a {
        font-size: 14px
    }

    .ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav>li a,
    .ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav>li a:hover {
        background-color: #f4fbff;
        background-image: url(/html/template/default/assets/img/top/navArrow.png);
        background-position: center right 18px;
        background-repeat: no-repeat
    }

    .ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav>li ul li a,
    .ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav>li ul li a:hover {
        background-color: #fff;
        border-bottom: 1px dotted #ccc;
        background-image: url(/html/template/default/assets/img/top/navArrow_child.png);
        background-position: center left 18px;
        background-repeat: no-repeat;
        padding-left: 33px
    }
}

@media only screen and (max-width:767px) {
    .ec-footerRole {
        margin-top: 75pt
    }

    .ec-footerNavi .ec-footerNavi__link a {
        font-size: 18px
    }
}

.ec-secHeading .ec-secHeading__en {
    font-size: 24px
}

.ec-secHeading .ec-secHeading__ja {
    font-size: 14px
}

@media only screen and (max-width:767px) {
    .ec-secHeading {
        text-align: center
    }

    .ec-secHeading .ec-secHeading__en {
        display: block;
        font-size: 30px
    }

    .ec-secHeading .ec-secHeading__ja {
        display: block;
        font-size: 18px
    }
}

.ec-secHeading--tandem .ec-secHeading__en {
    font-size: 24px;
    line-height: 1
}

.ec-secHeading--tandem .ec-secHeading__en small {
    font-size: 9pt
}

.ec-secHeading--tandem .ec-secHeading__ja {
    font-size: 14px;
    margin-top: 26px;
    margin-bottom: 46px
}

.ec-secHeading--tandem .ec-inlineBtn--top {
    width: 180px;
    font-weight: 400
}

.ec-newItemRole .ec-newItemRole__listItem .ec-newItemRole__listItemImage {
    border: solid 1px #ababab;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 250px
}

.ec-newItemRole .ec-newItemRole__listItem .ec-newItemRole__listItemImage img {
    width: auto;
    max-height: 100%
}

.ec-newItemRole .ec-newItemRole__listItem .ec-newItemRole__listItemAuthor {
    margin: 10px 0;
    font-size: 9pt;
    color: #000
}

@media only screen and (max-width:767px) {
    .ec-newItemRole .ec-secHeading--tandem {
        margin-top: 0
    }

    .ec-newItemRole .ec-secHeading--tandem .ec-secHeading__en {
        font-size: 30px
    }

    .ec-newItemRole .ec-secHeading--tandem .ec-secHeading__en small {
        font-size: 18px
    }

    .ec-newItemRole .ec-secHeading--tandem .ec-secHeading__ja {
        font-size: 18px;
        margin-top: 10px;
        margin-bottom: 20px
    }

    .ec-newItemRole .ec-secHeading--tandem .ec-inlineBtn--top {
        font-weight: 400;
        font-size: 18px
    }

    .ec-newItemRole .ec-newItemRole__listItemHeading {
        margin-top: 0
    }

    .ec-newItemRole .ec-newItemRole__listItem {
        width: 48%
    }

    .ec-newItemRole .ec-newItemRole__listItem:nth-child(1) {
        width: 100%
    }

    .ec-newItemRole .ec-newItemRole__listItem .ec-newItemRole__listItemAuthor,
    .ec-newItemRole .ec-newItemRole__listItem .ec-newItemRole__listItemImage,
    .ec-newItemRole .ec-newItemRole__listItem .ec-newItemRole__listItemPrice,
    .ec-newItemRole .ec-newItemRole__listItem .ec-newItemRole__listItemTitle {
        width: 68.7%;
        margin: 0 auto
    }

    .ec-newItemRole .ec-newItemRole__listItem .ec-newItemRole__listItemImage {
        height: 200px
    }

    .ec-newItemRole .ec-newItemRole__listItem .ec-newItemRole__listItemTitle {
        font-size: 9pt;
        margin-top: 18px
    }

    .ec-newItemRole .ec-newItemRole__listItem .ec-newItemRole__listItemPrice {
        font-size: 1pc
    }
}

@media only screen and (max-width:414px) {
    .ec-newItemRole .ec-newItemRole__listItem {
        width: 100%
    }
}

.ec-categoryRole .ec-category {
    list-style: none;
    margin-left: -30px;
    padding: 0;
    font-size: 0
}

.ec-categoryRole .ec-category li {
    display: inline-block;
    width: 245px;
    margin-left: 30px
}

.ec-categoryRole .ec-category li:nth-child(n+4) {
    margin-top: 30px
}

.ec-categoryRole .ec-category li a {
    background-color: #000;
    background-image: url(/html/template/default/assets/img/top/categoryArrow.png);
    background-position: center right 9pt;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    height: 45px
}

.ec-categoryRole .ec-category li a.category_2 {
    background-color: #cda313
}

.ec-categoryRole .ec-category li a.category_5 {
    background-color: #a7a91b
}

.ec-categoryRole .ec-category li a.category_1 {
    background-color: #348fbe
}

.ec-categoryRole .ec-category li a.category_13 {
    background-color: #ac431e
}

.ec-categoryRole .ec-category li a.category_12 {
    background-color: #3bb24b
}

.ec-categoryRole .ec-category li a.category_14 {
    background-color: #126e88
}

.ec-categoryRole .ec-category li a.category_15 {
    background-color: #da6186
}

@media only screen and (max-width:767px) {
    .ec-categoryRole .ec-category {
        margin: 0;
        display: flex;
        flex-flow: wrap;
        justify-content: space-between
    }

    .ec-categoryRole .ec-category li {
        width: 47.5%;
        margin: 0 !important
    }

    .ec-categoryRole .ec-category li:nth-child(n+3) {
        margin-top: 30px !important
    }

    .ec-categoryRole .ec-category li a {
        height: 65px;
        font-size: 14px
    }
}

@media only screen and (max-width:414px) {
    .ec-categoryRole .ec-category li {
        width: 100%
    }

    .ec-categoryRole .ec-category li:nth-child(n+2) {
        margin-top: 15px !important
    }

    .ec-categoryRole .ec-category li a {
        height: 50px;
        line-height: 50px
    }
}

.ec-aboutRole {
    margin-top: 5pc
}

.ec-aboutRole .ec-role {
    display: flex
}

.ec-aboutRole .ec-secHeading {
    flex: 1
}

.ec-aboutRole .ec-secHeading p {
    margin-top: 44px;
    font-size: 14px;
    line-height: 2.57;
    text-align: left
}

.ec-aboutRole .ec-secPhoto {
    width: 491px;
    margin-left: 55px
}

.ec-aboutRole .ec-inlineBtn--top {
    margin-top: 57px;
    width: 300px
}

@media only screen and (max-width:767px) {
    .ec-aboutRole .ec-role {
        display: block
    }

    .ec-aboutRole .ec-secHeading p {
        font-size: 1pc;
        line-height: 2.25;
        margin-top: 18px
    }

    .ec-aboutRole .ec-inlineBtn--top {
        margin-top: 40px;
        height: 65px;
        line-height: 65px;
        padding: 0;
        font-size: 20px
    }

    .ec-aboutRole .ec-secPhoto {
        width: 100%;
        margin: 40px 0 5pc;
        text-align: center
    }

    .ec-aboutRole .ec-secPhoto img {
        width: auto
    }
}

.ec-newsRole .ec-newsRole .ec-newsRole__newsItem {
    background: #fff;
    border: 0 0 !important;
    padding: 40px 30px
}

.ec-newsRole .ec-newsRole__newsItem~.ec-newsRole__newsItem {
    margin-top: 9pt
}

@media only screen and (max-width:767px) {
    .ec-newsRole .ec-role:nth-child(2) {
        padding: 0
    }

    .ec-newsRole
}

.ec-bannerRole {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px;
}

.ec-bannerRole a {
    width: 31.5%
}

.ec-bannerRole a img {
    width: 100%
}

@media only screen and (max-width:767px) {
    .ec-bannerRole {
        flex-flow: wrap;
        margin-top: 30px
    }

    .ec-bannerRole a {
        font-size: 0;
        width: 80%;
        margin: 15px auto
    }

    .ec-bannerRole img {
        max-width: 100%
    }
}

.ec-layoutRole .ec-layoutRole__contents {
    padding-left: 20px;
    max-width: 1130px
}

@media only screen and (min-width:768px) {
    .ec-layoutRole .ec-layoutRole__mainWithColumn .ec-bannerRole {
        padding-left: 20px;
        padding-right: 20px
    }
}

@media only screen and (max-width:767px) {
    .ec-layoutRole .ec-layoutRole__contents {
        padding-left: 0
    }
}

.ec-leftCategoryArea__heading {
    margin-top: 30px
}

.ec-leftCategoryArea__heading .ec-secHeading__en {
    font-size: 20px;
    font-weight: 700;
    color: #000
}

.ec-leftCategoryArea__heading .ec-secHeading__ja {
    font-size: 14px
}

.ec-leftCategoryArea__body {
    margin-top: 30px
}

.ec-leftCategoryArea__body .list-group {
    border-top: solid 1px #ababab;
    margin: 0
}

.ec-leftCategoryArea__body .list-group .list-group-item {
    border: 0;
    border-radius: 0;
    background-color: #f4fbff;
    margin: 0;
    padding: 0
}

.ec-leftCategoryArea__body .list-group .list-group-item a {
    color: #000;
    border-bottom: solid 1px #ababab;
    display: block;
    padding: 10px 15px;
    background-image: url(/html/template/default/assets/img/top/navArrow.png);
    background-position: center right 18px;
    background-repeat: no-repeat
}

.ec-leftCategoryArea__body .list-group .list-group-item .list-group {
    border-top: 0
}

.ec-leftCategoryArea__body .list-group .list-group-item .list-group .list-group-item {
    background-color: #fff
}

.ec-leftCategoryArea__body .list-group .list-group-item .list-group .list-group-item a {
    border-bottom: 1px dotted #ababab;
    background-image: url(/html/template/default/assets/img/top/navArrow_child.png);
    background-position: center left 18px;
    background-repeat: no-repeat;
    padding-left: 33px
}

.ec-leftCategoryArea__body .list-group .list-group-item .list-group .list-group-item .list-group {
    border-top: 0
}

.ec-leftCategoryArea__body .list-group .list-group-item .list-group .list-group-item .list-group .list-group-item {
    background-color: #fff
}

.ec-leftCategoryArea__body .list-group .list-group-item .list-group .list-group-item .list-group .list-group-item a {
    border-bottom: 1px dotted #ababab;
    background-image: url(/html/template/default/assets/img/top/navArrow_child.png);
    background-position: center left 33px;
    background-repeat: no-repeat;
    padding-left: 51px
}

.ec-Search__keyword {
    /*margin-top: 50px;*/
    position: relative;
    color: #525263;
    border: 1px solid #ccc;
    background-color: #f6f6f6;
    border-radius: 50px
}

.ec-Search__keyword input {
    width: 100%;
    height: 34px;
    font-size: 1.2pc;
    font-size: 1.2rem;
    border: 0;
    padding: .5em 50px .5em 1em;
    box-shadow: none;
    background: 0;
    box-sizing: border-box;
    margin-bottom: 0
}

.ec-Search__keyword .ec-Search__keywordBtn {
    border: 0;
    background: 0;
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-55%);
    display: block;
    white-space: nowrap;
    z-index: 1
}

.ec-Search__keyword .ec-Search__keywordBtn .ec-icon {
    width: 22px;
    height: 22px
}

.ec-blockBtn--action {
    background-color: #cb3526
}

.ec-blockBtn--action[disabled],
.ec-blockBtn--action[disabled]:hover {
    background-color: #525263;
    border-color: #525263
}

.ec-shelfGrid .ec-shelfGrid__item p {
    font-size: 9pt;
    line-height: 1.7
}

.ec-shelfGrid .ec-shelfGrid__item p:nth-child(2) {
    font-size: 14px;
    font-weight: 700;
    color: #000
}

.ec-shelfGrid .ec-shelfGrid__item a {
    margin-bottom: 15px
}

.ec-shelfGrid .ec-shelfGrid__item a:hover p:nth-child(n+2) {
    text-decoration: underline
}

.ec-shelfGrid .ec-shelfGrid__item .ec-productRole__btn {
    margin-bottom: 0
}

.ec-productRole+.ec-layoutRole__mainBottom .ec-bannerRole {
    margin-top: 0
}

.ec-productRole .ec-productRole__description a {
    word-break: break-all
}

@media(min-width:768px) {
    .ec-productRole .ec-productRole__title .ec-headingTitle {
        font-size: 26px
    }

    .ec-productRole .ec-productRole__btn {
        margin: 10px 0 0
    }

    .ec-grid2 .ec-grid2__cell:nth-child(1) {
        width: 300px
    }

    .ec-grid2 .ec-grid2__cell:nth-child(2) {
        width: calc(100% - 300px)
    }

    .ec-headingTitle {
        font-size: 20px;
        margin: 15px 0
    }

    .ec-shelfGrid .ec-shelfGrid__item div.ec-price span {
        font-size: 9pt;
        font-weight: 400
    }

    .ec-shelfGrid .ec-shelfGrid__item a:hover div.ec-price span {
        text-decoration: underline
    }
}

.ec-mypageRole #periodic_nav {
    margin-top: 50px
}

.ec-mypageRole .ec-pageHeader h1 {
    text-align: center;
    font-size: 20px;
    color: #000
}

.ec-mypageRole .ec-pageHeader h1 img {
    width: auto;
    margin-right: 18px;
    vertical-align: bottom
}

.ec-mypageRole .ec-welcomeMsg {
    border: 0;
    margin: 50px 0 0;
    padding: 0
}

.ec-mypageRole .ec-welcomeMsg p {
    font-size: 1pc
}

.ec-mypageRole .ec-welcomeMsg strong {
    font-size: 24px;
    color: #ff4911;
    font-weight: 700
}

.ec-historyRole .ec-imageGrid .ec-imageGrid__content,
.ec-orderRole .ec-imageGrid .ec-imageGrid__content {
    padding-left: 20px
}

.ec-orderRole .ec-imageGrid .ec-imageGrid__content #read_book,
.ec-orderRole .ec-imageGrid .ec-imageGrid__content .read_book {
    width: 175px;
    margin-top: 15px
}

.ec-navlistRole .ec-navlistRole__navlist {
    border: 0
}

.ec-navlistRole .ec-navlistRole__item {
    background-color: #ddd;
    /*align-items: center;*/
    border: 0
}

.ec-navlistRole .ec-navlistRole__item a {
    display: block;
    /*padding: 13px 0;*/
    color: #000;
    font-size: 14px;
    background-color: #ddd
}

/*.ec-navlistRole .ec-navlistRole__item:hover {*/
/*    background-color: #348fbe*/
/*}*/

.ec-navlistRole .ec-navlistRole__item > a:hover{
    color: #fff;
    background-color: #348fbe
}

/*.ec-navlistRole .ec-navlistRole__item~.ec-navlistRole__item {*/
/*    margin-left: 6px*/
/*}*/

.ec-navlistRole .ec-navlistRole__item.active {
    position: relative;
    background-color: #348fbe
}

.ec-navlistRole .ec-navlistRole__item.active a {
    color: #fff;
    background-color: #348fbe
}

.ec-navlistRole .ec-navlistRole__item.active:after {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border: 10px solid transparent;
    border-left: 10px solid #348fbe;
    right: -20px;
    top: 50%;
    transform: translateY(-50%)
}

.ec-favoriteRole .ec-Search__keyword {
    width: 354px;
    margin-left: auto;
    margin-bottom: 20px
}

.ec-favoriteRole .category a {
    font-size: 14px;
    color: #000;
    border-bottom: solid 1px #000
}

.ec-favoriteRole .category a:hover {
    text-decoration: none;
    color: #cb3526;
    border-color: #cb3526
}

.ec-favoriteRole .category.ec-font-bold a {
    font-size: 18px;
    color: #cb3526;
    border-color: #cb3526
}

.ec-favoriteRole .ec-blockBtn--action .book {
    margin-top: 15px
}

.ec-favoriteRole .ec-blockBtn--cancel {
    margin: 30px 0;
    height: 40px;
    line-height: 40px;
    border-radius: 5px;
    width: 15%
}

.ec-favoriteRole .ec-para-normal {
    margin-top: 20px;
    font-size: 14px;
    color: #000
}

.ec-favoriteRole .ec-para-normal strong {
    font-size: 1pc;
    font-weight: 700
}

/*.ec-favoriteRole .ec-favoriteRole__header {*/
/*    margin-top: 20px*/
/*}*/

.ec-favoriteRole__itemList .ec-blockBtn--action {
    height: 40px;
    line-height: 40px;
    border-radius: 5px
}

@media screen and (min-width:769px) {
    #periodic_nav>ul>li {
        width: 25%
    }
}

@media only screen and (max-width:767px) {
    .ec-mypageRole .ec-welcomeMsg {
        margin: 0
    }

    .ec-mypageRole .ec-pageHeader h1 {
        border: 0
    }

    .ec-favoriteRole .ec-Search__keyword {
        width: 100%;
        margin-top: 25px
    }

    .ec-favoriteRole .ec-blockBtn--cancel {
        width: 35%
    }

    .ec-navlistRole .ec-navlistRole__navlist {
        flex-flow: wrap;
        justify-content: space-between
    }

    .ec-navlistRole .ec-navlistRole__navlist .ec-navlistRole__item {
        width: 49%
    }

    .ec-navlistRole .ec-navlistRole__navlist .ec-navlistRole__item~.ec-navlistRole__item {
        margin: 0
    }

    .ec-navlistRole .ec-navlistRole__navlist .ec-navlistRole__item:nth-child(n+3) {
        margin-top: 11px
    }

    .ec-navlistRole .ec-navlistRole__navlist .ec-navlistRole__item.active:after {
        display: none
    }
}

.ec-cartCompleteRole .ec-rectHeading+p {
    margin-top: 15px
}

@media only screen and (min-width:768px) {
    .ec-cartCompleteRole .ec-off3Grid .ec-off3Grid__cell {
        width: 60%;
        margin: 0 auto
    }
}

@media only screen and (max-width:767px) {
    .ec-cartCompleteRole .ec-off4Grid__cell .ec-blockBtn--cancel {
        width: 60%;
        margin: 0 auto
    }
}

.ec-footerNone .ec-footerNone_comingsoon {
    min-height: calc(100vh - 250px)
}

.ec-footerNone .ec-footerNone_comingsoon img {
    display: block;
    margin: 50px auto 0;
    max-width: 100%
}

.ec-footerNone .ec-blockBtn_commingsoon {
    max-width: 471px;
    margin: 30px auto;
    text-align: center
}

.ec-footerNone .ec-blockBtn_commingsoon .ec-blockBtn--cancel {
    margin-bottom: 30px
}

@media only screen and (max-width:767px) {
    .ec-footerNone {
        padding-left: 20px;
        padding-right: 20px
    }

    .ec-footerNone .ec-footerNone_comingsoon {
        min-height: calc(100vh - 222px)
    }
}

.ec-bookshelf_salonRole_wrap {
    border-bottom: solid 2px #ddd;
    padding-bottom: 25px;
    margin-bottom: 25px
}

.ec-bookshelf_salonRole {
    padding: 0;
    background-color: #fff;
    border: 0;
    display: inline-block;
    width: 45%
}

.ec-bookshelf_salonRole a:hover {
    text-decoration: none
}

.ec-bookshelf_salonRole .ec-bookshelf_salonRole-col {
    display: flex;
    align-items: center
}

.ec-bookshelf_salonRole .ec-bookshelf_salonRole-col input {
    width: 60%;
    height: 40px;
    line-height: 40px;
    border-radius: 5px
}

.ec-bookshelf_salonRole .ec-bookshelf_salonRole-image {
    width: 21.8%
}

.ec-bookshelf_salonRole .ec-bookshelf_salonRole-right {
    margin-left: 30px;
    flex: 1
}

.ec-bookshelf_salonRole .ec-bookshelf_salonRole-right p {
    color: #000;
    font-size: 18px;
    font-weight: 700;
    text-align: left;
    letter-spacing: .05em;
    height: auto;
    margin-bottom: 15px
}

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

.ec-salonRole__Header .ec-salonRole__Header-image {
    width: 100%;
    margin-right: 0
}

.ec-salonRole__Header .ec-salonRole__Header-title {
    flex: 1
}

.ec-salonRole__Header .ec-salonRole__Header-title h3 {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .05em;
    color: #000;
    padding-bottom: 28px;
    border-bottom: solid 2px #000
}

.ec-salonRole__Header.detail .ec-salonRole__Header-image {
    width: 100%;
    margin-right: 0
}

.ec-salonRole__Header.detail .ec-salonRole__Header-title p {
    font-size: 18px;
    line-height: 1.6;
    font-weight: 700;
    letter-spacing: .05em;
    color: #000
}

.ec-salonRole__movie iframe {
    max-width: 82%;
    margin: 50px auto;
    display: block
}

.ec-salonRole__itemGroup~.ec-salonRole__itemGroup {
    margin-top: 85px
}

.ec-salonRole__itemGroup h4 {
    border-radius: 5px;
    background-color: #fde0a8;
    padding: 15px;
    font-size: 20px;
    font-weight: 700;
    color: #000;
    letter-spacing: .05em
}

.ec-salonRole__itemGroup .ec-salonRole__itemList {
    display: flex;
    flex-flow: wrap;
    list-style: none;
    padding: 0;
    margin: 0
}

.ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__itemThumb {
    position: relative
}

.ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__itemThumb span {
    position: absolute;
    color: #cb3526;
    font-weight: 700;
    top: -1.5em;
    left: 5em
}

.ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item {
    width: 49%;
    margin-top: 30px
}

.ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item:nth-child(even) {
    margin-left: 2%
}

.ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item a {
    cursor: pointer;
    display: block
}

.ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item a:hover {
    opacity: .8
}

.ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item-flex {
    display: flex;
    align-items: top
}

.ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item-flex p {
    margin: 10px 0 0 15px
}

.ec-salonRole__itemGroup .ec-salonRole__item-image {
    text-align: center
}

.ec-salonRole__itemGroup .ec-salonRole__item-image img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 175px
}

.ec-salonRole__itemGroup .ec-salonRole__itemTitle {
    margin-top: 30px
}

.ec-salonRole__itemGroup .ec-salonRole__itemTitle p {
    font-size: 14px;
    letter-spacing: .05em
}

.ec-salonRole__itemGroup.detail .ec-salonRole__item-image {
    position: relative
}

.ec-salonRole__itemGroup.detail .ec-salonRole__item-image:after {
    content: url(/html/template/default/assets/img/mypage/icon_movie.png);
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%)
}

.ec-salonRole__body {
    margin-top: 60px
}

.ec-salonRole__footer {
    margin-top: 5pc
}

.ec-salonRole__footer h4 {
    border-radius: 5px;
    text-align: left;
    background-color: #fed9d9;
    padding: 15px;
    font-size: 20px;
    font-weight: 700;
    color: #000;
    letter-spacing: .05em;
    margin-bottom: 30px
}

.ec-salonRole__footer h4.ec-salonRole__aco {
    background-color: #fde0a8;
    position: relative;
    cursor: pointer;
    width: 95%;
    margin-left: auto;
    margin-right: auto;
    border-radius: 0
}

.ec-salonRole__footer h4.ec-salonRole__aco:before {
    content: '+';
    display: block;
    width: 30px;
    height: 30px;
    line-height: 26px;
    text-align: center;
    font-weight: 700;
    border: solid 1px #000;
    font-size: 26px;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%)
}

.ec-salonRole__footer h4.ec-salonRole__aco.open:before {
    content: '-'
}

.ec-salonRole__footer h5 {
    font-weight: 700;
    font-size: 20px;
    padding-bottom: 5px;
    color: #000;
    border-bottom: solid 2px #000;
    margin: 0
}

.ec-salonRole__footer .ec-salonRole__itemList .ec-salonRole__item-image {
    width: 130px
}

.ec-salonRole__footer .ec-salonRole__itemList .ec-salonRole__item-image+div {
    flex: 1
}

.ec-salonRole__footer .ec-salonRole__itemList p {
    font-size: 14px
}

.ec-salonRole__footer .ec-salonRole__itemList p~p {
    margin-top: 10px !important;
    color: #777
}

.ec-salonRole__footer .ec-salonRole__footer-item {
    margin-left: -15px
}

.ec-salonRole__footer .ec-salonRole__footer-item a {
    font-size: 1pc;
    font-weight: 700;
    color: #000;
    letter-spacing: .05em;
    display: inline-block;
    padding: 0 15px;
    margin-bottom: 10px
}

.ec-salonRole__footer .ec-salonRole__footer-item a img {
    width: 200px
}

.ec-salonRole__footer .ec-salonRole__footer-item~.ec-salonRole__footer-item {
    margin-top: 15px
}

.ec-salonRole__footer .ec-salonRole__aco-target {
    display: none;
    width: 95%;
    margin-left: auto;
    margin-right: auto;
    padding: 0 15px
}

.ec-salonRole__footer .caution {
    color: #000;
    margin-top: 30px;
    text-align: right;
    font-weight: 700;
    font-size: 9pt
}

.ec-salonRole__optionItem h4 {
    background-color: #ccd8fe
}

@media only screen and (max-width:767px) {
    .ec-salonRole__optionItem .ec-salonRole__footer-item {
        text-align: center
    }
}

.ec-salonRole__actions {
    text-align: right;
    margin: 60px 0
}

.ec-salonRole__actions .ec-salonRole__btn-back {
    background: 0;
    border: 0;
    outline: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: #000;
    background-color: #ddd
}

.ec-salonRole__actions .ec-salonRole__btn-back,
.ec-salonRole__actions .ec-salonRole__btn-contact {
    display: inline-block;
    font-size: 1pc;
    font-weight: 700;
    letter-spacing: .05em;
    padding: 0 25px;
    height: 54px;
    line-height: 54px
}

.ec-salonRole__actions .ec-salonRole__btn-contact {
    color: #fff;
    background-color: #000;
    margin-left: 8px
}

.ec-salonRole__tags {
    margin-top: 1pc;
    padding: 0;
    padding-bottom: 1pc;
    border-bottom: 1px dotted #ccc
}

.ec-salonRole__tag {
    display: inline-block;
    padding: 2px 5px;
    list-style: none;
    font-size: 80%;
    color: #525263;
    border: solid 1px #d7dadd;
    border-radius: 3px;
    background-color: #f5f7f8;
    margin-bottom: 20px
}

@media only screen and (max-width:767px) {
    .ec-bookshelf_salonRole {
        width: 100%;
        padding: 10px
    }

    .ec-bookshelf_salonRole .ec-bookshelf_salonRole-image {
        width: 35%
    }

    .ec-bookshelf_salonRole .ec-bookshelf_salonRole-right {
        margin-left: 15px
    }

    .ec-bookshelf_salonRole .ec-bookshelf_salonRole-right input {
        width: 100%
    }

    .ec-bookshelf_salonRole .ec-bookshelf_salonRole-right p {
        font-size: 1pc
    }

    .ec-salonRole__Header {
        display: block
    }

    .ec-salonRole__Header .ec-salonRole__Header-title h3 {
        font-size: 18px;
        padding-bottom: 9pt
    }

    .ec-salonRole__Header .ec-salonRole__Header-image {
        width: 100% !important;
        margin-right: 0
    }

    .ec-salonRole__movie iframe {
        max-width: 100%
    }

    .ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__itemThumb span {
        left: 3em
    }

    .ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item {
        width: 100%
    }

    .ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item:nth-child(even),
    .ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item:nth-child(odd) {
        margin-left: 0 !important
    }

    .ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item-flex p {
        margin: 10px 0 0 10px;
        font-size: 14px
    }

    .ec-salonRole__actions .ec-salonRole__btn-back {
        font-size: 14px;
        margin-top: 10px
    }

    .ec-salonRole__actions .ec-salonRole__btn-contact {
        font-size: 14px
    }
}

/* 会員限定コンテンツ　add:2020.05.23 */
.ec-salonRole__itemGroup .ec-salonRole__item-image img{
    min-width: 130px;
}
.ec-salonRole__itemGroup .ec-salonRole__itemList a:hover {
    text-decoration: none;
}
.ec-salonRole__itemGroup .ec-salonRole__itemList a:hover .ec-salonRole__itemTitle{
    text-decoration: underline;
}
.ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item-flex .ec-salonRole__itemInRentalTerm,
.ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item-flex .ec-salonRole__itemRental{
    display: inline-block;
    border-radius: 4px;
    color: #fff;
    padding: 0;
    width: 110px;
    text-align: center;
    font-size: 12px;
    height: 32px;
    line-height: 32px;
    align-self: flex-end;
}
.ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item-flex .ec-salonRole__itemInRentalTerm{background-color: #5abf1b;}
.ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item-flex .ec-salonRole__itemRental{background-color: #ff5e5d;}
.ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item-flex .ec-productRole__btn,
.ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item-flex .ec-productRole__btn button{
    width: 190px;
    height: 50px;
    line-height: 50px;
    border: none;
    margin-left: auto;
    padding: 0;
}
.ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item-flex .ec-salonRole__item-flex{
    margin-top: 15px;
}
.ec-salonRole__itemGroup .ec-salonRole__itemList .btn.btn-primary.btn-block.btn-lg{
    background-color: #edece7;
    border-radius: 50px;
    width: 190px;
    height: 50px;
    margin-left: auto;
    color: #000;
    border: none;
}
.ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__displayMore{
    width: 100%;
    height: 50px;
    border: solid 1px #000;
    margin-top: 30px;
    font-weight: bold;
    background-color: #fff;
}
.ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__displayMore img{
    width: 15px;
    margin-left: 10px;
}
.ec-salonRole__itemGroup .ec-salonRole__itemList .spbr{
    display: none;
}
@media only screen and (max-width: 767px){
    .ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item-flex .ec-salonRole__itemInRentalTerm,
    .ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item-flex .ec-salonRole__itemRental{
        height: auto;
        line-height: normal;
        width: auto;
        padding: 5px 15px;
    }
    .ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item-flex .ec-productRole__btn,
    .ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item-flex .ec-productRole__btn button{
        font-size: 12px;
        width: 100px;
        height: 40px;
        line-height: 40px;
        margin-top: 10px;
    }
    .ec-salonRole__itemGroup .ec-salonRole__itemList .btn.btn-primary.btn-block.btn-lg{
        margin: 30px auto !important;
        width: 180px;
        height: 40px;
    }
    .ec-salonRole__itemGroup .ec-salonRole__itemList .spbr{
        display: block;
    }
}
@media only screen and (max-width: 360px){
    .ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item-flex .ec-salonRole__item-flex{
        display: block;
    }
    .ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item-flex .ec-productRole__btn{
        width: 100%;
        margin: 5px 0 0 10px;
    }
    .ec-salonRole__itemGroup .ec-salonRole__itemList .ec-salonRole__item-flex .ec-productRole__btn button{
        margin: 0 0;
    }
    .ec-salonRole__itemGroup .ec-salonRole__itemList .spbr{
        display: none;
    }
}

/* TOP改修　add:2020.08.02 */

/* 新着情報 */
.ec-newsRole .ec-newsRole__newsItem{
    padding: 15px 30px 10px;
}
.ec-newsRole .ec-newsRole__newsTitle{
    max-height: 55px;
    overflow: hidden;
}
.ec-newsRole #news_readmore{
    display: block;
    margin-top: 10px;
    margin-inline: auto;
    border: solid 1px #cccccc;
    background-color: #fff;
    color: #000;
    font-weight: bold;
    width: 120px;
}

/* オンラインサロン*/
.ec-bannerRole .ec-salonItem .ec-secHeading__en{
    display: block;
    text-align: center;
}
.ec-bannerRole .ec-salonItem .ec-secHeading__en + div{
    text-align: center;
}
.ec-bannerRole .ec-salonItem .ec-secHeading__en + p{
    margin-top: 25px;
}
.ec-bannerRole .ec-salonItem a{
    display: block;
    width: 100%;
}

@media only screen and (max-width: 767px){
    /* 新着情報 */
    .ec-newsRole .ec-role{
        padding-left: 0;
        padding-right: 0;
    }
    .ec-newsRole .ec-newsRole__news{
        width: 100%;
    }
    .ec-newsRole .ec-newsRole__newsItem{
        padding: 10px 30px 5px;
    }
    .ec-newsRole .ec-newsRole__newsDate{
        margin: 0 0 5px;
    }
    .ec-newsRole .ec-newsRole__newsTitle{
        margin-bottom: 0;
        max-height: 100%;
    }

    /* オンラインサロン*/
    .ec-bannerRole .ec-salonItem .ec-secHeading__en{
        font-size: 22px;
        letter-spacing: normal;
    }
    .ec-bannerRole .ec-salonItem .ec-secServiceName{
        font-size: 30px;
        letter-spacing: .2em;
    }
    .ec-bannerRole .ec-salonItem .ec-secHeading__en + p{
        text-align: left;
    }
}

.tag-present {
    background-color: #ff5e5d;
    color: #fff;
    padding: 0 10px;
    border-radius: 4px;
    font-size: 12px;
    line-height: 20px;
    margin-left: 10px;
}