@charset "UTF-8";
/* CSS Document */
html {
	height: 100%;
	width: 100%;
	max-width: 100% !important;
}
@media (max-width: 599px){
	html {
	font-size: calc(13 / 16 * 1rem);
}
}
/*タブレットサイズに適用*/
@media (max-width:1199px) and (min-width:600px){
		html {
	font-size: calc(14 / 16 * 1rem);
}
}
.center {
	text-align: center;
}
body {
    font-family: 'Noto Sans JP', sans-serif;
    color: #5F5F5F;
    font-size: calc(16 / 16* 1rem);
    line-height: 1.8;
    font-weight: 400;
    height: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

a {
	text-decoration: none;
	color: #EB0000;
}
.en {
	font-family: "Amatic SC", sans-serif;
	font-weight: normal;
}
#wrapper {
	width: 100%;
}
#c_button {
	width: 138px;
	height: 138px;
	border-radius:50%;
	border: thin solid #EB0000;
	font-family: "Amatic SC", sans-serif;
	font-size: 38px;
	text-align: center;
	line-height: 0.8;
	position: fixed;
	right: 30px;
	z-index: 999
}
@media screen and (min-width:681px) {
		#c_button {
			top: 30px;
}
}

#c_button a {
	display: block;
	color: #EB0000;
	font-weight: normal;
	padding-top: 45px;
	padding-bottom: 30px;
	border-radius:50%;
	background:rgba(255,255,255,0.7);
  overflow: hidden;
  position: relative;
  z-index: 99;
}
#c_button a::after {
  background: #EB0000;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
#c_button a:hover {
  color: #fff;
}
#c_button a:hover::after {
  transform: scale(1, 1);
}
@media screen and (max-width:680px) {
#c_button {
	width: 110px;
	height: 110px;
	font-size: 32px;
	right: 20px;
	bottom: 20px;
}
	#c_button a{
	    padding-top: 35px;
    padding-bottom: 22px;
}
}
@media screen and (min-width:681px) {
#nav {
    position: absolute;
    top: 40px;
    right: 190px;
	z-index: 99999;
}
	#nav li {
	display: inline-block;
  margin-right: 40px;
}
}
#nav li {
	 font-family: "Amatic SC", sans-serif;
	font-size: 38px;
	text-align: center;
	line-height: 0.8;
}

#nav li:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
#nav li a {
 /* 文字色は透明にして背景が見えるようにする */
  color: transparent;
  /* オレンジと黒が50%の位置で切り替わるグラデーション */
  background: linear-gradient(to right, #EB0000 50%, #1A1311 50%) 100%;
  /* 背景をテキストで切り抜く */
  background-clip: text;

  /* 横幅は200%にしてグラデーションの青部分は見えないようにする */
  background-size: 200% 100%;

  transition: background-position 0.3s;
}
#nav li a:hover {
  /* グラデーションの位置を移動して、オレンジ部分を見せる */
  background-position: 0 100%;
}
a .sub {
	font-size: 12px;
}

/* ハンバーガーメニューここから */
@media screen and (max-width:680px) {
#header {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 20px;
  background: #fff;
  position: relative;
}



/* ここから下がハンバーガーメニューに関するCSS */
  
/* チェックボックスを非表示にする */
.drawer_hidden {
  display: none;
}

/* ハンバーガーアイコンの設置スペース */
.drawer_open {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  right: 30px;
	top: 25px;
  z-index: 1000;/* 重なり順を一番上にする */
  cursor: pointer;
	height: 30px;
	width: 30px;
}

/* ハンバーガーメニューのアイコン */
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
  content: '';
  display: block;
  height: 2.5px;
  width: 30px;
  background: #333;
  transition: 0.5s;
  position: absolute;
}

/* 三本線の一番上の棒の位置調整 */
.drawer_open span:before {
  bottom: 10px;
}

/* 三本線の一番下の棒の位置調整 */
.drawer_open span:after {
  top: 10px;
}

/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer_input:checked ~ .drawer_open span {
  background: rgba(255, 255, 255, 0);
}

/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer_input:checked ~ .drawer_open span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#drawer_input:checked ~ .drawer_open span::after {
  top: 0;
  transform: rotate(-45deg);
}
  
/* メニューのデザイン*/
.nav_content {
  width: 100%;
  height: 100%;
  position: fixed;
  bottom: 100%;
  left: 0%; /* メニューを画面の外に飛ばす */
  z-index: 999;
  background: #EB0000;
  transition: .5s;
  text-align: center;
  padding-top: 30px;
	
}

/* メニュー黒ポチを消す */
.nav_list {
  list-style: none;
}

.nav_item a {
  color: #fff !important;
  text-decoration: none;
	transition: .2s ease-in-out;
	display: block;
		padding: 20px;
	font-size: 32px;
}


/* アイコンがクリックされたらメニューを表示 */
#drawer_input:checked ~ .nav_content {
  bottom: 0%;/* メニューを画面に入れる */
  
}

.nav_content.active {
	bottom: 100% !important;
}
}
/* ハンバーガーメニューここまで */


#header {
	width: 100%;
	height:100vh;
		display: flex;
align-items: center;
}
h1 {
	z-index: 99;
}
	h1 img {    height: 60vh;
    margin-top: 50px;
}
@media screen and (max-width:680px) {
	h1 img {
		width: 80%;
		padding-left: 20%;
		margin-top: 0;
	}
}



.image {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  opacity: 0;
  background-size: cover;
  background-position: center center;
  
  animation: image-switch-animation 15s infinite;
}

.src1 {
  background-image: url("../img/main02.jpg");
}
.src2 {
  background-image: url("../img/main03.jpg");
}
.src3 {
  background-image: url("../img/main01.jpg");
}

@media screen and (max-width:680px) {
	.src1 {
  background-image: url("../img/main02_sp.jpg");
}
.src2 {
  background-image: url("../img/main03_sp.jpg");
}
.src3 {
  background-image: url("../img/main01_sp.jpg");
}
}

.image:nth-of-type(1) {
  animation-delay: 0s;
}
.image:nth-of-type(2) {
  animation-delay: 5s;
}
.image:nth-of-type(3) {
  animation-delay: 10s;
}


@keyframes image-switch-animation {
  0%{ opacity: 0;}
  30%{ opacity: 1;}
  36%{ opacity: 1;}
  45%{ opacity: 0;}
  100%{ opacity: 0;}
}




h1 {
	margin: 0 auto;
}
h2 {
	font-size: calc(90 / 16* 1rem);
	font-family: "Amatic SC", sans-serif;
	font-weight: normal;
	text-align: center;
	line-height: 0.4;
	margin: 20px 0 50px;
}
h2 .sub {
	font-size: calc(16 / 16* 1rem);
}
.red {
	color: #EC0201;
}
@media screen and (min-width:1200px) {
.section {
	display: flex;
	width: 1200px;
	margin: 0 auto;
	justify-content: space-between;
    }
	.box {
		width: 570px;
	}
}
.contents {
	width: 100%;
	background: url("../img/flower.svg") repeat-x 0 200px;
}
#about {
	padding-top: 100px;
}
#about .section {
margin-top: 200px;
}
#about .section .txt {
	margin-top: 100px;
	background: url("../img/scissors.svg") no-repeat bottom right;
}
#about .section .txt p {
	margin-bottom: 20px;
}
@media screen and ( max-width:1199px) {
	.section {
	display: flex;
	width: 90%;
		margin: 0 5%;
	justify-content: space-between;
    }
	.box {
		width: 45%;
	}
}
@media screen and (max-width:800px) {
	.section {
flex-direction: column;
}
		.box {
		width: 100%;
	}
	#about .box img {
		width: 100%;
	}
	#about .section .txt {
		margin-top: 20px;
	}
}
@media screen and ( max-width:1199px) {
#about {
         background-size: 40px;
}
	#about .section .txt {
    background-position: center bottom;
		background-size: 110px;
}

}
@media screen and (max-width:800px) {
		#about .section .txt {
    background-position: left bottom;
		background-size: 110px;
}
}
#news {
	    background: url(../img/dryer.svg) no-repeat 97% bottom, url(../img/comb.svg) no-repeat 5% 5%;
}
#news, #menu, #access, #reserve {
	padding-top: 100px;
}

@media screen and (min-width:1200px) {
.embedsocial-hashtag {
	width: 1200px;
	margin: 0 auto;
}
}

#menu {
	background: url(../img/brush.svg) no-repeat 5% 100px;
}

#menu table {
	width: 100%;
}
#menu table tr td {
	border-bottom: solid thin #8C8C8C;
	padding: 20px 10px;
	line-height: 1.2;
}
#menu table tr td.p_box {
	width: 40%;
}
#menu table tr.noborder td {
	border: none;
}
#menu table td .en {
	font-size: calc(32 / 16* 1rem);
	font-weight: bold;
}
#menu table td .sub {
	font-size: calc(12 / 16* 1rem);
}
#menu table td .price {
	font-size: calc(20 / 16* 1rem);
}
#menu table td .yen {
	font-size: calc(14 / 16* 1rem);
	margin-left: 10px;
}
#menu .kome {
	font-size: calc(12 / 16* 1rem);
	margin-top: 20px;
	text-align: right;
}
#access {
	    background: url(../img/mirror.svg) no-repeat 5% top;
}
#access iframe {
	width: 100%;
    height: 500px;
}
#access .kome {
	font-size: calc(14 / 16* 1rem);
	margin-top: 20px;
}
@media screen and ( max-width:1199px) {
#access {
         background-size: 80px;
}
}
#reserve {
	background: url("../img/bigmirror.svg") no-repeat 103% top, url("../img/chair.svg") no-repeat -2% 160px;
}
@media screen and (max-width:800px) {
#reserve {
    background: url(../img/bigmirror.svg) no-repeat 127% top, url(../img/chair.svg) no-repeat -20% 70px;
}
}

#reserve h3 {
	font-size: calc(24 / 16* 1rem);
	text-align: center;
	    margin-bottom: 10px;
	    margin-top: 10px;
	font-weight: 500;
}
#reserve h3 .en {
	font-size: calc(38 / 16* 1rem);
	    font-weight: normal;
}
#reserve .tel {
	text-align: center;
	font-size: calc(50 / 16* 1rem);
}
#reserve .tel a {
	color: #4E4E4E;
}
#reserve .section{
	margin-top: 40px;
	margin-bottom: 40px;
}
@media screen and ( max-width:1199px) {
#reserve {
 background-size: 130px;
}
}

.btn_it {
text-align: center;
    border: solid 1px;
    width: 210px;
    margin: 30px auto 0;
}
.btn_it a {

	    padding: 15px 60px;
	display: block;
	color: #4E4E4E;
		background: #fff;
  overflow: hidden;
  position: relative;
  z-index: 99;
}


.btn_it a::after {
  background: #4E4E4E;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.btn_it a:hover {
  color: #fff;
}
.btn_it a:hover::after {
  transform: scale(1, 1);
}

#reserve .section .box.left .center {
 margin-top: 20px;
}
#reserve .section .box.left, #reserve .section .box.right{
		        padding-bottom: 40px;
}

@media screen and (min-width:1200px) {
#reserve .section .box.left {
		width: 599px;
	padding-right: 40px;
	border-right: solid 1px;
	}
	.section .box.right {
		width: 600px;
	padding-left: 40px;
	}
	footer .section {
	width: 98%;
}
}
@media screen and (max-width:800px) {
#reserve .section .box.left, #reserve .section .box.right {
	border-bottom: solid 1px;
}
}
footer {
	background: url("../img/footer_bg.svg") repeat-x bottom;
	padding-bottom: 95px;
	margin-top: 100px;
}
footer #goto_top {
	position: fixed;
	right:50px;
	bottom: 140px;
}
footer #goto_top a:hover {
	padding-bottom: 30px;
}
footer ul {
	display: flex;
}
footer ul li {
    padding: 0 40px 0 0;
}
footer ul li a {
	color: #83AFCC;
	font-size: calc(15 / 16* 1rem);
	font-weight: bold;
}
footer p {
	font-size: calc(20 / 16* 1rem);
	color: #83AFCC;
	text-align: right;
}
@media screen and (min-width:1200px) {
	footer p {
	text-align: right;
}
}
@media screen and (max-width:800px) {
	footer p {
	text-align: center;
}
	footer ul {
		    flex-direction: column;
	}
	footer ul li {
    padding: 0;
		margin-bottom: 5px;
		text-align: center;
		
}
		footer ul li a {
			font-size: 17px;
		
}
}