html{-webkit-text-size-adjust:100%;}
.menu-list{
width:100%;
height:100%;
display:flex;
justify-content:center;
align-items:center;
}
.menu{
    z-index:998;
position:fixed;
right:-100%;
width:100%;
height:100vh;
display:flex;
flex-direction:column;
color:#efefef;
background-color:rgba(0,0,0,0.9);
transition:.3s;
top:0;
}
.menu a{display:block;width:100%;height:auto;color:#fff;text-align: center;}
.btn{
position:fixed;
top:32px;
right:16px;
width:48px;
height:48px;
z-index:999;
}
.btn-line{
display:block;
position:relative;
width:100%;
height:4px;
background-color:#d6d5d5;
transition:.2s;
}
.btn-line::before,
.btn-line::after{
content:"";
position:absolute;
width:100%;
height:100%;
background-color:#d6d5d5;
transition:.5s;
}
.btn-line::before{
transform:translateY(-16px);
}
.btn-line::after{
transform:translateY(16px);
}.menu.open{
right:0;
}
/* menuopen */
.btn-line.open{
background-color:transparent;
}
.btn-line.open::before,
.btn-line.open::after{
content:"";
background-color:#fff;
transition:.2s;
}
.btn-line.open::before{
transform:rotate(45deg);
}
.btn-line.open::after{
transform:rotate(-45deg);
}
/*for ios input reset*/
input{-webkit-appearance: none;}
/* pc sp control ====================================================== */
.forpc{display:none!important}
.forsp{display:block!important}
/* head common ====================================================== */
.headsp{    top: 31px;
    position: absolute;
    left: 20px;}
.headsp a{display:block;width:200px;margin:0 auto;}
/* common ====================================================== */
header{background:#000;color:#fff;padding:53px 3%;}
header a{color:#fff;}
header nav ul li{margin-right: 28px;}
header nav ul li:nth-of-type(7){margin-left:auto}
h1,h2{text-align: center;}
h1{font-size:37px;color:#707070;font-weight: normal;margin:80px auto 23px;}
h2{font-size:22px;color:#707070;font-family: futura-pt, sans-serif;font-weight: normal;margin-bottom:60px;}
h3{font-size:42px;color:#fff;font-weight: normal;font-family: futura-pt, sans-serif;font-weight: normal;margin-bottom:24px}
h4{font-size:20px;color:#fff;font-weight: normal;margin-bottom:3em}
.w2{}
.w2 a{width: 100%;max-height: 382px;padding: 163px 0;display: flex;color: #fff;justify-items: center;flex-direction: column;align-items: center;}
.w2 a:first-of-type{}
.w2 a em{font-size:28px;font-weight: normal;margin-bottom: 8px;}
.w2 a span{font-size:16px;font-family: futura-pt, sans-serif;font-weight: normal;}
.topvi{width: 100%;padding:0;}
.toviin{width:100%;color:#fff;padding:120px 5%}
.toviin p{font-size:12px;line-height:230%}
.more{display:block;color:#fff;border:1px solid #fff;max-width:230px;margin:52px 0 0;padding:14px 0 14px 31px;font-family: futura-pt, sans-serif;}
.more:before{content: "▶";margin-right:1em}
.more2{display:block;width:30%;text-align: center;color:#fff;background:#000;padding:24px 0;margin:72px auto 0}
.toviin .more{margin:52px 0 52px auto}
.w3{max-width: 853px;margin: 0 auto;display: flex;flex-wrap: wrap;}
.w3 a{width:30%;margin-left: 5%;margin-bottom:2em}
.w3 a:nth-of-type(3n+1){margin-left:0; }
.infob{background:#000;padding:60px 0 140px;margin:100px 0 0; overflow: hidden;}
.infob h1,.infob h2{color:#fff;}
.infob .more{margin:50px auto 0;}
#info{display:flex;}
#info a{display:block;width:235px;color: #fff;margin:0 15px;}
#info a em{display: block;}
#info a span{display: block;}
dl{max-width:700px;display:block;margin: 0 auto;font-size:25px;color:#707070; letter-spacing:0.1em;line-height: 120%;}
dt{font-weight: normal;}
dd{font-weight: normal;border-left:1px solid #777;margin:1em 0 3em 1em;padding:10px 0 0 1em;display: flex;}
dt:before{content: "Q.";font-size: 37px;}
dd:before{content:"A.";font-size: 37px;margin-top:-10px}
#foott{color:#fff; text-align: left;background:#000;display:flex;flex-direction: column;}
#foottl{width:100%;padding:40px 5%;order:2;}
#foottl .more{margin:52px 0 0 auto;}
#foottr{width:100%;order:1;}
#foott div h1{text-align: left;}
#foott div h2{text-align: left;}
#foott div p{line-height:180%;font-size:16px}
#foott h1{margin:0;padding:70px 0 0;color: #fff;}
#foott h2{margin:0;padding:10px 0 0;color: #fff;}
#footb{background:#1A1818;color:#fff;display:flex;padding:56px 5%;flex-direction: column;}
#footb a{color:#fff}
#footb ul{display:flex;flex-wrap: wrap;margin-bottom:40px;}
#footb ul li{width:48%;font-size:13px;margin-bottom:10px; text-align: center;border-bottom:1px solid #333;padding:10px 0;margin:0 1%}
.logoft{width:160px;margin:0 auto 40px;}
#sns{margin:10px auto;}
.bt90{margin-bottom:90px;}
article{padding:0 5%}
.conmv{height:214px;color: #fff; text-align: center;font-size: 38px;padding:76px 0; letter-spacing: 0.2em; font-weight: normal;}
.gallery{flex-wrap: wrap;justify-content: space-between;display: flex;}
.gallery a{text-align: center;color:#fff;width: 33.33%;/* 正方形にするのに必要な部分 */height: auto;margin: 0;position: relative;}
.gallery a:before{content: "";display: block;padding-top: 100%; /* ここを100％にすることで正方形になる */}
.gallery a span{/* 正方形にするのに必要な部分 */    display: block;    position: absolute;    top: 0;    left: 0;    width: 100%;    height: 100%;    /* 中央寄せ */    text-align: center;    padding: 2px;    box-sizing: border-box;    -moz-box-sizing: border-box;    -webkit-box-sizing: border-box;    -o-box-sizing: border-box;    -ms-box-sizing: border-box;}
.gallery a span:before{content: "";height: 100%;vertical-align: middle;width: 0px;display: inline-block;      }

.product{}
.product a{color:#707070}
.product h5{font-weight: normal;margin:1em 0}
.product span{font-size:80%;line-height:140%;}

.bkg{padding:20px 5%;margin-top:80px;}
.singlebox{max-width:95%;margin: 0 auto 70px;line-height:180%}
.singlebox p{margin-bottom:1em}


table{display:block;}
table tbody{display: block;width:100%;}
table tbody tr{display:block;;}
table tbody tr th{width:100%;display: block; font-weight: normal; text-align: left;padding:1em 0;border-bottom:1px solid #eee;margin-bottom:0.5em;padding-bottom: 0.5em; text-align: center;}
table tbody tr td{width:100%;display: block;padding:1em 0 1em; text-align: center;}