@charset "utf-8";
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
body {
	line-height:1;
}
p,dt,dd{line-height:1.3}
html {
  overflow-y: scroll;
  font-size:62.5%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}
ol,
ul {
  list-style: none;
}
li{ list-style-type:none;}
article, aside, dialog, figure, footer, header,
hgroup, nav, section {
	display:block;
}
nav ul {
	list-style:none;
}
blockquote, q {
	quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}
a {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
  text-decoration: none;
  color: #2782ff;
}
.basicLink a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.basicLink a::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #000;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s;
}
.basicLink a:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}
ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}
mark {
	background-color:#ff9;
	color:#000;
	font-style:italic;
	font-weight:bold;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom:1px dotted #000;
	cursor:help;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
hr {
  display:block;
  height:1px;
  border:0;
  border-top:1px solid #cccccc;
  margin:1em 0;
  padding:0;
}
/* webkit系フォームその他の装飾をとる */
*{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-touch-callout:none;
  box-sizing: border-box;
  -webkit-tap-highlight-color:rgba(0,0,0,0.1);
}
select::-ms-expand {
  display: none;
}
input:focus,
select:focus,
textarea:focus{ outline:none;}
input, button, textarea, select{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  padding: 0;
  margin: 0;
}
img {
  border: 0;
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
}
a img:hover{-moz-opacity:.5;opacity:.5}
object {
  pointer-events: none;
}
svg {
	max-width: 100%;
  display: none;/* 余白を消す */
}
.icon-svg{ display:block; /* 表示する */}
/* ベース */
body { 
  font: 12px/24px 'Lucida Grande','Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
  vertical-align:baseline;
  _vertical-align:baseline;
  text-align:center;
  color:#000;
  background:#fff;
}
header{
  width:100%;
  text-align: left;
  -webkit-box-shadow: 0 0 4px rgba(0,0,0,0.2);
  box-shadow: 0 0 4px rgba(0,0,0,0.2);
  position: relative;/* shadow bug fix */
}
.headerInnerWrap{
  width:1024px;
  padding:16px 0 24px;
  margin: 0 auto;
  position: relative;
}
.headerSubMenuWrap{
  position:absolute;
  top: 48px;
  right: 0;
}
.headerSubMenuWrap:after{
  content:"";
  clear: both;
  display: block;
}
.headerSubMenuWrap li{
  float:left;
  padding: 0 8px;
}
.headerSubMenuWrap a{
  color:#000;
}
.gnavToggle{
  position:absolute;
  top: 16px;
  right: 0;
  width: 64px;
  height: 64px;
}
#logo{
  width:400px;
}
#logo a{ display:block;}
#logo object{ height:64px; /* iefix */}
#animate{
  -webkit-animation-duration: 1s;
  -webkit-animation-delay: 2s;
}
/* menu */
.pushbar.opened{
display: block;
}
html.pushbar_locked{
    overflow: hidden;
    -ms-touch-action: none;
    touch-action: none;
}
.pushbar_locked .pushbar_main_content.pushbar_blur{
	filter:blur(15px);
}
.pushbar{
	z-index: 1000;
	position: fixed;
	will-change: transform;
	overflow-y: auto;
	transition:transform 0.5s ease;
	will-change: transform;
	background:#1e1e1e;
  padding: 16px 16px 160px;
  font-size: 1.4rem;
}
.pushbar li{
  height:48px;
  line-height: 48px;
  background: #818181;
  margin: 0 0 1px;
}
.pushbar li a{
  display: block;
  padding: 0 16px;
  color: #fff;
}
.pushbar button{
  background:#fbfbfb;
  padding: 8px;
  display: block;
}
.pushbar_overlay{
	z-index: -999;
	position: fixed;
	width: 100%;
	max-width: 100%;
	height: 100%;
	min-height: 100vh;
	top: 0;
	left: 0;
  will-change: opacity;
  transition:opacity 0.5s ease;
  opacity:0;
  will-change: opacity;
	background: #a0a0a0;
}
html.pushbar_locked .pushbar_overlay{
	opacity:0.8;
	z-index: 999;
  transition:opacity 0.5s ease;
}
.pushbar.from_left{
	top: 0;
	left: 0;
	width: 256px;
	max-width: 100%;
	height: 100%;
	min-height: 100vh;
	transform: translateZ(0) translateX(-100%);
}
.pushbar.from_right{
	top: 0;
	right: 0;
	width: 256px;
	max-width: 100%;
	height: 100%;
	min-height: 100vh;
	transform: translateZ(0) translateX(100%);
}
.pushbar.from_top{
	top: 0;
	left: 0;
	width: 100%;
	max-width: 100%;
	min-height: 150px;
	transform: translateZ(0) translateY(-100%);
}
.pushbar.from_bottom{
	bottom: 0;
	left: 0;
	width: 100%;
	max-width: 100%;
	min-height: 150px;
	transform: translateZ(0) translateY(100%);
}
.pushbar.opened{
  transform: translateX(0px) translateY(0px);
  -webkit-overflow-scrolling: touch;
}
.gnavToggle{ display:none;}
.headerNavi{
  width: 100%;
  height: 48px;
  background: #000;
}
.headerNavi ul{
  width: 1024px;
  margin: 0 auto;
}
.headerNavi li{
  width: 25%;
  height: 48px;
  line-height: 48px;
  text-align: center;
}
.headerNavi li a{
  display:block;
  color: #fff;
  transition: .2s;
}
.headerNavi li a:hover,
.headerNavi li a.active{
  background: #3b3b3b;
}
/* drop menu style */
.menu {
  position: relative;
  width: 100%;
  height: 48px;
  max-width: 1024px;
  margin: 0 auto;
}
.menu > li {
  float: left;
  width: 25%;
  height: 48px;
  line-height: 48px;
  background: #000;
}
.menu > li a {
  display: block;
  color: #fff;
  cursor: pointer;
}
ul.menu__second-level {
  visibility: hidden;
  opacity: 0;
  z-index: 1;
}
ul.menu__third-level {
  visibility: hidden;
  opacity: 0;
}
ul.menu__fourth-level {
  visibility: hidden;
  opacity: 0;
}

.menu > li:hover {
  background: #3b3b3b;
  -webkit-transition: all .5s;
  transition: all .5s;
}
.menu__second-level li {
  border-top: 1px solid #000;
  width: 100%;
}
.menu__third-level li {
  border-top: 1px solid #000;
}
.menu__second-level li a:hover {
  background: #000;
}
.menu__third-level li a:hover {
  background: #000;
}
.menu__fourth-level li a:hover {
  background: #000;
}
/* allow */
.init-bottom:after {
  content:"";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 0 0 15px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  position: relative;
  top: -2px;
}
/* float */
.menu:before,
.menu:after {
  content: " ";
  display: table;
}
.menu:after {
  clear: both;
}
.menu {
  *zoom: 1;
}
/* single dorp */
.menu > li.menu__single {
  position: relative;
}
li.menu__single ul.menu__second-level {
  position: absolute;
  top: 40px;
  width: 100%;
  background: #3b3b3b;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  max-height: 288px;
  overflow-y: scroll;
}
li.menu__single:hover ul.menu__second-level {
  top: 48px;
  visibility: visible;
  opacity: 1;
}
/* scroll bar */
ul.menu__second-level::-webkit-scrollbar{
  width: 16px;
}
ul.menu__second-level::-webkit-scrollbar-track{
  background: #000;
  border-left: solid 1px #000;
}
ul.menu__second-level::-webkit-scrollbar-thumb{
  background: #3b3b3b;
  box-shadow: inset 0 0 0 1px #000;
}

#search_map h4{font-size:14px;margin-bottom:8px;}
#search_map div{margin-bottom:16px;}
#search_map iframe{
	width:100%;
	height:320px;
}
/*******************/
/***********************/
#menuButton {
  overflow: hidden;
  display: block;
  position: relative;
  z-index: 0;
  width: 64px;
  height: 64px;
  cursor: pointer;
  background: #000;
}
#menuButton span,
#menuButton::before,
#menuButton::after {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 26px;
    height: 2px;
    margin: auto;
    background: #fff;
}

#menuButton span {
    overflow: hidden;
    z-index: 1;
    color: #000;
}

#menuButton::before {
    z-index: 2;
    transform: translate(0, -8px);
    content: "";
}

#menuButton::after {
    z-index: 2;
    transform: translate(0, 8px);
    content: "";
}

/*アニメーション*/

#menuButton span {
    transition: transform 150ms 50ms;
}

#menuButton::before,
#menuButton::after {
    transition: transform 200ms;
}

#menuButton.active span {
    transform: translate(-50px, 0);
    transition: transform 150ms;
}

#menuButton.active::before {
    transform: rotate(45deg);
}

#menuButton.active::after {
    transform: rotate(-45deg);
}
/*********/
/* main */
main{
  width:100%;
  min-height: 100%;
  height: auto !important;
  height: 100%;
  text-align: left;
}
.breadcrumb{
  width:100%;
  padding: 24px 0;
  display: flex;
  flex-wrap: wrap;
}
.breadcrumb:after{
  content:"";
  clear: both;
  display: block;
}
.breadcrumb ol{
  width:1024px;
  margin: 0 auto;
}
.breadcrumb li{
  float:left;
  padding: 0 8px;
}
.breadcrumb li:before{
  content:"＞";
  position: relative;
  left: -6px;
}
.breadcrumb li:first-child{
  padding-left:0;
}
.breadcrumb li:first-child:before{
  content:none;
}
.breadcrumb li a{
  display:inline-block;
}
section,.relation_link{
  width:100%;
  margin: 0 0 80px;
}
section:after,,.relation_link:after{
  content:"";
  clear: both;
  display: block;
}
h1{
  width:100%;
  height: 64px;
  border-left:100px solid #003f94;
  box-sizing: border-box;
  font-size: 2.4rem;
  padding:0 0 0 16px;
  line-height: 1.4;
}
h1 + p{
  font-size: 1.6rem;
  margin: -24px 0 80px;
  padding: 0 24px 0 116px;
}
h2,h3{
  width:100%;
  height: 64px;
  border-left:100px solid #000001;
  box-sizing: border-box;
  font-size: 2.4rem;
  padding:0 0 0 16px;
  line-height: 1.4;
}
h2 + p,
h3 + p{
  font-size: 1.6rem;
  margin: -24px 0 80px;
  padding: 0 24px 0 116px;
}
.areaEnterWrap{
  padding:24px 0;
  background: #f1f1f1;
}
.visualEnterList {
  width: 100%;
  padding: 0 0 24px 24px!important;
}
.visualEnterList:after {
  content: "";
  clear: both;
  display: block
}
.visualEnterList li {
  float: left;
  width: 136px;
  height: auto;
  background: #fff;
  text-align: center;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.26)
}
.visualEnterList li:hover{ box-shadow:0 2px 10px rgba(0,0,0,.6);}
.visualEnterList li a {
  position: relative;
  display: block;
  padding: 7px;
  border: 1px solid #fff;
  color: #fff;
  text-align: center;
  text-decoration: none;
  outline: 0;
  transition: all 0.3s
}
.visualEnterList li a:after,
.visualEnterList li a:before {
  position: absolute;
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  z-index: 1;
  content: '';
  transition: all 0.3s
}
.visualEnterList li a:before {
  border-top: 1px solid #8b8b8b;
  border-bottom: 1px solid #8b8b8b;
  transform: scale(0, 1)
}
.visualEnterList li a:after {
  border-right: 1px solid #8b8b8b;
  border-left: 1px solid #8b8b8b;
  transform: scale(1, 0)
}
.visualEnterList li a:hover {
  color: #8b8b8b
}
.visualEnterList li a:hover:after,
.visualEnterList li a:hover:before {
  transform: scale(1)
}
.visualEnterList li p {
  width: 100%;
  margin: 8px 0 0;
  padding: 8px 0;
  background: #003f94;
  color: #fff;
  border-radius: 4px;
  line-height: 1.1
}
.nationWideEnterWrap {
  min-height: 557px;
  padding: 24px 0 0;
  background: url(/images/common/bg_nationwide.png)no-repeat scroll 50% 0;
}
.nationWideEnterWrap h2 {
  font-size: 2.2rem;
  height: auto;
  border: 0;
  padding: 0
}
.nationWideEnterWrap h2 + p{
  margin: 0;
  padding: 0
}
.nationWideEnterList {
  width: 1024px;
  margin: 0 auto
}
.nationWideEnterList:after {
  content: "";
  clear: both;
  display: block
}
.nationWideEnterList li {
  width: 23.5%;
  height: 80px;
  line-height: 80px;
  float: left;
  margin: 0 2% 2% 0;
  text-align: center;
  font-size: 2.4rem;
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid #000;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.26);
  transition: all 0.2s ease-in-out
}
.nationWideEnterList li:nth-child(4) {
  margin-right: 0
}
.nationWideEnterList li:hover {
  background: rgba(0, 0, 0, 1);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.8)
}
.nationWideEnterList li a {
  display: block;
  color: #000;
  transition: all 0.2s ease-in-out
}
.nationWideEnterList li a:hover {
  color: #fff
}
.under18{
  padding:0 0 0 116px;
}
.under18 img{
  width: 40px;
  height: 40px;
  float: left;
  margin:0 8px 0 0;
}
.under18 p{
  height:40px;
  line-height: 40px;
  white-space: nowrap;
}
/* IE FFで未対応のため別の方法で対応
.shopListWrap .shopInformation p {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  line-height:1.3
}
*/
/* ie firefox */
.shopListWrap .shopInformation p{
  position:relative;
  height: 105px;
  overflow: hidden;
  line-height:1.3
}
.shopListWrap .shopInformation p:before,
.shopListWrap .shopInformation p:after{
  position: absolute;
  background: #fff;
}
.shopListWrap .shopInformation p:before{
  content:"…";
  bottom:0;
  right:0;
}
.shopListWrap .shopInformation p:after {
  content: "";
  width: 100%;
  height: 100%;
}
/**************/
.clearLineBox{
  width:1024px;
  margin: 0 auto 80px;
  padding:40px 16px;
  background: rgba(241,241,241,.5);
  border:1px solid #d8d8d8;
}
.clearLineBox:after{
  content:"";
  clear: both;
  display: block;
}
.grow{ transition: all .2s ease-in-out; }
.grow:hover{ transform: scale(1.1); }
.bannerWrap ul{
  display: flex;
  flex-wrap: wrap;
}
.bannerWrap li{
  margin: 0 16px 16px 0;
}
.bannerWrap .clearLineBox{ padding:40px 16px 24px;}
.webExplanationWrap{
  width:1024px;
  margin: 0 auto 80px;
  background: #fbfbfb;
  border: 1px solid #d8d8d8;
  display: flex;
  align-items: center;
}
.webExplanationWrap:after{
  content:"";
  clear: both;
  display: block;
}
.webExplanationWrap h3{
  font-size: 2.2rem;
  color: #003f94;
  height: auto;
  border: none;
  padding: 0;
}
.webExplanationWrap h3 + p {
  margin: 0;
  padding: 0;
}
.webExplanationtitle{
  float:left;
  width: 40%;
  padding: 16px;
}
.webExplanation{
  float:left;
  width: 60%;
  padding: 16px;
  background: #fff;
}
.titleLineRight{
  width: 100%;
  height: 64px;
  box-sizing: border-box;
  font-size: 2.4rem;
  padding: 0 0 0 116px;
  line-height: 1.4;
  border: none;
  position: relative;
}
.titleLineRight + p{
  font-size: 1.6rem;
  margin: -24px 0 80px;
  padding: 0 24px 0 116px;
}
.titleLineRight::after{
  content:"";
  position: absolute;
  top: 50%;
  left: 60%;
  right: 0;
  border-bottom: 1px solid #000;
}
.tableWrap{
  width:1024px;
  margin: 0 auto 80px;
}
.tableWrap:after{
  content:"";
  clear: both;
  display: block;
}
.tableWrap dl{
  display:flex;
}
.tableWrap dt{
  width: 20%;
  background: #1e1e1e;
  color: #fff;
  padding: 8px 16px;
  text-align: center;
  border-bottom: 1px solid #fff;
}
.tableWrap dd{
  width:80%;
  background: #fbfbfb;
  padding: 8px 16px;
  border-bottom: 1px solid #fff;
  overflow-wrap: break-word;
}
.tableWrap a{
  display:inline-block;
  margin: 0 16px 0 0;
  height:48px;
  min-width:48px;
  color: #000;
}

/* area index */
.areaEnter{
  width:454px;
  margin: 0 auto;
  padding: 0 0 24px;
  text-align: center;
}
.areaEnter:after{
  content:"";
  clear: both;
  display: block;
}
.areaEnterBtn{
  width:215px;
  height: 215px;
  border:1px solid #000;
  margin: 0 24px 0 0;
  font-size: 4.0rem;
  float: left;
  line-height: 42px;
  position: relative;
  background: #003f94;
  box-shadow: 0 2px 5px rgba(0,0,0,.26);
}

.areaEnterBtn a{
  display:block;
  height: 100%;
  color: #fff;
  overflow: hidden;
  position:absolute;
  top: 0;
  right: 0;
  bottom:0;
  left: 0;
  margin: auto;
  padding: 70px 0 0;
  z-index: 0;
  transition: .2s;
}
.areaEnterBtn a:hover{
  color:#003f94;
}
.areaEnterBtn a:after{
	content:"";
	position: absolute;
	bottom: -100%;
	right: -100%;
	height: 100%;
	width: 215px;
	background : #fff;
	transition: .2s;
  z-index: -1;
}
.areaEnterBtn a:hover:after{
	bottom: 0;
	right: 0;
}
.areaEnterBtn a:before{
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-bottom: 40px solid #fff;
  border-left: 40px solid transparent;
  transition: .2s;
}
.areaEnterBtn a:hover:before{
  border-bottom: 40px solid #003f94;
}
.areaEnterBtn span{
  font-size: 1.2rem;
  display: inline-block;
  width: 100%;
  line-height: initial;
}
.areaEnterBtn.u18{
  margin: 0;
  background: #7f7f7f;
}
.areaEnterBtn.u18:after {
  border-bottom: 40px solid #242424;
  border-left: 40px solid transparent;
}
.areaEnterBtn.u18 a{
  color: #242424;
  padding: 88px 0 0;
}
.areaEnterBtn.u18 a:hover{
  color:#fff;
}
.areaEnterBtn.u18 a:after{
	content:"";
	position: absolute;
	bottom: -100%;
	right: -100%;
	height: 100%;
	width: 215px;
	background : #242424;
	transition: .2s;
  z-index: -1;
}
.areaEnterBtn.u18 a:hover:after{
	bottom: 0;
	right: 0;
}
.areaEnterBtn.u18 a:before{
  border-bottom: 40px solid #242424;
  border-left: 40px solid transparent;
  transition: .2s;
}
.areaEnterBtn.u18 a:hover:before{
  border-bottom: 40px solid #7f7f7f;
}
.areaEnterBtn.u18 span{
  position:relative;
  top: 22px;
}
.areaEnterBtn.u18 span.smallText{
  font-size: 2.4rem;
  position: static;
  display: inline;
}
.shopListWrap{
  width:1024px;
  margin:0 auto;
}
.shopListWrap:after{
  content:"";
  clear: both;
  display: block;
}
.shopListWrap article{
  width:49%;
  height: 224px;
  line-height: 1.8;
  float: left;
  margin: 0 2% 2% 0;
  box-shadow: 0 2px 5px rgba(0,0,0,.26);
  box-sizing: border-box;
  transition: all .2s ease-in-out;
  position: relative;
}
.shopListWrap article:hover{ box-shadow:0 2px 10px rgba(0,0,0,.6);}
.shopListWrap article:nth-child(2n){
  margin-right:0;
}
.shopListWrap a{
  display:block;
  color: #000;
  padding: 16px;
}
.shopListWrap a:after{
  content:"";
  clear: both;
  display: block;
}
.shopListWrap h3{
  height: auto;
  border:none;
  font-size: 1.4rem;
  padding: 0;
  line-height: initial;
  color: #2782ff;
}
.shopListWrap .shopInformation{
  float:right;
  width: 300px;
}
.shopListWrap .shopImage{
  float:left;
  width: 144px;
}
.shopListWrap .shopType{
  color:#a2a2a2;
}
.shopListWrap time{
  color: #a2a2a2;
  position: absolute;
  bottom:16px;
  right: 16px;
  line-height: 1.1;
}

/* area top */
.shopInfoWrap{
  width: 1024px;
  margin: 0 auto;
}
.shopInfoWrap:after{
  content:"";
  clear: both;
  display: block;
}
.shopInfoWrap a{
  display: block;
  color: #000;
  padding: 16px 16px 40px;
  height: 100%;
  position: relative;
  transition: all .3s;
  outline: none;
}
.shopInfoWrap a::before,
.shopInfoWrap a::after {
  position: absolute;
  z-index: 2;
  content: '';
  width: 0;
  height: 0;
  border: 1px solid transparent;
}
.shopInfoWrap a::before {
  top: -1px;
  left: -1px;
}
.shopInfoWrap a::after {
  bottom: -1px;
  right: -1px;
}
.shopInfoWrap a:hover::before,
.shopInfoWrap a:hover::after {
  width: 100%;
  height: 100%;
}
.shopInfoWrap a:hover::before {
  border-bottom-color: #747474;
  border-left-color: #747474;
  transition: height .2s, width .2s .2s;
}
.shopInfoWrap a:hover::after {
  border-top-color: #747474;
  border-right-color: #747474;
  transition: height .2s .4s, width .2s .6s;
}
.shopInfoWrap h3{
  height: 48px;
  line-height: 48px;
  border: none;
  font-size: 1.6rem;
  margin: 0 0 24px;
  padding: 0 16px 0 56px;
  color: #fff;
  background: #1e1e1e;
  position: relative;
}
.shopInfoWrap h3 + p{
  margin:0 0 24px;
  padding:0 16px;
  font-size: 1.4rem;
}
.shopInfoWrap h3 .icon-svg{
  width: 32px;
  height: 32px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 16px;
  margin: auto;
}
.shopInfoWrap h3:after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: -24px;
  margin-left: -12px;
  color: #999;
  border: 12px solid transparent;
  border-top: 12px solid #1e1e1e;
  display: block;
}
.discountInfo h3{ fill: #12c56a;}
.shopNewsInfo h3{ fill: #2782ff;}
.shopInfoWrap h4{
  font-size: 1.4rem;
  color: #2782ff;
}
.shopInfoWrap .shopType{
  color: #a2a2a2;
}
.shopInfoWrap time{
  color: #a2a2a2;
  position: absolute;
  bottom: 16px;
  right: 16px;
  line-height: 1.1;
}
.discountInfo{
  float:left;
  width: 49%;
}
.shopNewsInfo{
  float:right;
  width: 49%;
}
.discountInfo:after,
.shopNewsInfo:after{
  content:"";
  clear: both;
  display: block;
}
.discountInfo section,
.shopNewsInfo section{
  width: 100%;
  height: auto;
  line-height: 1.8;
  float: left;
  margin: 0 0 4% 0;
  box-shadow: 0 2px 5px rgba(0,0,0,.26);
  box-sizing: border-box;
  transition: all .2s ease-in-out;
  position: relative;
}
.shopInfoWrap section:hover{ box-shadow:0 2px 10px rgba(0,0,0,.6);}

/* search */
.numberPublished{
  color:#003f94;
  font-weight: bold;
}
.searchLinkBlock{
  width:1024px;
  margin: 0 auto;
}
.searchLinkBlock:after{
  content:"";
  clear: both;
  display: block;
}
.searchLinkBlock li{
  float: left;
  width:18.4%;
  height: 48px;
  line-height: 48px;
  margin: 0 2% 2% 0;
  text-align: center;
}
.searchLinkBlock li:nth-child(5n){ margin-right:0;}
.searchLinkBlock li a{
  display:block;
  background: #000;
  color: #fff;
  transition: .2s;
}
.searchLinkBlock li a:hover{
  background: #3b3b3b;
}
/* pagination */
.pagination{
  width: 1024px;
  margin: 0 auto 40px;
}
.pagination:after{
  content:"";
  clear: both;
  display: block;
}
.pagination.under{
  margin-top:16px;
}
.pagination div{
  height: 40px;
  line-height: 40px;
  text-align: center;
  margin:0 1px 0 0;
  background: #efefef;
  position: relative;
}
.pagination div:last-child{ margin:0;}
.pagination span{
  padding:0 24px;
  color: #a2a2a2;
}
.pagination .paginationInner{
  display:flex;
  float:right;
  background: none;
  padding:0;
}
.pagination .prev:before{
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-bottom: 1px solid #a2a2a2;
  border-left: 1px solid #a2a2a2;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top:0;
  bottom:0;
  left: 12px;
  margin: auto;
}
.pagination .next:after{
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-top: 1px solid #a2a2a2;
  border-right: 1px solid #a2a2a2;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top:0;
  right: 12px;
  bottom:0;
  margin: auto;
}
.pagination a{
  display: block;
  padding: 0 24px;
  color: #000;
  transition: .2s;
}
.pagination a:hover,
.pagination a.active{
  background:#626262;
  color: #fff;
}
/* detail */
.fullWidthBdWrap{
  width:100%;
  background:#fbfbfb;
  border-top:1px solid #ebebeb;
  border-bottom:1px solid #ebebeb;
  padding: 32px 116px;
  margin: 0 0 24px;
}
.fullWidthBdWrap h2{
  height: auto;
  border:none;
  font-size: 1.8rem;
  padding: 0 0 16px;
}
.fullWidthBdWrap h2 + p{
  margin: auto;
  padding: 0;
  overflow-wrap: break-word;
}
.fullWidthBdWrap time{
  width:100%;
  display: inline-block;
  color: #818181;
}
.pageNavMenu{
  width:1024px;
  margin: 0 auto 24px;
}
.pageNavMenu ul{
  display: flex;
}
.pageNavMenu li{
  width:80px;
  height: 80px;
  border: 1px solid #d8d8d8;
  margin: 0 1px 1px 0;
  text-align: center;
  position: relative;
  transition: .2s;
}
.pageNavMenu li:nth-child(2):after,
.pageNavMenu li:nth-child(3):after,
.pageNavMenu li:nth-child(4):after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: 2px;
  margin-left: -4px;
  color: #818181;
  border: 4px solid transparent;
  border-top: 4px solid #818181;
  display: block;
}
/* ページ下に設置する .footer付与 */
.pageNavMenu.footer li:nth-child(2):after,
.pageNavMenu.footer li:nth-child(3):after,
.pageNavMenu.footer li:nth-child(4):after{
  transform: rotate( 180deg );
  bottom: auto;
  top: 2px;
}
/*******************************/
.pageNavMenu li:nth-child(2):hover:after,
.pageNavMenu li:nth-child(3):hover:after,
.pageNavMenu li:nth-child(4):hover:after{
  border-top-color: #fff;
}
.pageNavMenu li:hover{
  background:#003782;
}
.pageNavMenu li:nth-child(2):hover{
  background:#2782ff;
}
.pageNavMenu li:nth-child(3):hover{
  background:#12c56a;
}
.pageNavMenu li:nth-child(4):hover{
  background:#ec3a3b;
}
.pageNavMenu li:nth-child(5):hover{
  background:#a879f6;
}
.pageNavMenu li a{
  display: block;
  color: #818181;
  height: 78px;
}
.pageNavMenu li:hover a{
  color:#fff;
}
.pageNavMenu li.current a{
  color:#003782;
}
.pageNavMenu li.current:nth-child(4):after{
  border-top-color: #ec3a3b;
}
.pageNavMenu li.current:nth-child(4):hover:after{
  border-top-color: #fff;
}
.pageNavMenu li.current:nth-child(4) a{
  color:#ec3a3b;
}
.pageNavMenu li.current:hover a{
  color:#fff;
}
.pageNavMenu li .icon-svg{
  width:32px;
  height: 32px;
  fill:#818181;
  position: absolute;
  top: 14px;
  right: 0;
  left: 0;
  margin: auto;
}
.pageNavMenu li:hover .icon-svg{
  fill:#fff;
}
.pageNavMenu li.current .icon-svg{
  fill:#003782;
}
.pageNavMenu li.current:nth-child(4) .icon-svg{
  fill:#ec3a3b;
}
.pageNavMenu li.current:hover .icon-svg{
  fill:#fff;
}
.pageNavMenu span{
  line-height: 1.1;
  position: absolute;
  right: 0;
  bottom: 14px;
  left: 0;
  margin: auto;
}
.shopInfoHeader{
  width:1024px;
  margin: 0 auto 24px;
}
.shopInfoHeader:after{
  content:"";
  clear: both;
  display: block;
}
.shopBanner{
  width:468px;
  float: left;
}
.shopLargeTel{
  width: 532px;
  height: 60px;
  float:right;
  font-size: 3.6rem;
  line-height: 1.1;
  position: relative;
  color: #003f94;
}
.shopLargeTel .telWrap{
  position:absolute;
  bottom: 0;
  padding: 0 0 0 64px;
}
.shopLargeTel span{
  display: inline-block;
  font-size:1.4rem;
  position: absolute;
  right: 0;
  bottom: 0;
  border-bottom:8px solid #003f94;
  padding: 0 8px 8px;
}
.shopLargeTel .icon-svg{
  width:48px;
  height: 48px;
  position: absolute;
  bottom: 0;
  left: 0;
  fill:#003f94;
}
.basicInfoWrap{
  width:1024px;
  margin: 0 auto;
}
.basicInfoWrap:after{
  content:"";
  clear: both;
  display: block;
}
.basicInfoWrap h3{
  height: 48px;
  line-height: 48px;
  border: none;
  font-size: 1.6rem;
  font-weight: normal;
  padding: 0 0 0 56px;
  margin: 0 0 24px;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.basicInfoWrap h3 .icon-svg{
  width: 32px;
  height: 32px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 16px;
  margin: auto;
}
.basicInfo{
  width:468px;
  float:left;
  margin: 0 0 56px;
}
.basicInfo h3{
  background: #1e1e1e;
  color: #fff;
}
.basicInfo h3 .icon-svg{
  fill:#2782ff;
}
.basicInfo h3:after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: -24px;
  margin-left: -12px;
  border: 12px solid transparent;
  border-top: 12px solid #1e1e1e;
  display: block;
}
.shopDetail .discountInfo{
  width: 556px;
  padding:0 0 0 24px;
  margin: 0 0 56px;
}
.shopDetail .discountInfo h3{
  background: #12c56a;
  color: #000;
}
.shopDetail .discountInfo h3 .icon-svg{
  fill:#000;
}
.shopDetail .discountInfo h3:after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: -24px;
  margin-left: -12px;
  border: 12px solid transparent;
  border-top: 12px solid #12c56a;
  display: block;
}
.sectionInner{
  clear: both;
  padding:16px;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0,0,0,.26);
  overflow-wrap: break-word;
}
.sectionInner:after{
  content:"";
  clear: both;
  display: block;
}
.sectionInner + p{ padding:24px 16px;}
.shopDetail .discountInfo .sectionInner{
  border-bottom:14px solid #12c56a;
  font-size: 1.6rem;
  line-height: 1.8;
}
.shopDetail .discountInfo .sectionInner + p{
  color: #027c3e;
}
.shopDetail.recruit .sectionInner{ margin: 0 0 24px;}

.basicInfoWrap .tableWrap{
  width:auto;
  margin: 0;
}
.basicInfoWrap .tableWrap dl{
  width: 100%;
}
.basicInfoWrap .tableWrap dt{
  width: 32%;
  text-align: left;
}
.basicInfoWrap .tableWrap dd{
  width: 68%;
  background: #efefef;
}
.basicInfoWrap .tableWrap dd span{
  display: inline-block;
  width: 100%;
  color: #818181;
}
.basicInfoWrap .tableWrap a{
  color: #2782ff;
}
.shopComment{
  clear: both;
  margin: 0 0 56px;
  padding: 40px 24px;
  border: 1px solid #d8d8d8;
  background: #fbfbfb;
  position: relative;
  overflow: hidden;
  font-size: 1.4rem;
  overflow-wrap: break-word;
}
.shopComment:after{
  content: "";
  background-image: url(//area.delicon.jp/images/common/magnifyer.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  position: absolute;
  right: -56px;
  bottom: -100px;
  width: 540px;
  height: 540px;
  display: inline-block;
  opacity: .1;
}
.girlListWrap,.relation_link{
  width:1024px;
  margin: 0 auto;
}
.girlListWrap h3{
  height: 48px;
  line-height: 48px;
  border: none;
  font-size: 1.6rem;
  color: #fff;
  padding: 0 0 0 56px;
  margin: 0 0 24px;
  background: #1e1e1e;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.girlListWrap h3 .icon-svg{
  width: 32px;
  height: 32px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 16px;
  margin: auto;
  fill: #ec3a3b;
}
.girlListWrap ul,.relation_link ul{
  display:flex;
  flex-wrap: wrap;
}
.relation_link li{
	margin-right:16px;
	margin-bottom:32px;
	padding:16px;
	font-size:14px;
	border:1px dotted #999;
	border-radius:8px;
}
.relation_link li a{padding:16px;}
.girlListWrap li{
  width: 15.5%;
  font-size: 1.2rem;
  line-height: 1.8;
  margin: 0 1.4% 1.4% 0;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0,0,0,.26);
  border-bottom:2px solid #ec3a3b;
  transition: all .2s ease-in-out;
  background-image: linear-gradient( rgba(0,0,0,0) 50%, rgba(236,58,59,1) 50%);
  background-position: 0 0;
  background-size: auto 200%;
  transition: .2s;
}
.girlListWrap li:hover{
  box-shadow:0 2px 10px rgba(0,0,0,.6);
  background-position: 100% 100%;
}
.girlListWrap li:nth-child(6n){
  margin-right:0;
}
.girlListWrap li a{
  display: block;
  height: 100%;
  padding: 8px 8px 16px;
}
.girlImage{
  margin:0 0 8px;
}
.girlData span{
  display:inline-block;
  width: 100%;
  color: #000;
}
.girlData span:first-child{ color:#ec3a3b;}
.girlListWrap li:hover .girlData span:first-child{ color:#fff; transition: .2s;}
.pageExplanation{
  width:1024px;
  margin: 0 auto;
}
.pageExplanation p{
  padding:16px;
  color: #818181;
}
.girlInfo .pageNavMenu li:nth-child(4):after,
.recruit .pageNavMenu li:nth-child(2):after,
.recruit .pageNavMenu li:nth-child(3):after{
  content:none;
}
.recruit .pageNavMenu li:nth-child(2):hover{
  background:#ec3a3b;
}
.recruit .pageNavMenu li:nth-child(3):hover{
  background:#a879f6;
}
.recruit .pageNavMenu li.current:nth-child(2) a{
  color:#ec3a3b;
}
.recruit .pageNavMenu li.current:nth-child(3) a{
  color:#a879f6;
}
.recruit .pageNavMenu li.current:nth-child(3) .icon-svg{
  fill:#a879f6;
}
.recruit .pageNavMenu li.current:hover a{ color:#fff;}
.recruit .pageNavMenu li:hover:nth-child(3) .icon-svg{
  fill:#fff;
}
.recruit .basicInfoWrap h2,
.girlListWrap h2{
  height: 48px;
  line-height: 48px;
  border: none;
  font-size: 1.6rem;
  color: #fff;
  padding: 0 0 0 56px;
  margin: 0 0 24px;
  background: #1e1e1e;
  position: relative;
}
.recruit .basicInfoWrap h2 .icon-svg{
  width: 32px;
  height: 32px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 16px;
  margin: auto;
  fill: #a879f6;
}
.girlListWrap h2 .icon-svg{
  width: 32px;
  height: 32px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 16px;
  margin: auto;
  fill: #ec3a3b;
}
.tableWrap.girlTable{
  width:436px;
  margin: 0;
  float: left;
}
.tableWrap.girlTable dt{
  width:38%;
  background: #ec3a3b;
  text-align: left;
}
.tableWrap.girlTable dd{
  width:62%;
}
.tableWrap.girlTable dd span{ color:#ec3a3b;}
.aboutGirl{
  width: 540px;
  float: right;
}
.aboutGirl:after{
  content:"";
  clear: both;
  display: block;
}
.aboutGirl .contentOne{
  width:300px;
  float: left;
}
.aboutGirl .contentTwo{
  width: 240px;
  float: left;
  padding: 0 0 0 16px;
  max-height: 492px; /* 左基本項目の数（高さ）に合わせる */
  overflow: auto;
  overflow-wrap: break-word;
}
.aboutGirl .girlImage img{
  box-shadow: 0 2px 5px rgba(0,0,0,.26);
}
.aboutGirl .girlData{
  border-bottom:6px solid #ec3a3b;
  padding: 0 16px 8px;
}
.tableWrap.tableWide{
  width:100%;
  margin: 0;
}
.tableWrap.tableWide dt{
  width:16.7%;
  text-align: left;
}
.tableWrap.tableWide dd{
  width:83.3%;
}
.girlListWrap .sectionInner:nth-child(3){
  margin: 24px 0 0;
}
/* sp search menu */
.spMenuWrap,
#spMenuHiddenWrap{ display: none;}
/* lower page */
.contentWrap{
  width:1024px;
  margin: 0 auto;
}
.contentWrap h2{
  height: 48px;
  line-height: 48px;
  border: none;
  font-size: 1.6rem;
  color: #fff;
  padding: 0 0 0 56px;
  margin: 0 0 24px;
  background: #1e1e1e;
  position: relative;
}
.contentWrap h2 + p{
  font-size: 1.2rem;
  margin: 0 0 24px;
  padding: 0 16px;
}
.contentWrap h2 .icon-svg {
  width: 32px;
  height: 32px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 16px;
  margin: auto;
  fill: #818181;
}
.applicationForm:after{
  content:"";
  clear: both;
  display: block;
}
.inputFormWrap{
  width: 48%;
  float:left;
  margin: 0 4% 4% 0;
}
.inputFormWrap:nth-child(2){
  margin-right:0;
}
.inputFormWrap dl{
  display: flex;
  align-items: center;
  border-bottom:1px solid #818181;
}
.inputFormWrap dt{
  width: 35%;
  padding: 24px 16px;
}
.inputFormWrap dd{
  width: 65%;
  padding: 24px 16px;
}
.inputFormWrap:nth-child(2) dl{
  display: block;
  border: none;
}
.inputFormWrap:nth-child(2) dt{
  width: 100%;
  padding: 24px 16px 0;
}
.inputFormWrap:nth-child(2) dd{
  width: 100%;
}
.inputFormWrap input{
  width: 100%;
  height: 32px;
  line-height: 32px;
  border: 1px solid #d6d6d6;
  padding: 0 16px;
}
.inputFormWrap textarea {
  width: 100%;
  min-height: 170px;
  max-width: 444px;
  padding: 16px;
  box-shadow: 0 2px 10px rgba(0,0,0,.26);
}
.contactCheck .inputFormWrap dd{
  background: #caffe2;
}
.contactCheck .inputFormWrap:nth-child(2) dd{
  margin: 0 0 24px;
  box-shadow: 0 2px 10px rgba(0,0,0,.26);
}
.submitBtnWrap{
  float: right;
  padding: 0 16px 0 0;
}
.submitBtnWrap button,
.submitBtnWrap input{
  width:188px;
  height: 48px;
  line-height: 48px;
  background: #000;
  color: #fff;
  text-align: center;
  border-radius: 4px;
  box-shadow: 0 2px 5px rgba(0,0,0,.26);
  cursor: pointer;
}
.contactCheck .submitBtnWrap button[type="button"]{
  background: #919191;
}
.informationBox{
  width:100%;
  clear: both;
  position: relative;
  padding: 16px;
  color: #818181;
}
.leftLineBox{
  border-left:4px solid #818181;
  padding: 16px;
  margin: 16px 0 0;
}

/* footer */
.footerSiteNav{
  width:1024px;
  margin: 0 auto;
  padding: 24px 0;
}
.footerSiteNav:after{
  content:"";
  clear: both;
  display: block;
}
.footerSiteNav li{
  float: left;
  padding: 8px 16px 0 0;
}
.footerSiteNav a{ color:#fff;}
footer{
  width: 100%;
  background:#000;
  color: #fff;
  text-align: left;
  padding: 24px 0;
}
.footerInnerWrap{
  width:1024px;
  margin: 0 auto;
  position: relative;
}
.footerIconMenu{
  position:absolute;
  right: 0;
  top: 10px;
}
.footerIconMenu:after{
  content:"";
  clear: both;
  display: block;
}
.footerIconMenu .icon-svg{
  float: left;
  margin: 0 16px 0 0;
  width: 24px;
  height: 24px;
  fill:#fff;
}
.footerSvg a{ fill:#fff;}
small{ color:#a8a8a8;}

#footer_menu_float{
	display:none;
}

/************************
1024px以下
************************/
/* iPad Kindle + some-Android（LargeSizePhone - MiniTablet）横 */
@media screen and (max-width: 1024px) {
  .headerInnerWrap{
    width: 100%;
    padding: 24px;
  }
  .headerSubMenuWrap{
    top: 50%;
    right: 24px;
    margin-top: -6px;
  }
  .headerNavi ul{ width:100%;}
  .breadcrumb{ padding: 24px;}
  .pagination{ width:100%;}
  .pagination .paginationInner{ padding: 0 24px 0 0;}
  .nationWideEnterWrap{ padding:24px 16px;}
  .nationWideEnterList{ width:100%;}
  .titleLineRight{
    height: auto;
    font-size: 2.0rem;
    margin: 0 0 16px;
    padding: 0 0 0 16px;
    line-height: initial;
  }
  .titleLineRight + p{
    font-size:1.4rem;
    margin: 0 0 24px;
    padding: 0 16px;
  }
  .shopListWrap{
    width:100%;
    padding:0 24px;
  }
  .shopListWrap .shopInformation{ width: 64%;}
  .shopListWrap .shopImage{ width:32%;}
  .sectionWrapFix{ padding: 0 16px;}/* 汎用 */
  .bannerWrap{ padding:0 16px;}
  .bannerWrap li{ margin: 0 16px 16px 0;}
  .clearLineBox{ width:100%;}
  .webExplanationWrap{ width:100%;}
  .shopInfoWrap{
    width:100%;
    padding: 0 24px;
  }
  .footerSiteNav{
    width:100%;
    padding:24px 32px;
  }
  .footerInnerWrap{
    width:100%;
    padding: 0 16px;
  }
  .searchLinkBlock{
    width:100%;
    padding:0 24px;
  }
  .pageNavMenu,
  .shopInfoHeader,
  .basicInfoWrap,
  .girlListWrap{
    width:100%;
    padding: 0 24px;
  }
  .shopBanner,
  .basicInfo{ width: 48%;}
  .shopLargeTel{
    width: 52%;
    padding: 0 0 0 24px;
    font-size: 3.2rem;
  }
  .shopLargeTel .icon-svg{
    left: 24px;
  }
  .shopDetail .discountInfo{ width: 52%;}
  .pageExplanation{ width:100%;}
  .pageExplanation p{ padding:16px 48px;}
  .tableWrap.girlTable{ width: 44%;}
  .aboutGirl{ width: 54%;}
  .aboutGirl .contentOne{ width: 59%;}
  .aboutGirl .contentTwo{ width: 41%;}
  .contentWrap{
    width: 100%;
    padding: 0 24px;
  }
}
/************************
768px以下
************************/
/* iPad Kindle + some-Android（LargeSizePhone - MiniTablet） */
@media screen and (max-width: 768px) {
  .headerInnerWrap{
    padding: 16px;
  }
  .headerSubMenuWrap{ display:none;}
  .gnavToggle{
    display: block;
    right: 16px;
    width: auto;
    height: auto;
  }
  h1{
    height:auto;
    border-left: 50px solid #003f94;
    font-size: 2.0rem;
    margin: 0 0 16px;
    padding: 0 16px;
    line-height: initial;
  }
  h2,h3{
    height:auto;
    border-left: 50px solid #000001;
    font-size: 2.0rem;
    margin: 0 0 16px;
    padding: 0 16px;
    line-height: initial;
  }
  h1 + p,
  h2 + p,
  h3 + p{
    font-size:1.4rem;
    margin: 0 0 24px;
    padding: 0 16px;
  }
  .under18 { padding: 0 0 0 66px;}
  .tableWrap{ width:100%;}
  .footerIconMenu{
    top: auto;
    right: 16px;
    bottom:0;
  }
  /*********/
  .shopListWrap,.relation_link{
    width:100%;
    padding: 0 16px;
  }
  .relation_link li{
  	padding:8px;
  }
  .shopListWrap article{
    height: auto;
  }
  .shopListWrap a{
    padding:8px;
  }
  .shopListWrap time{
    bottom:4px;
  }
  .shopListWrap .shopInformation{
    width:66%;
  }
  .shopListWrap .shopInformation p{
    height: auto;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .shopListWrap .shopInformation p:before,
  .shopListWrap .shopInformation p:after{ content:none;}
  .shopListWrap .shopImage{
    width:30%;
  }
  .shopListWrap h3{
    margin: 0 0 4px;
  }
  .pagination .paginationInner{ padding: 0 16px 0 0;}
  .searchLinkBlock{ padding: 0 16px;}
  .fullWidthBdWrap{ padding: 32px 66px;}
  .pageNavMenu,
  .shopInfoHeader,
  .basicInfoWrap,
  .girlListWrap{
    padding: 0 16px;
  }
  .shopBanner{
    width: 100%;
    margin: 0 0 24px;
  }
  .shopLargeTel{
    width: 100%;
    height: 40px;
    padding: 0 24px;
  }
  .shopLargeTel .icon-svg{
    width: 40px;
    height: 40px;
    top: 0;
  }
  .shopLargeTel .telWrap{
    padding: 0 0 0 48px;
    line-height: 1;
  }
  .shopLargeTel span{ width: 50%;}
  .girlListWrap li{
    width: 18.88%;
  }
  .girlListWrap li:nth-child(6n){ margin-right: auto;}
  .girlListWrap li:nth-child(5n){ margin-right: 0;}
  .fullWidthBdWrap h2{
    margin: 0;
  }
  .contentWrap{
    padding: 0 16px;
  }
  .inputFormWrap{ font-size: 1.4rem;}
  .inputFormWrap input,
  .inputFormWrap textarea{ font-size: 1.6rem;}

  #footer_menu_float{
	display:block;
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
	justify-content: space-between;
	align-items: center;     /*中央揃え*/
    background: #12c56a;
    color: #000;
	height:48px;
	position: fixed;
    left: 0px;
    bottom: 2px;
    z-index: 9999;
  }
  #footer_menu_float li{width:100%;font-size:16px;font-weight: bold;}
  #footer_menu_float a{display:block;width:70%;margin-left:20%;color: #FFF;}
  #footer_menu_float a:visited{color: #FFF;}
  #footer_menu_float svg{width:18%;float:left;fill: #FFF;}
  #footer_menu_float span{width:80%;float:left;margin-left:2%}

}
/************************
736px以下
************************/
/* iPhone6 Plus 横 */
@media screen and (max-width: 736px) {
}
/************************
667px以下
************************/
/* iPhone6 横 */
@media screen and (max-width: 667px) {
  #logo object {
    height: 56px;
  }
  section{ margin: 0 0 40px;}
  .headerNavi{ display: none;}
  /* sp search menu */
  .spMenuWrap{
    display: block;
    box-shadow: 0px 0px 4px rgba(0,0,0,0.2);
  }
  .spMenuHeader{
    width: 100%;
    height: 40px;
    line-height: 40px;
    padding: 0 24px 0 56px;
    background: #1e1e1e;
    font-size: 1.6rem;
    color: #fff;
    font-weight: bold;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    position: relative;
  }
  .spMenuHeader .icon-svg{
    height: 28px;
    width: 28px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 16px;
    margin: auto;
    fill:#fff;
  }
  .spMenu {
    max-width:100%;
    margin: 0 auto 24px;
    padding: 0;
    border:16px solid rgba(255,255,255,.5);
  }
  .spMenu a {
    display: block;
    padding: 16px 0;
    text-decoration: none;
    color: #444;
    line-height: 1.2;
    height: 46px;
  }
  .spMenu label{
    display: block;
    margin: 0 0 1px 0;
    padding: 16px 24px;
    line-height: 1.1;
    color: #fff;
    background: #494949;
    cursor: pointer;
    clear: both;
    position: relative;
    font-size: 1.4rem;
  }
  .spMenu label:after{
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    margin-top: -2px;
    color: #000;
    border: 4px solid transparent;
    border-top: 6px solid #000;
    display: block;
}
  .spMenu input {
    display: none;
  }
  .spMenu ul {
    margin: 0;
    padding: 0;
    background :#fff;
    list-style: none;
  }
  .spMenu ul:after{
    content:"";
    clear: both;
    display: block;
  }
  .spMenu li {
    max-height: 0;
    overflow-y: hidden;
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -ms-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
    width: 24.5%;
    float: left;
    text-align: center;
    background: #e1e1e1;
    color: #000;
  }
  #menu_bar01:checked ~ #links01,
  #menu_bar02:checked ~ #links02,
  #menu_bar03:checked ~ #links03,
  #menu_bar04:checked ~ #links04,
  #menu_bar05:checked ~ #links05,
  #menu_bar06:checked ~ #links06{ padding:15.5px;}
  #menu_bar01:checked ~ #links01 li,
  #menu_bar02:checked ~ #links02 li,
  #menu_bar03:checked ~ #links03 li,
  #menu_bar04:checked ~ #links04 li,
  #menu_bar05:checked ~ #links05 li,
  #menu_bar06:checked ~ #links06 li{
    max-height: 46px;
    opacity: 1;
    margin: 0.25%;
  }
  #menu_bar_hidden + .spMenuWrap{
    max-height:0;
    display: none;
  }
  #menu_bar_hidden:checked ~ .spMenuWrap{
    max-height: 100%;
    display: block;
    animation: show .2s linear 0s;
  }
  @keyframes show{
    from{ opacity: 0;}to{opacity: 1;}
  }
  /* sp search menu hidden wrap */
  #spMenuHiddenWrap{ display: block;}
  #spMenuHiddenWrap .icon-svg{
    height: 28px;
    width: 28px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 16px;
    margin: auto;
    fill:#fff;
  }
  #spMenuHiddenWrap label#hiddenMenu {
    display: block;
    height: 40px;
    line-height: 40px;
    /*margin: 0 0 2px 0;*/
    padding :0 24px 0 56px;
    font-size: 1.6rem;
    color :#fff;
    font-weight: bold;
    background :#1e1e1e;
    cursor :pointer;
    clear: both;
    position: relative;
  }
  #spMenuHiddenWrap label#hiddenMenu:after{
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    margin-top: -2px;
    color: #fff;
    border: 4px solid transparent;
    border-top: 6px solid #fff;
    display: block;
  }
  #spMenuHiddenWrap input {
    display: none;
  }
  #spMenuHiddenWrap .currentConditions{
    padding: 8px 16px;
    margin: 0 0 24px;
    box-shadow: 0px 0px 4px rgba(0,0,0,0.2);
    color:#494949;
    position: relative;
  }
  #spMenuHiddenWrap .currentConditions:after{
    content: "";
    position: absolute;
    left: 50%;
    bottom: -24px;
    margin-left: -12px;
    color: #e8e8e8;
    border: 12px solid transparent;
    border-top: 12px solid #e8e8e8;
    display: block;
  }
  /******************************/
  .clearLineBox{ padding:24px 16px;}
  .nationWideEnterWrap h2{ font-size:2.0rem;}
  .nationWideEnterList li{ font-size: 2.0rem;}
  .tableWrap{ font-size: 1.4rem;}
  .webExplanationWrap{ display: block;}
  .webExplanationWrap h3{
    font-size:2.0rem;
    margin: auto;
  }
  .webExplanationtitle,
  .webExplanation{
    width: 100%;
    font-size: 1.4rem;
  }
  .shopListWrap .shopInformation p {
    height: auto;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .shopListWrap .shopInformation p:before,
  .shopListWrap .shopInformation p:after{ content:none;}
  /* メニューカスタム */
  .headerNavi li{ height:auto;}
  .menu > li{ width:100%;}
  .menu > li.menu__single {
    position: relative;
    height: auto;
  }
  li.menu__single ul.menu__second-level{ position: static; height: 0;}
  li.menu__single:hover ul.menu__second-level {
    top: 48px;
    visibility: visible;
    opacity: 1;
    height: 100%;
    max-height: inherit;
    overflow-y:inherit; 
  }
  /* breadcrumb scroll */
  .breadcrumbSc {
    /*background-color: #fff;*/
  }
  .breadcrumbSc .innerWrap {
    list-style-type: none;
    width: 667px;/* menu width */
    height: 100%;
    margin: 0 auto;
    padding: 0;
    text-align: center;
    overflow: hidden;
  }
  .breadcrumbSc li {
    float: left;
    height: 100%;
  }
  .breadcrumbSc li:last-child{ padding-right:24px;}
  .breadcrumbSc a {
    display: block;
    height: 100%;
  }
  .breadcrumbSc a:hover {
    background-color: #fff;
  }
  .breadcrumbSc {
    overflow-x: scroll;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
  .breadcrumbSc .scroll-menu-inner {
    margin: 0;
  }
  .breadcrumb {
    display: inherit;
  }
  .shopInfoWrap{ padding: 0 16px;}
  .discountInfo,
  .shopNewsInfo{
    width:100%;
  }
  .discountInfo section,
  .shopNewsInfo section{
    margin:0 0 16px;
  }
  .discountInfo section:last-child,
  .shopNewsInfo section:last-child{
    margin: 0 0 40px;
  }
  .girlListWrap li{
    width: 23.95%;
  }
  .girlListWrap li:nth-child(5n){ margin-right: auto;}
  .girlListWrap li:nth-child(4n){ margin-right:0;}
  .shopLargeTel{
    height:32px;
    padding: 0 16px;
  }
  .shopLargeTel .icon-svg{
    width: 32px;
    height: 32px;
    left: 16px;
  }
  .shopLargeTel .telWrap{
    padding:0 0 0 40px;
    line-height: 1;
    font-size: 3.2rem
  }
  .basicInfo,
  .shopDetail .discountInfo{
    width: 100%;
    padding: 0;
    margin: 0 0 40px
  }
  .fullWidthBdWrap {
    padding: 32px;
  }
  .tableWrap.girlTable{
    width:100%;
  }
  .aboutGirl{
    width:100%;
    margin: 0 0 40px;
  }
  .aboutGirl .contentOne{ width: 50%;}
  .aboutGirl .contentTwo{
    width: 50%;
    max-height: 408px;
  }
  .aboutGirl .girlData{ display: none;}
  .tableWrap.tableWide dt{ width: 38%;}
  .tableWrap.tableWide dd{ width: 62%;}
  .inputFormWrap{
    width: 100%;
    margin: 0 0 4%;
  }
  .inputFormWrap textarea{
    min-height: 200px;
    max-width: 570px;
  }
  .submitBtnWrap button{ font-size: 1.6rem;}
}
/************************
640px以下
************************/
/* some-Android（Smartphone）横 */
@media screen and (max-width: 640px) {
}
/************************
568px以下
************************/
/* iPhone5系 横 */
@media screen and (max-width: 568px) {
}
/************************
480px以下
************************/
/* iPhone + some-Android（Smartphone） */
@media screen and (max-width: 480px) {
  h1 {
    border-left: 24px solid #003f94;
    font-size: 1.8rem;
    margin: 0 0 16px;
    padding: 0 16px;
  }
  h2, h3 {
    border-left: 24px solid #000001;
    font-size: 1.8rem;
    margin: 0 0 16px;
    padding: 0 16px;
  }
  #logo object {
    height: 48px;
  }
  #menuButton{
    width:56px;
    height: 56px;
  }
  section{ margin: 0 0 40px;}
  .nationWideEnterWrap{
    background-size: contain;
    background-position: center;
  }
  .nationWideEnterList li{
    width:100%;
    height: 40px;
    line-height: 40px;
    float: none;
    margin: 0 0 2%;
  }
  .bannerWrap .clearLineBox{
    padding:24px 16px 16px;
    margin: 0 0 40px;
  }
  .under18{ padding:0 24px;}
  .bannerWrap li {
    margin: 0 .5% 2%;
    width: 49%;
  }
  .titleLineRight{
    font-size: 1.8rem;
    margin: 0 0 16px;
    padding: 0 0 0 16px;
  }
  .titleLineRight::after{
    left: 80%;
  }
  .tableWrap{ margin: 0 0 40px;}
  .tableWrap dt{
    width:30%;
    text-align: left;
  }
  .tableWrap dd{
    width:70%;
  }
  .footerIconMenu{
    position: static;
    margin: 0 0 8px;
  }
  .footerIconMenu p{
    clear: both;
  }
  /******/
  .areaEnter{
    width:384px;
  }
  .areaEnterBtn{
    width:180px;
    height: 180px;
    font-size: 3.0rem;
  }
  .areaEnterBtn a{
    padding:40px 0 0;
  }
  .areaEnterBtn a:after{
    width:178px;
  }
  .areaEnterBtn.u18 a{
    padding:60px 0 0;
  }
  .areaEnterBtn.u18 a:after{
    width:178px;
  }
  .shopListWrap article{
    width: 100%;
    margin: 0 0 16px;
  }
  .shopListWrap .shopInformation p {
    height: auto;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }
  .shopListWrap .shopInformation p:before,
  .shopListWrap .shopInformation p:after{ content:none;}
  .webExplanationWrap{
    margin: 0 0 40px;
  }
  .spMenu li {
    width: 49.5%;
  }
  .searchLinkBlock li{ width:49%;}
  .searchLinkBlock li:nth-child(2n){
    margin-right: 0;
  }
  .searchLinkBlock li:nth-child(5),
  .searchLinkBlock li:nth-child(15){
    margin-right: 2%;
  }
  .girlListWrap li{
    width: 32.4%;
  }
  .girlListWrap li:nth-child(4n){ margin-right: auto;}
  .girlListWrap li:nth-child(3n){ margin-right:0;}
  .fullWidthBdWrap {
    padding: 24px;
  }
  .shopBanner{ float: none;}
  .shopLargeTel{
    float: none;
    height: auto;
    padding: 0;
  }
  .shopLargeTel .icon-svg{ left:16px;}
  .shopLargeTel .telWrap{
    position: static;
    padding: 0 0 0 56px;
    height: 32px;
    line-height: 1.4;
  }
  .shopLargeTel span{
    position: static;
    width: 100%;
    padding:0 16px 8px;
  }
  .aboutGirl{ margin: 0 0 24px;}
  .aboutGirl .contentTwo{ max-height: 285px;}
  .inputFormWrap dl{
    display: block;
    border: none;
  }
  .inputFormWrap dt,
  .inputFormWrap:nth-child(2) dt{
    width: 100%;
    padding: 8px 16px;
    background: #f2f2f2;
  }
  .inputFormWrap dd{ width: 100%;}
  .pageExplanation p {
    padding: 16px 32px;
  }
}
/************************
435px以下
************************/
/* Nexus 6P */
@media screen and (max-width: 435px) {
}
/************************
414px以下
************************/
/* iPhone6 Plus 縦 + some-Android（Smartphone） */
@media screen and (max-width: 414px) {
}
/************************
0～375px以下
************************/
/* iPhone6 縦 */
@media screen and (max-width: 375px) {
  .under18 img{
    width:32px;
    height: 32px;
  }
  .under18 p{
    font-size: 1.1rem;
    height: 32px;
    line-height: 32px;
  }
  .bannerWrap li {
    margin: 0 0 2%;
    width: 100%;
    text-align: center;
  }
  .titleLineRight::after {
    left: 90%;
  }
  .tableWrap dt{
    width: 35%;
  }
  .tableWrap dd{
    width: 65%;
  }
  /******/
  .areaEnter{
    width:304px;
  }
  .areaEnterBtn{
    width:140px;
    height: 140px;
    font-size: 2.5rem;
    line-height: 1.4;
  }
  .areaEnterBtn a{
    padding:20px 0 0;
  }
  .areaEnterBtn a:after{
    width:138px;
  }
  .areaEnterBtn.u18 a{
    padding:42px 0 0;
  }
  .areaEnterBtn.u18 a:after{
    width:138px;
  }
  .areaEnterBtn.u18 span{ top: 12px;}
  .areaEnterBtn.u18 span.smallText{ font-size:1.8rem;}
  .areaEnterBtn a:before{
    border-bottom: 20px solid #fff;
    border-left: 20px solid transparent;
  }
  .areaEnterBtn.u18 a:before{
    border-bottom: 20px solid #242424;
    border-left: 20px solid transparent;
  }
  .areaEnterBtn a:hover:before{
    border-bottom: 20px solid #003f94;
  }
  .areaEnterBtn.u18 a:hover:before{
    border-bottom: 20px solid #7f7f7f;
  }
  .shopListWrap .shopInformation p {
    height: auto;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .shopListWrap .shopInformation p:before,
  .shopListWrap .shopInformation p:after{ content:none;}
  .pagination .paginationInner{
    float: none;
    padding: 0 16px;
    width: 100%;
  }
  .pagination div{ width: 33.33333333%;}
  .shopDetail .discountInfo .sectionInner + p{ padding:24px 16px 0;}
  .girlListWrap li{
    width: 100%;
    margin: 0 0 4% 0;
  }
  .girlListWrap li:nth-child(3n){ margin-right: auto;}
  .girlListWrap li a{ padding: 8px;}
  .girlListWrap .girlData{
    margin: 0 0 0 18%;
    font-size: 1.4rem;
  }
  .girlImage {
    text-align: center;
    float: left;
    width: 15%;
  }
  .pageNavMenu li{
    width:25%;
    height:85px;
  }
  .pageNavMenu li:last-child{ margin-right: 0;}
  .aboutGirl .contentOne{ width:100%;}
  .aboutGirl .contentTwo{
    width:100%;
    max-height: 100%;/* 実データ反映後に調整 */
    padding:16px 16px 0;
  }
  .aboutGirl .girlImage{ width:100%;}
  .tableWrap.tableWide dl{ display: block; /* flex解除 */}
  .tableWrap.tableWide dt,
  .tableWrap.tableWide dd{
    width:100%;
  }
  .basicInfoWrap .tableWrap dl,
  .tableWrap.girlTable dl{ display: block; /* flex解除 */}
  .basicInfoWrap .tableWrap dt,
  .basicInfoWrap .tableWrap dd,
  .tableWrap.girlTable dt,
  .tableWrap.girlTable dd{
    width:100%;
  }
  .submitBtnWrap{
    padding: 0 16px;
    width: 100%;
  }
  .submitBtnWrap button{ width: 100%;}
}
/************************
0～360px以下
************************/
/* その他スマホ */
@media screen and (max-width: 360px) {
}
/************************
0～320px以下
************************/
/* iPhone + Android(old) + ガラホ？ */
@media screen and (max-width: 320px) {
}