﻿@charset "utf-8";

/*--------------------------------------

  全体

---------------------------------------*/
body * {
    transition: all .2s ease-out;
}
html {
    width: 100%;
    height: 100%;
    font-size: 62.5%;
    font-feature-settings : "palt";
}
body {
    position: relative;
    padding-bottom: 220px;
    width: 100%;
    min-height: 100%;
    line-height: 1.5;
    background: #fff2f9;
    color: #666;
    font-size: 1.3rem;
    font-family: "メイリオ", sans-serif;
    font-feature-settings : "palt";
}
/*フッターの干渉対策用クラス　（検索結果一覧/お店ページTOP）　*/
.pdg_footer {
    padding-bottom: 411px;
}

/*--------------------------------------

  リンク/テキスト

---------------------------------------*/
a {
    color: #fc648a;
    text-decoration: none;
}
a.link_txt {
	color: #fa628b;
}
a.link_txt:hover,
a.link_txt:active,
a.link_txt:focus {
    text-decoration: none;
}
a:hover img {
    opacity: .8;
}
a.more .icon_svg {
    width: 16px;
    height: 16px;
    margin: -1px 4px 0 0;
    border-radius: 50px;
    background: #dcdcdc;
}
a.more .icon_svg svg {
    fill: #fff;
}
a.more:hover .icon_svg {
    background: #fc648a;
}
a.more_fadeuot {
    display: block;
    position: relative;
    top: -40px;
    width: 140px;
    margin: 0 auto;
    padding: 20px;
    text-align: center;
    text-decoration: underline;
}
a.more_fadeuot svg {
    display: block;
    height: 80px;
    fill: #dcdcdc;
}
a.more_fadeuot:hover {
    text-decoration: none;
}
a.more_fadeuot:hover svg {
    fill: #fa628b;
}
::-webkit-selection {
    background: #feebad;
    text-shadow: none;
}
::-moz-selection {
    background: #feebad;
    text-shadow: none;
}
::selection {
    background: #feebad;
    text-shadow: none;
}
p.report {
    line-height: 1.5;
    color: #444;
    font-size: 1.2rem;
}
i,
time {
    line-height: 1.2;
    color: #979797;
    font-size: 1.2rem;
}
.date_area {
    line-height: 1.4;
    color: #979797;
    font-size: 1.2rem;
}
.age {
    position: relative;
    top: -1px;
    display: inline-block;
    font-size: .9em;
}

/*--------------------------------------

  レイアウト

---------------------------------------*/
.w980 {
    position: relative;
    width: 980px;
    margin: 0 auto;
}
.w680 {
    position: relative;
    float: left;
    width: 680px;
}
.w280 {
    position: relative;
    float: left;
    width: 280px;
    margin-left: 20px;
}
.box_border {
    position: relative;
    margin: 20px 0;
    padding: 18px;
    border: solid 2px #dcdcdc;
    background: #fff;
    box-sizing: border-box;
    word-break : break-all;
}
.box_border.pad_88 {
    padding: 18px 88px;
}
.box_border.pad_128 {
    padding: 18px 128px;
}
.box_noborder {
    position: relative;
    margin: 20px 0;
    padding: 20px;
    background: #fff;
    box-sizing: border-box;
    word-break : break-all;
}
.w680 > .box_border:nth-of-type(1),
.w680 > .box_noborder:nth-of-type(1) {
    margin-top: 0;
}
.box_side {
    position: relative;
    margin: 20px 0;
    padding: 14px 8px 10px;
    border: solid 2px #dcdcdc;
    background: #fff;
    box-sizing: border-box;
    box-shadow: inset 0 4px rgba(84, 175, 193, 1);
}
.box_side:nth-child(1) {
    margin-top: 0;
}

/*--------------------------------------

  背景

---------------------------------------*/
body.bg_chihou {
    background: -moz-linear-gradient(left top, #fcf3f7, #fcf3f7 25%, #fbeef4 25%, #fbeef4 50%, #fcf3f7 50%, #fcf3f7 75%, #fbeef4 75%,#fbeef4);
    background: -webkit-linear-gradient(left top, #fcf3f7, #fcf3f7 25%, #fbeef4 25%, #fbeef4 50%, #fcf3f7 50%, #fcf3f7 75%, #fbeef4 75%,#fbeef4);
    background: -ms-linear-gradient(left top, #fcf3f7, #fcf3f7 25%, #fbeef4 25%, #fbeef4 50%, #fcf3f7 50%, #fcf3f7 75%, #fbeef4 75%,#fbeef4);
    background: linear-gradient(left top, #fcf3f7, #fcf3f7 25%, #fbeef4 25%, #fbeef4 50%, #fcf3f7 50%, #fcf3f7 75%, #fbeef4 75%,#fbeef4);
    background-size: 24px 24px;
}
.bg_dot_y {
    background-color: #fffad1;
    background-image: radial-gradient(#fffdf2 20%, transparent 34%), radial-gradient(#fffdf2 20%, transparent 34%);
    background-size: 12px 12px;
    background-position: 0 0, 6px 6px;
}
.bg_dot_b {
    background-color: #dee7ef;
    background-image: radial-gradient(#e8eef4 20%, transparent 34%), radial-gradient(#e8eef4 20%, transparent 34%);
    background-size: 12px 12px;
    background-position: 0 0, 6px 6px;
}
.bg_dot_footer {
    background-color: #fa628b;
    background-image: radial-gradient(#f86e95 20%, transparent 34%), radial-gradient(#f86e95 20%, transparent 34%);
    background-size: 12px 12px;
    background-position: 0 0, 6px 6px;
}

/*--------------------------------------

  タイトル

---------------------------------------*/
.ttl_big {
    color: #bb9365;
    font-size: 2.4rem;
    font-weight: 600;
    text-align: center;
}
.ttl_big::after {
    content: "";
    display: block;
    color: #979797;
    font-size: 1.5rem;
    font-family: 'Josefin Sans', sans-serif;
    font-weight: normal;
    text-indent: 4px;
    letter-spacing: 4px;
}
/**/
.ttl_grad {
    position: relative;
    margin: 10px 0 24px;
    padding: 12px 0 0;
    text-align: center;
}
.ttl_grad h2 {
    display: inline-block;
    text-align: center;
    color: #fff;
    background-image: linear-gradient(to right, #ec8c69 0%,  #df82b7 50%, #ed6ea0 100%);
    background-clip: text;
    -webkit-background-clip: text;
    text-fill-color: transparent;
    -webkit-text-fill-color: transparent;
    font-family: "Sawarabi Mincho";
    font-size: 26px;
    font-weight: 200;
}
_:-ms-input-placeholder, :root .ttl_grad h2 { /*IE10〜11*/
    color: #fbaed3;
    background-image: none;
}
.ttl_grad h2:before {
    content: url(/pc/img/common/h3_before.png);
    position: relative;
    top: -12px;
    left: -8px;
}
.ttl_grad h2:after {
    content: url(/pc/img/common/h3_after.png);
    position: relative;
    top: 6px;
    right: -6px;
}
.ttl_grad h2::selection {
    -webkit-text-fill-color: #c6a5df;
}
.ttl_grad h3 {
    display: inline-block;
    text-align: center;
    color: #fff;
    background-image: linear-gradient(to right, #ec8c69 0%,  #df82b7 50%, #ed6ea0 100%);
    background-clip: text;
    -webkit-background-clip: text;
    text-fill-color: transparent;
    -webkit-text-fill-color: transparent;
    font-family: "Sawarabi Mincho";
    font-size: 26px;
    font-weight: 200;
}
_:-ms-input-placeholder, :root .ttl_grad h3 { /*IE10〜11*/
    color: #fbaed3;
    background-image: none;
}
.ttl_grad h3:before {
    content: url(/pc/img/common/h3_before.png);
    position: relative;
    top: -12px;
    left: -8px;
}
.ttl_grad h3:after {
    content: url(/pc/img/common/h3_after.png);
    position: relative;
    top: 6px;
    right: -6px;
}
.ttl_grad h3::selection {
    -webkit-text-fill-color: #c6a5df;
}
.ttl_grad i {
    position: absolute;
    display: block;
    top: -2px;
    left: 50%;
    line-height: 1;
    padding: 0 10px;
    border-bottom: dashed 1px #f9d8e5;
    font-family: 'Josefin Sans', sans-serif;
    font-size: 1rem;
    text-indent: 2px;
    letter-spacing: 2px;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
}
/**/
.ttl_tag {
    position: absolute;
    top: -10px;
    width: 82px;
    height: 94px;
    line-height: 1.2;
    padding: 22px 10px 0 10px;
    background: url(/pc/img/common/bg_tag.png);
    color: #fff;
    font-size: 1.1rem;
    font-weight: 400;
    text-align: center;
}
.ttl_tag::after {
    content: "";
    display: block;
    color: #fde032;
    margin-top: 4px;
    font-size: 1.1rem;
    font-family: 'Josefin Sans', sans-serif;
    text-indent: 1px;
    letter-spacing: 1px;
}
/**/
.ttl_girly h2 {
    position: relative;
    top: -18px;
    left: -18px;
    width: 100%;
    padding: 12px 18px 26px 18px;
    box-sizing: content-box;
    background: url(/pc/img/common/bg_girly.png);  
}
.ttl_girly h2 {
    color: rgba(237, 17, 89, .5);
    font-family: 'Josefin Sans', sans-serif;
    font-size: 26px;
    font-weight: 100;
    text-align: center;
    text-shadow: 2px 2px #fff, 3px 3px 0 #dcdcdc, 3px 1px 0 #dcdcdc, 1px 3px 0 #dcdcdc;
    text-indent: 8px;
    letter-spacing: 8px;
}
.ttl_girly h2 .japanese {
    display: block;
    transform: scale(0.9, 1);
    -webkit-transform: scale(0.9, 1);
    letter-spacing: 14px;
}
.ttl_girly h3 {
    position: relative;
    top: -18px;
    left: -18px;
    width: 100%;
    padding: 12px 18px 26px 18px;
    box-sizing: content-box;
    background: url(/pc/img/common/bg_girly.png);  
}
.ttl_girly h3 {
    color: rgba(237, 17, 89, .5);
    font-family: 'Josefin Sans', sans-serif;
    font-size: 26px;
    font-weight: 100;
    text-align: center;
    text-shadow: 2px 2px #fff, 3px 3px 0 #dcdcdc, 3px 1px 0 #dcdcdc, 1px 3px 0 #dcdcdc;
    text-indent: 8px;
    letter-spacing: 8px;
}
.ttl_girly h3 .japanese {
    display: block;
    transform: scale(0.9, 1);
    -webkit-transform: scale(0.9, 1);
    letter-spacing: 14px;
}
.ttl_girly i {
    position: absolute;
    display: block;
    top: 48px;
    left: 50%;
    width: 50%;
    line-height: 1;
    padding: 4px 10px 0 0;
    border-top: solid 1px #dcdcdc;
    font-family: 'Josefin Sans', sans-serif;
    font-size: 1rem;
    text-align: center;
    text-indent: 2px;
    letter-spacing: 2px;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
}
.ttl_girly i::before,
.ttl_girly i::after {
    position: absolute;
    top: -6px;
    left: -14px;
    content: "†";
}
.ttl_girly i::after {
    left: auto;
    right: -14px;
}
/**/
.disc_tag {
    padding: 10px 0 0 100px;
    color: #666;
    font-size: 1.4rem;
    font-weight: bold;
}
.ttl_medium {
    color: #58afc0;
    font-size: 1.8rem;
    font-weight: bold;
}
.ttl_medium.dis_ib {
    display: block;
    float: left;
}
.ttl_side {
    color: #58afc0;
    font-weight: bold;
}
.ttl_side2 {
    color: #bb9365;
    font-weight: bold;
}

/*--------------------------------------

  ヘッダー

---------------------------------------*/
header {
    width: 100%;
    min-width: 1000px;
}
header #top_bar {
    background: #fa628b;
}
header #top_bar h1,
header #top_bar .header_text {
    float: left;
    margin: 12px 0 0;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1;
    font-weight: 300;
    width: 450px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
header #top_bar .header_text_shop {
    float: left;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1;
    font-weight: 300;
    width: 380px;
    margin: 4px 0 0 0;
    line-height: 1.1;
        text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
header #top_bar .header_text_shop span {
    font-size: 1.1rem;
}

header #top_bar h1 a {
    color: #fff;
}
header #top_bar .login_area {
    float: right;
    display: flex;
}
header #top_bar .login_area .bt_login,
header #top_bar .login_area .bt_menu {
    display: block;
    float: left;
    width: 100px;
    line-height: 1;
    margin: 5px 10px 5px 0;
    padding: 8px 0 4px 0;
    border-radius: 30px;
    background: #f9e3ed;
    color: #666;
    text-align: center;
}
header #top_bar .login_area .bt_login:hover,
header #top_bar .login_area .bt_menu:hover {
    background: #fff;
    color: #fa628b;
}
header #top_bar .login_area .recent_links {
    margin-right: 10px;
}
header #top_bar .login_area .recent_links a {
    position: relative;
    display: inline-block;
    margin: 10px 6px 0;
    color: #f9e3ed;
    font-size:1.3rem;
    font-weight: bold;
}
header #top_bar .login_area .recent_links a:hover {
    color: #FFF;
    text-decoration: underline;
}
header #top_bar .login_area .recent_links a::after {
    content:"|";
    position: absolute;
    right: -10px;
    opacity: .5;
}
header #top_bar .login_area .recent_links a:last-child::after {
   display: none;
}
header #top_bar .login_area .bt_menu {
    position: relative;
}
header #top_bar .login_area .bt_menu .badge {
    position: absolute;
    top: -.5rem;
    right: -1rem;
    min-width: 3rem;
    display: inline-block;
    padding: 3px 8px;
    border-radius: 50px;
    box-shadow: inset 1px 1px 1px rgba(255, 255 ,255, .4), inset -1px -1px 1px rgba(0, 0, 0, .2), 2px 2px 0 rgba(0, 0, 0, .1);
    color: #fff;
    background: #ff0407;
    font-weight: normal;
    font-size: 1.1rem;
}
header #top_bar .login_area .bt_area {
    position: relative;
    display: inline-block;
    padding: 6px 30px 6px 20px;
    background: #f9e3ed;
    color: #666;
    font-size: 1.6rem;
}
header #top_bar .login_area .bt_area svg {
    position: absolute;
    top: 3px;
    right: 4px;
    float: right;
    fill: #fa628b;
    width: 26px;
    height: 26px;
}
header #top_bar .login_area .bt_area:hover {
    background: #fff;
    color: #fa628b;
}
header #top_bar .login_area .bt_area.open {
    background: #f9e3ed;
    color: #666;
}
header #top_bar .login_area .bt_area.open svg {
    -webkit-animation: Inverted .6s ease-out forwards;
    animation: Inverted .6s ease-out forwards;
}
header #top_bar .login_area .bt_area.open:hover {
    background: #f9e3ed;
    color: #666;
}
@-webkit-keyframes Inverted {
from {
    transform: translate(0, 0);
}
to {
    transform: translate(0, 6px);
    fill: #f9e3ed;
    opacity: 0;
}
}
@keyframes Inverted {
from {
    transform: translate(0, 0);
}
to {
    transform: translate(0, 6px);
    fill: #f9e3ed;
    opacity: 0;
}
}
/**/
#region_drop {
    width: 100%;
    height: 0;
    background: #f9e3ed;
    overflow: hidden;
}
#region_drop.open {
    height:380px;
    overflow: hidden;
    /*height: 160px;*/
	/*overflow: auto;*/
}
#region_drop .w980 {
	height: 0;
}
#region_drop.open .w980 {
    height:380px;
	/*height: 160px;*/
}
#region_drop.open ul{
    height:336px;
    /*height: 160px;*/
    /*height:380px;*/
}
#region_drop ul {
    height: 0;
	padding: 23px 0;
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    flex-wrap: wrap;
}
#region_drop ul li {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    flex-wrap: wrap;
    width: 313px;
    height: 58px;
    margin: 20px 20px 0 0;
}
#region_drop ul li:first-child, 
#region_drop ul li:nth-child(2),
#region_drop ul li:nth-child(3) {
    margin: 0 20px 0 0;
}
#region_drop ul li:nth-child(3n) {
    margin: 20px 0 0 0;
}
#region_drop ul li:nth-child(3) {
    margin: 0;
}
#region_drop ul li dl {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    width: 100%;
    text-align: center;
}
#region_drop ul li dl dt {
    width: 58px;
    padding: 20px 0 0 0;
    background: #FB7B9D;
    color: #fff;
}
#region_drop ul li:nth-child(10) dl dt {
    padding: 10px 0 0 0;
}
#region_drop ul li dl dd {
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    flex-wrap: wrap;
    width: 255px;
    padding: 10px;
    box-sizing: border-box;
    background: #fff;
}
#region_drop ul li dl dd a {
    color: #58AFC0;
    transition: 0.3s;
}
#region_drop ul li dl dd a:hover {
    color: #F772B7;
}
#region_drop ul li dl dd a::after {
    content: '|';
    padding: 0  5px;
}
#region_drop ul li dl dd a:last-child::after {
    content: '';
}
#region_drop .zenkoku {
    display: block;
    width: 132px;
    padding: 4px 0;
    border: solid 1px #FBEEF4;
    border-radius: 18px;
    background: #FBEEF4;
    font-size: 1.4rem;
    color: #474751; 
    text-align: center;
	transition: all 0.2s ease;
}
#region_drop .zenkoku:before {
    content: "<";
    padding: 0 6px 0 0;
    color: #FB7B9D;
} 
#region_drop .zenkoku:hover {
    color: #fc648a;
    background: #fff;
    border: solid 1px #fc648a;
    box-sizing: border-box;

}


/*#region_drop ul li {
    float: left;
}
#region_drop ul li a {
    display: inline-block;
    width: 128px;
    margin: 10px 14px 10px 0;
    padding: 6px;
    border: solid 2px #dcdcdc;
    background: #fff;
    color: #666;
    border-radius: 50px;
    text-align: center;
    text-decoration: none;
}
#region_drop ul li:nth-child(7n) a {
    margin-right: 0;
}
#region_drop ul li a:hover {
    border-color: #fc648a;
    color: #fc648a;
}
#region_drop ul li.selected a {
    border: solid 2px #54afc1;
    background: #54afc1;
    color: #fff;
    border-radius: 50px;
}
    */
/**/
header .header_main {
    padding: 10px 0;
    background: #fff;
    box-shadow: 0 3px 2px 0 rgba(0, 0, 0, .1);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
header .header_main.bg_spring {
    width: 100%;
    background-image: url(/pc/img/common/ev_logo/background/bg_spring.png);
}
header .header_main.bg_may {
    width: 100%;
    background-image: url(/pc/img/common/ev_logo/background/bg_may.png);
}
header .header_main.bg_jun {
    width: 100%;
    background-image: url(/pc/img/common/ev_logo/background/bg_jun.png);
}
header .header_main.bg_summer {
    width: 100%;
    background-image: url(/pc/img/common/ev_logo/background/bg_summer.png);
}
header .header_main.bg_autumn {
    width: 100%;
    background-image: url(/pc/img/common/ev_logo/background/bg_autumn.png);
}
header .header_main.bg_winter {
    width: 100%;
    background-image: url(/pc/img/common/ev_logo/background/bg_winter.png);
}
header .header_main.bg_oshougatu {
    width: 100%;
    background-image: url(/pc/img/common/ev_logo/background/bg_oshougatu.png);
}
header .header_main.bg_valentine {
    width: 100%;
    background-image: url(/pc/img/common/ev_logo/background/bg_valentine.png);
}
header .header_main.bg_hinamatsuri {
    width: 100%;
    background-image: url(/pc/img/common/ev_logo/background/bg_hinamatsuri.png);
}
header .header_main.bg_sakura {
    width: 100%;
    background-image: url(/pc/img/common/ev_logo/background/bg_sakura.png);
}
header .header_main.bg_kodomonohi {
    width: 100%;
    background-image: url(/pc/img/common/ev_logo/background/bg_kodomonohi.png);
}
header .header_main.bg_tanabata {
    width: 100%;
    background-image: url(/pc/img/common/ev_logo/background/bg_tanabata.png);
}
header .header_main.bg_halloween {
    width: 100%;
    background-image: url(/pc/img/common/ev_logo/background/bg_halloween.png);
}
header .header_main.bg_christmas {
    width: 100%;
    background-image: url(/pc/img/common/ev_logo/background/bg_christmas.png);
}
header .header_main.bg_16th {
    width: 100%;
    height: 100px;
    background-image: url(/pc/img/common/ev_logo/background/bg_16th.png?date=20221213);
}
header .header_main .ev_logo {
    display: block;
    float: left;
    width: 310px;
}
header .header_main .ev_logo img {
    width: 100%;
    margin-top: -6px;
}
header .header_main .ev_logo:hover img {
    opacity: 1;
}
header .header_main .count {
    float: left;
    width: 132px;
    height: 60px;
    line-height: 1.3;
    margin: 8px 0 12px 12px;
}
header .header_main .count div.area_name {
    position: relative;
    display: block;  
    line-height: 1.4;
    padding: 2px 16px;
    border-radius: 20px;
    margin-bottom: 10px;
    color: #666;
    text-align: center;
    font-size: 1.3rem;
	letter-spacing: .5em;
	text-indent: .5em;
    font-weight: normal;
    background: #FFF;
}

header .header_main .count div.area_name::after {
    left: auto;
    right: 0;
}
header .header_main .count p {
    margin: 4px 0;
    color: #666;
    font-size: 1.1rem;
}
header .header_main .count p .left {
    float: left;
}
header .header_main .count p .right {
    margin-top: -2px;
    float: right;
}
header .header_main .count p .right b {
    padding: 0 4px 0 6px;
    font-size: 1.4rem;
    font-weight: 600;
}
header .header_main .shopban {
    display: block;
    height: 60px;
    float: right;
    margin: 16px 0 0 0;
    width: 420px;
}
header .header_main .shopban img {
    width: 100%;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, .1);
}
header .header_main .shopban:hover img {
    box-shadow: none;
}
/*--------------------------------------

  フッター

---------------------------------------*/
footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    min-width: 980px;
    color: #fff;
    font-size: 1.1rem;
    z-index: 1000;
}
footer *::-webkit-selection {
    background: #ad4361;
}
footer *::-moz-selection {
    background: #ad4361;
}
footer *::selection {
    background: #ad4361;
}
footer .w980 {
    position: relative;
}
footer #pagetop a {
    position: fixed;
    display: block;
    width: 60px;
    height: 60px;
    padding-top: 5px;
    border-radius: 80px;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #5cafbf, 2px 4px 14px 0 rgba(0, 0, 0, .4);
    background: #5cafbf;
    color: #fff;
    font-size: 1.4rem;
    text-align: center;
    text-shadow: none;
}
footer #pagetop a::-webkit-selection {
    background: #305b63;
}
footer #pagetop a::-moz-selection {
    background: #305b63;
}
footer #pagetop a::selection {
    background: #305b63;
}

/*========　ページトップ　========*/
footer #pagetop {
}
footer #pagetop a.none {
    position: fixed;
    bottom: -60px;
    opacity: 0;
}
/**/
footer #pagetop a.none_down {
    position: fixed;
    bottom: 70px;
    -webkit-animation: Down .6s ease-out forwards;
    animation: Down .6s ease-out forwards;
}
@-webkit-keyframes Down {
20% {
    transform: translate(0, -10px) scale(1, 1.2);
    bottom: 70px;
    opacity: .5;
}
60% {
    transform: translate(0, 10px) scale(1, .95);
}
to {
    transform: translate(0, 0) scale(1);
    bottom: -60px;
    opacity: 0;
}
}
@keyframes Down {
20% {
    transform: translate(0, -10px) scale(1, 1.2);
    bottom: 70px;
    opacity: .5;
}
60% {
    transform: translate(0, 10px) scale(1, .95);
}
to {
    transform: translate(0, 0) scale(1);
    bottom: -60px;
    opacity: 0;
}
}
/**/
footer #pagetop a.fixed {
    position: fixed;
    bottom: 70px;
    opacity: .5;
}
/**/
footer #pagetop a.fixed_up {
    position: fixed;
    bottom: -40px;
    opacity: .5;
    -webkit-animation: Up .6s ease forwards;
    animation: Up .6s ease-out forwards;
}
@-webkit-keyframes Up {
40% {
    transform: translate(0, -10px) scale(1, 1.2);
    bottom: 120px;
}
60% {
    transform: translate(0, 10px) scale(1, .95);
}
to {
    transform: translate(0, 0) scale(1);
    bottom: 120px;
}
}
@keyframes Up {
40% {
    transform: translate(0, -10px) scale(1, 1.2);
    bottom: 120px;
}
60% {
    transform: translate(0, 10px) scale(1, .95);
}
to {
    transform: translate(0, 0) scale(1);
    bottom: 120px;
}
}
/**/
footer #pagetop a.absolute {
    position: absolute;
    top: -40px;
    right: 0;
    opacity: 1;
}
footer #pagetop a.absolute:hover {
    margin-top: -10px;
    background-color: #76c1cf;
}
/**/
footer #pagetop a.fixed:hover,
footer #pagetop a.fixed_up:hover {
    bottom: 70px;
    background-color: #76c1cf;
    opacity: 1;
}

/*追従バナーを閉じたとき*/
footer #pagetop a.fixed_up.close {
    bottom: 40px;
    -webkit-animation: UpOpen .6s ease forwards;
    animation: UpOpen .6s ease-out forwards;
}
@-webkit-keyframes UpOpen {
40% {
    transform: translate(0, -10px) scale(1, 1.2);
    bottom: 70px;
}
60% {
    transform: translate(0, 10px) scale(1, .95);
}
to {
    transform: translate(0, 0) scale(1);
    bottom: 70px;
}
}
@keyframes UpOpen {
40% {
    transform: translate(0, -10px) scale(1, 1.2);
    bottom: 70px;
}
60% {
    transform: translate(0, 10px) scale(1, .95);
}
to {
    transform: translate(0, 0) scale(1);
    bottom: 70px;
}
}
/**/
footer #pagetop a.none_down.open {
    bottom: 170px;
    -webkit-animation: DownOpen .6s ease-out forwards;
    animation: DownOpen .6s ease-out forwards;
}
@-webkit-keyframes DownOpen {
20% {
    transform: translate(0, -10px) scale(1, 1.2);
    bottom: 170px;
    opacity: .5;
}
60% {
    transform: translate(0, 10px) scale(1, .95);
}
to {
    transform: translate(0, 0) scale(1);
    bottom: 60px;
    opacity: 0;
}
}
@keyframes DownOpen {
20% {
    transform: translate(0, -10px) scale(1, 1.2);
    bottom: 170px;
    opacity: .5;
}
60% {
    transform: translate(0, 10px) scale(1, .95);
}
to {
    transform: translate(0, 0) scale(1);
    bottom: 60px;
    opacity: 0;
}
}
/**/
footer #pagetop a.fixed.open {
    bottom: 170px;
}

/*========　サイトマップ　========*/
footer nav.sitemap {
    padding: 10px 0 20px 0;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, .2);
}
footer nav.sitemap h4 {
    font-size: 1.4rem;
    margin: 10px 0 20px 0;
}
footer nav.sitemap .group {
    display: block;
    float: left;
    margin-right: 60px;
}
footer nav.sitemap div ul li {
    padding: 1px 0;
}
footer nav.sitemap div ul li a {
    color: #fff;
}
footer nav.sitemap div ul li a:before {
    content: "†";
    display: inline-block;
    padding-right: 8px;
}
footer nav.sitemap div ul li a:hover,
footer nav.sitemap div ul li a:hover address {
    text-decoration: underline;
}
footer nav.sitemap div ul li a address {
    display: inline-block;
}

/*========　人気のエリアから風俗求人を探す　========*/
footer nav.area {
    padding: 10px 0 5px 0;
    background: #444;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, .2);
}
footer nav.area h2 {
    font-size: 14px;
    margin: 10px 0 5px 0;
}
footer nav.area h3 {
    font-size: 14px;
    margin: 10px 0 5px 0;
}
footer nav.area ul li {
    position: relative;
    display: inline-block;
    margin: 0 4px 4px 0;
    padding-right: 8px;
    border-right: solid 1px #626262;
}
footer nav.area ul li:after {
    content: "";
    position: absolute;
    top: 0;
    right: -2px;
    height: 100%;
    border-right: solid 1px #252525;
}
footer nav.area ul li a {
    color: #CCC;
    font-size: 12px;
}
footer nav.area ul li a:hover {
    color: #FFF;
    text-decoration: underline;
}
footer nav.area ul .dekasegi_top {
    border-right: none;
    margin: 0;
    padding: 0;
}
footer nav.area ul .dekasegi_top::after {
    display: none;
}
/*========　コピーライト　========*/
footer .copy {
    padding: 20px 0 130px 0;
    background: #444;
}
footer .copy.non_ouenkin {
    /*応援金エリア以外に適用*/
    padding: 20px 0 20px 0;
}
footer .copy *::-webkit-selection {
    background: #000;
}
footer .copy *::-moz-selection {
    background: #000;
}
footer .copy *::selection {
    background: #000;
}
footer .copy .logo_box {
    display: table;
    float: left;
    vertical-align: middle;
}
footer .copy .logo_box .logo {
    display: table-cell;
    width: 136px;
    height: 56px;
    vertical-align: middle;
}
footer .copy .logo_box p {
    display: table-cell;
    padding-left: 10px;
    color: #fff;
    font-size: 1rem;
    vertical-align: middle;
}
footer .copy .login_area {
    float: right;
    padding-top: 14px;
    font-size: 1.2rem;
}
footer .copy .login_area .bt_login {
    display: block;
    float: left;
    width: 100px;
    line-height: 1.6;
    margin: 4px 10px;
    padding: 1px 0;
    border-radius: 30px;
    background: #979797;
    color: #444;
    text-align: center;
}
footer .copy .login_area .bt_login:hover {
    background: #fff;
    color: #fa628b;
}
/*--------------------------------------

  コンテンツ内VIPタイプバナー 150*150

---------------------------------------*/
#vip_center2 {
    position: relative;
    width: 980px;
    margin: 30px auto;
    padding: 10px;
    border-top: solid 2px #fa628b;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, .1);
    background: #fff9e5;
    text-align: center;
}
#vip_center2 .pr {
    display: block;
    margin-bottom: 6px;
    text-align: left;
}
#vip_center2 .pr span {
    position: relative;
    top: -1px;
    display: inline-block;
    line-height: 1.4rem;
    margin: 0 8px 0 4px;
    padding: 1px 6px 0 6px;
    border: solid 1px #dcdcdc;
    color: #979797;
    background: #fff;
    font-weight: normal;
}
/**/
.box_border #vip_center2 {
    position: relative;
    width: 930px;
    margin: 30px auto 0;
    box-shadow: none;
}
/*スワイパー*/
#ban_vip {
	position: relative;
    margin: 20px auto;
    padding: 0 24px;
	text-align: left;
	overflow: hidden;
    transition: all .2s ease-out;
}
#ban_vip p.prev,
#ban_vip p.next {
	position: absolute;
    top: 0;
    width: 48px;
    height: 100%;
    margin-top: 0;
    color: #999;
    transition: all .2s ease;
    cursor: pointer;
}
#ban_vip p.prev {
	left: 4px;
}
#ban_vip p.next {
	right: 4px;
}
#ban_vip p.prev svg,
#ban_vip p.next svg {
    display: block;
    position: absolute;
    top: 122px;
    width: 34px;
    height: 34px;
    line-height: 34px;
    border-radius: 50%;
    color: #fff;
    background: #f9628a;
    text-align: center;
    font-weight: bold;
    font-size: 1.2rem;
    fill: #fff;
}
#ban_vip p.prev:hover svg,
#ban_vip p.next:hover svg {
    background: #fb81a3;
}
#ban_vip p.prev svg {
    left: 0;
}
#ban_vip p.next svg {
    right: 0;
}
#ban_vip ul.list {
	display: flex;
    flex-wrap: nowrap;
}
#ban_vip ul.list li {
	display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
}
#ban_vip ul.list li[class~="hide"] {
	display: none;
}
#ban_vip ul.list li a {
    display: block;
    position: relative;
	width: 400px;
    line-height: 1.4;
    margin: 0 24px;
	color: #333;
	text-decoration: none;
}
#ban_vip ul.list a .wrapper .catch {
    display: inline-block;
    min-height: 44px;
    margin: 8px 0;
    color: #58afc0;
    font-size: 1.6rem;
    font-weight: bold;
}
#ban_vip ul.list a .wrapper .shop_info {
    display: block;
    font-size: 1.3rem;
}
#ban_vip ul.list a .wrapper .shop_info svg {
    width: 18px;
    margin-top: -1px;
}
#ban_vip ul.list a .wrapper .shop_name {
    display: block;
    margin: 4px 0 0;
    color: #fc648a;
    font-size: 1.8rem;
    font-weight: bold;
    text-decoration: underline;
}
#ban_vip ul.list a:hover .wrapper .shop_name {
    text-decoration: none;
}
#ban_vip ul.list a img {
	width: 100%;
}
#ban_vip2 {
	position: relative;
    margin: 16px auto;
    padding: 0 24px;
	text-align: left;
	overflow: hidden;
    transition: all .2s ease-out;
}
#ban_vip2 p.prev,
#ban_vip2 p.next {
	position: absolute;
    top: 0;
    width: 48px;
    height: 100%;
    margin-top: 0;
    color: #999;
    transition: all .2s ease;
    cursor: pointer;
}
#ban_vip2 p.prev {
	left: 4px;
}
#ban_vip2 p.next {
	right: 4px;
}
#ban_vip2 p.prev svg,
#ban_vip2 p.next svg {
    display: block;
    position: absolute;
    top: 122px;
    width: 34px;
    height: 34px;
    line-height: 34px;
    border-radius: 50%;
    color: #fff;
    background: #f9628a;
    text-align: center;
    font-weight: bold;
    font-size: 1.2rem;
    fill: #fff;
}
#ban_vip2 p.prev:hover svg,
#ban_vip2 p.next:hover svg {
    background: #fb81a3;
}
#ban_vip2 p.prev svg {
    left: 0;
}
#ban_vip2 p.next svg {
    right: 0;
}
#ban_vip2 ul.list {
	display: flex;
    flex-wrap: nowrap;
}
#ban_vip2 ul.list li {
	display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
}
#ban_vip2 ul.list li[class~="hide"] {
	display: none;
}
#ban_vip2 ul.list li a {
    display: block;
    position: relative;
	width: 400px;
    line-height: 1.4;
    margin: 0 24px;
	color: #333;
	text-decoration: none;
}
#ban_vip2 ul.list a .wrapper .catch {
    display: inline-block;
    min-height: 44px;
    margin: 8px 0;
    color: #58afc0;
    font-size: 1.6rem;
    font-weight: bold;
}
#ban_vip2 ul.list a .wrapper .shop_info {
    display: block;
    font-size: 1.3rem;
}
#ban_vip2 ul.list a .wrapper .shop_info svg {
    width: 18px;
    margin-top: -1px;
}
#ban_vip2 ul.list a .wrapper .shop_name {
    display: block;
    margin: 4px 0 0;
    color: #fc648a;
    font-size: 1.8rem;
    font-weight: bold;
    text-decoration: underline;
}
#ban_vip2 ul.list a:hover .wrapper .shop_name {
    text-decoration: none;
}
#ban_vip2 ul.list a img {
	width: 100%;
}
/*--------------------------------------

  コンテンツ内検索バナー 150*150

---------------------------------------*/
#pickup_center2 {
    position: relative;
    width: 980px;
    margin: 30px auto;
    padding: 10px;
    border-top: solid 2px #fa628b;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, .1);
    background: #f6f6f6;
    text-align: center;
}
#pickup_center2 .ic_pickup {
    position: absolute;
    top: -32px;
    left: -16px;
}
#pickup_center2 .pr {
    display: block;
    margin-bottom: 6px;
    text-align: left;
}
#pickup_center2 .pr span {
    position: relative;
    top: -1px;
    display: inline-block;
    line-height: 1.4rem;
    margin: 0 8px 0 4px;
    padding: 1px 6px 0 6px;
    border: solid 1px #dcdcdc;
    color: #979797;
    background: #fff;
    font-weight: normal;
}
#pickup_center2 a {
    position: relative;
    display: inline-block;
    width: 310px;
    height: 174px;
    padding: 10px;
    border: solid 1px #dcdcdc;
    background: #fff;
    box-sizing: border-box;
    text-align: center;
    overflow: hidden;
}
/*2件でも3件でもセンターに表示されるようスペース調整*/
#pickup_center2 a:nth-of-type(1) {
    margin: 0 5px 0 0;
}
#pickup_center2 a:nth-of-type(2) {
    margin: 0 5px;
}
#pickup_center2 a:nth-last-of-type(1) {
    margin: 0 0 0 5px !important;
}
/**/
#pickup_center2 a:hover {
    background: #fbeef4;
}
#pickup_center2 a img {
    float: left;
    margin-right: 10px;
    width: 150px;
}
#pickup_center2 a .ttl_medium {
    display: block;
    line-height: 1.2;
    margin: 0 0 6px 0;
    font-size: 1.4rem;
    text-align: left;
}
#pickup_center2 a:hover .ttl_medium {
    color: #fc648a;
}
#pickup_center2 a .ttl_medium span {
    color: #333;
    font-size: 1.2rem;
    font-weight:normal;
}
#pickup_center2 a .ttl_medium b{
    display: block;
    margin-top: 5px;
}
    #pickup_center2 a .date_area {
        text-align: left;
    }
#pickup_center2 a p {
    margin-top: 6px;
    text-align: left;
}
/**/
.box_border  #pickup_center2 {
    position: relative;
    width: 930px;
    margin: 30px auto 0;
    box-shadow: none;
}
.box_border  #pickup_center2 a {
    position: relative;
    display: inline-block;
    width: 290px;
    height: 174px;
    padding: 10px;
    background: #fff;
    box-sizing: border-box;
    text-align: center;
    overflow: hidden;
}
.box_border  #pickup_center2 a:hover {
    background: #fbeef4;
}

/*
.box_border #pickup_center2 a:nth-of-type(1) {
    margin: 0 8px 0 0;
}
.box_border #pickup_center2 a:nth-of-type(2) {
    margin: 0 8px;
}
.box_border #pickup_center2 a:nth-last-of-type(1) {
    margin: 0 0 0 8px !important;
}*/
/*追従バナー*/
.fixed_bn_campagin {
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 750;
    width: 100%;
    padding: 12px 0;
    box-shadow: 0 0px 6px rgba(0, 0, 0, .3);
    background: rgba(0,0,0,0.7);
    z-index: 1001;
}
.fixed_bn_campagin .inner {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    width: 980px;
    margin: 0 auto;
}
.fixed_bn_campagin .inner.js-FixedBn .bn_campagin {
    width: 910px;
    text-align: center;
}
.fixed_bn_campagin .inner.js-FixedBn .bn_campagin a img {
    width: 100%;
    height: auto;
}
.fixed_bn_campagin .inner.js-FixedBn .bn_campagin p {
    display: none;
    color: #FFF;
    font-size: 1.6rem;
    text-align: center;
}
.fixed_bn_campagin .inner.js-FixedBn .btn {
    display: block;
    padding-left: 12px;
}
.fixed_bn_campagin .inner.js-FixedBn .btn::after {
    content: "▼閉じる";
    color: #FFF;
    font-size: 1.4rem;
    text-decoration: underline;
    cursor: pointer;
}
.fixed_bn_campagin .inner.js-FixedBn .btn::after:hover {
    text-decoration: none;
}

/*閉じたとき*/
.fixed_bn_campagin .inner.js-FixedBn.active .bn_campagin a {
    display: none;
}
.fixed_bn_campagin .inner.js-FixedBn.active .bn_campagin p {
    display: inline-block
}
.fixed_bn_campagin .inner.js-FixedBn.active .btn::after {
    content: "▲開く";
}


/*--------------------------------------

  コンテンツ内検索バナー 260*60

---------------------------------------*/
#pickup_center3 {
    position: relative;
    width: 980px;
    margin: 30px auto;
    text-align: center;
}
#pickup_center3 a {
    position: relative;
    display: inline-block;
    margin: 0 10px;
    background: #fff;
    box-sizing: border-box;
    text-align: center;
}
/**/
.box_border  #pickup_center3 {
    position: relative;
    width: 930px;
    margin: 20px auto 10px;
}
.box_border  #pickup_center3 a {
    position: relative;
    display: inline-block;
    margin: 0 10px;
    background: #fff;
    box-sizing: border-box;
    text-align: center;
}

#naviBody {
	position: relative;
	z-index: 750;
    width: 100%;
	height: 100px;
	text-align: left;
	overflow: hidden;
    transition: all .2s ease-out;
}
#naviBody.close {
    height: 0;
}
#naviBody p.prev,
#naviBody p.next {
	position: absolute;
	top: 0;
    z-index: 500;
    width: 40px;
    height: 100%;
    margin-top: 0;
    background: #fff;
    transition: all .2s ease;
}
#naviBody p.prev {
	left: 0;
}
#naviBody p.next {
	right: 0;
}
#naviBody p.prev:hover,
#naviBody p.next:hover {
	cursor: pointer;
}
#naviBody p.prev svg,
#naviBody p.next svg {
    margin: 35px 5px;
}
#naviBody p.prev:hover svg,
#naviBody p.next:hover svg {
	background-color: #f2abbd;
	cursor: pointer;
}
#naviBody p.prev svg,
#naviBody p.next svg {
    display: block;
    width: 30px;
    height: 30px;
    fill: #fff;
    background: #dcdcdc;
    border-radius: 20px;
}
#naviBody p.prev[class~="noneed"] svg,
#naviBody p.next[class~="noneed"] svg {
	display: none;
	cursor: default;
	background-color: #dcdcdc;
}
#naviBody ul.list {
	display: flex;
    flex-wrap: nowrap;
	margin-left: 40px;
}
#naviBody ul.list li {
	display: flex;
	zoom: 1;
}
#naviBody ul.list li[class~="hide"] {
	display: none;
}
#naviBody ul.list a {
	width: 318px;
	height: 100px;
	color: #333;
	text-decoration: none;
	display: block;
	position: relative;
    border-right: solid 1px #dcdcdc;
    background: #fff;
}
#naviBody ul.list a:hover {
    background: #f9e3ed;
}

#naviBody ul.list a p {
    margin: 10px 10px 0 6px;
	text-align: left;
	overflow: hidden;
	float: left;
	height: 82px;
    line-height: 1.3;
    font-size: 1.2rem;
}
#naviBody ul.list a p .shop_name {
    display: block;
    margin-bottom: 4px;
    color: #58afc0;
    font-size: 1.3rem;
    text-decoration: underline;
}
#naviBody ul.list a:hover p .shop_name {
    text-decoration: none;
}
#naviBody ul.list a p .icon_svg {
    width: 1.6rem;
    height: 1.6rem;
}
#naviBody ul.list a p .shop_info {
    display: block;
    color: #979797;
    font-size: 1.1rem;
}
#naviBody ul.list a p span b {
	margin-right: 3px;
	font-weight: normal;
	word-break: break-all;
}
#naviBody ul.list a p.right span i {
	font-style: normal;
	word-break: keep-all;
}
#naviBody ul.list a p.right img {
	display: none;
	cursor: pointer;
	position: absolute;
	right: 3px;
	top: 5px;
}
#naviBody ul.list a:hover p.right img {
	display: block;
}
#naviBody ul.list a:hover p.right img:hover {
	background: #fff;
	opacity: 0.7;
	-moz-opacity: 0.7;
	-khtml-opacity: 0.7;
	-ms-filter: "alpha(opacity=70)";
	filter: alpha(opacity=70);
}

/*--------------------------------------

  パンくず

---------------------------------------*/
#breadcrumb {
    width: 980px;
    margin: 10px auto 20px;
    color: #979797;
    font-size: 1.1rem;
}
#breadcrumb a {
    display: inline-block;
    margin-right: 16px;
    color: #979797;
}
#breadcrumb a:hover {
    text-decoration: underline;
}
#breadcrumb a:after {
    display: inline-block;
    content: ">";
    position: relative;
    top: -1px;
    left: 10px;
}
#breadcrumb a:hover:after {
    text-decoration: none ;
}

/*--------------------------------------

  ページング

---------------------------------------*/
.paging.btm {
    margin-top: 120px;
    text-align: center;
}
.paging.top {
    margin-bottom: 120px;
    text-align: center;
}
.paging ul {
    position: absolute;
    left: 0;
    width: 100%;
    height: 120px;
    padding: 40px;
    background: #fbeef4;
    text-align: center;
}
.paging.top ul {
    top: 0;
    bottom: auto;
    box-shadow: inset 0 -6px 6px -8px rgba(0, 0, 0, .2);
}
.paging.btm ul {
    top: auto;
    bottom: 0;
    box-shadow: inset 0 6px 8px -8px rgba(0, 0, 0, .2);
    font-size:0;
}
.paging ul li {
    display: inline-block;
    margin: 0 4px;
    font-size:1.4rem;
}
.paging ul li .selected {
    display: block;
    min-width: 40px;
    padding: 8px 5px;
    border: solid 2px #ef9eb2;
    border-radius: 4px;
    background: #ef9eb2;
    color: #fff;
}
.paging ul li .disable {
    display: block;
    min-width: 10px;
    padding: 5px 8px;
    border: solid 2px #dcdcdc;
    border-radius: 4px;
    background: #dcdcdc;
    color: #fff;
}
.paging ul li .more {
    display: block;
    padding: 10px 0;
    color: #333;
}
.paging ul li a {
    display: block;
    min-width: 40px;
    padding: 8px 5px;
    border: solid 2px #dcdcdc;
    border-radius: 4px;
    background: #fff;
    color: #444;
}
.paging ul li a:hover {
    border: solid 2px #f9628a;
    color: #f9628a;
}

/*--------------------------------------

  アイコン

---------------------------------------*/
.icon_svg {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    vertical-align: middle;
}
.ttl_big .icon_svg {
    display: inline-block;
    width: 50px;
    height: 50px;
    margin: -6px -8px 0 0;
}
.ttl_svg {
    position: relative;
    left: -6px;
    display: block;
    width: 90px;
    height: 90px;
    margin: -10px auto -10px;
}
.svg_sprite {
    display: none;
}
svg {
    width: 100%;
    height: 100%;
    fill: #979797;
}
.date_area .icon_svg {
    margin: -2px 0 0 -2px;
    display: inline-block;
    width: 1.6rem;
    height: 1.6rem;
}

/*--------------------------------------

  ボタン

---------------------------------------*/
.bt_round,
button.bt_round {
    position: relative;
    display: block;
    width: 320px;
    margin: 20px auto;
    padding: 14px 10px;
    border: solid 2px #ef9eb2;
    border-radius: 60px;
    background: #ef9eb2;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
}
.bt_round_gohst {
    position: relative;
    display: block;
    width: 320px;
    margin: 20px auto;
    padding: 14px 10px;
    border: solid 2px #dcdcdc;
    border-radius: 60px;
    background: #FFF;
    color: #444;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
}
.bt_round_tw {
    position: relative;
    display: block;
    width: 320px;
    margin: 20px auto;
    padding: 14px 10px;
    border: solid 2px #009fef;
    border-radius: 60px;
    background: #009fef;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
}
.bt_round:hover,
button.bt_round:focus {
    border-color: #f4b3c4;
    background: #f4b3c4;
}
.bt_round_tw:hover {
    border-color: #00b0ef;
    background: #00b0ef;
}
.bt_round.off,
/*.bt_round_tw.off,*/
button.bt_round.off {
    border-color: #dcdcdc;
    background: #dcdcdc;
    color: #fff;
    pointer-events: none;
    cursor: default;
}
.bt_round .badge,
/*.bt_round_tw .badge,*/
button.bt_round .badge {
    position: absolute;
    top: -.5rem;
    right: -.5rem;
    min-width: 3rem;
    display: inline-block;
    padding: 3px 8px;
    border-radius: 50px;
    box-shadow: inset 1px 1px 1px rgba(255, 255 ,255, .4), inset -1px -1px 1px rgba(0, 0, 0, .2), 2px 2px 0 rgba(0, 0, 0, .1);
    color: #fff;
    background: #ff0407;
    font-weight: normal;
}
/**/
.bt_square,
input.bt_square {
    display: block;
    width: 280px;
    height: auto !important;
    margin: 10px auto;
    padding: 10px;
    border: solid 2px #f9628a;
    border-radius: 4px;
    background: #f9628a;
    color: #fff;
    font-size: 2.4rem;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
}
button.bt_square {
    line-height: 1.5;
}
.bt_square:hover,
button.bt_square:focus,
input.bt_square:focus {
    border-color: #fb81a3;
    background: #fb81a3;
    cursor: pointer;
}
.bt_square.off,
button.bt_square.off,
input.bt_square.off {
    border-color: #dcdcdc;
    background: #dcdcdc;
    color: #fff;
    pointer-events: none;
    cursor: default;
}
/**/
.bt_square_min {
    position: relative;
    display: block;
    width: 160px;
    line-height: 1;
    margin: 10px auto;
    padding: 12px;
    border: solid 2px #f9628a;
    border-radius: 4px;
    background: #f9628a;
    color: #fff;
    text-align: center;
    cursor: pointer;
}
button.bt_square_min {
    padding: 10px;
}
.bt_square_min:hover {
    border-color: #fb81a3;
    background: #fb81a3;
}
.bt_square_min.off {
    border-color: #dcdcdc;
    background: #dcdcdc;
    color: #fff;
    pointer-events: none;
    cursor: default;
}
.bt_square_min .badge,
button.bt_square_min .badge {
    position: absolute;
    top: -.5rem;
    right: -.5rem;
    min-width: 3rem;
    display: inline-block;
    padding: 3px 8px;
    border-radius: 50px;
    box-shadow: inset 1px 1px 1px rgba(255, 255 ,255, .4), inset -1px -1px 1px rgba(0, 0, 0, .2), 2px 2px 0 rgba(0, 0, 0, .1);
    color: #fff;
    background: #ff0407;
    font-weight: normal;
}
.bt_square_min_inline {
    position: relative;
    display: inline-block;
    width: 100px;
    line-height: 1;
    margin: 10px auto;
    padding: 12px;
    border: solid 2px #4BBEBE;
    border-radius: 4px;
    background: #4BBEBE;
    color: #fff;
    text-align: center;
    cursor: pointer;
}

button.bt_square_min_inline {
    padding: 10px;
}

.bt_square_min_inline:hover {
    border-color: #4BBEBE;
    background: #4BBEBE;
}

.bt_square_min_inline.off {
    border-color: #dcdcdc;
    background: #dcdcdc;
    color: #fff;
    pointer-events: none;
    cursor: default;
}

.bt_square_min_inline .badge,
button.bt_square_min_inline .badge {
    position: absolute;
    top: -.5rem;
    right: -.5rem;
    min-width: 3rem;
    display: inline-block;
    padding: 3px 8px;
    border-radius: 50px;
    box-shadow: inset 1px 1px 1px rgba(255, 255,255, .4), inset -1px -1px 1px rgba(0, 0, 0, .2), 2px 2px 0 rgba(0, 0, 0, .1);
    color: #fff;
    background: #ff0407;
    font-weight: normal;
}
/**/
.bt_round_min {
    display: block;
    width: 160px;
    line-height: 1;
    margin: 10px auto;
    padding: 10px;
    border: solid 2px #ef9eb2;
    border-radius: 40px;
    background: #ef9eb2;
    color: #fff;
    font-size: 1.1rem;
    text-align: center;
    cursor: pointer;
}
.bt_round_min:hover,
.bt_round_min:focus {
    border-color: #f4b3c4;
    background: #f4b3c4;
}
/**/
.bt_round_min_w {
    display: block;
    width: 160px;
    line-height: 1;
    margin: 10px auto;
    padding: 10px 16px;
    border: solid 1px #dcdcdc;
    border-radius: 40px;
    background: #fff;
    color: #666;
    font-size: 1.1rem;
    text-align: center;
    cursor: pointer;
}
.bt_round_min_w:hover {
    border-color: #fc648a;
    color: #fc648a;
}
.bt_multiple {
	display: flex;
}
.bt_round_min_multiple {
	flex: 1;
	width: auto;
	margin: 0 0 10px ;
}
.bt_round_min_multiple:first-child {
	margin-right: 8px;
}
/*--------------------------------------

  フォーム

---------------------------------------*/
input[type="text"]:not([value=""]):invalid,
input[type="email"]:not([value=""]):invalid,
input[type="password"]:not([value=""]):invalid,
textarea:not(:empty):not(:focus):invalid {
    box-shadow: none;
}
input,
button,
textarea,
select {
    max-width: 420px;
    padding: 4px 6px;
    background: none;
    border: solid 2px #dcdcdc;
    border-radius: 3px;
    background: #fff;
    color: #666;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
    font-family: "メイリオ";
}
input:hover,
button:hover,
textarea:hover,
.select_box:hover select,
input:focus,
button:focus,
textarea:focus {
    border-color: #54afc1;
}
input::-webkit-search-decoration,
button::-webkit-search-decoration,
textarea::-webkit-search-decoration,
select::-webkit-search-decoration {
    display: none;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"] {
    -moz-appearance:textfield;
}
button::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner {
    border: 0px;
}
input::placeholder,
textarea::placeholder {
	color: #DDD;
}
/*========　インプット　========*/
input {
    width: 310px;
    height: 34px;
}
input.w200 {
    width: 200px;
}
input.w120 {
    width: 120px;
}
input.w60 {
    width: 60px;
}
input:focus:placeholder-shown {
    color: transparent;
}
input:focus:placeholder-shown,
input:focus::-webkit-input-placeholder,
input:focus:-moz-placeholder,
input:focus::-moz-placeholder{
    color: transparent;
}
/*ラジオ/チェックボックス*/
input[type="radio"],
input[type="checkbox"] {
    display: none;
}
.radio,
.checkbox {
    display: inline-block;
    height: 16px;
    padding-left: 22px;
    transition: none;
    line-height: 1.5;
    color: #979797;
    font-family: "メイリオ";
    font-size: 1.2rem;
    cursor: pointer;
}
.radio {
    background: url(/pc/img/common/bt_radio.png) no-repeat left top;
}
.checkbox {
    background: url(/pc/img/common/bt_check.png) no-repeat left top;
}
.radio:hover,
.checkbox:hover {
    color: #fc648a;
}
input[type="radio"]:checked + .radio,
input[type="checkbox"]:checked + .checkbox {
    background-position-y: -32px;
}
input[type="checkbox"]:disabled + .checkbox {
    background: url(/pc/img/common/bt_check_disable.png) no-repeat left top;
}

/*========　テキストエリア　========*/
textarea {
    vertical-align: top;
}
textarea.error {
    border: solid 2px #f06;
}

/*========　セレクトボックス　========*/
select::-ms-expand {
	display: none;
}
.select_box {
    position: relative;
    display: inline-block;
}
.select_box::after {
    content: "";
    position: absolute;
	top: 0;
	right: 0;
    display: block;
	width: 32px;
    height: 34px;
    border-radius: 0 3px 3px 0; 
    background: #dcdcdc url(/pc/img/common/icon/ic_bottom.png) no-repeat center right 10px;
    pointer-events: none;
    transition: all .2s ease-out;
}
.select_box:hover::after {
    background-color: #54afc1;
}
.select_box select {
    position: relative;
	width: 100%;
    height: 34px;
    padding: 4px 40px 4px 6px;
    cursor: pointer;
}
option {
    padding: 4px 0 4px 10px;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
    font-family: "メイリオ";
}
.select_box.error select,
.select_box.error:hover select,
.select_box.error:focus select {
    border-color: #f06;
}
.select_box.error::after {
    background: #f06 url(/pc/img/common/icon/ic_bottom.png) no-repeat center right 10px;
}

/*========　その他フォーム関連　========*/
label {
    display: inline-block;
    position: relative;
    cursor: pointer;
}
i.reason {
    margin-right: 6px;
}
span.reason {
    display: inline-block;
    margin-bottom: 13px;
}
label i {
    display: inline-block;
    line-height: 1.4rem;
    margin-right: 6px;
}
.required {
    position: relative;
}
.required::after {
    content: "*";
    position: absolute;
    top: -6px;
    right: -6px;
    color: #f06;
}
label .label_disc {
    position: absolute;
    top: 0;
    left: -6px;
    display: inline-block;
    float: right;
    width: 100%;
    margin-top: -14px;
    color: #979797;
    font-size: 1.1rem;
    text-align: right;
}
input.success + .check::after {
    content: url(/pc/img/common/icon/ic_success.svg);
    display: inline-block;
    position: absolute;
    right: -22px;
    float: right;
    width: 20px;
    height: 20px;
    margin-top: 8px;
    margin-bottom: -20px;
}
input.success + .check_inline::after {
    content: url(/pc/img/common/icon/ic_success.svg);
    display: inline-block;
    position: relative;
    top: 4px;
    left: 8px;
    width: 20px;
    height: 20px;
} 
input.error {
    border: solid 2px #F66563;
}
.error_txt {
    display: block;
	line-height: 1.4;
    margin: 5px 0;
    color: #F66563;
    font-size: 1.2rem;
    font-weight: bold;
}

/*--------------------------------------

  お店ログイン/女の子ログイン

---------------------------------------*/
/*ログイン*/
.login_box {
    position: relative;
    width: 520px;
	min-height: 545px;
    margin: 40px auto;
    padding: 10px;
    border-radius: 4px;
    box-shadow: inset 1px 1px 1px 0 rgba(255, 255, 255, 1), inset -1px -1px 1px 0 rgba(0, 0, 0, .2), 3px 3px 2px 0 rgba(0, 0, 0, .1);
    background: #f6f6f6;
    text-align: center;
}
.login_box .ttl_big {
    margin-top: 10px;
}
.login_box .ttl_big::after {
    content: "login";
}
.login_box .att {
    margin: 10px 40px;
    color: #666;
    font-size: 1.1rem;
}
.login_box .login_form {
    width: 310px;
    margin: 0 auto;
    text-align: left;
}
.login_box .login_form label {
    display: inline-block;
    margin-top: 10px;
}
.login_box .login_form label .label_disc {
    margin-top: 4px;
}
.login_box .auto {
    margin: 10px auto;
    text-align: center;
}
.login_box input[type="submit"] {
    height: auto;
    margin: 20px auto;
}
.login_box .login_form .password_lost {
    margin-top: 4px;
    text-align: right;
}
.login_box .login_form .password_lost a {
    color: #979797;
    text-decoration: underline;
    font-size: 1.2rem;
}
.login_box .login_form .password_lost a:hover {
    color: #fc648a;
    text-decoration: none;
}
/*テキストリンク*/
.login_link_center {
    text-align: center;
}
.login_link_center a {
    font-size: 1.4rem;
    text-decoration: underline;
}
.text_link_center a:hover {
    text-decoration: none;
}
.login_links {
    position: relative;
    height: 40px;
}
.login_links a {
    color: #979797;
    text-decoration: underline;
    font-size: 1.2rem;
}
.login_links a:hover {
    color: #fc648a;
    text-decoration: none;
}
.login_links .left {
    position: absolute;
    left: 0;
    bottom: 0; 
}
.login_links .right {
    position: absolute;
    right: 0;
    bottom: 0; 
}
/* SNSログイン */
.sns_login_error {
    display: block;
    margin: 10px 0;
    line-height: 1.4;
    color:#fc648a;
    font-size: 1.3rem;
}
.sns_login_error a {
    display: inline-block;
    padding-top: 4px;
    color: #fc648a;
    font-weight: bold;
    font-size: 1.5rem;
    text-decoration: underline;
}
.sns_login_error a:hover {
    color: #fc648a;
    text-decoration: none;
}
.snslogin {
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 10px;
}
.snslogin.loginwin {
	margin-bottom: 10px;
}
input.bt_round + .sns_hr {
	margin: 0 0 20px 0;
}
.sns_hr {
	display: flex;
	display: -ms-flexbox;
	flex-basis: 100%;
	width: 100%;
	align-items: center;
	-ms-flex-align: center;
	margin: 20px 0;
	color: #979797;
}
.sns_hr::before, .sns_hr:after {
	content: "";
	display:block;
	height: 1px;
	flex-grow: 1;
	background: #DCDCDC;
}
.sns_hr::before {
	margin-right: .4em;
}
.sns_hr:after{
	margin-left: .4em;
}
.snslogin .sns {
	position: relative;
	display: block;
	min-width: 48%;
	height: 42px;
	padding-left: 42px;
	line-height: 44px;
	margin-bottom: 10px;
	box-sizing: border-box;
	border-radius: 4px;
	color: #fff;
	font-weight: bold;
	font-size: 13px;
	text-align: center;
}
.snslogin .sns.sns_wide {
	width: 100%;
	flex: 0 1 100%;
	height: 54px;
	line-height: 58px;
	font-size: 14px;
	padding-left: 52px;
}
.snslogin .twitter {
    background: #000000;
    background-image: url('../../../img/common/login_x.png');
    background-size: 38px;
    background-position: 2px center;
    background-repeat: no-repeat;
}
.snslogin .twitter.sns_wide {
	background-size: 46px;
	background-position: 4px center;
}
.snslogin .twitter:hover{
	background-color: #333333;
}
.snslogin .twitter:active {
	background-color: #000000;
}
.snslogin .twitter:before{
	content: "";
	position: absolute;
	left: 0;
	width: 42px;
	height: 42px;
	border-right: 1px solid #333333;
}
.snslogin .twitter.sns_wide:before {
	width: 54px;
	height: 54px;
}
.snslogin .line{
	background: #00C300;
	background-image: url('../../../img/common/login_line.png');
	background-size: 38px;
	background-position: 2px center;
	background-repeat: no-repeat;
}
.snslogin .line.sns_wide {
	background-size: 48px;
}
.snslogin .line:before {
	content: "";
	position: absolute;
	left: 0;
	display: inline-block;
	width: 42px;
	height: 42px;
	border-right: 1px solid #00B300;
}
.snslogin .line.sns_wide:before {
	width: 54px;
	height: 54px;
}
.snslogin .line:hover {
	background-color: #00E000;
}
.snslogin .line:active {
	background-color: #00B300;
}
.snslogin .line.sns_wide .logo{
	width: 54px;
	height: 54px;
	background-size: 46px 46px;
}
.snslogin .line:hover .logo{
	border-color: #00c900;
}
.snslogin .line:active .logo{
	border-color: #009800;
}
.snslogin .google {
	background: #4285F4;
	background-image: url('../../../img/common/login_google.png');
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 42px;
}
.snslogin .google:hover {
	background-color: #6aadff;
}
.snslogin .google:active {
	background-color: #3565b5;
}
.snslogin .yahoo {
	background: #FF0033;
	background-image: url('../../../img/common/login_yahoo.png');
	background-position: 4px center;
	background-repeat: no-repeat;
	background-size: 34px 34px;
}
.snslogin .yahoo:hover {
	background-color: #ff5577;
}
.snslogin .yahoo:active {
	background-color: #c12746
}
.snslogin .google.img,
.snslogin .yahoo.img {
	padding: 0;
}
.snslogin .google.img img,
.snslogin .yahoo.img img{
	width: 150px;
	height: auto;
}
.snslogin .coution {
	width: 100%;
	flex-basis: 100%;
	color: #979797;
	text-align: right;
}

/*--------------------------------------

  アニメーションモーダル

---------------------------------------*/

/*========　モーダル基本　========*/
/* ModalIn */
.ModalIn {
    -webkit-animation: ModalIn .4s ease forwards;
    animation: ModalIn .4s ease forwards;
    z-index: 9999;
}
@-webkit-keyframes ModalIn {
from {
    opacity: 0;
}
to {
    opacity: 1;
}
}
@keyframes ModalIn {
from {
    opacity: 0;
}
to {
    opacity: 1;
}
}
.ModalIn .modal-content {
    -webkit-animation: FadeInUp .4s ease-out forwards;
    animation: FadeInUp .4s ease-out forwards;
}
@keyframes FadeInUp {
from {
    top: 55%;
    opacity: 0;
}
90% {
    top: 49%;
}
to {
    top: 50%;
    opacity: 1;
}
}
@-webkit-keyframes FadeInUp {
from {
    top: 55%;
    opacity: 0;
}
90% {
    top: 49%;
}
to {
    top: 50%;
    opacity: 1;
}
}
.ModalIn.long .modal-content {
    -webkit-animation: FadeInUpLong .4s ease-out forwards;
    animation: FadeInUpLong .4s ease-out forwards;
}
@keyframes FadeInUpLong {
from {
    top: 40px;
    opacity: 0;
}
90% {
    top: -10px;
}
to {
    top: 0;
    opacity: 1;
}
}
@-webkit-keyframes FadeInUpLong {
from {
    top: 40px;
    opacity: 0;
}
90% {
    top: -10px;
}
to {
    top: 0;
    opacity: 1;
}
}

/* ModalOut */
.ModalOut {
    -webkit-animation: ModalOut .4s ease forwards;
    animation: ModalOut .4s ease forwards;
}
@keyframes ModalOut {
from {
    opacity: 1;
}

to {
    opacity: 0;
}
}
@-webkit-keyframes ModalOut {
from {
    opacity: 1;
}
to {
    opacity: 0;
}
}
.ModalOut .modal-content {
    -webkit-animation: FadeOutDown .4s ease-out forwards;
    animation: FadeOutDown .4s ease-out forwards;
}
@keyframes FadeOutDown {
from {
    top: 50%;
    opacity: 1;
}
10% {
    top: 49%;
}
to {
    top: 55%;
    opacity: 0;
}
}
@-webkit-keyframes FadeOutDown {
from {
    top: 50%;
    opacity: 1;
}
10% {
    top: 49%;
}
to {
    top: 55%;
    opacity: 0;
}
}
.ModalOut.long .modal-content {
    -webkit-animation: FadeOutDownLong .4s ease-out forwards;
    animation: FadeOutDownLong .4s ease-out forwards;
}
@keyframes FadeOutDownLong {
from {
    top: 0;
    opacity: 1;
}
10% {
    top: -10px;
}
to {
    top: 40px;
    opacity: 0;
}
}
@-webkit-keyframes FadeOutDownLong {
from {
    top: 0;
    opacity: 1;
}
10% {
    top: -10px;
}
to {
    top: 40px;
    opacity: 0;
}
}

/**/
.modal {
    position: relative;
    opacity: 0;
    z-index: -9999;
}
.modal.long {
    overflow-y: auto;
    overflow-x: hidden;
}
.modal.long::-webkit-scrollbar {
    display: none;
}
.modal .modal-content {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 540px;
    padding: 10px;
    border-radius: 4px;
    box-shadow: inset 1px 1px 1px 0 rgba(255, 255, 255, 1), inset -1px -1px 1px 0 rgba(0, 0, 0, .2), 3px 3px 2px 0 rgba(0, 0, 0, .1);
    background: #f6f6f6;
    text-align: center;
    transform: translate(-50%, -50%);
}
.modal.long .modal-content {
    position: relative;
    top: 0;
    width: 640px;
    margin: 60px 0;
    transform: translate(-50%, 0);
}
.modal.text .modal-content {
    width: 720px;
    line-height: 1.5;
    padding: 20px 40px 40px 40px;
    background: #fff;
    color: #666;
    text-align: left;
}
.modal .modal-content .close {
    position: absolute;
    top: 4px;
    right: 6px;
}
.modal .modal-content .close .icon_svg {
    width: 34px;
    height: 34px;
}
.modal .modal-content .close:hover {
    color: #fc648a;
    cursor: pointer;
}
.modal .modal-content .close:hover svg {
    fill: #fc648a;
}

/*========　モーダル中身　========*/
/*ログイン*/
#login .ttl_big {
    margin-top: 10px;
}
#login .ttl_big::after {
    content: "login";
}
#login .att {
    margin-top: 20px;
    font-size: 1.2rem;
}
#login .login_form {
    width: 310px;
    margin: 0 auto;
    text-align: left;
}
#login .login_form label {
    display: inline-block;
    margin-top: 10px;
}
#login .login_form label .label_disc {
    margin-top: 4px;
}
#login .login_form .password_lost {
    margin-top: 4px;
    text-align: right;
}
#login .login_form .password_lost a {
    color: #979797;
    text-decoration: underline;
    font-size: 1.2rem;
}
#login .login_form .password_lost a:hover {
    color: #fc648a;
    text-decoration: none;
}
#login .auto {
    margin: 0 auto;
    text-align: center;
}
#login button {
    margin: 20px auto;
}
/*マイメニュー*/
#mymenu .ttl_big {
    margin-top: 10px;
}
#mymenu .ttl_big::after {
    content: "menu";
}
#mymenu .scout {
    display: block;
    padding: 10px 30px;
    text-align: left;
}
#mymenu .scout:hover {
    text-decoration: underline;
}
#mymenu ul {
    padding: 10px 20px;
    overflow: hidden;
}
#mymenu ul li {
    display: inline-block;
    float: left;
    padding: 0 10px;
}
#mymenu ul li .bt_square_min {
    margin: 10px 0;
    width: 220px;
}
#mymenu .logout {
    margin: 10px 30px;
    float: right;
    color: #666;
    font-size: 1.2rem;
}
#mymenu .logout:hover {
    text-decoration: underline;
}
/*お知らせ*/
.infomation_style .ttl_big {
    margin-top: 10px;
}
.infomation_style .ttl_big::after {
    content: "infomation";
}
.infomation_style strong {
    display: block;
    margin-top: 20px;
    padding: 0 20px;
    color: #87b7d6;
    font-size: 1.8rem;
    font-weight: bold;
}
.infomation_style strong span {
    display: inline-block;
    text-align: left;
}
.infomation_style p {
    padding: 20px;
    text-align: left;
}
.infomation_style p .date {
    display: inline-block;
    margin-right: 10px;
    color: #688ea5;
}

/*アカウント作成*/
#newaccount .ttl_big {
    margin-top: 10px;
}
#newaccount .ttl_big::after {
    content: "account";
}
#newaccount p {
    display: block;
    padding: 10px 30px;
    color: #54aec0;
}
#newaccount p strong {
    padding: 0 4px 0 6px;
    color: #f9628a;
    font-size: 2rem;
}
#newaccount p strong span {
    font-size: 1.4rem;
}
#newaccount .bt_square_min {
    margin: 30px auto 40px;
    width: 220px;
}
#info_rt_campaign img,
#info_qa_release img {
    margin: 40px 0 10px 0;
    width: 75%;
}
.text_user_select_none{
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select:none;
}