@charset "utf-8";

/* Common
--------------------------------------------------------------------------*/

 html, body {
      width: 100%;
      height: 100%;
}
body{
    background: #f5f5f5;
	-webkit-text-size-adjust: 100%;
}

h4, h5, h6, p, li, dt, dd, th, td{
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
}

html.android h4, html.android h5, html.android h6, html.android p, html.android li, html.android dt, html.android dd, html.android th, html.android td{
    font-family: "Sawarabi Mincho";
}

h3{
    position: relative;
    color: #363636;
    font-size: 180%;
    font-family: 'Oswald', sans-serif;
    line-height: 120%;
    letter-spacing: 0.05em;
    padding: 0 0 35px 0;
    margin-bottom: 28px;
}

h3:before {
  content: '';
  position:absolute;
  display: inline-block;
  width: 80px;
  height: 4px;
  bottom: 0px;
    margin: auto;
  background-color: #e5e5e5;
}

h4{
    color:#908f90;
    font-size: 120%;
    line-height: 140%;
    letter-spacing: 0.05em;
    margin:0 7% 50px 7%;
}

h4 span.tx-strong{
    color:#363636;
    font-size: 110%;
    font-weight: 600;
}

h5{
    color:#363636;
    background: #efefef;
    padding: 8px 20px;
    -webkit-border-radius:40px;
	-moz-border-radius:40px;
	border-radius:40px;
    font-size: 150%;
    letter-spacing: 0.05em;
    width: 20%;
    margin: 0 auto 40px auto;
}

h6{
    color: #4a4a4a;
    font-size: 130%;
    font-weight: 600;
    line-height: 140%;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
}

p{
    color: #252525;
    font-size: 95%;
    line-height: 180%;
    letter-spacing: 0.05em;
}

p.art-tx{
    font-size: 80%;
    line-height: 150%;
}


@media screen and (max-width:830px) {
h3{
    font-size: 140%;
    line-height: 120%;
}

h4{
    font-size: 100%;
    line-height: 120%;
    margin:0 7% 20px 7%;
}

h4 span.tx-strong{
    font-size: 100%;
}

h5{
    font-size: 100%;
    width: 30%;
    padding: 6px 14px;
    margin: 0 auto 20px auto;
}

h6{
    font-size: 110%;
    font-weight: 600;
    line-height: 120%;
}

p{
    font-size: 90%;
    line-height: 150%;
}

}


/* Wrapper
--------------------------------------------------------------------------*/

#wrap{
    position: relative;
    width: 100%;
    max-width: 1400px;
    margin: auto;
    background: #FFFFFF;
    overflow: hidden;
    opacity: 0;
}

#header{
    position:fixed;
    width: 15%;
    height: 100%;
    max-width: 210px;
    top: 0;
	left: auto;
}

#contents{
    position: relative;
    width: 85%;
    max-width: 1190px;
    float: right; 
}


@media screen and (max-height:700px) {
#header{
    position:absolute;
	left: 0;
}
}

/* Header
--------------------------------------------------------------------------*/

.hd-logo, .hd-tel, .hd-insta{
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: 52px;
    margin: auto;
}

.hd-insta img{
    width: 100%;
}

.hd-menu li{
    position: relative;
    width: 100%;
    max-width: 105px;
    margin: auto;
}

.hd-logo{
    margin: 20px auto;
}


@media screen and (max-width:540px) {
    
.hd-logo, .hd-tel, .hd-insta{
    width: 60%;
    max-width:none;
    margin: 20px 20%;
}
    
}

/* Loading
--------------------------------------------------------------------------*/

#loader-bg {
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    text-align: center;
    vertical-align: middle;
    background-color: #c9cfd5;
    z-index:1001;
}

#loader-bg video{
    height: 100%;
}

#loader {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    color: #fff;
    z-index:1002;
}

.loader-img{
    position:absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 120px;
    height: 100px;
}

/* key-v
--------------------------------------------------------------------------*/

.key-v{
    position: relative;
    width: 100%;
    margin-bottom: 50px;
}

/* About
--------------------------------------------------------------------------*/

.about{
    position: relative;
    width: 100%;
    margin-bottom: 150px;
}

.about h3{
    text-align: right;
    margin:0 3% 0 7%;
}

.about h3:before {
    right: 7%;
}


@media screen and (max-width:830px) {

.about{
    margin-bottom: 30px;
}

}

/* Data
--------------------------------------------------------------------------*/

.data{
    position: relative;
    width: 100%;
    margin-bottom: 150px;
}

.data div.cnt-box-l{
    box-sizing: border-box;
    padding-left: 7%;
}

@media screen and (max-width:830px) {
.data{
    margin-bottom: 60px;
} 

.data div.cnt-box-l{
    padding:0 7%;
}

}

/* Profile
--------------------------------------------------------------------------*/

.profile{
    position: relative;
    width: 100%;
    margin-bottom: 150px;
    text-align: center;
}

.profile-img{
    width: 43%;
    margin: auto;
}

.profile h3:before {
    left: 0;
    right: 0;
}

@media screen and (max-width:830px) {
    
.profile{
    margin-bottom: 60px;
} 

.profile-img{
    width: 60%;
    margin: auto;
}

}

/* Price
--------------------------------------------------------------------------*/

.price{
    position: relative;
    width: 100%;
    margin-bottom: 150px;
    text-align: center;
}

.price h3:before {
    left: 0;
    right: 0;
}

.price th{
    text-align: right;
    color: #363636;
    line-height: 180%;
    letter-spacing: 0.05em;
    padding: 0 30px 0 0;
}

.price td{
    text-align: left;
    color: #363636;
    line-height: 180%;
    letter-spacing: 0.05em;
}

.cut{
    margin: 0 7% 70px 7%;
    width: 86%;
}

.other{
    margin: 0 7% 0 7%;
    width: 86%;
}

.tb-cut table{
    font-size: 160%;
    margin: 0 auto 30px auto;
}

.tb-other table{
    font-size: 120%;
    margin: 0 auto 30px auto;
}

.tb-other th{
    border-bottom: solid 1px #e2e2e2;
    padding: 15px 30px 15px 0;
}

.tb-other td{
    border-bottom: solid 1px #e2e2e2;
    padding: 15px 0 15px 0;
}

@media screen and (max-width:830px) {
    
.price{
    margin-bottom: 80px;
}

.tb-cut table{
    font-size: 120%;
    margin: 0 auto 30px auto;
}

.tb-other table{
    font-size: 90%;
    margin: 0 auto 30px auto;
}

}
 
@media only screen and (max-width:480px){

    .tb-other th{
        box-sizing: border-box;
    width: 100%;
    padding: 5px 0 7px 0;
    display: block;
        text-align: left;
        font-size: 120%;
        font-weight: bold;
    }
    
    .tb-other td{
        box-sizing: border-box;
    width: 100%;
    padding: 7px 0 15px 0;
    display: block;
        border-bottom: none;
    }
}

/* products
--------------------------------------------------------------------------*/

.products{
    position: relative;
    width: 100%;
    margin-bottom: 120px;
}

.products h3, .products h4{
    text-align: center;
}


.products h3:before {
    left: 0;
    right: 0;
}

.products div.cnt-box-f{
    padding: 0 7% 25px 7%;
}

@media screen and (max-width:830px) {

.products{
    margin-bottom: 25px;
}

.products div.cnt-box-f{
    padding: 0 7% 45px 7%;
}
}

/* access
--------------------------------------------------------------------------*/

.access{
    position: relative;
    width: 100%;
    margin-bottom: 50px;
}

.access h3, .access h4{
    text-align: center;
}

.access h3:before {
    left: 0;
    right: 0;
}


/* Contents
--------------------------------------------------------------------------*/

.cnt-box{
	width: 84%;
	padding: 0 8% 25px 8%;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}

.cnt-box-f{
	position: relative;
	overflow: hidden;
}

.cnt-box-l{
	float:left;
}

.cnt-box-r{
	float:right;
}

.cbw10{ width:100%; }
.cbw8{ width:77%; }
.cbw7{ width:67%; }
.cbw6{ width:57%; }
.cbw5{ width:47%; }
.cbw4{ width:37%; }
.cbw3{ width:27%; }
.cbw2{ width:17%; }

@media screen and (max-width:830px) {


.cnt-box-l{
	float:none;
	margin-bottom: 20px;
}

.cnt-box-r{
	float:none;
	margin-bottom: 0px;
}

.cbw8, .cbw7, .cbw6, .cbw5, .cbw4, .cbw3, .cbw2, .cbw3w{
	width:100%;
}

}

/* size */
.tx-s{ font-size:75% !important;}
.tx-m{ font-size:120% !important;}
.tx-l{ font-size:150% !important;}

/* color */
.c-red{color:#CC0000 !important;}
.c-org{color:#FF6600 !important;}
.c-blue{color:#3366FF !important;}
.c-green{color:#006633 !important;}
.c-glay{color:#888 !important;}


/*List box*/

ul.list6, ul.list5, ul.list4, ul.list3, ul.list2{
	width: 100%;
	margin:0 0 20px 0;
	position:relative;
	overflow:hidden;
}

.list6 li{
	float:left;
	width:15.6%;
	margin:0 0.5% 10px 0.5%;
	position:relative;
}

.list5 li{
	float:left;
	width:19%;
	margin:0 0.5% 10px 0.5%;
	position:relative;
}

.list4 li{
	float:left;
	width:24%;
	margin:0 0.5% 10px 0.5%;
	position:relative;
}

.list3 li{
	float:left;
	width:32.33%;
	margin:0 0.5% 0 0.5%;
	position:relative;
}

.list2 li{
	float:left;
	width:49%;
	margin:0 0.5% 10px 0.5%;
	position:relative;
}

.list-img3{
	margin:0 15px 15px;
	position:relative;
	overflow:hidden;
}

.list-img2 li{
	float:left;
	width:50%;
}

.list-img2{
	margin:0 0 15px;
	position:relative;
	overflow:hidden;
}

.list-img2 li{
	float:left;
	width:50%;
}

ul.list6 img, ul.list5 img, ul.list4 img, ul.list3 img, ul.list2 img{
	width: 100%;
}

.bt-2w{
    width: 70%;
    margin: 0 15%;
}

@media screen and (max-width:880px) {

.list6 li, .list5 li, .list4 li, .list3 li, .list2 li {
	width:48%;
	margin:0 1% 0 1%;
}

.bt-2w{
    width: 80%;
    margin: 0 10%;
}

}

@media screen and (max-width:640px) {

.list6 li, .list5 li, .list4 li, .list3 li, .list2 li {
	width:90%;
	margin:0 5% 0 5%;
}

.list-img3 li{
	width:100%;
	margin-bottom:10px;
}

.bt-2w{
    width: 90%;
    margin: 0 5%;
}

}

.c-list{
	background: #fff2ad;
	padding: 15px 15px 10px 15px;
	margin-bottom: 15px;
    border-radius: 15px;
	position: relative;
	overflow: hidden;
}

.c-list ul{
	margin-left: 20px;
	background: #fff2ad;
}

.c-list li{
	font-size:90%;
	letter-spacing:0.05em;
	line-height:160%;
	border-bottom:  dotted 1px #B09B6C;
	color:#000000;
	padding: 3px 0 8px 0;
	margin:0 1% 5px 1%;
}

.c-list li:last-child{
	border-bottom: none;
}

.c-list li:before {
	content: '';
	width: 6px;
	height: 6px;
	display: inline-block;
	border-radius: 100%;
	background: #ff8400;
	position: relative;
	left: -10px;
	top: -3px;
}


.info-sp{
    position: fixed;
    bottom: 0;
    box-sizing: border-box;
    width: 100%;
    padding: 30px 40px;
    background:url("../img/bg_bk95.png");
    opacity: 0;
}

.info-sp h4{
    margin: 0 0 10px 0;
    color: #D9AA07;
}

.info-sp p{
    color: #FFFFFF;
}


/* NEWS
--------------------------------------------------------------------------*/

.news-box{
    padding-top: 70px;
}


/* Footer
--------------------------------------------------------------------------*/

#footer{
	background:#242424;
    position: relative;
    width: 100%;
    display: block;
    box-sizing: border-box;
    padding: 20px 3% 100px 3%;
}

#footer p{
	font-size: 75%;
	color:#5f5f5f;
    text-align: right;
    letter-spacing: 0.05em;
}

/* calender-box
--------------------------------------------------------------------------*/

.calender-box{
    box-sizing: border-box;
    position:fixed;
    display: none;
    bottom: 0;
    width: 100%;
    padding:500px 20%;
    background: #31271A;
    text-align: center;
    z-index:500;
}


.w-info-box{
    display: none;
}

.w-info-box-a{
    position: relative;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 10%;
    background-color: #FFFFFF;
}

/* BT
--------------------------------------------------------------------------*/
p.bt-t1{
    width: 60%;
    margin: 15px auto;
}
p.bt-t1 a{
    box-sizing: border-box;
    width: 100%;
    display: block;
    padding: 15px 15px;
    text-align: center;
    background: #d0d0d0;
    color: #484848;
    font-size: 95%;
    line-height: 120%;
	transition: background 0.5s ease 0s;
}

p.bt-t1 a:hover{
    background: #FF7E00;
}

@media screen and (max-width:640px) {

p.bt-t1{
    width: 80%;
    margin: 15px auto;
}

}
/* Other
--------------------------------------------------------------------------*/

#pagetop {
	display: none;
	z-index:500;
	position: fixed;
	bottom: 10px;
	right: 5px;
	cursor: pointer;
}

.link-stp{
    pointer-events: none;
}

/* Clear
--------------------------------------------------------------------------*/

.clear:after{
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}
.clear{display:inline-table;}
/* \*/
* html .clear{height:1%;}
.clear{display:block;}
/* */
