/* Body and structure
-------------------------------------------------- */

/*店舗詳細ページのCSS調整*/
section>h3+div>.text-center>img {
    width: 18vw;
    height: auto;
    object-fit: contain;
    margin: 10px 0 0 0;
}

@media screen and (max-width:768px) {
    section>h3+div>.text-center>img {
        width: 30%;
    }
}

@media screen and (max-width:480px) {
    section>h3+div>.text-center>img {
        width: 35%;
    }
}

section>h3+div>h4 {
    box-sizing: border-box;
    width: 100%;
    padding: 0 10px;
    margin: 20px 0 0 0;
}

section>h3+div>.text-right {
    box-sizing: border-box;
    width: 100%;
    padding: 0 10px;
    margin-bottom: 0;
}

section>h3+div>p {
    box-sizing: border-box;
    width: 100%;
    padding: 0 10px 20px;
    margin: 10px 0 0 0;
    border-bottom: 2px solid #9C175F;
}

@media screen and (max-width:768px) {
    section>h3+div>p{
        font-size: 12px;
        line-height: 1.4;
    }
}

section>h3+div>p:last-of-type {
    margin: 10px 0 35px 0;
}

.carousel {
    line-height: 1;
    margin-bottom: 0px;
    position: relative;
}

/*全てのulが右に10pxずれるので、スライドショーはずれないように微調整*/
.bxslider {
    margin: 0;
}

.bxsliderunder {
    margin: 5px 0 0 0;
}

.bxslider li {
    max-width: 100vw;
}

.bx-viewport:last-of-type {
    height: 190px !important;
}

@media screen and (max-width:1024px) {
    .bx-viewport:last-of-type {
        height: min(190px, 37vw) !important;
    }
}

@media (min-width: 768px) and (max-width: 979px) {
    input.span9 {
        width: 457px;
    }
}

@media screen and (max-width:480px) {
    .bx-viewport:last-of-type {
        height: min(170px, 39vw) !important;
    }
}

@media screen and (max-width:320px) {
    .bx-viewport:last-of-type {
        height: 120px !important;
    }
}



.bxslider li.excellent img.excellent-shop {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: auto;
    max-height: 80%;
    transform: translate(-32%, -50%);
}

.bxslider:not([style]) li:not(:first-child) {
    display: none;
}

.img-responsive {
    max-width: 100%;
    height: auto;
}

/* Code in headings */

h3 code {
    font-size: 14px;
    font-weight: normal;
}

h3 {
    //    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);  /* より不気味な影効果 */
    //    background-color: #ff4f00;
    //    background-image: linear-gradient(to bottom, #ff6b00, #ff4f00);
    //    border: 2px solid #000;  /* 黒い縁取り */
    //    border-radius: 5px;  /* 角を少し丸く */

    line-height: 1.5em;
    color: #fff;
    padding: 5px 10px;
    margin: 0px;
    font-size: 18px;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    background-color: #a38d51;
    background-image: linear-gradient(to bottom, #b3aa81, #a38d51);
    //    /*通常配色*/
    border: 1px solid #8d7126;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
}



h3 i.icon-search,
h3 i.icon-info-sign,
h3 i.icon-info-sign,
h3 i.icon-home,
h3 i.icon-tags,
h3 i.icon-comment,
h3 i.icon-list {
    height: 18px;
    line-height: 18px;
    margin-top: 3px;
    vertical-align: text-top;
    width: 18px;
}

.icon-circle-arrow-down {
    opacity: 0.5;
    padding-right: 0px;
}

.nav-tabs.nav-stacked a {
    background: #fff;
}

.nav-tabs.nav-stacked>li:last-child>a {
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
}

.navbar-fixed-bottom {
    border: 1px solid #ddd;
    margin-bottom: 0px;
}

dl {
    margin: 0px;
}

dt {
    margin: 10px 0px;
    color: #A38D51;
}

th {
    white-space: nowrap;
}

.nav-tabs.nav-stacked>li:first-child>a {
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
}

/* Header pulldown navi
-------------------------------------------------- */

.navbar .nav>.active>a,
.navbar .nav>.active>a:hover,
.navbar .nav>.active>a:focus {
    background-color: #E5E5E5;
    box-shadow: none;
    color: #555555;
    text-decoration: none;
}

.navbar-inverse .nav-collapse .nav>li>a,
.navbar-inverse .nav-collapse .dropdown-menu a {
    color: #990057;
    border-top: 1px solid #ddd;
}

.navbar-inverse .nav-collapse .nav>li>a:hover,
.navbar-inverse .nav-collapse .dropdown-menu a:hover {
    background-color: #fbd9e9;
}

.nav-collapse .nav>li>a {
    margin-bottom: 0px;
}

.nav-collapse .nav {
    float: none;
    margin: 0;
    margin-top: 10px;
}

.navbar-inverse .nav .active>a,
.navbar-inverse .nav .active>a:hover,
.navbar-inverse .nav .active>a:focus {
    background-color: #fbd9e9;
    color: #990057;
}

.nav-collapse .nav>li>a,
.nav-collapse .dropdown-menu a {
    border-radius: 0px 0px 0px 0px;
    color: #fff;
    font-weight: bold;
    padding: 9px 15px;
}

.navbar-inverse .brand,
.navbar-inverse .nav>li>a {
    color: #999999;
    text-shadow: 0 -1px 0 rgba(255, 255, 255, 0.25);
}

.pagination {
    margin: 15px auto;
    text-align: center;
}

.pagination ul {
    border-radius: 4px 4px 4px 4px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    display: inline-block;
    margin-bottom: 0;
    margin: 0px auto;
}


.breadcrumb {
    background-color: #F5F5F5;
    list-style: none outside none;
    margin: 0;
    padding: 8px 15px;
    border-bottom: 1px solid #ddd;
}

.breadcrumb li::before {
    padding: 0 5px 0 5px;
    content: "›";
    font-size: 14px;
}

.breadcrumb li:first-child::before {
    content: "";
    padding: 0;
}

.LineB {
    margin: 0px 10px;
    padding: 5px 0;
    text-align: right;
}

.txtO {
    color: #C85000;
    font-size: 20px;
    font-weight: bold;
}

.accordion-group {
    border: 1px solid #E5E5E5;
    border-radius: 0px;
    margin-bottom: 2px;
}

ul.accordion-inner {
    border-top: 1px solid #E5E5E5;
    padding: 0px;
    margin: 0px;
}

ul.accordion-inner li a {
    border-top: 1px solid #DDDDDD;
    color: #990057;
    padding: 10px 15px;
}

ul.accordion-inner ul.accordion {
    margin-bottom: 0px;
}

ul.accordion-inner li ul.accordion li a {
    border-top: 1px solid #DDDDDD;
    color: #990057;
    padding: 10px 15px;
    margin-bottom: 0px;
}

/* tab
--------------------------------------------------*/

.nav-tabs>li {
    margin-bottom: -1px;
}


/* Sections
-------------------------------------------------- */

/* padding for in-page bookmarks and fixed navbar */
section {
    padding-top: 0px;
}

section>.page-header,
section>.lead {
    color: #5a5a5a;
}

section>ul li {
    margin-bottom: 5px;
}


/* Faded out hr */
hr.soften {
    height: 1px;
    margin: 70px 0;
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0), rgba(0, 0, 0, .1), rgba(0, 0, 0, 0));
    background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0), rgba(0, 0, 0, .1), rgba(0, 0, 0, 0));
    background-image: -ms-linear-gradient(left, rgba(0, 0, 0, 0), rgba(0, 0, 0, .1), rgba(0, 0, 0, 0));
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0), rgba(0, 0, 0, .1), rgba(0, 0, 0, 0));
    border: 0;
}

.Serchlist {
    border-top: 1px solid #ddd;
    clear: both;
}

.Privacy {
    border-top: 1px solid #ddd;
    clear: both;
    padding: 0px 10px;
}


section.Privacy p {
    margin: 10px 0px;
}


/* Base class
------------------------- */


/* Download button */
.masthead .btn {
    padding: 19px 24px;
    font-size: 24px;
    font-weight: 200;
    color: #fff;
    /* redeclare to override the `.jumbotron a` */
    border: 0;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 5px rgba(0, 0, 0, .25);
    -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 5px rgba(0, 0, 0, .25);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 5px rgba(0, 0, 0, .25);
    -webkit-transition: none;
    -moz-transition: none;
    transition: none;
}

.masthead .btn:hover {
    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 5px rgba(0, 0, 0, .25);
    -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 5px rgba(0, 0, 0, .25);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 5px rgba(0, 0, 0, .25);
}

.masthead .btn:active {
    -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, .1), 0 1px 0 rgba(255, 255, 255, .1);
    -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, .1), 0 1px 0 rgba(255, 255, 255, .1);
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, .1), 0 1px 0 rgba(255, 255, 255, .1);
}

.media,
.media .media {
    border-bottom: 1px solid #DDDDDD;
    margin-bottom: 0px;
    margin-top: 0px;
    padding: 10px 10px 10px 10px;
}

ul.unstyled li.media h4.media-heading {
    color: #A38D51;
}

.label_comment {
    margin: 0px;
}


/* Masthead (docs home)
------------------------- */
.masthead {
    padding: 70px 0 80px;
    margin-bottom: 0;
    color: #fff;
}

.masthead h1 {
    font-size: 120px;
    line-height: 1;
    letter-spacing: -2px;
}

.masthead p {
    font-size: 40px;
    font-weight: 200;
    line-height: 1.25;
}

/* Textual links in masthead */
.masthead-links {
    margin: 0;
    list-style: none;
}

.masthead-links li {
    display: inline;
    padding: 0 10px;
    color: rgba(255, 255, 255, .25);
}


/* Subhead (other pages)
------------------------- */
.subhead {
    text-align: left;
    border-bottom: 1px solid #ddd;
}

.subhead h1 {
    font-size: 60px;
}

.subhead p {
    margin-bottom: 20px;
}

.subhead .navbar {
    display: none;
}



/* Marketing section of Overview
-------------------------------------------------- */

.marketing {
    text-align: center;
    color: #5a5a5a;
}

.marketing h1 {
    margin: 60px 0 10px;
    font-size: 60px;
    font-weight: 200;
    line-height: 1;
    letter-spacing: -1px;
}

.marketing h2 {
    font-weight: 200;
    margin-bottom: 5px;
}

.marketing p {
    font-size: 16px;
    line-height: 1.5;
}

.marketing .marketing-byline {
    margin-bottom: 40px;
    font-size: 20px;
    font-weight: 300;
    line-height: 1.25;
    color: #999;
}

.marketing-img {
    display: block;
    margin: 0 auto 30px;
    max-height: 145px;
}



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

footer {
    text-align: center;
    padding: 0px 0px 20px 0px;
    margin-top: 20px;
    background-color: #f5f5f5;
}

footer p {
    margin: 0;
    color: #333;
    font-size: 10px;
}

footer ul {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    background: #fff;
    padding: 10px 0px;
}

footer ul li a {
    color: #333;
}

footer-links {
    margin: 10px 0;
}

footer-links li {
    display: inline;
    padding: 0 2px;
}

footer-links li:first-child {
    padding-left: 0;
}



/* Special grid styles
-------------------------------------------------- */

.show-grid {
    margin-top: 10px;
    margin-bottom: 20px;
}

.show-grid [class*="span"] {
    background-color: #eee;
    text-align: center;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    min-height: 40px;
    line-height: 40px;
}

.show-grid:hover [class*="span"] {
    background: #ddd;
}

.show-grid .show-grid {
    margin-top: 0;
    margin-bottom: 0;
}

.show-grid .show-grid [class*="span"] {
    margin-top: 5px;
}

.show-grid [class*="span"] [class*="span"] {
    background-color: #ccc;
}

.show-grid [class*="span"] [class*="span"] [class*="span"] {
    background-color: #999;
}



/* Mini layout previews
-------------------------------------------------- */
.mini-layout {
    border: 1px solid #ddd;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
    -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
    box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
}

.mini-layout,
.mini-layout .mini-layout-body,
.mini-layout.fluid .mini-layout-sidebar {
    height: 300px;
}

.mini-layout {
    margin-bottom: 20px;
    padding: 9px;
}

.mini-layout div {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

.mini-layout .mini-layout-body {
    background-color: #dceaf4;
    margin: 0 auto;
    width: 70%;
}

.mini-layout.fluid .mini-layout-sidebar,
.mini-layout.fluid .mini-layout-header,
.mini-layout.fluid .mini-layout-body {
    float: left;
}

.mini-layout.fluid .mini-layout-sidebar {
    background-color: #bbd8e9;
    width: 20%;
}

.mini-layout.fluid .mini-layout-body {
    width: 77.5%;
    margin-left: 2.5%;
}




/* social
--------------------------------------*/
.social-buttons {
    padding-top: 10px;
    padding-bottom: 10px;
    /* float: right; */
    min-height: 28px;
    display: flex;
    justify-content: space-between;
    max-width: 330px;
    margin: auto;
    overflow: hidden;
}

.social-bookmark-item {
    float: left;
    overflow: hidden;
}

.social-bookmark-item:nth-child(2) {
    margin-right: 2px;
}

.bookmark-twitter {
    /* width: 90px; */
}


/* Misc
-------------------------------------------------- */

/* Make tables spaced out a bit more */
h2+table,
h3+table,
h4+table,
h2+.row {
    margin-top: 5px;
}


/* Fake the :focus state to demo it */
.focused {
    border-color: rgba(82, 168, 236, .8);
    -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .1), 0 0 8px rgba(82, 168, 236, .6);
    -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .1), 0 0 8px rgba(82, 168, 236, .6);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, .1), 0 0 8px rgba(82, 168, 236, .6);
    outline: 0;
}

/* For input sizes, make them display block */
.docs-input-sizes select,
.docs-input-sizes input[type=text] {
    display: block;
    margin-bottom: 9px;
}

/* Icons
------------------------- */
.the-icons {
    margin-left: 0;
    list-style: none;
}

.the-icons li {
    float: left;
    width: 25%;
    line-height: 25px;
}

.the-icons i:hover {
    background-color: rgba(255, 0, 0, .25);
}



/* Bootstrap code examples
-------------------------------------------------- */
.bs-navbar-top-example,
.bs-navbar-bottom-example {
    z-index: 1;
    padding: 0;
    height: 90px;
    overflow: hidden;
    /* cut the drop shadows off */
}

.bs-navbar-top-example .navbar-fixed-top,
.bs-navbar-bottom-example .navbar-fixed-bottom {
    margin-left: 0;
    margin-right: 0;
}

.bs-navbar-top-example {
    -webkit-border-radius: 0 0 4px 4px;
    -moz-border-radius: 0 0 4px 4px;
    border-radius: 0 0 4px 4px;
}

.bs-navbar-top-example:after {
    top: auto;
    bottom: -1px;
    -webkit-border-radius: 0 4px 0 4px;
    -moz-border-radius: 0 4px 0 4px;
    border-radius: 0 4px 0 4px;
}

.bs-navbar-bottom-example {
    -webkit-border-radius: 4px 4px 0 0;
    -moz-border-radius: 4px 4px 0 0;
    border-radius: 4px 4px 0 0;
}

.bs-navbar-bottom-example .navbar {
    margin-bottom: 0;
}


.img-polaroid {
    margin: 10px auto;
    text-align: center;
}

/*div#tab3.tab-pane iframe {
    margin: auto;
    text-align: center;
    width: 80%;
}*/





/* Responsive docs
-------------------------------------------------- */


/* Chevrons */
.icon-chevron-right,
.icon-circle-arrow-down {
    float: right;
    margin-top: 2px;
    /*margin-right: -6px;*/
    opacity: .25;
}

/* Form
--------------------------------------------------
*/

form fieldset {
    padding: 0px 10px;
    overflow: hidden;
}


/* Responsive
-------------------------------------------------- */

/* Desktop
------------------------- */
@media (max-width: 980px) {

    /* Unfloat brand */
    body>.navbar-fixed-top .brand {
        float: left;
        margin-left: 0;
        padding-left: 5px;
        padding-right: 5px;
    }

    /* Inline-block quick links for more spacing */
    .quick-links li {
        display: inline-block;
        margin: 5px;
    }


}

/* Tablet to desktop
------------------------- */
@media (min-width: 768px) and (max-width: 979px) {

    /* Remove any padding from the body */
    body {
        padding-top: 0;
    }

    body>.navbar-fixed-top .brand {
        float: left;
        margin-left: 0;
        padding-left: 10px;
        padding-right: 10px;
    }

    /* Widen masthead and social buttons to fill body padding */
    .jumbotron {
        margin-top: -20px;
        /* Offset bottom margin on .navbar */
    }

}

/* Tablet
------------------------- */
@media (max-width: 767px) {

    /* Remove any padding from the body */
    body {
        padding-top: 0;
    }

    /* Widen masthead and social buttons to fill body padding */
    .masthead h1 {
        font-size: 90px;
    }

    .masthead p,
    .masthead .btn {
        font-size: 24px;
    }

    .marketing .span4 {
        margin-bottom: 40px;
    }


    /* Space out the show-grid examples */
    .show-grid [class*="span"] {
        margin-bottom: 5px;
    }



    /* Unfloat the back to top link in footer */
    .footer {
        margin-left: -20px;
        margin-right: -20px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .footer p {
        margin-bottom: 9px;
    }
}

/* Landscape phones
------------------------- */
@media (max-width: 480px) {

    /* Remove padding above jumbotron */
    body {
        padding-top: 0;
    }

    /* Change up some type stuff */
    h2 small {
        display: block;
    }


    /* center align subhead text like the masthead */
    .subhead h1,
    .subhead p {
        text-align: center;
    }

    /* Marketing on home */
    .marketing h1 {
        font-size: 30px;
    }

    .marketing-byline {
        font-size: 18px;
    }


    /* Do our best to make tables work in narrow viewports */
    table code {
        white-space: normal;
        word-wrap: break-word;
        word-break: break-all;
    }


    /* Examples: modal */
    .modal-example .modal {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
    }

    /* Tighten up footer */
    .footer {
        padding-top: 20px;
        padding-bottom: 20px;
    }
}

#map_canvas img,
.google-maps img {
    max-width: none;
}

#mContents {
    margin-bottom: 2em;
}


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

.text-right {
    text-align: right;
}

.navbar-form--inner {
    margin: 8px 0 0 0 !important;
}

.navbar-form--inner .btn-primary {
    background: #ffd9fd;
    color: #7a7a7a;
    text-shadow: none;
}

.newshop_list {
    display: flex;
    justify-content: space-between;
    font-size: 16px;
}

.newshop_list li {
    list-style: none;
    margin-right: 25px;
}


@media (max-width: 767px) {
    .brand img {
        width: 37vw;
    }

    input.span9 {
        width: 31vw !important;
        font-size: 2.8vw;
    }

    .navbar .btn-navbar {
        display: block;
        margin-top: 8px;
    }

    .navbar-fixed-top {
        margin-bottom: 15px;
    }

    .navbar .navbar-inner {
        padding: 10px 0;
        background-color: #ffffff;
    }
}

@media screen and (max-width:320px) {
    .brand img {
        width: 34vw;
    }

    input.span9 {
        width: 29vw !important;
        font-size: 10px;
    }

    .navbar-form--inner .btn-primary {
        font-size: 11px;
        padding: 4px 7px;
    }
}


/* newBadge
---------------------------------------------*/
.newBadge {
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    padding: 2px 3px 2px 3px;
    border-radius: 2px;
    background: #f94ff9;
    animation: flash 1.5s steps(1, end) infinite;
}

@keyframes flash {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/*アコーディオン*/
.area_accordion .accordion_head {
    cursor: pointer;
    padding: 8px 12px 8px 25px;
    background: url(../../images/sp/accordion_off.png) no-repeat 5px center;
}

.area_accordion .accordion_head.active {
    background: url(../../images/sp/accordion_on.png) no-repeat 5px center;
    ;
}

.area_accordion .accordion_single {
    cursor: pointer;
}

.area_accordion .accordion_single a:hover {
    text-decoration: none;
}

ul.area_accordion {
    list-style: none outside none;
    margin-left: 0;
}

ul.area_accordion li {
    margin-bottom: -1px;
    float: none;
}

ul.area_accordion li {
    border: 1px solid #DDDDDD;
    line-height: 20px;
    color: #990057;
    font-weight: normal;
}

ul.area_accordion li ul {
    margin: 0px -1px;
}

ul.area_accordion li ul li {
    list-style-type: none;
}

ul.area_accordion li a {
    display: block;
    padding: 8px 12px 8px 25px;
}

ul.area_accordion li ul li a {
    padding-bottom: 8px;
    padding-top: 8px;
    padding-left: 25px;
    padding-right: 12px;
    background: #faf6f6;
}


.media .thumb {
    float: left;
    margin-right: 10px;
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    position: relative;
}

.media .thumb a {

    background: #efefef;
    width: 100px;
    height: 100px;
    text-align: center;
    display: table-cell;
    background: #efefef;
    layout-grid-line: 64px;
    vertical-align: middle;
    position: relative;
}

.media .thumb a img {
    vertical-align: middle;
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
}


.zend_form table {
    width: 100%;
    border: 1px #E3E3E3 solid;
    border-collapse: collapse;
    border-spacing: 0;
    margin: 0;
}

.zend_form table th {
    vertical-align: top;
    background-color: #F5F5F5;
    border: #E3E3E3 solid;
    border-width: 0 0 1px 1px;
    padding: 2px 5px;
}

.zend_form table th label {
    font-size: 12px;
    line-height: 1.5em;
}

.zend_form table td {
    padding: 5px;
    border: 1px #E3E3E3 solid;
    border-width: 0 0 1px 1px;
    text-align: left;
}

#main-question-q1,
#main-question-q2,
#main-question-q3 {
    margin: 0px 6px 0px 0px;
}

.zend_form .submit {
    margin: 10px;
    text-align: center;
}



/*////////////////////////////////////////////*/
/*                                            */
/* Content Special                                        */
/*                                            */
/*////////////////////////////////////////////*/

.Section .special01_wrap {
    width: 96%;
    box-sizing: border-box;
    margin: 10px auto 0 auto;
    padding: 3px;
    clear: both;
    background: #af9e72;
}

.Section .special01_wrap .section {
    width: 100%;
    background: #fff;
    box-sizing: border-box;
    padding: 15px 10px 10px 10px;
    border: double 3px #fff;
}

/*.Section .special01_wrap .section .text {
    float: right;
    width: 70%;
}*/
.Section .special01_wrap .section .image {
    margin-bottom: 10px;
    padding: 3px;
    background: #eee;
    border: solid 1px #ccc;
    box-sizing: border-box;
    max-width: 100%;
    height: auto;
}

.Section .special01_wrap .text h3 {
    margin: 0 0 10px 0;
    border-right: #765c15 1px solid;
}

.Section .special01_wrap .text h3 a {
    color: #fff;
}

.Section .special01_wrap p.caption {
    display: inline-block;
    margin-bottom: 10px;
    font-weight: bold;
    color: #756937;
    border-top: 1px solid #ccc;
    padding-top: 10px;
}

.Section .special01_wrap .clearfix {
    font-size: 100%;
}

/* vt バレンタイン
--------------------------------------*/
.vt {
    border: 4px solid #b39e71;
    padding: 1% 0 1% 1%;
    overflow: hidden;
    margin: 2%;
}

.vt .lank {
    display: inline-block;
    vertical-align: top;
    margin: 3px;
    width: 47%;
    border: none;
    border: 1px solid #ccc;
}

.vt .lank td,
.vt .lank th {
    padding: 0;
    border: none;
    width: 100%;
}

.vt div.t3 {
    padding: 7px;
    text-align: center;
    line-height: 140%;
}

.vt .shopname {
    color: #f56000;
    line-height: 140%;
    text-align: center;
    font-size: 120%;
    display: block;
}

.vt .shoptel {
    font-weight: bold;
    color: #333 !important;
    line-height: 140%;
    font-size: 120%;
    display: block;
}

.vt div.t3 .link-arrow {
    line-height: 140%;
}

.vt div.t3 p {
    margin-bottom: 10px;
}

.vt div.t3 img {
    width: 100%;
    margin-bottom: 10px;
}

.vt .photo {
    padding: 3%;
}

.vt .photo img {
    width: 100%;
}

.vt .lank h3 {
    padding: 0px;
    font-size: 16px;
    margin: 0;
    text-align: center;
}

/**エリア色分け**/
.vt .areatag {
    padding: 10px;
}

.vt .areatag,
.vt .areatag.aichi {
    background: #f33575;
    margin: 0;
}

.vt .areatag.gifu {
    background: #2c8ea7;
    margin: 0;
}



/* pickupgirls
--------------------------------------*/
#list_pickupgirls {
    padding: 0 10px;
}

#list_pickupgirls .maintitle {
    text-align: center;
}

#list_pickupgirls .flexslider {
    background-color: #cd303c;
    background-image: -webkit-linear-gradient(bottom, #ff58be, #fffbd0 50%, #fff1d8 52%, #ffc2e7 64%, #ff58be);
    background-image: -moz-linear-gradient(bottom, #ff58be, #fffbd0 50%, #fff1d8 52%, #ffc2e7 64%, #ff58be);
    background-image: -o-linear-gradient(bottom, #ff58be, #fffbd0 50%, #fff1d8 52%, #ffc2e7 64%, #ff58be);
    background-image: -ms-linear-gradient(bottom, #ff58be, #fffbd0 50%, #fff1d8 52%, #ffc2e7 64%, #ff58be);
    background-image: linear-gradient(to top, #ff58be, #fffbd0 50%, #fff1d8 52%, #ffc2e7 64%, #ff58be);
    position: relative;
    margin-bottom: 50px;
}

#list_pickupgirls .main_pic {
    position: relative;
    max-width: calc(100vw - 28px);
}

#list_pickupgirls .main_pic:first-child {
    display: block;
}

#list_pickupgirls .flexslider:before {
    content: url("../../images/sp/pickupgirls/fream_01.png");
    position: absolute;
    top: 3px;
    right: 3px;
    z-index: 100;
}

#list_pickupgirls .flexslider:after {
    content: url("../../images/sp/pickupgirls/fream_02.png");
    position: absolute;
    left: 3px;
    bottom: 3px;
    z-index: 100;
}

#list_pickupgirls .logo {
    position: absolute;
    bottom: 15px;
    right: 10px;
    z-index: 100;
    width: auto;
}

#list_pickupgirls .halfborder {
    border-bottom: solid #ccc 2px;
    font-size: 22px;
    margin: 10px 0;
    padding-bottom: 5px;
    position: relative;
}

#list_pickupgirls .halfborder:after {
    content: "";
    line-height: 0;
    display: block;
    overflow: hidden;
    position: absolute;
    bottom: -2px;
    width: 30%;
    border-bottom: 2px solid #ff58be;
}

#list_pickupgirls .girltable {
    border: solid #ff58be 2px;
    border-left: 0;
    margin-top: 30px;
    width: 100%;
}

#list_pickupgirls .girltable tr th {
    background-color: #ff58be;
    color: #ffffff;
    text-align: center;
    width: 60px;
    border: 0;
    vertical-align: top;
    padding: 5px;
}

#list_pickupgirls .girltable tr+tr th {
    border-top: 2px solid #fff;
}

#list_pickupgirls .girltable tr td {
    border: solid #ff58be 2px;
    border-left: 0;
    padding: 5px;
}

#list_pickupgirls .backnumber {
    background: url("../../images/pickupgirls/bg_backnumber.png") repeat 0 0 #ffe0f1;
    border-top: 4px solid #ff58be;
    border-bottom: 4px solid #ff58be;
    margin: 40px -10px 0;
    padding: 25px 10px 0;
}

#list_pickupgirls .backnumber h2 {
    line-height: inherit;
    margin-bottom: 20px;
    text-align: center;
}

#list_pickupgirls .backnumber ul {
    margin: 0;
    font-size: 0;
    text-align: center;
}

#list_pickupgirls .backnumber li.back_img {
    width: calc(33.33333% - 10px);
    margin: 0 5px 30px;
    display: inline-block;
    float: none;
    vertical-align: top;
}

#list_pickupgirls .backnumber li.back_img .imgbox {
    background-color: #fff;
    border: 1px solid #ff58be;
    border-radius: 10px;
    height: 85px;
    position: relative;
    overflow: hidden;
    width: 85px;
}

#list_pickupgirls .backnumber li.back_img .imgbox img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    border-radius: 9px;
}

#list_pickupgirls .backnumber li.back_img .txtbox {
    font-size: 13px;
    text-align: center;
    margin-top: 5px;
}

#list_pickupgirls .backnumber li.back_img .txtbox .name {
    font-weight: bold;
    font-size: 110%;
}


#list_pickupgirls .flexslider img {
    margin: auto;
    /* width: initial; */
}

#list_pickupgirls .flex-control-paging li a {
    width: 0 !important;
    height: 0 !important;
    border: 10px solid transparent;
    border-bottom-color: #d4d4d4;
    position: relative;
    top: -10px;
    border-radius: 0 !important;
    background-color: transparent !important;
}

#list_pickupgirls .flex-control-paging li a:after {
    content: '';
    position: absolute;
    left: -10px;
    top: 10px;
    width: 0;
    height: 0;
    border: 10px solid transparent;
    border-top-color: #d4d4d4;
}

#list_pickupgirls .flex-control-paging li a.flex-active {
    width: 0 !important;
    height: 0 !important;
    border: 10px solid transparent;
    border-bottom-color: #ff58be !important;
    position: relative;
    top: -10px;
    border-radius: 0 !important;
}

#list_pickupgirls .flex-control-paging li a.flex-active:after {
    content: '';
    position: absolute;
    left: -10px;
    top: 10px;
    width: 0;
    height: 0;
    border: 10px solid transparent;
    border-top-color: #ff58be !important;
}


/* ランキング
--------------------------------------*/


/* 東海エリアマップ
--------------------------------------*/
.toukaiMap {
    //    background-color: #000000;
    background-color: #fef;
    border: 1px solid #ffbaff;
    border-left: 0;
    border-right: 0;
    margin-top: 10px;
    margin-bottom: 10px;
    padding: 4px;
}

.toukaiMap h3 {
    margin-bottom: 20px;
}

.toukaiMap table {
    width: 100%;
    height: 100%;
}

.toukaiMap table,
.toukaiMap table tr td {
    border: 0;
}

.toukaiMap table tr td {
    vertical-align: middle;
    padding: 0.5vw;
    height: 100%;
}

.toukaiMap table tr td a {
    background: #f94ff9;
    background: -moz-linear-gradient(top, #f94ff9 0%, #f94dc3 50%, #fba6e1 50%, #fc14af 51%, #ff96dd 100%);
    background: -webkit-linear-gradient(top, #f94ff9 0%, #f94dc3 50%, #fba6e1 50%, #fc14af 51%, #ff96dd 100%);
    background: linear-gradient(to bottom, #f94ff9 0%, #f94dc3 50%, #fba6e1 50%, #fc14af 51%, #ff96dd 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f94ff9', endColorstr='#ff96dd', GradientType=0);
    border: 1px solid #f94dd9;
    border-radius: 4px;
    box-shadow: 0px 0px 1px 1px rgba(255, 255, 255, 0.3) inset;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: bold;
    font-size: 3vw;
    text-align: center;
    text-decoration: none;
    padding: 1vw;
    height: 100%;
    line-height: 1.3;
}

.toukaiMap table tr td a:hover {
    background: #cb60b3;
    background: -moz-linear-gradient(top, #cb60b3 0%, #c146a1 50%, #a80077 51%, #db36a4 100%);
    background: -webkit-linear-gradient(top, #cb60b3 0%, #c146a1 50%, #a80077 51%, #db36a4 100%);
    background: linear-gradient(to bottom, #cb60b3 0%, #c146a1 50%, #a80077 51%, #db36a4 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cb60b3', endColorstr='#db36a4', GradientType=0);
}

.toukaiMap .map_aichi {
    background: url(../../images/img_map_aichi.png) no-repeat center;
    -webkit-background-size: contain;
    background-size: contain;
    padding: 10px 0 50px;
}

.toukaiMap .map_outside {
    background-color: #fff;
    border-radius: 5px;
    padding: 15px 10px;
    margin-top: 10px;
}

.toukaiMap .map_outside p {
    font-weight: bold;
    margin-bottom: 10px;
    border-left: 3px solid #ff3398;
    padding-left: 7px;
}

.toukaiMap .map_outside .in {
    display: flex;
    justify-content: space-between;
}

.toukaiMap .map_outside .item {
    width: 32%;
    font-size: 4vw;
}

.toukaiMap .map_outside .trigger {
    border: 1px solid;
    border-radius: 4px;
    box-shadow: 0px 0px 1px 1px rgba(255, 255, 255, 0.3) inset;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    padding: 6px 1vw;
    line-height: 1.3;
    position: relative;
    cursor: pointer;
}

.toukaiMap .map_outside .item>.trigger:before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 4px 0 4px;
    border-color: #ffffff transparent transparent transparent;
    position: absolute;
    left: 8px;
}

.toukaiMap .map_outside .item>.trigger:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 4px 0 4px;
    border-color: #ffffff transparent transparent transparent;
    position: absolute;
    right: 8px;
}

.toukaiMap .map_outside .item>.trigger.active:before {
    border-style: solid;
    border-width: 0 4px 8px 4px;
    border-color: transparent transparent #ffffff transparent;
    position: absolute;
}

.toukaiMap .map_outside .item>.trigger.active:after {
    border-style: solid;
    border-width: 0 4px 8px 4px;
    border-color: transparent transparent #ffffff transparent;
    position: absolute;
}

.toukaiMap .map_outside .item .trigger.gifu {
    background: #6db3f2;
    background: -moz-linear-gradient(top, #6db3f2 0%, #54a3ee 50%, #1e69de 51%, #3690f0 100%);
    background: -webkit-linear-gradient(top, #6db3f2 0%, #54a3ee 50%, #1e69de 51%, #3690f0 100%);
    background: linear-gradient(to bottom, #6db3f2 0%, #54a3ee 50%, #1e69de 51%, #3690f0 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#6db3f2', endColorstr='#3690f0', GradientType=0);
    border-color: #1E69DE;
}

.toukaiMap .map_outside .item .trigger.gifu:hover {
    background: #3b9bef;
    background: -moz-linear-gradient(top, #3b9bef 0%, #077ded 50%, #0021b7 51%, #093bc4 61%, #3690f0 100%);
    background: -webkit-linear-gradient(top, #3b9bef 0%, #077ded 50%, #0021b7 51%, #093bc4 61%, #3690f0 100%);
    background: linear-gradient(to bottom, #3b9bef 0%, #077ded 50%, #0021b7 51%, #093bc4 61%, #3690f0 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#3b9bef', endColorstr='#3690f0', GradientType=0);
}

.toukaiMap .map_outside .item .trigger.mie {
    background: #ffb76b;
    background: -moz-linear-gradient(top, #ffb76b 0%, #ffa73d 50%, #ff7c00 51%, #ff7f04 100%);
    background: -webkit-linear-gradient(top, #ffb76b 0%, #ffa73d 50%, #ff7c00 51%, #ff7f04 100%);
    background: linear-gradient(to bottom, #ffb76b 0%, #ffa73d 50%, #ff7c00 51%, #ff7f04 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffb76b', endColorstr='#ff7f04', GradientType=0);
    border-color: #ff7c00;
}

.toukaiMap .map_outside .item .trigger.mie:hover {
    background: #f85032;
    background: -moz-linear-gradient(top, #f85032 0%, #f16f5c 50%, #f6290c 51%, #f02f17 71%, #e73827 100%);
    background: -webkit-linear-gradient(top, #f85032 0%, #f16f5c 50%, #f6290c 51%, #f02f17 71%, #e73827 100%);
    background: linear-gradient(to bottom, #f85032 0%, #f16f5c 50%, #f6290c 51%, #f02f17 71%, #e73827 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f85032', endColorstr='#e73827', GradientType=0);
}

.toukaiMap .map_outside .item .trigger.shizuoka {
    background: #9dd53a;
    background: -moz-linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%);
    background: -webkit-linear-gradient(top, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%);
    background: linear-gradient(to bottom, #9dd53a 0%, #a1d54f 50%, #80c217 51%, #7cbc0a 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9dd53a', endColorstr='#7cbc0a', GradientType=0);
    border-color: #80c217;
}

.toukaiMap .map_outside .item .trigger.shizuoka:hover {
    background: #70c637;
    background: -moz-linear-gradient(top, #70c637 0%, #5cad41 50%, #239612 51%, #7cbc0a 100%);
    background: -webkit-linear-gradient(top, #70c637 0%, #5cad41 50%, #239612 51%, #7cbc0a 100%);
    background: linear-gradient(to bottom, #70c637 0%, #5cad41 50%, #239612 51%, #7cbc0a 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#70c637', endColorstr='#7cbc0a', GradientType=0);
}

.toukaiMap .map_outside .item .acordion_tree {
    margin-top: 10px;
    margin-left: 0;
    list-style-type: none;
}

.toukaiMap .map_outside .item .acordion_tree li a {
    display: block;
    border-bottom: 1px dotted #ccc;
    padding: 5px 0 3px 3px;
    text-decoration: none;
    position: relative;
}

.toukaiMap .map_outside .item .acordion_tree li a:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 7px 7px;
    border-color: transparent transparent #990066 transparent;
    position: absolute;
    right: 0;
    bottom: 0;
}

.toukaiMap .map_outside .item .acordion_tree li a:hover {
    background-color: #fef;
}



/* 宣伝カーページ sendencar.html
--------------------------------------*/

.page_sendencar {
    background: #48266E;
    padding: 50px 0;
}

.page_sendencar h2 {
    padding: 0;
    background: none;
    height: auto;
}

.page_sendencar img {
    max-width: 100%;
    height: auto;
}

.page_sendencar .nav {
    background: url("../../images/sendencar/bg_nav.png") no-repeat bottom/contain;
}

.page_sendencar .lang {
    display: flex;
    justify-content: space-around;
    width: 80%;
    margin: 0 auto 30px;
    list-style: none;
}

.page_sendencar .lang li {
    width: 45%;
}

.page_sendencar .anchor {
    padding: 4.5% 15%;
    list-style: none;
    margin: auto;
}

.page_sendencar .anchor li {
    margin-bottom: 5px;
}

.page_sendencar .info_wrap {
    display: flex;
}

.page_sendencar .youtube_wrap {
    box-sizing: border-box;
    width: 86%;
    background: url(../../images/sendencar/bg_youtube.png);
    padding: 15px 20px;
    margin: 20px auto 20px;
    border-radius: 10px;
}

.page_sendencar .youtube_wrap .btn_wrap {
    margin-bottom: 0;
}

.page_sendencar .youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    margin: 0 auto 10px;
}

.page_sendencar .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}

.page_sendencar .btn_wrap {
    text-align: center;
    margin-bottom: 20px;
}

.page_sendencar .btn_wrap img {
    width: 60%;
}

.page_sendencar .snslink {
    display: flex;
    justify-content: space-around;
    list-style: none;
    margin: 0;
}



/* 初めての方へページ beginner.html
--------------------------------------*/

.page_beginner img {
    max-width: 100%;
    height: auto;
}

.beginner_flow {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}

.beginner_flow .txt {
    width: 60%;
}

.beginner_flow .txt p {
    padding-left: 20px;
}

.beginner_flow .img {
    width: 35%;
}


/* ランキングページ
--------------------------------------*/

.ranking_container {
    box-sizing: border-box;
    width: 100%;
    padding: 0 10px;
    margin: auto;
}

#list_ranking {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}

.ranking_title {
    background: #e13077;
    color: #fff;
    padding: 3% 0 3% 3%;
    text-align: center;
    margin-bottom: 2%;
    box-sizing: border-box;
}

.ranking_title h1 {
    background: none;
    height: auto;
    line-height: 1;
    padding: 0;
    margin: 0;
    color: #fff;
    border-left: solid 5px #fff;
    padding-left: 13px;
    text-align: left;
    font-size: 5.5vw;
}

.ranking_title span {
    font-size: 3.4vw;
}

.ranking_title_txt {
    margin-bottom: 4px;
    font-size: 19px;
    font-weight: bold;
    color: #555;
    background: url(../../images/ranking/icon_select.png) no-repeat left -5px center/13%;
    padding: 20px 0 20px 12%;
}

.ranking_area_list ul {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.ranking_area_list li,
.salon-link li {
    list-style-type: none;
}

.ranking_area_list li {
    text-align: center;
    margin: 0 2px 2px 2px;
    width: 24%;
    background: #d7d7d7;
    margin: 0 1px 1px 1px;
}

.ranking_area_list a {
    display: block;
    color: #555;
    padding: 10px 0px;
    text-decoration: none;
    font-weight: bold;
    transition: all 0.3s ease;
    font-size: 16px;
    line-height: 1;
}

.lr-wrap {
    width: 98%;
    margin: auto;
    margin-bottom: 20px;
    padding: 10px 3px;
    box-sizing: border-box;
    border-radius: 5px;
    border: 1px solid #ddd;
}

.lr-wrap>div:first-child {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    flex-wrap: wrap;
}

.gold-border {
    border-image: url(../../images/ranking/border_gold.png);
    border-image-slice: 8;
    border-image-repeat: stretch;
    border-width: 5px;
    /* border: 2px solid #ffd700; */
}

.gold-rank-num,
.silver-rank-num,
.bronze-rank-num,
.default-rank-num {
    position: relative;
    width: 35px;
    height: 35px;
    margin: 0 auto;
    color: #FFF;
    color: #212529;
    text-align: center;
    vertical-align: middle;
    background: linear-gradient(135deg, white 0%, white 22%, #DDD 44%, #A5A5A5 52%, black 100%);
    border-radius: 50%;
}

.gold-rank-num::before,
.silver-rank-num::before,
.bronze-rank-num::before,
.default-rank-num::before {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 30px;
    height: 30px;
    content: "";
    background: linear-gradient(135deg, #515151 0%, #515151 19%, #EDEDED 50%, white 77%, white 100%);
    border-radius: 50%;
    box-sizing: inherit;
    transform: translate(-50%, -50%);
}

.gold-rank-num .rank-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 25px;
    height: 25px;
    font-size: 19px;
    padding-top: 3px;
    color: #ff0078;
    background: linear-gradient(to top, #ffcb38 0%, #fff7e5 60%, #ffcb38 100%);
    border-radius: 50%;
    box-shadow: inset 0 0 2px white, 0 2px 4px rgba(0, 0, 0, 0.5);
    transform: translate(-50%, -50%);
    box-sizing: border-box;
}

.silver-border {
    border-image: url(../../images/ranking/border_silver.png);
    border-image-slice: 8;
    border-image-repeat: stretch;
    border-width: 5px;
    /* border: 2px solid #c0c0c0; */
}

.silver-rank-num .rank-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 25px;
    height: 25px;
    padding-top: 4px;
    font-size: 19px;
    color: #363636;
    background: linear-gradient(to top, #c0c0c0 0%, #fff7e5 60%, #c0c0c0 100%);
    border-radius: 50%;
    box-shadow: inset 0 0 2px white, 0 2px 4px rgba(0, 0, 0, 0.5);
    transform: translate(-50%, -50%);
    box-sizing: border-box;
}

.bronze-border {
    border-image: url(../../images/ranking/border_bronze.png);
    border-image-slice: 8;
    border-image-repeat: stretch;
    border-width: 5px;
    /* border: 2px solid #cd7f32; */
}

.bronze-rank-num .rank-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 25px;
    height: 25px;
    padding-top: 4px;
    font-size: 19px;
    color: #531500;
    background: linear-gradient(to top, #ff6a38 0%, #fff7e5 60%, #ff6a38 100%);
    border-radius: 50%;
    box-shadow: inset 0 0 2px white, 0 2px 4px rgba(0, 0, 0, 0.5);
    transform: translate(-50%, -50%);
    box-sizing: border-box;
}

.default-border {
    border: 2.9px solid #e13077;
    border-radius: 8px;
}

.default-rank-num .rank-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 25px;
    height: 25px;
    font-size: min(19px, 4vw);
    padding-top: 3px;
    color: #555555;
    border-radius: 50%;
    box-shadow: inset 0 0 2px white, 0 2px 4px rgba(0, 0, 0, 0.5);
    transform: translate(-50%, -50%);
    box-sizing: border-box;
}

.salon-title h2 {
    background: none;
    text-shadow: none;
    font-size: min(18px, 4.8vw);
    font-weight: bold;
    padding: 0;
    height: auto;
    line-height: 1.4;
    padding-bottom: 5px;
    margin: 0 0 2.5% 0;
    border: none;
    border-bottom: 2px solid #d7d7d7;
}

.salon-title h2 a {
    color: #555;
}

.salon-lead {
    display: flex;
    margin-bottom: 5px;
    justify-content: space-between;
    flex-wrap: wrap;
}

.salon-pic {
    width: min(120px, 100%);
}

.salon-pic a {
    display: block;
}

.salon-pic img {
    object-fit: contain;
    background: #f3f3f3;
    width: 120px;
    height: 120px;
}

.salon-main {
    width: 90%;
    box-sizing: border-box;
    padding: 0 5px;
}

.salon-content {
    display: flex;
    flex-direction: column;
    width: 44vw;
}

.salon-content a {
    color: #fff;
    background: url(../../images/ranking/shop_detail.png) no-repeat left min(9%, 1.3vw) top 50%/min(13%, 5vw), #e13077;
    padding: 9% 0 8% 7.5vw;
    display: block;
    border-radius: 5px;
    font-size: min(20px, 3.4vw);
    font-weight: bolder;
    margin-bottom: 5px;
    line-height: 1;
}

.salon-link {
    display: flex;
    text-align: center;
    flex-wrap: wrap;
    justify-content: space-around;
    margin: 0 0 5px;
}

.salon-link li {
    background: #d7d7d7;
    border-radius: 3px;
    width: min(81px, 24%);
}

.salon-link a {
    color: #555;
    font-weight: bold;
    border-radius: 3px;
    font-size: 10px;
    display: block;
    padding: 10px 0 9px 15px;
    box-sizing: border-box;
}

.salon-link-therapist a {
    background: url(../../images/ranking/icon_therapist.png) no-repeat left 12% top 52%/14%;
    padding: 10px 0 9px 17px;
}

.salon-link-service a {
    background: url(../../images/ranking/icon_service.png) no-repeat left 15% top 50%/13%;
    padding: 10px 0 9px 17px;
}

.salon-link-map a {
    background: url(../../images/ranking/icon_map.png) no-repeat left 23% top 50%/15%;
}

.salon-link-coupon a {
    background: url(../../images/ranking/icon_coupon.png) no-repeat left 15% top 50%/18%;
    padding: 10px 0 9px 20px;
}

.salon-num {
    width: 10%;
    padding-top: 5px;
}

.salon-info {
    font-size: min(12px, 3.4vw);
    line-height: 1.5;
}

.salon-tel_btn {
    color: #fff !important;
    background: url(../../images/ranking/icon_tel.png) no-repeat left 32% center/4.5%, #067d78;
    display: block;
    text-align: center;
    font-size: 3.8vw;
    padding: 10px 0 8px 25px;
    border-radius: 5px;
    font-weight: bold;
    margin-bottom: 5px;
}

.salon-introduction {
    font-size: 12px;
    line-height: 1.5;
    color: #555555;
    border: 1px solid #d7d5d5;
    border-radius: 5px;
    padding: 10px;
    box-sizing: border-box;
}

.rank-inner {
    font-size: 12px;
    font-weight: bold;
}

.rank_compare_up {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 15px;
    font-weight: bold;
    margin-top: 5px;
    gap: 3px;
    color: #fc6bca;
}

.rank_compare_up img {
    width: 15px;
}

.rank_compare_equal {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 3.2vw;
    font-weight: bold;
    margin-top: 10px;
    gap: 5px;
    color: #5dcd45;
}

.rank_compare_equal img {
    width: 30px;
}

.rank_compare_decrease {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 3vw;
    font-weight: bold;
    margin-top: 5px;
    color: #61baf2;
}

.rank_compare_decrease img {
    width: 15px;
}

.rank_compare_up span {
    color: #fc6bca;
    font-size: min(15px, 3.5vw);
}

.rank_compare_equal span {
    color: #5dcd45;
    font-size: min(12px, 1.7vw);
}

.rank_compare_decrease span {
    color: #61baf2;
    font-size: min(12px, 1.7vw);
}

.is-area_active {
    background: #067d78 !important;
    color: #fff !important;
}

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

    .ranking_title h1 {
        padding: 2px 0 0 7px;
        border-left: solid 3px #fff;
    }

    .ranking_title {
        padding: 3% 0 3% 7px;
    }

    .ranking_title_txt {
        font-size: 18px;
        background: url(../../images/ranking/icon_select.png) no-repeat left -5px center/13%;
        padding: 13px 0 13px 12%;
    }

    .lr-wrap {
        padding: 10px 3px;
        margin-bottom: 10px;
    }

    .salon-link {
        gap: 0px;
        margin: 0 0 5px 0;
    }

    .salon-info {
        font-size: 10px;
    }

    .salon-link li {
        width: 49%;
        margin-bottom: 4px;
    }

    .salon-link a {
        font-size: 10px;
        padding: 7% 0 5% 20px;
    }

    .salon-link-therapist a {
        background: url(../../images/ranking/icon_therapist.png) no-repeat left 18% top 52%/14%;
    }

    .salon-link-service a {
        background: url(../../images/ranking/icon_service.png) no-repeat left 23% top 50%/13%;
    }

    .salon-link-map a {
        background: url(../../images/ranking/icon_map.png) no-repeat left 30% top 50%/15%;
    }

    .salon-link-coupon a {
        background: url(../../images/ranking/icon_coupon.png) no-repeat left 20% top 50%/18%;
    }

    .salon-pic img {
        object-fit: contain;
        background: #f3f3f3;
        width: 100%;
        height: auto;
    }

    .salon-num {
        width: 13%;
    }

    .salon-main {
        width: 86%;
    }

    .salon-content {
        width: 100%;
        margin-top: 5px;
    }

    .salon-content a {
        background: url(../../images/ranking/shop_detail.png) no-repeat left 13% top 45%/8%, #e13077;
        font-size: 13px;
        padding: 11px 0% 9px 0;
        line-height: 1;
        text-align: center;
    }

    .salon-pic {
        width: 100%;
    }

    .gold-rank-num,
    .silver-rank-num,
    .bronze-rank-num,
    .default-rank-num {
        width: 33px;
        height: 33px;
    }

    .gold-rank-num .rank-inner,
    .silver-rank-num .rank-inner,
    .bronze-rank-num .rank-inner,
    .default-rank-num .rank-inner {
        width: 25px;
        height: 25px;
    }

    .gold-rank-num::before,
    .silver-rank-num::before,
    .bronze-rank-num::before,
    .default-rank-num::before {
        width: 29px;
        height: 29px;
    }

    .gold-rank-num .rank-inner,
    .silver-rank-num .rank-inner,
    .bronze-rank-num .rank-inner,
    .default-rank-num .rank-inner {
        padding-top: 2px;
        font-size: 18px;
    }
}


.box-information{
    padding: 5px;
    border: 1px solid #ffbaff;
    border-radius: 2px;
    background: #ffeeff;
    margin-bottom: 1em;
}