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, sub, sup, var,
b, i,input,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video ,strong {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background-color:transparent;
    font-weight:normal;
}




body {
    line-height:1;
    -webkit-text-size-adjust: 100%;
    font-family: "Century Gothic",Arial,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
   color:#333333;
   -webkit-text-size-adjust:none;
   font-size: 14px;
   line-height:1.5;
}

img{
vertical-align:bottom;
max-width:100%;
-webkit-backface-visibility: hidden !important;
}

video{
    max-width: 100%;
}


.mt10 {margin-top:10px;}
.mt20 {margin-top:20px;}
.mt30 {margin-top:30px;}
.mt40 {margin-top:40px;}
.mt50 {margin-top:50px;}
.mt60 {margin-top:60px;}
.mt70 {margin-top:70px;}
.mt80 {margin-top:80px;}
.mt90 {margin-top:90px;}
.mt100 {margin-top:100px;}
.mt110 {margin-top:110px;}
.mt120 {margin-top:120px;}
.mt130 {margin-top:130px;}
.mt140 {margin-top:140px;}
.mt150 {margin-top:150px;}
.mt160 {margin-top:160px;}
.mt170 {margin-top:170px;}
.mt180 {margin-top:180px;}
.mt190 {margin-top:190px;}
.mt200 {margin-top:200px;}

.mb10 {margin-bottom:10px;}
.mb20 {margin-bottom:20px;}
.mb30 {margin-bottom:30px;}
.mb40 {margin-bottom:40px;}
.mb50 {margin-bottom:50px;}
.mb60 {margin-bottom:60px;}
.mb70 {margin-bottom:70px;}
.mb80 {margin-bottom:80px;}
.mb90 {margin-bottom:90px;}
.mb100 {margin-bottom:100px;}
.mb110 {margin-bottom:110px;}
.mb120 {margin-bottom:120px;}
.mb130 {margin-bottom:130px;}
.mb140 {margin-bottom:140px;}
.mb150 {margin-bottom:150px;}
.mb160 {margin-bottom:160px;}
.mb170 {margin-bottom:170px;}
.mb180 {margin-bottom:180px;}
.mb190 {margin-bottom:190px;}
.mb200 {margin-bottom:200px;}

.mr10 {margin-right:10px;}
.mr20 {margin-right:20px;}
.mr30 {margin-right:30px;}
.mr40 {margin-right:40px;}
.mr50 {margin-right:50px;}
.mr60 {margin-right:60px;}
.mr70 {margin-right:70px;}
.mr80 {margin-right:80px;}
.mr90 {margin-right:90px;}
.mr100 {margin-right:100px;}
.mr110 {margin-right:110px;}
.mr120 {margin-right:120px;}
.mr130 {margin-right:130px;}
.mr140 {margin-right:140px;}
.mr150 {margin-right:150px;}
.mr160 {margin-right:160px;}
.mr170 {margin-right:170px;}
.mr180 {margin-right:180px;}
.mr190 {margin-right:190px;}
.mr200 {margin-right:200px;}

.ml10 {margin-left:10px;}
.ml20 {margin-left:20px;}
.ml30 {margin-left:30px;}
.ml40 {margin-left:40px;}
.ml50 {margin-left:50px;}
.ml60 {margin-left:60px;}
.ml70 {margin-left:70px;}
.ml80 {margin-left:80px;}
.ml90 {margin-left:90px;}
.ml100 {margin-left:100px;}
.ml110 {margin-left:110px;}
.ml120 {margin-left:120px;}
.ml130 {margin-left:130px;}
.ml140 {margin-left:140px;}
.ml150 {margin-left:150px;}
.ml160 {margin-left:160px;}
.ml170 {margin-left:170px;}
.ml180 {margin-left:180px;}
.ml190 {margin-left:190px;}
.ml200 {margin-left:200px;}

img.w10{
width:10%;
}
img.w20{
width:20%;
}
img.w30{
width:30%;
}
img.w40{
width:40%;
}
img.w50{
width:50%;
}
img.w60{
width:60%;
}
img.w70{
width:70%;
}
img.w80{
width:80%;
}
img.w90{
width:90%;
}
img.w100{
width:100%;
}

.absolute {
position: absolute;
z-index: 100;
}

.relative {
position: relative;
}

#wrap {
overflow: hidden;
display:block;
max-width:31.25vw;
margin:0 auto;
background-color: #00bbdb;
border-left: solid 2px #000000;
border-right: solid 2px #000000;
position: relative;
}


.contentsSection {
position:relative;
text-align: center;
}


#main{
}


#mainunder{
    padding-top: 5%;
}

#lumix{
    padding-top: 5%;
    background-color: #000000;
}

#warr{
    padding: 5% 0;
}

#beforeafter .toggle{
    display: none;
}

#beforeafter video.ba_movie{
    vertical-align: bottom;
}

#point img.point_01{
    left: 0;
    top: 19.3%;
}
#point img.point_02{
    left: 0;
    top: 47.5%;
}
#point img.point_03{
    left: 0;
    bottom: 17.5%;
}
#point video{
    left: 0;
    top: 26%;
}

#point #campaign{
    left: 0;
    width: 100%;
    height: 50px;
    bottom: 14%;
}

#cta{
    padding: 5% 0;
}

#flow img.flow_01{
    left: 0;
    top: 4.7%;
}
#flow img.flow_02{
    left: 5%;
    bottom:0;
}
#flow video.flow_movie_01{
    left: 0;
    top: 7.2%;
}

#flow video.flow_movie_02{
    left: 0;
    top: 19.6%;
}

#flow video.flow_movie_03{
    left: 0;
    top: 31.3%;
}

#flow video.flow_movie_04{
    left: 0;
    top: 43.0%;
}

#faq {
    background-color: #FFFFFF;
    background-image: url('../img/faqbg_01.png'),url('../img/faqbg_02.png');
    background-repeat: no-repeat,repeat-y;
    background-size: 100%,100%;
    background-position: center top , center top;
    padding-top: 50%;
    padding-bottom: 10%;
}

#faq .box{
    width: 80%;
    margin: 0 auto 5%;
    position: relative;
    background-color: #FFFFFF;
    border-radius: 35px;
    overflow: hidden;
    border: solid 2px #00bbdb;
}

#faq .box .toggle{
    display: none;
    padding-bottom: 10%;
}


#access {
    background-image: url('../img/access_bg.png');
    background-repeat:repeat-y;
    background-size:100%;
    background-position:center top;
    padding-top: 10%;
    padding-bottom: 10%;
}
/*----------------------------
店舗一覧
----------------------------*/
@font-face {
  font-family: 'Yu Gothic bold';
  src: url("../fonts/YuGothic-B.woff") format("woff");
}
@font-face {
  font-family: 'Yu Gothic medium';
  src: url("../fonts/YuGothic-M.woff") format("woff");
}
iframe {
	width: 100%;
	height: 100%;
}
#access {
  padding-top: 18%;
  padding-bottom: 10%;
}
#access .ttl {
  color: #0e0e10;
  font-family: "Yu Gothic bold";
  margin-bottom: 20px;
}
#access .ttl .en {
  letter-spacing: 0.1rem;
}
#access section {
	margin-top: 20px;
}
.shopTitle img {
  width: 250px;
}
.area_open, .kantou_open, .shop_open {
	display: none;
}
.shop_list {
	font-size: 24px;
}
button {
	font-size: 24px;
	padding: 5px;
	font-family: "Yu Gothic medium";
	border: 0;
}
.area_btn {
	width: 100%;
	position: relative;
	background: #000;
	color: #fff;
	margin: 0 auto 10px;
}
.area_btn::before, .area_btn::after {
	width: 15px;
    height: 3px;
    background: #ccc;
    position: absolute;
    content: "";
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
}
.area_btn::after {
	transform: translateY(-50%)rotate(-90deg);
    transition: 0.5s;
}
.area_btn.active::after {
	transform: translateY(-50%);
    transition: 0.5s;
}
.kantou_btn {
	display: block;
	width: 95%;
	background-color: #007088;
	color: #fff;
	margin: 0 auto 10px;
}
.shop_btn {
	display: block;
	width: 95%;
	margin: 0 auto 10px;
	background-color: #fff;
	color: #05a2bd;
}
.shop_contents {
	width: 90%;
	margin: 0 auto;
}
.store {
  align-items: center;
  width: 90%;
  margin: 0 auto;
}
.store, .storeInfo_A, .storeInfo_B {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
}
.mensOnly {
  background-color: #ff6e80;
  color: #000;
  margin: 0 10px;
  padding: 1px 2px;
}
.storeName {
  font-size: 18pt;
  font-family: "Yu Gothic bold";
  text-align: left;
  padding-top: 10px;
}
.storeName, .address {
  margin: 0 auto;
}
.storeName, .address, .storeInfo_A, .storeInfo_B, .infoWrap {
  width: 90%;
}
.tel {
  font-size: 15pt;
  width: calc(100% - 80px);
  text-align: left;
  font-family: 'Roboto', sans-serif;
}
.tel a {
  color: #0e0e10;
}
_::-webkit-full-page-media, _:future, :root .tel.en a {
  color: #0e0e10;
}
.infoWrap {
  background-color: #fafafa;
  margin: 15px auto;
  padding: 10px;
}
.storeInfo_A {
  font-size: 12pt;
  margin-bottom: 10px;
}
.storeInfo_B {
  font-size: 12pt;
}
.storeInfo_A, .storeInfo_B {
  margin: auto;
}
.addressFront, .timeFront {
  justify-content: center;
  background-color: #000000;
  color: #fff;
  width: 50px;
  padding: 0 10px;
  margin: 0 10px 0 0;
}
.addressFront {
  display: flex;
  align-items: baseline;
  margin: 0 10px 0 0;
  font-family: 'Roboto', sans-serif;
}
.address, .time {
  text-align: left;
  font-size: 20px;
}
.br400 {
  display: none;
}
.br350 {
  display: none;
}
@media screen and (max-width: 400px) {
  .storeInfo_A, .storeInfo_B {
	font-size: 10pt;
  }
  .br350 {
	display: block;
  }
  .storeName {
	font-size: 18pt;
  }
  .storeInfo_A, .storeInfo_B {
	font-size: 9pt;
  }
  .br350 {
	display: block;
  }
}

/*--------------------------*/

#clean{
    background-color: #FFFFFF;
}
#clean img.clean_01{
    left: 0;
    top:16%;
}

#roland{
    background-color: #000000;
    padding: 10% 0;
}

#fixbtn{
    position:fixed;
    left: 50%;
    bottom:0;
    transform: translate(-50%,0);
    -webkit-transform: translate(-50%,0);
    z-index: 900;
        width: 100%;
        max-width: 600px;
}



  /*PC BG*/

  .backgrounds{
    position: fixed;
    left: 0;
    top:0;
    width: 100%;
    height: 100%;
    background-color: #00bbdb;
  }

  .backgrounds .right{
    position: fixed;
    left: calc(50% + 21.875vw);
    width: 18.75vw;
    bottom:0;
/*    top:50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);*/
  }

  .backgrounds .right .btn{
    left: 0;
    top: 71%;
    overflow: hidden;
    border-radius: 0.5vw;
  }
  

  @keyframes shiny {
    0% {
        transform: scale(0) rotate(25deg);
        opacity: 0;
    }

    50% {
        transform: scale(1) rotate(25deg);
        opacity: 1;
    }

    100% {
        transform: scale(50) rotate(25deg);
        opacity: 0;
    }
}


  .backgrounds .right .btn .anim:after{
  content: '';
  position: absolute;
  top: -100px;
  left: -100px;
  width: 50px;
  height: 50px;
  background-image: linear-gradient(100deg,  rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 1) 100%, rgba(255, 255, 255, 0) 0%);
  animation-name: shiny;
  animation-duration: 3s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

.backgrounds img.human{
    max-height: 23vh;
    margin-left: -6vw;
}

.backgrounds .left{
    position: fixed;
    left: 9.375vw;
    width: 18.75vw;
    top:50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
  }


  .backgrounds .left a{
    display: block;
    margin-top: 0.625vw;
    border-radius: 10px;
    border: solid 3px #000000;
    overflow: hidden;
    background-color: #b4ebf5;
  }
  .backgrounds .left a:hover{
   background-color: #fded49; 
  }

  @media screen and (min-width:721px) {
    #fixbtn{
        display: none!important;
    }
  }

  @media screen and (max-width:720px) {
    .backgrounds{
        display: none;
    }
    #wrap{
        max-width: 100%;
    }
  }