/* 
    そのほかCSS
*/

.wrap-ttl-page {
    position: relative;
    width: 1100px;
    margin: 40px auto;
}

.ttl-page {
    margin: 30px 0 60px;
}

.wrap-ttl-page:before,
.wrap-ttl-page:after,
.c-ttl-page:before {
    display: inline-block;
    position: absolute;
    z-index: 0;
    width: 800px;
    height: 17px;
    background: #fbfafa;
    vertical-align: middle;
    content: "";
    -webkit-transform: rotate(-55deg);
        -ms-transform: rotate(-55deg);
            transform: rotate(-55deg);
}

.wrap-ttl-page:before {
    top: 0;
    left: -174px;
}

.wrap-ttl-page:after {
    top: 0;
    left: -134px;
}

.c-ttl-page:before {
    top: -224px;
    left: 270px;
}

.c-ttl-segment {
    margin-bottom: 24px;
}

/* 年齢認証ページ */
.sect-content.sect-content--agecheck {
    position: relative;
    z-index: 1;
    margin: 0;
    padding: 0;
    background: transparent;
    text-align: center;
}

.sect-content.sect-content--agecheck:before {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    overflow: hidden;
    width: 100%;
    height: 100vh;
    opacity: .3;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
    content: url(/common/images/agecheck/bg_index.jpg);
}

.tx-introduction {
    padding-top: 48px;
    color: #ab0f00;
    font-size: 16px;
    font-weight: bold;
}

.bx-index-logo {
    margin: 24px 0 40px;
}

.tx-info {
    margin-bottom: 24px;
    color: #fff;
    font-size: 14px;
}

.tx-info span {
    display: block;
    margin-top: 16px;
    font-size: 18px;
    font-weight: bold;
}

.list-btn-enter {
    margin-bottom: 80px;
    font-size: 0;
}

.item-btn-enter {
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    font-size: 24px;
    font-weight: bold;
}

.item-btn-enter:first-child {
    margin-right: 16px;
}

.btn-enter {
    display: block;
    position: relative;
    box-sizing: border-box;
    width: 300px;
    padding: 20px;
    border-radius: 100px;
    background: #ab0f00;
    color: #fff;
    line-height: 1;
    transition: .35s;
}

.btn-enter:after {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 8px;
    width: 6px;
    height: 6px;
    margin: -3px 16px 0 16px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    vertical-align: middle;
    content: "";
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
}

.item-btn-enter.item-btn-enter--yes .btn-enter:hover {
    background: #ca2010;
}

.item-btn-enter.item-btn-enter--no .btn-enter {
    background: #323234;
}

.item-btn-enter.item-btn-enter--no .btn-enter:hover {
    background: #444;
}

.tx-patent {
    color: #fff;
    font-size: 12px;
}

/* FAQ */
.wrap-lst-faq {
    position: relative;
    z-index: 1;
    margin-bottom: 40px;
    padding: 40px 0;
    background: #fbfafa;
}

.tx-faq {
    margin-bottom: 40px;
    text-align: center;
}

.c-ttl-segment {
    padding: 40px 0 24px;
}

.list-faq {
    width: 850px;
    margin: 0 auto;
}

.ttl-faq {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    padding: 12px 32px 12px 16px;
    border-bottom: 2px #c5c4c4 solid;
    color: #ab0f00;
    font-weight: bold;
    text-align: left;
    cursor: pointer;
    transition: .3s;
}

.ttl-faq:hover {
    border-bottom: 2px #ab0f00 solid;
}

.ttl-faq:after {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 6px;
    height: 6px;
    margin: -3px 16px 0 16px;
    border-top: solid 1px #ab0f00;
    border-right: solid 1px #ab0f00;
    vertical-align: middle;
    content: "";
    transition: .3s;
    -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
            transform: rotate(135deg);
}

.ttl-faq.ttl-faq--up:after {
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
}

.ttl-faq.ttl-faq--down:after {
    -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
            transform: rotate(135deg);
}

.item-faq {
    margin: 16px;
}

.item-faq a {
    border-bottom: 1px #ab0f00 solid;
    color: #ab0f00;
    transition: .3s;
}

.item-faq a:hover {
    border-bottom: 1px #f43e43 solid;
    color: #f43e43;
}

.tx-item-faq {
    margin-bottom: 32px;
}

.tx-item-faq-segment {
    display: block;
    margin: 16px 0;
}

.tx-item-faq-segment--bold {
    font-weight: bold;
}

.lst-item-faq {
    margin-bottom: 32px;
}


/* 風俗店情報 */
.area-fuzoku {
    position: relative;
    z-index: 1;
    margin-top: 80px;
    font-size: 0;
}
.area-fuzoku .wrap-safety {
    position: relative;
    width: 100%;
}
.area-fuzoku .wrap-safety .bx-circle {
    position: absolute;
    z-index: 1;
    top: -30px;
    left: 50%;
    width: 210px;
    height: 210px;
    margin: 0 auto;
    border-radius: 50%;
    background: #ab0f00;
    color: #fff;
    text-align: center;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
}
.area-fuzoku .wrap-safety .bx-circle .tx-aroma-produce {
    display: inline-block;
    width: 155px;
    padding-top: 37px;
    font-size: 24px;
    font-weight: bold;
    line-height: 28px;
}
.area-fuzoku .wrap-safety .bx-circle .tx-aroma-produce .tx-english {
    display: block;
    position: relative;
    margin-top: 20px;
    padding-top: 20px;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    line-height: 19px;
}
.area-fuzoku .wrap-safety .bx-circle .tx-aroma-produce .tx-english:after {
    position: absolute;
    top: 0;
    left: 50%;
    width: 50px;
    border-top: #fff 4px solid;
    content: "";
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
}
.area-fuzoku .wrap-safety .bx-safety-discription {
    position: absolute;
    z-index: 1;
    bottom: 0;
    width: 100%;
    padding-bottom: 16px;
    color: #fff;
    line-height: 1;
    text-align: center;
}
.area-fuzoku .wrap-safety .bx-safety-discription .tx-safety {
    font-size: 24px;
    font-weight: bold;
}
.area-fuzoku .wrap-safety .bx-safety-discription .tx-safety-sub {
    padding-top: 12px;
    font-size: 18px;
    font-weight: bold;
}
.area-fuzoku .wrap-safety .bx-safety-discription .tx-attention {
    padding-top: 24px;
    font-size: 11px;
}
.area-fuzoku .wrap-safety .bg-product {
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
    margin-top: 30px;
    padding: 8px 0 0;
    background: #0e0b0b;
}
.area-fuzoku .wrap-safety .bg-product .wrap-infiniteslide {
    display: block;
    height: 300px;
}
/* フロート解除 */
.area-fuzoku .wrap-safety .bg-product .wrap-infiniteslide ul:after {
    display: block;
    visibility: hidden;
    clear: both;
    height: 0;
    content: ".";
}
.area-fuzoku .wrap-safety .bg-product .wrap-infiniteslide ul {
    display: inline-block;
    overflow: hidden;
}

.area-fuzoku .wrap-safety .bg-product .lst-product {
    float: left;
    box-sizing: border-box;
    width: 220px;
    height: auto;
    margin-left: 8px;
    padding: 8px 0;
    opacity: .5;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    font-size: 0;
}
.area-fuzoku .wrap-safety .bg-product .lst-product img {
    width: auto;
    height: 300px;
}
.area-fuzoku .wrap-shop-fuzoku {
    position: relative;
    width: 100%;
    margin: 40px 0;
    padding: 40px 0;
    background: #fbfafa;
}
.area-fuzoku .wrap-shop-fuzoku.wrap-shop-fuzoku--shinbashi:after {
    position: absolute;
    z-index: 0;
    top: 50%;
    left: calc(50% - 1148px);
    width: 768px;
    height: 519px;
    background: url(/pc/images/fuzoku/bg_map-shinbashi.png) no-repeat;
    background-size: cover;
    content: "";
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
}
.area-fuzoku .wrap-shop-fuzoku.wrap-shop-fuzoku--gotanda:after {
    position: absolute;
    z-index: 0;
    top: 50%;
    left: calc(50% + 380px);
    width: 768px;
    height: 519px;
    background: url(/pc/images/fuzoku/bg_map-gotanda.png) no-repeat;
    background-size: cover;
    content: "";
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
}
.area-fuzoku .wrap-shop-fuzoku:last-of-type {
    margin: 0;
}
.area-fuzoku .wrap-shop-fuzoku .box-shoplist {
    position: relative;
    z-index: 2;
    overflow: hidden;
    width: 848px;
    margin: 0 auto;
}
.area-fuzoku .wrap-shop-fuzoku .box-shoplist .lst-shop {
    float: left;
    width: 400px;
    margin: 40px 48px 0 0;
    font-size: 16px;
    line-height: 1;
}
.area-fuzoku .wrap-shop-fuzoku .box-shoplist .lst-shop:nth-child(2n) {
    margin: 40px 0 0;
}
.area-fuzoku .wrap-shop-fuzoku .box-shoplist .lst-shop .wrap-shopdetail {
    margin: 0 0 16px;
}
.area-fuzoku .wrap-shop-fuzoku .box-shoplist .lst-shop .wrap-shopdetail dt {
    padding-bottom: 16px;
    border-bottom: 2px #0e0b0b solid;
}
.area-fuzoku .wrap-shop-fuzoku .box-shoplist .lst-shop .wrap-shopdetail .tx-shop-main {
    display: block;
    margin-top: 8px;
    font-size: 24px;
    font-weight: bold;
}
.area-fuzoku .wrap-shop-fuzoku .box-shoplist .lst-shop .wrap-shopdetail dd {
    display: block;
    margin: 16px 0;
    line-height: 1.5;
}
.tx-telephone {
    display: block;
    margin-top: 8px;
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
}
.tx-telephone:before {
    font-size: 18px;
    content: "TEL : ";
}

/* サイトマップ */
.area-sitemap {
    position: relative;
    z-index: 1;
    padding: 16px 0 40px;
    background: #fbfafa;
}

.lst-sitemap {
    width: 850px;
    margin: 0 auto -8px;
    font-size: 0;
}

.item-sitemap {
    display: inline-block;
    width: 409px;
    height: 100px;
    margin: 0 32px 8px 0;
}

.item-sitemap:nth-child(2n) {
    margin-right: 0;
}

.btn-sitemap {
    display: block;
    position: relative;
    padding: 24px 16px 24px 0;
    border-bottom: 2px #0e0b0b solid;
    color: #0e0b0b;
    font-size: 14px;
    transition: .3s;
}

.btn-sitemap:after {
    position: absolute;
    top: 50%;
    right: 16px;
    width: 6px;
    height: 6px;
    border-top: solid 2px #0e0b0b;
    border-right: solid 2px #0e0b0b;
    content: "";
    transition: .3s;
    -webkit-transform: translateY(-50%)rotate(45deg);
        -ms-transform: translateY(-50%)rotate(45deg);
            transform: translateY(-50%)rotate(45deg);
}

.btn-sitemap:hover:after {
    right: 8px;
}

.btn-sitemap span {
    display: block;
    margin-bottom: 4px;
    font-family: "Montserrat", sans-serif;
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
}

/* 個人情報保護方針 */
.area-privacy {
    position: relative;
    z-index: 1;
}

.bx-privacy {
    margin-bottom: 40px;
    padding: 40px 0;
    background: #fbfafa;
}

.bx-privacy:last-child {
    margin-bottom: 0;
}

.lst-privacy {
    width: 850px;
    margin: 0 auto;
}

.item-privacy {
    margin-bottom: 24px;
}

.item-privacy:last-child {
    margin-bottom: 0;
}

.lst-inner-privacy {
    margin-top: 16px;
}

.lst-inner-privacy:last-of-type {
    margin-bottom: 16px;
}

.tx-privacy-signature {
    width: 850px;
    margin: 24px auto 0;
    text-align: right;
}

/* 取扱店舗情報 */
.area-shop {
    position: relative;
    z-index: 1;
    padding: 40px 0;
    background: #fbfafa;
    text-align: center;
}

.tx-shop-info {
    display: inline-block;
    position: relative;
    padding-left: 24px;
}

.tx-shop-info:before {
    position: absolute;
    top: 50%;
    left: -16px;
    width: 30px;
    height: 30px;
    background: url(/pc/images/shop/ico_search_black.png) no-repeat;
    background-size: contain;
    content: "";
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
}

.bx-shop-map {
    position: relative;
    width: 689px;
    height: 845px;
    margin: 32px auto 0;
    background: url(/pc/images/shop/img_map.png) top center no-repeat;
}

.bx-shop-region {
    position: absolute;
    width: 175px;
    text-align: left;
}

.bx-shop-region.bx-shop-region--hokkaido {
    top: 62px;
    left: 232px;
}

.bx-shop-region.bx-shop-region--tohoku {
    top: 201px;
    left: 585px;
}

.bx-shop-region.bx-shop-region--kanto {
    top: 353px;
    left: 545px;
}

.bx-shop-region.bx-shop-region--tokyo {
    top: 531px;
    left: 545px;
}

.bx-shop-region.bx-shop-region--hokushinetsu {
    top: 241px;
    left: 202px;
}

.bx-shop-region.bx-shop-region--tokai {
    top: 531px;
    left: 339px;
}

.bx-shop-region.bx-shop-region--kansai {
    top: 241px;
    left: -4px;
}

.bx-shop-region.bx-shop-region--chugoku {
    top: 393px;
    left: -54px;
}

.bx-shop-region.bx-shop-region--shikoku {
    top: 625px;
    left: 202px;
}

.bx-shop-region.bx-shop-region--kyusyu {
    bottom: 0;
    left: -2px;
}

.ttl-shop-region {
    width: 100%;
    padding-bottom: 8px;
    border-bottom: 2px #0e0b0b solid;
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
}

.btn-shop-pref {
    display: block;
    position: relative;
    width: 77px;
    color: #ab0f00;
    line-height: 1;
    transition: .3s;
}

.lst-shop-region {
    margin-top: 16px;
}

.item-shop-region {
    display: inline-block;
    margin: 0 16px 8px 0;
}

.item-shop-region:nth-child(2n) {
    margin-right: 0;
}

.btn-shop-pref:hover {
    color: #f43e43;
}

.btn-shop-pref:after {
    position: absolute;
    top: 50%;
    right: 16px;
    width: 6px;
    height: 6px;
    border-top: solid 1px #ab0f00;
    border-right: solid 1px #ab0f00;
    content: "";
    transition: .2s;
    -webkit-transform: translateY(-50%)rotate(45deg);
        -ms-transform: translateY(-50%)rotate(45deg);
            transform: translateY(-50%)rotate(45deg);
}

.btn-shop-pref:hover:after {
    right: 12px;
    border-top: solid 1px #f43e43;
    border-right: solid 1px #f43e43;
}

/* 取扱店舗情報（都道府県別） */
.area-shop-detail {
    position: relative;
    z-index: 1;
    padding: 0 0 40px;
    background: #fbfafa;
    text-align: center;
}

.lst-shop-detail {
    width: 850px;
    margin: 0 auto;
    font-size: 0;
    text-align: left;
}

.item-shop-detail {
    display: inline-block;
    width: 401px;
    margin: 0 48px 40px 0;
    font-size: 16px;
    vertical-align: bottom;
}

.item-shop-detail:nth-child(2n) {
    margin-right: 0;
}

.tx-shop-name {
    display: inline-block;
    width: 100%;
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 2px #0e0b0b solid;
    font-size: 24px;
    font-weight: bold;
}

.wrap-btn-shop-detail {
    width: 250px;
    margin: 32px auto 0;
}