@charset "utf-8";

html { overflow: auto; font-size: 62.5%; /* 10px */ }
    @media screen and (max-width : 767px) {
	    html { font-size: 50%; }
}
body{ color: #FEFEFE; font-family: "Noto Sans Japanese", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; font-weight: 400; font-size: 1.6rem; 
		  position: relative; line-height: 1.5; -webkit-text-size-adjust: 100%; /* モバイルで文字が勝手に大きくなるのをリセット */ }
body::before { position: fixed; width: 100%; height: 100%; margin: 0; padding: 0; font-size: 0; content: ""; display: block; background: url("../img/bg.jpg") center/cover no-repeat; z-index: -1;}


img * { border: none; }

#wrapper { overflow: hidden; }
#wrapper a{ text-decoration: none; outline:none; }

#title{  margin-bottom: 0; }
#title > img { width: 100%;}
#title .txt1 { margin-top: 0; margin-bottom: 1.0rem; font-size: 2.3rem; font-weight: 700;}
#title .txt2 { font-size: 1.4rem; text-align: left; margin-top: 0;}
    @media(min-width:576px){
        #title .txt1 { text-align: center; }
		#title .txt2 { font-size: 1.8rem; }
    }
    @media(min-width:992px){
        #title .txt1 { font-size: 3.0rem; }
		#title .txt2 { font-size: 2.2rem; }
    }
    @media(min-width:1200px){
        #title .txt1 { font-size: 3.5rem; font-size: 7.0rem; }
	}
#title .mail { font-size: 3.4rem; line-height: 3.4rem; border-radius: 3.4rem; font-weight: 700;}
#title .mail span { font-size: 1.4rem;}

#target{ margin-bottom: 3.0rem; color: #FF8800; font-weight: 500; }
    @media screen and (max-width:991px) {
	    #target{ font-size:1.3rem; }
    }
    
#main_lg_xl, #main_md_lg_xl{ margin-bottom: 7.5rem; }

.caution{ padding-left: 1em; text-indent: -1em;  font-size: 1.4rem; font-weight: 300; color: #DFDFDF; }

.txt1, .txt2{  margin-top: 4.5rem; font-size: 2.0rem; font-weight: 500; text-align: center;  }
    @media screen and (min-width:992px) {
	    .image{ height: 130vh; }
	    .txt1{ margin-top: 10.5rem; }
    }
.txt2{ margin-top: 2.5rem; font-size: 1.6rem; }
.txt3{ margin: 4.5rem auto 1.5rem auto; font-size: 1.8rem; line-height: 2; border-radius: 2.0rem; border-left: 0.5rem solid #FEFEFE; border-right: 0.5rem solid #FEFEFE; border-top: 0.1rem solid #FEFEFE;
          border-bottom: 0.1rem solid #FEFEFE; text-align: center; }
.txt4{ font-weight: 500; }
.txt5{ margin-left: 1.5rem; font-size: 1.4rem; color: #EEE; }

.txt5 a, .txt4 a, .caution a{ color: #0EBDA7; }
.txt5 a:hover, .txt4 a:hover{ color: #FF7CD5; }
.txt6 li { margin-left: -1.0rem; font-weight: 300; }
.txt7{ font-size: 1.4rem; }
.txt8{ margin-top: 1.0rem; }
    @media screen and (max-width:767px) {
	    .txt5 { font-size: 1.4rem; }
	    .txt6 { font-size: 1.6rem; }
    }
    @media screen and (min-width:768px) and (max-width:991px) {
	    .txt3 { font-size: 1.6rem; }
	    .txt4 { font-size: 1.4rem; }
	    .txt5 { font-size: 1.3rem; }
	    .txt6 { font-size: 1.4rem; }
	    .txt8 { font-size: 1.4rem; }
    }
    @media screen and (min-width:992px) and (max-width:1199px) {
	.caution{ font-size: 1.3rem; }
	.txt3 { font-size: 1.6rem; }
	.txt4 { font-size: 1.4rem; }
	.txt5 { font-size: 1.3rem; }
	.txt6 { font-size: 1.4rem; }
    }
    
.tel, .mail, .form{ background-color: #0EBDA7; color: #fff; padding: 1.0rem 1.5rem; border-radius: 2.0rem; font-size: 2.0rem; text-align: center; 
                           -webkit-transition: background-color .3s ease-out; -moz-transition: background-color .3s ease-out; -o-transition: background-color .3s ease-out; transition: background-color .3s ease-out; position: relative; }
.tel:hover, .mail:hover, .form:hover{ background-color: #F0942A; }

.mail a, .form a{ display:block; position:absolute; top:0; left:0; width:100%; height:100%; text-align:left; text-indent:-999px; background-color:#fff;/*IE7、8に適用するハック*/ filter:alpha(opacity=0);/*フィルターで透明に*/ opacity:0; }

.tel a{ color: #fff; }
.tel img{ max-width: 2.0rem; vertical-align: -0.4rem; margin-right: 0.75rem; }

.mail img{ max-width: 2.2rem; vertical-align: -0.15rem; margin-right: 0.5rem; }


#shop{ margin-top: 8.0rem; }
.shopinfo { text-align: center; }
    @media screen and (min-width : 992px) {
	    .shopinfo{ text-align: left; }
    }
.shopinfo a, .shopelement a{ color: #FEFEFE; transition: color .3s ease-out; }
.shopinfo a:hover, .shopelement a:hover{ color: #FF7CD5; }

.shopinfo-txt1{ font-family: 'Open Sans', sans-serif; font-size: 4.0rem; font-weight: 800; letter-spacing: -0.1rem; line-height: 1.0; }
.shopinfo-txt2{ font-size: 2.5rem; font-weight: 700; line-height: 1.0; }
    @media screen and (min-width:992px) and (max-width:1199px) {
	    .shopinfo-txt1 { font-size: 3.7rem; }
	    .shopinfo-txt2 { font-size: 2.2rem; }
    }
.shopelement{ padding-top: 0.5rem; margin-top: 2.0rem; border-top: 0.2rem solid #FEFEFE; font-size: 1.5rem; }
    @media screen and (max-width : 991px) {
	    .shopelement{ width:80%; margin-left: auto; margin-right: auto; margin-top: 1.0rem; }
    }
.shopelement span{ display:block; margin-bottom: 0.3rem; font-family:'Open Sans', sans-serif; font-size: 1.8rem; font-weight: 800; letter-spacing: -0.1rem; }

#map{ width: 100%; height: 60vh; margin: 3.0rem auto; }
    @media screen and (max-width : 767px) {
	    #map { height: 40vh; }
    }
    @media screen and (min-width:768px) and (max-width : 991px) {
	    #map { height: 45vh; }
    }

.mapimg{ text-align: center; }
    @media screen and (max-width : 991px) {
	    .mapimg img{ width: 90%; margin: 4.5rem auto 0 auto; }
    }
    
.copyright{ color: #CCC; width:100%; margin:3.0rem auto 1.0rem auto; font-size:1.2rem; text-align:center; font-family:Georgia, "Times New Roman", Times, serif;  }

.clr{ clear:both; }
