.sp { display: none;}

html {
  font-size: 62.5%;
}

body {
  font-family : 'Hind','Noto Sans JP', sans-serif;
  width:100%;
  margin-right: auto;
  margin-left : auto;
}

li{
  list-style : none;
}

header {
  position: fixed;
  width: 100%;
  z-index: 9998;
}

.header_contents{
  width: 100%;
  margin: auto;
  padding: 34px 20px;
  height: 110px;
  float: left;
}

.header_contents.change-color {
  background-color: rgba(255,255,255);
}

.header_logo {
  width: 94px;
  margin: -24px 0px 0px 40px;
  float: left;
}

.header-list {
  font-size:1.7rem;
  margin-top: 10px;
  margin-right: 30px;
  float: right;
}

.sitemenu{
  margin: 0px;
  float: left;
}

.sitemenu li{
  padding : 2px 16px;
  letter-spacing: 0.2rem;
  display: inline-block;
  position: relative;
  color: #070203;
  text-decoration: none;
}

.sitemenu li:before{
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 60%;
  height: 2px;
  margin-left: 16px;
  background: #070203;
  transform: scale(0, 1);
  transform-origin: left;
  transition: 0.3s;
}

.sitemenu li:hover:before {
  transform: scale(1);
}

.reserve{
  float: left;
  font-size: 1.4rem;
  padding: 5px 12px 2px 12px ;
  margin-top: -2px;
  margin-left: 18px;
  background-color: rgba(255,255,255,0.2);
  letter-spacing: 0.1rem;
  position: relative;
  z-index: 2;
  border: 1px solid #070203;
  color: #070203;
  line-height: 2rem;
  transition: all  0.2s ease;
}

.reserve:hover {
  background-color: #070203;
  border-color: #070203;
  color: #fff;
}

.reserve::before,
.reserve::after {
  top: 0;
  width: 50%;
  height: 100%;
  background-color: #070203;
}

.reserve::before {
  right: 0;
}

.reserve::after {
  left: 0;
}

.reserve:hover::before,
.reserve:hover::after {
  width: 0;
  background-color: #070203;
}

.sns{
  float: left;
  margin-left: 26px;
}

.sns li{
  padding: 0px 18px 0px 0px;
  float: left;
}

.awasome{
  color: #070203;
  font-size: 2rem;
}

.main {
  margin: 0 auto;
}

.topslide {
  margin: 0 auto;
  padding-top: 84px;
  opacity: 0;
  transition: 3s ease;
}

.topslide.slick-initialized {
  opacity: 1
}

.topslide img {
  width: 100%;
  height: auto;
  margin: 0 0 0 auto;
  margin-top: 28px;
}

.information {
  width: 85%;
  margin: 0 auto;
}

footer {
  height: 70px;
  clear: both;
}

.footer_text {
  text-align: center;
  color: #070203;
  font-size: 1.4rem;
  margin-top: 80px;
}

h2 {
  color: #070203;
  font-size: 3.6rem;
  text-align: center;
  font-weight: 800;
  letter-spacing: 0.1rem;
  margin-bottom: 40px;
}

p {
  color: #3d3d3d;
  font-size: 1.6rem;
  letter-spacing: 0.1rem;
  margin-bottom: 30px;
  line-height :34px;
}

.news {
  margin-top: 130px;
  margin-bottom: 120px;
}

.news p {
  font-size: 1.4rem;
  letter-spacing: 0.1rem;
  line-height: 22px;
}

/*お知らせ*/
.checkbox{
  display: none;
}

/*アコーディオンの大きさと位置調整*/
.accordion{
  margin: 0 auto;
}

.accordion label{
  background-color: #fff;
}

.accordion dt label{
  position: relative;
  display: block;
  padding: 2.4rem 2rem;
  cursor: pointer;
  border-bottom: 1px solid;
  font-size: 1.8rem;
  letter-spacing: 0.2rem;
  text-align: center;
}

/*ラベル内の矢印の設定*/
.accordion dt label::after{
  content:'';
  display: block;
  border-left:7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 10px solid #070203;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0,-50%);
  transition:.4s .4s;
}

/*表示される要素の基本設定*/
.accordion dd{
  height: 0;
  transition:.4s;
  overflow: hidden;
  padding: 0 20px;
  border: solid 2px transparent;
  letter-spacing: 0.2rem;
  margin-bottom: 1.8rem;
}

/*ラベル内の矢印のアニメーション設定*/
.checkbox:checked ~ dl dt label::after{
  transform: translate(0,-50%) rotate(-180deg);  
}

/*表示される要素のアニメーション設定*/
.checkbox:checked ~ dl dd{
  height: auto;
  padding-top: 60px;
}


.style {
  margin-bottom: 120px;
}

.stylephoto {
  width: 750px;
  margin: 0 auto;
  text-align: center;
}

.stylephoto img{
  margin: 0px 8px 0px 12px;
  margin-bottom: 30px;
}

.menu {
  margin-bottom: 140px;
}

.pricelist {
  margin: 0 auto;
  width: 85%;
}

.staff {
  margin-bottom: 100px;
}

.btn {
  position: relative;
  padding: 30px 220px 26px 220px;
  background-color: #070203;
  color: #fff;
  display: inline-block;
  text-align: center;
  border: 1px solid #070203;
  text-decoration: none;
  transition: all 0.3s;
  border-radius: 3px;
  font-size: 2rem;
  letter-spacing: 0.4rem;
}

.btn:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 2rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 10px;
  height: 10px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: translateY(-50%) rotate(45deg);
}

.btn:hover {
  background: #fff;
  color: #070203;
}

.btn:hover:after {
  right: 1.4rem;
}

.button {
  text-align: center;
  margin-top: 80px;
}

.profile {
  width: 700px; 
  margin: 0 auto;
}

.prof_contents{
  margin: 66px  0 92px 0;
}

.profil_photo{
  padding: 0px 10px;
  margin-right: 50px;
  margin-top: -6px;
  float: left;
}

.profile_text {
  margin: 0 auto;
  width: 600px;
}

.staffname {
  font-size: 2.0rem;
  font-weight: 600;
  letter-spacing: 0.2rem;
  margin-bottom: 4px;
  color: #070203;
  display: inline-block;
}

.staff_sns{
  margin-left: 20px;
  margin-top: -2px;
}

.profile_text i{
  color: #070203;
}

.position {
  color: #3d3d3d;
  font-size: 1.6rem;
  letter-spacing: 0.2rem;
  margin-bottom: 10px;
}

.comment{
  color: #3d3d3d;
  font-size: 1.5rem;
  line-height: 3rem;
  letter-spacing: 0.1rem;
}

.cofee {
  text-align: center;
  padding-top: 76px;
}

.access {
  margin-bottom: 120px;
}

.map{
  text-align: center;
  margin-bottom: 40px;
}

.store{
  width: 750px;
  margin: 0 auto;
}

.store_boder {
  border-bottom: 1px solid;
  border-color: #666666;
  height: 70px;
  line-height: 70px;
  padding: 0px 10px;
}

.store_bodernone {
  height: 70px;
  line-height: 70px;
  padding: 0px 10px;
}

.store dt {
  float: left;
  color: #070203;
  padding-right: 30px;
  font-size: 1.6rem;
  letter-spacing: 0.2rem;
}

.store dd {
  text-align:left;
  color: #3d3d3d;
  font-size: 1.6rem;
  letter-spacing: 0.2rem;
}

/* アコーディオンメニュー */
.ac-menu:last-child {
  margin-bottom: 20px;
}

.ac-menu input {
  display: none;
}

.ac-menu label {
  color: #070203;
  font-size: 2.6rem;
  line-height: 3; 
  font-weight: 600;
  letter-spacing: 0.1rem;
  text-align: center; 
  cursor: pointer;
  position: relative;
  display: block;
  border-bottom: 1px solid #070203;
}

.ac-menu :hover{
  color: #6d6d6d;
}

.ac-menu label:after {
  position: absolute;
  right: 16px; /* 左からの距離 */
  top: 50%; /* 上下中央配置 */
  -webkit-transform : translateY(-50%);
  transform : translateY(-50%);
  content: "＋"; /* アイコン */
}

.ac-menu input:checked ~ label::after {
  content: "−"; /* クリック後のアイコン */
}

.ac-menu div {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.35s; /* 開閉スピード */
}

.ac-menu input:checked ~ div {
  height: auto;
  opacity: 1;
  padding: 28px; /* 中身の枠内の余白 */
}

.ac-menu-inside {
  line-height:3 ;
}

.menu dt {
  float: left;
  color: #070203;
}

.menu dd {
  text-align: right;
  color: #070203;
}

.menu dl {
  border-bottom: 1px solid;
  border-color: #cccccc;
  height: 96px;
  padding: 0px 10px;
}

.menu_text{
  font-size: 1.6rem;
  margin-bottom: 0;
  padding-top: 36px;
  line-height: 60%;
  letter-spacing: 0.08rem;
}

.menu_memo{
  font-size: 1.2rem;
  color:#4d4d4d;
  margin-bottom: 50px;
  letter-spacing: 0.1rem;
}

.menu_boder {
  border-bottom:none;
}
}

/* ブロック共通初期設定 */
.scroll-block {
  width: 50%;
  height: 500px;
  margin: 0 auto 400px;
  line-height: 500px;
  text-align: center;
  background-color: white;
}

.fade-block {
  opacity: .1;
  transition: all 0.8s;
}
/* 画面に入った時の動き */
.fade-block.blockIn {
  opacity: 1;
}

/* ページTOPに戻る */
.pagetop{
  display: none;
  position: fixed;
  right: 48px;
  bottom: 20px;
}

.pagetop a{
  display: block;
  font-size: 0;
  width: 50px;
  height: 50px;
  text-align: center;
  background: #070203;
  border-radius: 50%;
  line-height: 50px;
}

.pagetop a i{
  font-size: 2rem;
  color:#fff;
  line-height: 5rem;
}

@media screen and (max-width: 979px) {
.header_contents {
  width: 100%;
  margin: auto;
  height: 60px;
  background-color: white;
}

.header_logo {
  float: none;
  margin: 0;
  margin-top: -25px;
  width: auto;
  text-align: center;
}

.header_logo img {
  margin: 0 ;
  height: 52px;
}

.header-list {
  display: none;
}
  
.sp {
  display: block;
}

  /*　ハンバーガーボタン　*/
.hamburger {
  display: block;
  position: fixed;
  z-index: 3;
  right: 12px;
  top: 14px;
  width: 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
 }

.hamburger span {
  display: block;
  position: absolute;
  width: 26px;
  height: 2px ;
  left: 6px;
  background : #555;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition : 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.hamburger span:nth-child(1) {
  top: 8px;
}

.hamburger span:nth-child(2) {
  top: 16px;
}

.hamburger span:nth-child(3) {
  top: 24px;
}

  /* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top: 16px;
  left: 6px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
  background: white;
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  -webkit-transform: rotate(45deg);
  -moz-transform : rotate(45deg);
  transform : rotate(45deg);
  background: white;
}

nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top: 0;
  left: 0;
  color: #000;
  text-align: center;
  transform: translateY(-100%);
  transition: all 0.6s;
  width: 100%;
}

nav.globalMenuSp ul {
  background: #070203;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  opacity: 0.9;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  border-bottom: 1px solid #fff;
}

nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

nav.globalMenuSp ul li:hover{
  background: #070203;
}

nav.globalMenuSp ul li a {
  display: block;
  color: white;
  padding: 1.2em 0;
  text-decoration :none;
  font-size: 2rem;
  letter-spacing: 0.2rem;
}

nav.globalMenuSp :hover{
  color: #dfdfdf;
}

  /* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateY(0%);
}

.sitemenu li {
  display: none;
}

.awasome{
  color: white;
  font-size:2.4rem;
}

.topslide{
  margin: 0;
  padding-top: 60px;
}

.topslide img {
  margin-top: 0;
}

.profile {
  margin-bottom: 70px;
}

.cofee img {
  width: 50%;
}

.menu dl{
  height: auto;
  padding-bottom: 18px;
}

.ac-menu input:checked ~ div{
  padding: 0px;
}

.menu_text{
  height: auto;
  padding-bottom: 16px;
}

.menu dt{
  width: 68%;
  line-height: 2rem;
}

.menu_memo{
  float: none;
  margin-bottom: 20px;
  line-height: 1.8rem;
  width: 68%;
}

.btn {
  width: 84%;
  padding: 38px 0px;
  font-size: 2rem;
  letter-spacing: 0.6rem;
}

.map {
  width: 100%;
}

}


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

.header_contents {
  width: 100%;
  margin: auto;
  height: 60px;
  background-color: white;
}

.header_logo {
  float: none;
  margin: 0;
  margin-top: -25px;
  width: auto;
  text-align: center;
}

.header_logo img{
  margin: 0 ;
  height: 52px;
}

.header-list {
  display: none;
}

 .sp{
  display: block;
}

/*　ハンバーガーボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 12px;
  top   : 14px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}

.hamburger span {
  display : block;
  position: absolute;
  width   : 26px;
  height  : 2px ;
  left    : 6px;
  background : #3d3d3d;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}

.hamburger span:nth-child(1) {
  top: 8px;
}
.hamburger span:nth-child(2) {
  top: 16px;
}
.hamburger span:nth-child(3) {
  top: 24px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
  background: white;
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
  background: white;
}

nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  color: #070203;
  text-align: center;
  transform: translateY(-100%);
  transition: all 0.6s;
  width: 100%;
}

nav.globalMenuSp ul {
  background: #070203;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  opacity: 0.9;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  border-bottom: 1px solid #fff;
}

nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

nav.globalMenuSp ul li a {
  display: block;
  color: white;
  padding: 1.4em 0;
  text-decoration :none;
  font-size: 2rem;
}

nav.globalMenuSp :hover{
  color: #dfdfdf;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateY(0%);
}

.sitemenu li {
  display: none;
}

.awasome{
  color: white;
  font-size:2.4rem;
}

.topslide{
  margin: 0;
  padding-top: 60px;
}

.topslide img{
  margin-top: 0;
}

h2 {
  font-size: 2.4rem;
  margin-bottom: 28px;
  letter-spacing: 0.2rem;
}

p {
  font-size: 1.2rem;
  line-height: 1.8rem;
}

.news{
  margin-top: 80px;
  margin-bottom: 80px;
}

.information{
  width: 88%;
}

.information h3{
  font-size: 1.4rem;
  line-height: 2.4rem;
  margin-bottom: 4px;
}

.stylephoto {
  width: 94%;
  margin: 0 auto;
  text-align: center;
}

.style{
  margin-bottom: 70px;
}

.stylephoto img{
  width: 44%;
  margin: 0px 6px 18px 8px;
}

.menu{
  margin-bottom: 80px;
}

.ac-menu :hover{
  color: #070203;
}

.menu h2{
  margin-bottom: 20px;
}

.ac-menu label{
  font-size: 2rem;
}

.ac-menu input:checked ~ div{
  padding: 0px;
}

.menu dl{
  height: auto;
  padding-bottom: 12px;
}

.menu_text{
  height: auto;
  font-size: 1.4rem;
  padding-bottom: 6px;
}

.menu dt{
  width: 70%;
  line-height: 1.6rem;
  padding-top: 30px;
}

.menu dd{
  font-size: 1.6rem;
  padding-top: 30px;
}

.menu_memo{
  float: none;
  margin-bottom: 10px;
  line-height: 1.4rem;
  width: 70%;
  font-size: 1rem;
}

.button{
  margin-top: 60px;
}

.btn {
  width: 86%;
  padding: 22px 16px;
  font-size: 1.6rem;
  letter-spacing: 0.6rem;
}

.staff{
  margin-bottom: 40px;
}

.profile{
  width: 90%;
  text-align: center;
  margin-bottom: 30px;
}

.prof_contents{
  margin: 46px 0 70px 0;
}

.profil_photo{
  margin-right: 0px;
  margin-bottom: 50px;
  float: none;
}

.staff_sns{
 margin-top: 10px;
 margin-left: 8px;
}

.profile_text  {
  margin: 0 auto;
  width: 90%;
}

.staffname{
  margin-bottom: 10px;
  font-size: 1.6rem;
  letter-spacing: 0.4rem;
  margin-left: 28px;
}

.awasome {
  font-size: 1.8rem;
}

.profile_text{
  font-size: 0.2rem;
}

.position{
  margin-bottom: 20px;
}

.comment {
  text-align: left;
  line-height: 2.4rem;
  margin: 0;
  font-size: 1.4rem;
}

.cofee{
  margin-top: -60px;
  margin-bottom: 90px;
}

.cofee img {
  width: 68%;
}

.map iframe{
  text-align: center;
  width: 100%;
}

.store {
  width: 88%;
  margin: 0 auto;
}

.store dl{
  height: auto;
}

.store dt{
  font-size: 1.4rem;
  padding-right: 20px;
}

.store dd{
 font-size: 1.4rem;
 line-height: 1.8rem;
 height: 70px;
 padding: 26px;
}

.store_boder{
  padding: 0px;
}

.store_bodernone{
  padding: 0px;
}

.access {
  width: 100%;
  margin-bottom: 80px;
}

.footer_text {
  margin: 0;
}

footer {
  height: 50px;
}

/* ページTOPに戻る */
.pagetop a{
  display: none;
}

.accordion dt label{
  font-size: 1.5rem;
}
/*表示される要素の基本設定*/
.accordion dd{
  padding: 0px;
  margin-top: -2rem;
  letter-spacing: 0.1rem;
}
.accordion dt label::after{
  border-left:6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 9px solid #070203;
  right: 18px;
}

}