@charset "utf-8";
/*==================================================
　reset.css
===================================*/
/* box-sizing: border-box;を設定 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* フォントサイズの拡大を防ぐ */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* デフォルトのマージンを削除、作成するCSSの制御を改善するため */
body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
  margin: 0;
}

ul, li {
  margin: 0;
	padding: 0;
	list-style: none;
	list-style-type: none;
}

/* bodyのデフォルトを設定 */
body {
  min-height: 100vh;
  line-height: 1.5;
}

/* 見出しやインタラクティブ要素のline-heightを設定 */
h1, h2, h3, h4,
button, input, label {
  line-height: 1.1;
}

/* 見出しのテキスト折り返しをbalanceに設定 */
h1, h2,
h3, h4 {
  text-wrap: balance;
}

/* classを持たないa要素はデフォルトのスタイルを継承 */
a:not([class]) {  
  color: currentColor;
	text-decoration-skip-ink: auto;
}

/* 画像の扱いを簡単にする */
img,
picture {
	display: block;
  max-width: 100%;  
}

/* inputやbuttonなどのfontは継承 */
input, button,
textarea, select {
  font: inherit;
}

/* rows属性のないtextareasが小さくならないようにする */
textarea:not([rows]) {
  min-height: 10em;
}

/* アンカーされている要素には余分なスクロールマージンが必要 */
:target {
  scroll-margin-block: 5ex;
}

/*==================================================
　基本
===================================*/

html {
  scroll-behavior: smooth;
}

body {
	background: #111;
	color: #fff;
	font-family: "Shippori Mincho", serif;
	font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem) /* 16_20px */;
}

a {
	color: #fff;
	text-decoration: none;
	letter-spacing: 0.1em;
}

a:hover {
  opacity: 0.7; 
}

.pc {display: none;}

/*==================================================
　ナビゲーション
===================================*/
.header__nav {
	display: flex;
	justify-content: space-between;
	z-index: 10;
	width: 100%;
	max-width: 900px;	
	margin: 20px auto 0;
}

.logo {
  width: 40px;
	margin-top:  -14px;
	margin-left: 20px;
	margin-bottom: 10px;
}

.header__nav .btn-gnav {
    position: fixed;
    top: 20px;
    right: 40px;
		z-index: 12;
    width: 30px;
    height: 24px;    
    box-sizing: border-box;
		cursor: pointer;
		-webkit-transition: all 400ms;
    transition: all 400ms;
}

.header__nav .btn-gnav span {
    position: absolute;
    width: 100%;
    height: 3px;
    border-radius: 10px;
    background: #ffffff;
    -webkit-transition: all 400ms;
    transition: all 400ms;
}

.header__nav .btn-gnav span:nth-child(1) {
    top: 0;
}

.header__nav .btn-gnav span:nth-child(2) {
    top: 10px;
}

.header__nav .btn-gnav span:nth-child(3) {
    top: 20px;
}

.header__nav .btn-gnav.open span:nth-child(1) {
    top: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
		background: #ffffff;    
}

.header__nav .btn-gnav.open span:nth-child(2),
.header__nav .btn-gnav.open span:nth-child(3) {
    top: 6px;    
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
		background: #ffffff;
}

.btn-gnav {
    display: none;
}

.gnav .gnav-menu {
    display: flex;
    justify-content: space-between;
		width: 100%;
}

.gnav .gnav-menu li {
    margin: 0 auto;
    padding: 0 5px;
}

.gnav .gnav-menu li svg {
    max-width: 34px;
}

.gnav .gnav-menu li:nth-child(4) {display: none;}
.home .gnav .gnav-menu li:nth-child(4) {display: block;}

@media screen and (max-width: 750px) {
    .btn-gnav {
        display: block;
    }

    .gnav {
        position: fixed;
        top: 0;
        right: -100%;
        z-index: 10;
        padding-top: 50px;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.9);
        box-sizing: border-box;
        transition: .3s;				
    }

    .gnav.open {
        right: 0;
    }

    .gnav .gnav-menu {
        display: block;
        flex-direction: column;
        padding: 0;
        width: 100%;
        height: 100%;
        text-align: center;		
    }

    .gnav .gnav-menu li {
				width: 100%;
				padding: 15px 0;
        border-bottom: #525252 1px solid;
    }
	
		header {
			display: block;
			position: fixed;
			z-index: 999;
			width: 100%;
			background: #111;			
		}
}

/*-- ハンバーガーメニュー３本線 --*/
.btn-gnav {
	position: relative;	
	width: 50px;
	height:50px;
	border-radius: 5px;
	cursor: pointer;
}

/*ボタン内側*/
.btn-gnav span{
    display: inline-block;    
    position: absolute;
		left: 14px;
		width: 45%;
    height: 3px;
    border-radius: 2px;
		background: #fff; 
		transition: all .4s;/*アニメーションの設定*/
  }

.btn-gnav.active span:nth-of-type(1) {
    top: 0;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 100%;
}

.btn-gnav.active span:nth-of-type(2) {
		opacity: 0;/*真ん中の線は透過*/
}

.btn-gnav.active span:nth-of-type(3){
    top: 12px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 100%;
}

/*==================================================
　フッター
===================================*/
footer {position: relative;}
footer:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: rgb(191,165,58);
	background: linear-gradient(90deg, rgba(191,165,58,1) 0%, rgba(255,180,62,1) 33%, rgba(137,128,59,1) 63%, rgba(166,141,54,1) 88%, rgba(191,165,58,1) 100%);
	content: "";
	}

footer p.copyright {
	padding: 30px;
	font-size: clamp(0.688rem, 0.619rem + 0.34vw, 0.875rem)/*11_14px*/;
	text-align: center;	
}

/*==================================================
　ページトップへ戻る
===================================*/
#page-top a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;  
	background: #b3a172;
  color: #000;
	transition: .3s;
}
#page-top a span {
	transform: rotate(-45deg);
	width: 12px;
  height: 12px;
  margin-top: 5px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;  
}
/*リンクを右下に固定*/
#page-top {
  position: fixed;
  right: 10px;
  bottom: 14px;
  z-index: 2;
	transform: translateY(100px);
    /*はじめは非表示*/
  opacity: 0;  
}

/*　上に上がる動き　*/
#page-top.UpMove{
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
  	transform: translateY(100px);
		opacity: 0;
  }
  to {
  	transform: translateY(0);
		opacity: 1;
  }
}

/*　下に下がる動き　*/
#page-top.DownMove{
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	transform: translateY(0);
		opacity: 1;
  }
  to {
  	transform: translateY(100px);
		opacity: 1;
  }
}


/*==================================================
　ページ共通
===================================*/
.content {
	position: relative;
	padding-top: 100px;
	background: url("../images/common/bg_gion_01.jpg") no-repeat left top;
	background-size: 50%;	
}
.content.home {
	background-size: 120%;
}

.group {position: relative; z-index: 2; margin: 0 auto; padding: 30px 0;}
.group--line:after {
	position: absolute;	
	bottom: -16px;
	left: 0;
	width: 100%;
	height: 2px;
	background: rgb(17,17,17);
	background: linear-gradient(90deg, rgba(17,17,17,1) 0%, rgba(151,129,39,1) 5%, rgba(179,175,159,1) 50%, rgba(151,129,39,1) 95%, rgba(17,17,17,1) 100%);
	content:"";
}

.page-title {
	display: inline-block;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	padding: 3px 0;
	background: rgb(17,17,17);
	background: linear-gradient(90deg, rgba(17,17,17,1) 0%, rgba(151,129,39,1) 5%, rgba(179,175,159,1) 50%, rgba(151,129,39,1) 95%, rgba(17,17,17,1) 100%);
}
.page-title__text {display: inline-block; position: relative; padding: 26px 80px; background: #111; color: #b3a172; font-size: clamp(1.5rem, 1.182rem + 1.59vw, 2.375rem);/*24px_38px*/ font-family: "游明朝体", "Yu Mincho", YuMincho, serif; text-align: center; letter-spacing: 10px;
}
.group__item__title {position: relative; margin: 40px auto 0; color: #b3a172; font-size: clamp(1.5rem, 1.364rem + 0.68vw, 1.875rem);/*24px_30px*/ font-family: "游明朝体", "Yu Mincho", YuMincho, serif; text-align: center; letter-spacing: 2px;}
.group__item__title:before {
	display: block;
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);	
	width: 20px;
	height: 30px;
	background: url("../images/common/ico_crown.png") no-repeat center center;
	background-size: contain;
	content: "";
}
.group__item__jp {font-size: clamp(1rem, 0.864rem + 0.68vw, 1.375rem);/*16px_22px*/ text-align: center;}
.deteil__text {max-width: 682px; margin: 20px auto 0; text-align: justify; line-height: 2;}
.group__item__img {margin: 40px auto; width : 100%;}

/* PROFILE */
.name {display: inline-block; margin-right: 10px; font-size: clamp(1.5rem, 1.318rem + 0.91vw, 2rem);/*24px_32px*/}
.name__en {display: inline-block; font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);/*16px_20px*/}
.career {margin-top: 60px; padding: 1% 8% 6%; border: solid 1px #c1c1c1;}
.group__item__title.group__item__title--nomargin {margin: 40px auto 0;}

.awards {text-align: center;}
.awards__title {	
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	margin: 60px 0 30px;
	padding: 3px 0;
	background: rgb(17,17,17);
	background: linear-gradient(90deg, rgba(17,17,17,1) 0%, rgba(193,163,28,1) 5%, rgba(229,223,204,1) 50%, rgba(193,163,28,1) 95%, rgba(17,17,17,1) 100%);	
}
/* SWEETS 注文方法 */
.howto__order .awards__title {margin: 0 0 30px;}

.awards__title .group__item__title {margin: 10px auto 0; color: #73684c;}
.awards__title .group__item__title:before {display: none;}
.awards__title .group__item__jp {margin:0 auto 10px; color: #000;}
.awards__item {display: inline-block; position: relative; margin: 0 auto; padding: 0 2%;}
.awards__item li.list {position: relative; margin-bottom: 20px; padding-left: 30px; text-align: left;}
.awards__item li.list:before {display: block;
 position: absolute; top: 0; left: 0; width: 24px; height: 24px; background: url("../images/common/ico_leaf.png") center center; background-size: contain; content: "";}

/* BOUTIQIE */
.shop .flex {margin: 0 auto; padding: 30px 0;}
.shop dl {display: flex; flex-wrap: wrap; margin: 0 auto; padding: 20px 2% 0; border-top: solid 1px #666; border-bottom: solid 1px #666;}
.shop dl dt {width: 28%; margin-bottom: 18px;}
.shop dl dd {width: 72%; margin-bottom: 18px;}
.shop dl dd:last-child {margin-bottom: 0;}
.googlemap {position: relative; padding-left: 36px; letter-spacing: -1px;}
.googlemap:before {
	position: absolute;
	background: url("../images/common/icon_arrow.png") no-repeat center center;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 30px;
	height: 10px;
	background-size: contain;
	content:"";
}
.shop .flex__item--right img {margin: 20px 0;}
.map {width: 100%; max-width: 780px; margin: 0 auto;}
.map iframe {width: 100%; min-height: 30vh; height: 100%;}
.telnum {letter-spacing: normal;}

/* SWEETS */
.menu ul {display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	max-width: 720px;
	margin: 0 auto;
	justify-content: space-between;
} 
.menu ul li {display: flex;flex-direction: column; width: 45%; margin-bottom: 80px;}
.menu ul li h4 {border-top: solid 1px #B3A172; border-bottom: solid 1px #B3A172; padding: 15px 10px; text-align: center; font-weight: normal; line-height: 1; font-size: clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem);/*18px_20px*/ margin-bottom: 15px;}
.menu ul li p {font-size: clamp(0.938rem, 0.869rem + 0.34vw, 1.125rem)/*15px_18px*/; padding: 10px 2% 10px 4%;}
.menu ul li p strong {font-weight: normal; color: #EDD985;}
.howto__order p {text-align: center;}
.howto__order p.deteil__text.order__tel {font-size: clamp(1.125rem, 0.852rem + 1.36vw, 1.875rem)/*18px_30px*/; margin-top: 0; padding: 0;}
.howto__order p.deteil__text.order__tel .order__tel__num {font-size: clamp(2.25rem, 2.25rem + 0vw, 2.25rem)/*35px_36px*/;}
.howto__order p.deteil__text.order__tel small {font-size: clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem)/*18px_20px*/; margin: -10px 0 20px; padding: 0; vertical-align: top; display: block;}

@media screen and (max-width: 750px) {
	.menu ul {
		flex-direction: column;
		display: block;
		margin-top: 20px;
	}
	.menu ul li h4 {margin-bottom: 0;}
	.menu ul li {width: 100%; margin-bottom: 50px; padding-top: 60px;}
	.order1 {order: 1;/*上から1番目に表示*/}
	.order2 {order: 2;}
	.order3 {order: 3;}
	.order4 {order: 4;}
	.menu .photo_area .group__item__img {margin: 20px auto 0; width: 80%;}
	.howto__order .group__item__jp {text-align: center;}	
}

/*==================================================
　TOP
===================================*/
/*-- TOPメインビジュアル --*/
.main-visual {
	display: table;
	width: 100%;
  height: 760px;  
	border-bottom: solid 4px #FFF;
  background: url("../images/top/img_main.jpg") no-repeat;
  background-size: cover;
  background-position: 78% top;
}

.main-visual__inner {
  display: table-cell;  
  margin: 0 auto;
  width: 100%;
  max-width: 100%;
	text-align: center;
  vertical-align: middle;
}
.main-visual__inner h1{
  width: 100%;
  max-width: 184px;
  margin: 0 auto 40px;
}
.main-visual__inner p{
  color: #fff;
	font-size: clamp(1.625rem, 1.534rem + 0.45vw, 1.875rem)/*26px_30px*/;
  font-weight: 600;  
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
	line-height: 1.5;
	letter-spacing: 1px;
}
.main-visual__inner p span{
  font-size: 22px;
}

.home .group__item__jp {font-size: clamp(1.313rem, 1.176rem + 0.68vw, 1.688rem);/*21px_27px*/ text-align: center;}
.button {max-width: 810px; margin: 60px 8%; text-align: center;}
.button .button-title {
	position: relative;
	left: 50%;
	transform: translateX(-50%);	
	padding: 3px 0;
	background: rgb(17,17,17);
	background: linear-gradient(90deg, rgba(17,17,17,1) 0%, rgba(151,129,39,1) 5%, rgba(179,175,159,1) 50%, rgba(151,129,39,1) 95%, rgba(17,17,17,1) 100%);		
}
.button .button-title:before {
	display: block;
	position: absolute;
	top: -23px;
	left: 50%;
	transform: translateX(-50%);	
	width: 26px;
	height: 36px;
	background: url("../images/common/ico_crown.png") no-repeat center center;
	background-size: contain;
	content: "";
}
.button .button-title h2 {
	position: relative; 
	padding: 16px 80px; 
	background: #111;
	color: #b3a172; 
	font-size: clamp(1.5rem, 1.455rem + 0.23vw, 1.625rem);/*24px_26px*/	
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif; 
	text-align: center; 
	letter-spacing: 10px;
}
.button img {margin: 40px 0 20px;}

.button-link {
	display: inline-block; 
	position: relative; 
	width: 220px;
	margin: 0 auto;
	padding: 10px 30px 10px 22px; 
	background: #a3965f;	
	color: #000;
	font-weight: 900;
	font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem); 	
}

.button-link:before {
  position: absolute;
  top: 0;
  right: 20px;
	bottom: 0;
  transform: rotate(45deg);
  width: 6px;
  height: 6px;
  margin: auto;
	border: 0;
  border-top: solid 1px #333;
  border-right: solid 1px #333;
  content: "";  
}
.button .flex li {
	margin-bottom: 120px;
}

.insta {
	background: url("../images/top/bg_texture.jpg") no-repeat center center;
	background-size: cover;
	width: 100%;
	text-align: center;
}
.insta__inner {padding: 50px 10%;}
.insta-title {display: inline-block; position: relative; margin-bottom: 20px; color: #000; font-size: clamp(1.375rem, 1.216rem + 0.8vw, 1.813rem);/*22px_29px*/ text-align: center;}


/*==================================================
　PC（750px以上）
===================================*/
@media print, screen and (min-width: 751px) {
	.sp {display: none;}
	.pc {display: block;}
	.flex {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	header {
		position: relative;
		padding: 50px 0 0;		
	}
	header:before {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 4px;
		background: rgb(191,165,58);
		background: linear-gradient(90deg, rgba(191,165,58,1) 0%, rgba(255,180,62,1) 33%, rgba(137,128,59,1) 63%, rgba(166,141,54,1) 88%, rgba(191,165,58,1) 100%);		
		content: "";
	}	
	header.home {
		padding: 18px 0 0; 
	}
	.logo {display: none;}
	#page-top {
		right: 30px;
		bottom: 30px;
	}
	.main-visual {
		margin-top: -70px;
	}
	.gnav .gnav-menu {
	  margin-left: -24px;		
	}
	.home .gnav .gnav-menu {
	  margin-left: 0;
	}
	.gnav .gnav-menu li:nth-child(4) {display: block; width: 100px; margin-top: -46px;}
	.home .gnav .gnav-menu li:nth-child(4) {width: auto; margin-top: 0;}

	.gnav .gnav-menu li {font-size: clamp(0.438rem, 0.278rem + 0.8vw, 0.875rem)/*7px_14px*/;}
	.gnav {width: 100%;}
	.gnav .gnav-menu li svg {
    width: 26px;
		margin-top: -3px;
		line-height: 1.2;
	}
	@-moz-document url-prefix() {
		.gnav .gnav-menu li svg {margin-top: -2px;}
	}/* firefox */
	.home .gnav .gnav-menu li.svg {
    font-size: clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem);/*18px_20px*/
	}
	.home .group__item__jp {margin-bottom: 50px;}
	.insta__inner {max-width: 430px; margin: 0 auto; padding: 80px 0;}
	.insta-title {margin-bottom: 40px;}
	
	.content, .content.home {
		padding-top: 0;
		background-size: 500px;
	}
	.page-title {margin-top: 100px;}
	.group {
		max-width: 800px;
		padding: 140px 0 100px;
	}
	.group__item__title {margin: 40px auto 20px;}
	.deteil__text--center {max-width: 700px; text-align: center;}	
	.button {margin: 60px auto 40px;}
	.button .button-title {width: 90%; margin:0 10% 0 0;}
	.button .flex li {width: 43%; text-align: center;}
	.button-link {width: auto; padding: 5px 30px 5px 22px; border-bottom: 1px solid #a3965f; background: none; color: #a3965f;}
	.button-link:before {		
		position: absolute;
		top: auto;
		right: 3px;
		bottom: -8px;
		left: auto;
		width: 16px;
		height: 16px;
		border: 0;
		border-top: 1px solid #a3965f;
		transform:rotate(45deg);
		content:"";
	}
	.profile .group {max-width: 860px;}	
	.group__inner {padding: 30px 0 60px;}
	.group__inner .box {padding: 0 70px;}
	.profile .flex__item--left {width: 39%; margin-top: 10px;}
	.profile .flex__item--right {width: 54%;}
	.profile .group__item__img {margin: 0 auto;}
	.group__outer {padding: 6px; border: solid 4px #b3a172;}
	.group__inner {padding: 30px 0 6%; border: solid 1px #b3a172;}
	.name {margin-right: 0;}
	.career {margin-top: 80px; padding: 10px 70px 60px;}
	.career .deteil__text {letter-spacing: -1px;}
	.awards__title {margin-top: 80px;}
	.awards__item {padding: 0 6%;}
	.awards__item li.list:before {top: 50%;	transform: translateY(-50%);}
	.awards__item li.list {margin-bottom: 10px;}
	
	/* SWEETS 注文方法 */
	.menu ul li .photo_area {height: 340px;}	
	.howto__order .awards__title {margin-top: 0;}
	.howto__order p.deteil__text.order__tel small {margin: -10px 0 0;}
	
	.shop .flex {padding: 90px 0;}	
	.shop .flex__item--left {width: 60%;}
	.shop .flex__item--right {width: 36%;}
	.shop .flex__item--right img {margin: 0;}
	.shop dl {padding: 0; border: none;}
	.shop dl dt {width: 26%; font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem)/*7px_14px*/;}
	.shop dl dd {width: 74%; font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem)/*7px_14px*/;}
	
	.map iframe {width: 100%; min-height: 360px; height: 100%;}
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}
@media screen and (max-width: 910px) {
	.gnav .gnav-menu {margin-left: 0;}
}
@media screen and (max-width: 860px) {
	.group {margin: 0 9%;}		
}

/* 印刷のみ */
@media print {
	body {
			width: 1020px !important;
			margin: 0 auto;			
	}
}
