@charset "UTF-8";

/*-------------------------------------------------------------------

 Theme Name: Palnail-original
 Theme URI: http://palnail.hak0.net/
 Description: PORTFOLIO「Palnail-original」
 Author: hak0
 Author URI: http://palnail.hak0.net/
 Version: 1.0.0
 Copyright (C) hak0

------------------------------------------------------------------*/

html{
	scroll-behavior: smooth;
	
}

html ,body{
	width:100%;
	margin:0; padding:0;
}

body{
	background:#fff;
	width:100%;
	margin:0 auto;
	overflow-x:hidden;
}

a:hover{
	opacity:0.7;
}

@font-face {
  font-family: 'mincho'; 
  src: url('font/mincho.ttf') format('truetype');
}

@font-face {
  font-family: 'castro'; 
  src: url('font/castro.ttf') format('truetype');
}

@font-face {
  font-family: 'vanity'; 
  src: url('font/vanity.ttf') format('truetype');
}

@font-face {
  font-family: 'ostrichsans'; 
  src: url('font/ostrichsans.otf') format('opentype');
}

/*start*/
.start {
	background: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 9998 !important;
}
.start p {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: none;
	z-index: 9999 !important;
	width: 280px;
}

.start img{
	width:280px;
}

/*-------------------------------------------
                 header
--------------------------------------------*/
header{
	position:relative;
	overflow:hidden;
}

#header-img{
	display:flex;
	justify-content: space-between;
	align-items: center;
	text-align: center;
	width:100%;
	margin:0 auto 20px auto;
	background:#000;
}

#header-img img{
	width:33.3vw;
	filter:saturate(50%) brightness(50%);
	height:40vw;
	object-fit: cover;
}

.header-logo img{
	width:150px;
	position:absolute;
	top:10px;
	right:0; left:0;
	margin:auto;
	z-index:50;
}

@media (max-width: 1000px) {
#header-img img{
	width:50vw;
	height:54vw;
}
}

@media (max-width: 500px) {
#header-img{
	justify-content: center;
}
#header-img img{
	width:50vw;
	height:69vw;
}
}

@media (max-width: 700px) {
.none{
	display:none;
}

.header-logo img{
	width:16vw;
}
}

.header-text{
	font-family:castro;
	text-align:center;
	color:#fff;
	font-size:180%;
	z-index:50;
	position:relative;
	bottom:20px;
	right:0; left:0;
	margin:auto;
}

@media (max-width: 700px) {
.header-text{
	font-size:120%;
}
}

/*ハンバーガーメニュー---------------------------*/
/* header */
.box-header{
	background: #ddd;
	height: 64px;
	padding: 1em;
}
.box-sitename{
	font-weight: 700;
	font-size: 18px;
}
 
/* 全体調整CSS */
.hamburger-menubox *{
	font-size: 16px;
}
.hamburger-menubox li{
	font-size: 14px;
}
/* hamburgerここから */
	/* input非表示 */
.input-hidden{
	display: none;
}
	/* label */
.hamburger-switch{
	cursor: pointer;
	position: fixed;
	right: 20px;
	top: 20px;
	z-index: 999;
	width: 4em;
	height: 4em;
	background:rgba(0,0,0,0.8);
	border-radius:50%;
}

@media (max-width: 700px) {
.hamburger-switch{
	right: 10px;
	top: 10px;
}
}
/* メニュー展開時のハンバーガーアイコンを固定 */
#hamburger10:checked ~ .hamburger-switch{
	position: fixed;
}
/* 画面全体にズームインするハンバーガーメニュー */

/* 点線のハンバーガーアイコン */
.hamburger-switch-line2, .hamburger-switch-line2:before, .hamburger-switch-line2:after{
	position: absolute;
	width: 25px;
	top: 50%;
	left: 50%;
	content: "";
	transition: .3s;
	color:#fff;
}
.hamburger-switch-line2{
	border-bottom: 3px solid;
	transform: translate(-50%, -50%);
}
.hamburger-switch-line2:before, .hamburger-switch-line2:after{
	border-bottom: 3px solid;
}
.hamburger-switch-line2:before{
	transform: translate(-50%, -300%);
}
.hamburger-switch-line2:after{
	transform: translate(-50%, 300%);
}
/* ハンバーガーアニメーション */
#hamburger10:checked ~ .hamburger-switch .hamburger-switch-line2{
	width: 0;
}
#hamburger10:checked ~ .hamburger-switch .hamburger-switch-line2:before{
	transform: rotate(40deg) translate(-39%, 325%);
}
#hamburger10:checked ~ .hamburger-switch .hamburger-switch-line2:after{
	transform: rotate(-41deg) translate(-41%, -325%);
}
/* メニューエリア */
.hamburger-menuwrap-zoom{
	position: fixed;
	width: 0;
	height: 0;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background:rgba(239,234,202,0.98); /* メニューエリア背景色 */
	z-index: 998;
	border-radius: 50%;
	visibility: hidden;
	transition: .3s;
	overflow: hidden;
}
.hamburger-menulist-zoom{
	margin-right: 3%;
	padding-left: 5% !important; /* !important不要な場合あり */
	list-style: none;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	padding: 0 !important; /* !important不要な場合あり */
	font-weight: 400;
	transition: .3s;
}
.hamburger-menulist-zoom li{
	margin-bottom: .5em;
}
.hamburger-menulist-zoom a{
	font-size: 0;
	text-decoration: none;
	color: #000; /* メニューリスト文字色 */
	opacity: 0;
	transition: .3s;
}
/* メニューエリアアニメーション */
#hamburger10:checked ~ .hamburger-menuwrap-zoom{
	width: 200%;
	height: 200%;
	visibility: visible;
}
#hamburger10:checked ~ .hamburger-menuwrap-zoom .hamburger-menulist-zoom a{
	font-size:250%;
	opacity: 1;

}

.onclick-menu:hover{
	opacity:0.8;
}

/* メニュー内ロゴ 
.logo-img{
	padding-bottom:50px;
}

.logo-img img{
	width:200px;
}

@media (max-width: 730px) {
.logo-img img{
	width:35%;
}
}*/

/*メニューテキスト*/
.onclick-menu{
	font-family:ostrichsans,mincho;
	position: relative;
	text-align: center;
	padding-top:1.5rem;
}

.onclick-menu span{
	display:block;
}

/*-------------------------------------------
                 slider
--------------------------------------------*/
#slider{
	z-index:10;
	position:absolute;
	top:0;
	left:0; right:0;
	margin:auto;
}

.slide-show {
	width:36vw;
	height:auto;
	margin:0 auto;
	position: relative;
}

.slide-show img {
	animation: show 12s infinite; 
	width:36vw;
	height:auto;
	opacity: 0;
	position: absolute; 
	left: 0;
	top: 0;
}
 
@keyframes show {
0% {opacity: 0}
17% {opacity: 1}
33% {opacity: 1}
50% {opacity: 0}
}
 
.slide-show img:nth-of-type(1) {
	position: relative;
}
 
.slide-show img:nth-of-type(2) {
	animation-delay: 0s;
}
 
.slide-show img:nth-of-type(3) {
	animation-delay: 4s;
}
 
.slide-show img:nth-of-type(4) {
	animation-delay: 8s;
}

@media (max-width: 1000px) {
.slide-show {
	width:53vw;
}

.slide-show img {
	width:53vw;
}
}

@media (max-width: 500px) {
.slide-show {
	width:61vw;
}

.slide-show img {
	width:61vw;
}
}

/*-------------------------------------------
                 wrap
--------------------------------------------*/
#wrap{
	/*max-width:1000px;*/
	width:100%;
	background:#fff;
	margin:0 auto;
	font-family:mincho;
}

.hexagon-shop{
	max-width:1000px;
	width:100%;
	margin:0 auto;
}
/*wrap-top*/
.wrap-top{
	position:relative;
}

.wrap-top-img{
	width:100vw;
	margin-top:-43px;
	height:600px;
	object-fit: cover;
}

@media (max-width: 850px) {
.wrap-top-img{
	height:700px;
}
}

.wrap-top-content{
	position:absolute;
	right:0; left:0; margin:auto;
	top:0;
}

/*六角形*/
.hexagon{
	float:left;
}

.hexagon-content{
	position:relative;
}

.hexagon-content div{
	position:absolute;
}

.hexagon1{top:30px; left:40px;}
.hexagon2{top:236px; left:253px;}
.hexagon3{top:318px; left:115px;}

@media (max-width: 630px) {
.hexagon1{top:4vw; left:5.5vw;}
.hexagon2{top:33vw; left:38.5vw;}
.hexagon3{top:47vw; left:14.5vw;}
}


.hexagon-content div div {
	background: #efeaca;
	position: relative;
}

.hexagon1-content{max-width: 160px; width: 24vw; max-height: 278px; height: 41.5vw;}
.hexagon2-content ,.hexagon3-content{max-width: 85px; width: 15vw; max-height: 147px; height: 26vw;}

.hexagon-content div div::before,
.hexagon-content div div::after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #efeaca;
	z-index: 0;
}

.hexagon-content div div::before {
	transform: rotate(60deg);
}

.hexagon-content div div::after {
	transform: rotate(-60deg);
}

/*ショップ紹介*/
.shop-introduction{
	float:right;
	color:#000;
	text-align:right;
	padding:50px 50px 0 0;
	position:relative;
	z-index:9;
	/*color:#fff;
	text-shadow:2px 2px 4px #000;*/
}

.shop-content{
	font-size:155%;
	line-height:1.5em;
}

.shop-name{
	font-size:450%;
	font-family:vanity;
	padding:30px 0;
	margin:0;
	line-height:0.8;
}

.shop-name span{
	font-size:30%;
	letter-spacing:1px;
	font-family:mincho;
}

@media (max-width: 700px) {
.shop-introduction{
	padding:30px 0 0 0;
	width:90vw;
	margin:0 auto;
	float:none;
}
.shop-content{
	font-size:120%;
}
}

@media (max-width: 465px) {
.shop-content span{
	display:block;
}
}

/*ごあいさつ*/
.greeting{
	padding-top:310px;
	position:relative;
	z-index:1;
	/*color:#fff;
	text-shadow:2px 2px 4px #000;*/
}

.greeting-title{
	text-align:center;
	font-size:150%;
}

.greeting img{
	width:300px;
	margin:0 auto;
	display:flex;
}

.greeting-text{
	max-width:800px;
	width:85vw;
	padding:20px 10px;
	margin:0 auto;
	text-align:center;
	line-height:1.5em;
}

@media (max-width: 700px) {
.greeting{
	padding:0;
}
}
/*-------------------------------------------
                 wrap-menu
--------------------------------------------*/
#pc-wrap-menu{
	display:flex;
}

#pc-wrap-menu img{
	width:100%;
}

#sp-wrap-menu{
	display:none;
}

@media (max-width: 700px) {

#pc-wrap-menu{
	display:none;
}

#sp-wrap-menu{
	display:block;
}

#sp-wrap-menu img{
	width:100%;
}

.menu-top ,.menu-bottom{
	display:flex;
}

}

/*-------------------------------------------
                 wrap-bottom
--------------------------------------------*/
#wrap-bottom{
	background:#efeaca;
	padding-bottom:40px;
}

/*design*/
.design-title{
	font-family:ostrichsans;
	font-size:400%;
	text-align:center;
	padding:20px 0 40px 0;
}

/*profile*/
.profile{
	display:flex;
	justify-content: center;
	align-items: center;
}

.profile img{
	width:350px;
	padding-right:20px;
}

.profile-content{
	width:400px;
	padding-left:20px;
}

.profile-content img{
	width:320px;
	display:flex;
	margin:0 auto;
}

.profile-name{
	font-size:200%;
	text-align:center;
}

.profile-text{
	font-size:120%;
	padding-top:20px;
}

.profile-text span{
	line-height:2em;
}

@media (max-width: 800px) {
.profile{
	display:block;
}

.design-title{
	padding:20px 0;
}

.profile img{
	width:60vw;
	padding:0 0 20px 0;
	display:flex;
	margin:0 auto;

}
.profile-content{
	width:80vw;
	padding:20px 0 0 0;
	margin:0 auto;
}
}

@media (max-width: 550px) {
.profile img{
	width:80vw;
}
.profile-content{
	width:90vw;
}

.profile-text{
	font-size:100%;
}
}

/*-------------------------------------------
                footer
--------------------------------------------*/
footer{
	position:relative;
	height:600px;
}

footer-content{
	position:absolute;
	top:50%;
}

.footer-img{
	width:100vw;
	height:600px;
	object-fit: cover;
}

.footer-logo{
	height:100%;
	background: rgba(255,255,255,0.55);
	width:400px;
	position:absolute;
	top:0%;
	left:0; right:0; margin:auto;
}

@media (max-width: 700px) {
.footer-logo{
	width:70%;
}
}

.footer-logo img{
	width:230px;
	position:absolute;
	top:36px;
	right:0; left:0; margin:auto;
}

/*ボタン見出し*/
footer h2 {
	font-size: 2rem;
	letter-spacing:0.3;
	position: relative;
	padding-bottom:5px;
	text-align: center;
	font-family:ostrichsans,mincho;
	font-weight:normal;
}

footer h2 span {
	font-size: 1rem;
	display: block;
}

footer h2:before {
	position: absolute;
	bottom: -10px;
	left: calc(50% - 30px);
	width: 60px;
	height: 5px;
	content: '';
	border-radius: 3px;
}
footer .contact-button h2:before{
	background:linear-gradient(45deg, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
}
footer .reservation-button h2:before{
	background:linear-gradient(45deg, #e9cbcb 50%, #00b900 100%);

}

/*ボタン*/
#line-button{
	margin:20px auto 30px auto;
}

.contact-button ,.reservation-button{
	position:absolute;
	right:0; left:0; margin:auto;
}

.contact-button{
	top:135px;
}

.reservation-button{
	top:316px;
}

.contact-button-content ,.reservation-button-content{
	width:204px;
	margin:0 auto;
}

footer .btn,
footer a.btn,
footer button.btn {
	font-size: 1rem;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	padding: 1rem 4rem;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	letter-spacing: 0.1em;
	color: #212529;
	border-radius: 0.5rem;
}

footer a.btn-svg {
	line-height: 54px;
	width: 204px;
	height: 54px;
	padding: 0;
	cursor: pointer;
	text-decoration: none;
	background-color: transparent;
}

footer a.btn-svg svg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

footer a.btn-svg svg rect {
	-webkit-transition: all 400ms ease;
	transition: all 400ms ease;
	stroke: #000;
	stroke-width: 1;
	stroke-dasharray: 200px, 16px;
	stroke-dashoffset: 70px;
}

footer a.btn-svg:hover svg rect {
	stroke-dashoffset: 284px;
}

footer a.btn-svg span {
	color: #000;
}


.copy{
	color:#fff;
	background:#000;
	padding:0.2em 0;
	text-align:center;
	font-size:80%;
	letter-spacing:10;
}

/*-------------------------------------------------
pagetop
------------------------------------------------*/

/* ボタン全体 */
#page-top {
    position: fixed;
    right: 5px;
    bottom: 20px;
    height: 50px;
    text-decoration: none;
    transform: rotate(90deg);
    font-size: 90%;
    line-height: 1.5rem;
    color: #fff;
    padding: 0 0 0 35px;
    border-top: solid 1px;
}
#page-top::before {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 0px;
    width: 15px;
    border-top: solid 1px;
    transform: rotate(35deg);
    transform-origin: left top;
}

#page-top:hover{
	opacity:0.6;
}
