.clearfix::after { content: ""; display: block; clear: both; }

body{ margin:0; font-size:14px; font-family: 'Helvetica','ヒラギノ角ゴ Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;}
#contents{  box-sizing:border-box;  }
#subContents{  padding:0 20px 0; background: #ffffff; box-sizing:border-box; }
.section{  box-sizing:border-box;  margin:125px auto 0; }


.waveTitle {font-size:32px; text-align:center; }
.waveTitle .wave{ letter-spacing: 0.1em;}
#concept .waveTitle .wave:nth-of-type(4n+1){vertical-align:baseline;}
#concept .waveTitle .wave:nth-of-type(4n+2){ vertical-align:0.2em;}
#concept .waveTitle .wave:nth-of-type(4n+3){ vertical-align:baseline;}
#concept .waveTitle .wave:nth-of-type(4n+4){ vertical-align:-0.2em;}

#shoplist .waveTitle .wave:nth-of-type(9n+1){vertical-align:baseline;}
#shoplist .waveTitle .wave:nth-of-type(9n+2){ vertical-align:0.2em;}
#shoplist .waveTitle .wave:nth-of-type(9n+3){ vertical-align:baseline;}
#shoplist .waveTitle .wave:nth-of-type(9n+4){ vertical-align:0.2em;}

#shoplist .waveTitle .wave:nth-of-type(9n+6){ vertical-align:baseline;}
#shoplist .waveTitle .wave:nth-of-type(9n+7){ vertical-align:0.2em;}
#shoplist .waveTitle .wave:nth-of-type(9n+8){ vertical-align:baseline;}
#shoplist .waveTitle .wave:nth-of-type(9n+9){ vertical-align:0.2em;}

.waveTitle .sub{ display:block; font-size:14px; font-weight:normal; }


.waveTitle .wave:nth-of-type(4n+1){vertical-align:baseline;}
.waveTitle .wave:nth-of-type(4n+2){ vertical-align:0.2em;}
.waveTitle .wave:nth-of-type(4n+3){ vertical-align:baseline;}
.waveTitle .wave:nth-of-type(4n+4){ vertical-align:-0.2em;}



h1{ margin:0; }
#visual #main_visual{ position:absolute; width:100%;}
#visual { position:relative;  padding:0; margin-top:0;}

.mainImg{ width:100%;  position:absolute; }
.mainImg.shown{ z-index: 1; }
.mainImg.play{ z-index: 10; opacity:1;}
.mainImg{ transition-property: opacity;  transition-duration:1s;  transition-timing-function:ease-out; }
.mainImg.hide{ visibility: hidden;  opacity:0; }

#img1{background:url(../img/main_visual/01.jpg) no-repeat center top;  background-size:cover; }
#img2{background:url(../img/main_visual/02.jpg) no-repeat center top;  background-size:cover; }
#img3{background:url(../img/main_visual/03.jpg) no-repeat center top;  background-size:cover; }
#img4{background:url(../img/main_visual/04.jpg) no-repeat center top;  background-size:cover; }

#visual .box{ position:relative; z-index:10;}
#visual p{ text-align:center; color:#ffffff; text-shadow:2px 0 17px #000; }
#visual p span{ display:inline-block;}
#visual .lead_en{ font-size:24px; font-weight:bold; font-style:italic; }
#visual .lead_jp{ font-size:14px;}


#concept .shop h3{ font-size:20px; }
#concept .shop h3 .sub{ font-size:12px; display:block; font-weight:normal;}
#concept .img img{ width:100%; }

#profile dt{ float:left;}
#profile dd{ float:right;}
#profile h2 span { font-size:14px; font-weight:normal; margin-left:30px; }


.fade {opacity : 0; transform : translate(0, 45px);transition : all 800ms;}
.fade.effect {opacity : 1;transform : translate(0, 0);}


/*PC タブレット横*/
@media screen and (min-width: 769px) {
body{ min-width:1040px;}
#mainContents{  margin:auto; background:#f5f4f4;}

#contents{  min-width:960px; padding:0 20px; box-sizing:border-box; background: url(../img/bg/bg_01.png) no-repeat calc(50% + 350px) 450px,url(../img/bg/bg_02.png) no-repeat calc(50% - 350px) 1790px; background-size:750px 914px, 745px 600px; }
#subContents{  min-width:960px; }
.section{  width:1020px; padding:0 20px;  }


#profile,
footer{width:920px; margin:auto; }

.waveTitle { width:400px; font-size:32px;}
.waveTitle .sub{ font-size:14px; margin-top:10px;}

#headContents{ padding:0 0 18px; }

#visual { width:100%; min-width:980px; max-width:1440px; height:750px;}
#visual #main_visual{  height:750px;}
.mainImg{ height:750px; }

#visual h1 img{ width: 160px; height:160px; }
#visual .box{ max-width:980px; margin:auto;}
#visual .lead_en{ margin:180px 0 0; font-size:20px; font-weight:bold; font-style:italic; }
#visual .lead_jp{ letter-spacing: 0.5em; margin: 15px 0 0;}

#news{  margin-top:5px;}
#news h2{ font-size:20px; font-weight:bold; float:left;}
#news dl{ display:flex;flex-wrap:wrap; margin:0; padding:6px 0 0 0; float:right; width:880px;}
#news dt{ width: 95px; margin:14px 0 0 0;}
#news dd{ width : -webkit-calc(100% - 95px) ; width: calc(100% - 95px); margin:12px 0 0 0;}

#concept{ font-size:12px; }
#concept .shop｛｝
#concept .shop h3{ font-size:20px; }
#concept .shop h3 .sub{ font-size:12px;  margin-top:-14px;}

#concept .shop{ width:400px; box-shadow:0 10px 20px 1px rgba(0,0,0,0.1); text-align:center; background:#ffffff; border-radius: 10px; overflow:hidden;}
#concept .shop { font-size:12px; line-height:2.2; padding:0 0 50px;}
#concept .shop p{ margin-top:20px; }

#concept .ispano{ float:left; margin:100px 0 0 20px;}
#concept .lunasol{ float:right;  margin: -140px 80px 0 0;}

#shoplist h3{ font-size:26px; margin-bottom:17px;}
#shoplist h4{ float:left; font-weight:normal; margin-top:1em; font-size:12px;}
#shoplist dl{ float:right; width:400px; font-size:12px; line-height:1.7;}
#shoplist dl dd{ margin-left:0;}
#shoplist dd span{ display:inline-block; margin-right:0.5em; }
#shoplist .ispano section{ margin-top:10px; }  
#shoplist .ispano{ width:480px; margin-top:75px;}
#shoplist .lunasol{ width:480px; float:right;  margin-top:75px}

#recruit{ margin-top:205px; text-align:center; padding-left:520px; padding-bottom:320px;}
#recruit h2{ width:460px; }
#recruit p{ margin-top:85px; font-size:12px;}

#profile { padding: 57px 0 80px; }
#profile h2 span { display:inline-block;}
#profile .logo{ float:left;}
#profile .logo img{ width:170px; height:110px; }
#profile .box{ float:right; width:550px}
#profile  dl{ font-size:12px; }
#profile dd{  width:425px;}

footer { padding:0 0 50px; }
footer .small{ font-size:10px; float:left; }
footer .copy{ font-size:10px; float:right; width:550px; color: #888888;}
}

/* タブレット縦 スマホ */
@media screen and (max-width: 768px) {

.section{ text-align: center; margin-top:50px; }

h1{text-align: center;}
h1 img{ max-width:33%; }


#visual{ position: relative; height:90vh;}
#visual #main_visual{  height:100%;}
.mainImg{ height:100%; }
#visual .lead_en{ margin-top:30vh;}
#visual .lead_jp span{ display:block; text-align:center; }

#news{ margin-top:30px; border-bottom:solid 1px #dddddd; padding:0 0 25px;}
#news dl{ margin:20px 10px 0; font-size:12px;}
#news dt{ margin:20px 0 0; }
#news dd{ margin:10px 0 0; }




#concept .shop { padding-bottom:50px; }
#concept .shop p{ line-height:2; font-size:12px; }
#concept .shop h3{ margin-top:40px; }
#concept .ispano { margin-top:50px; }

#shoplist{ background:#f5f4f4  url(../img/bg/bg_01.png) no-repeat  calc(100% + 50px) -100px;  background-size:auto 30%; padding:345px 0 60px; margin:0;}
#shoplist > section{ margin-top:70px; }
#shoplist h3{ font-size:20px; margin-bottom:15px;}
#shoplist h4{ font-weight:normal; margin-top:40px; font-size:12px;}
#shoplist dl{ font-size:12px; line-height: 1.7; }
#shoplist dd{ margin-left:0;}
#shoplist dd span{ display:block; }


#recruit{ background:#f5f4f4  url(../img/bg/bg_02.png) no-repeat -60px 0;  background-size:320px auto; padding:300px 0 80px; margin:0;}
#recruit p{ margin-top:80px; font-size:12px;}

#profile { margin-top:70px; }
#profile h2 {  margin-bottom:30px;}
#profile h2 span{ display:block; margin: 2px 0 0;}
#profile dl{ font-size:10px; padding: 0 0 0 10px;}
#profile dd{  width: calc(100% - 9em); text-align:left;}
#profile .logo{ margin-top: 80px; }
#profile .logo img{ max-width:33%; }

footer { padding:0 0 50px; }
footer .small{ font-size:10px; text-align:center; margin:20px 0; }
footer .copy{ font-size:10px; text-align:center; color: #888888;;}
footer .copy span{ display:block; }

}
/* スマホ横 */
@media screen and (max-width: 480px) {
}
