@charset 'UTF-8';
/* ------------------------------------------------

* Style Index
	#. Cores
	#. Layouts    :prefix[l-]
	#. Components :prefix[c-]
	#. Units
	#. Utilities  :prefix[u-]
	// #. Functions :prefix[js-]

------------------------------------------------ */
/* ------------------------------------------------
# Cores
------------------------------------------------ */
/*!
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

body {
	line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

nav ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

/* change colours to suit your needs */
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

/* change colours to suit your needs */
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del {
	text-decoration: line-through;
}

abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

input, select {
	vertical-align: middle;
}

* {
	box-sizing: border-box;
}

*:before, *:after {
	box-sizing: inherit;
}

html {
	font-size: 62.5%;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
}

body {
	font-size: 1.4rem;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
	font-weight: 400;
	line-height: 1.76;
	letter-spacing: 1px;
	-webkit-font-feature-settings: 'palt' 1;
	font-feature-settings: 'palt' 1;
	-webkit-text-size-adjust: 100%;
}

img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
	object-fit: cover;
}

svg {
	width: auto;
	height: auto;
	pointer-events: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

ul {
	list-style: none;
}

button {
	background: transparent;
	border: none;
	border-radius: 0;
	cursor: pointer;
	outline: none;
	padding: 0;
}

a {
	display: inline-block;
	color: #ffffff;
	opacity: 1;
	text-decoration: none;
	cursor: pointer;
}

input {
	border-radius: 0;
}

.image-sp{
	display: none;
}

.br-sp{
	display: none;
}

/* --------------------------------
 * smart phone
 * -------------------------------- */
 @media screen and (max-width:1024px) {
	.image-pc{
		display: none;
	}
	.br-pc{
		display: none;
	}
	.image-sp{
		display: inline-block;
	}
	.br-sp{
		display: inline-block;
	}
}

/* --------------------------------
 * コンテンツ幅
 * -------------------------------- */
 .section-wrapper{
	width: calc(100% - 80px);
	max-width: 1600px;
	margin: 0 auto;
  }
  .section-wrapper-inner{
	width: calc(100% - 80px);
	max-width: 1200px;
	margin: 0 auto;
  }

/* --------------------------------
 * コンテンツ幅　smoll pc
 * -------------------------------- */
 @media screen and (max-width: 1400px) {
	.section-wrapper{
		max-width: 1200px;
	}
	.section-wrapper-inner{
		max-width: 900px;  
	}
 }

 @media screen and (max-width: 490px) {
	.section-wrapper{
		width: calc(100% - 40px);
	}
	.section-wrapper-inner{
		width: calc(100% - 40px);
	}
 }

/* --------------------------------
 * フォントサイズ
 * -------------------------------- */
	h1{
		font-size: 60px;
		line-height: 1em;
		font-family: 'Shippori Mincho', serif;
		font-weight: normal;
		display: inline-block;
		margin: 0 auto;
		position: relative;
	}
	h1::before{
		content: "";
		position: absolute;
		height: 12px;
		width: 100%;
		background-color: #901A1A;
		bottom: -23px;
		left: 0;
		right: 0;
		margin: auto;
	}
	p{
		font-family: "Hiragino Kaku Gothic ProN", sans-serif;
		font-size: 26px;
		line-height: 1.76em;
		font-weight: 300;
		text-align: center;
	}

/* --------------------------------
 * フォントサイズ　smoll pc
 * -------------------------------- */
 @media screen and (max-width: 1400px) {
	h1{
		font-size: 45px;
	}
	h1::before{
		height: 9px;
		bottom: -17px;
	}
	p{
		font-size: 19px;
	}
 }
/* --------------------------------
 * フォントサイズ phone
 * -------------------------------- */
 @media screen and (max-width: 1024px) {
	h1{
		font-size: 22px;
		line-height: 1.5em;
	}
	h1::before{
		height: 4.4px;
		bottom: -8.5px;
	}
	p{
		font-size: 12px;
	}
 }


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

   #アバウト

----------------------------------------------------------------------------------------- */
  #about{
	text-align: center;
	padding: 74px 0 267px 0;
  }
  #about h1{
	margin-bottom: 100px;
  }
  #shop{
	display: flex;
	justify-content: space-between;
	margin-bottom: 90px;
  }
  #shop .image,
  #shop .text,
  #shop .text .banner .image{
	width: 49%;
  }
  #shop .image{
	height: 1117px;
  }
  #shop .text{
	text-align: center;
  }
  #shop .text h1{
	margin-bottom: 76px;
  }
  #shop .text p{
	text-align: left;
	margin-bottom: 57px;
  }
  #menu{
	background-color: #FEF4E9;
	padding: 115px 0 100px 0;
	text-align: center;
  }
  #menu h1{
	margin-bottom: 97px;
  }
  #menu ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
  }
  #menu ul li{
	padding-left: 61px;
	font-size: 48px;
	width: 33%;
	text-align: left;
	position: relative;
	margin-bottom: 86px;
  }
  #menu ul li::before{
	position: absolute;
	content: "";
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	width: 24px;
	height: 24px;
	background-color: #3E3E3E;
	border-radius: 12px;
  }
  #map{
	padding: 153px 0 57px 0;
	text-align: center;
  }
  #map h2{
	font-size: 56px;
	line-height: 2.1em;
	font-family: 'Shippori Mincho', serif;
	font-weight: 400;
	text-align: center;
	margin-bottom: 160px;
  }
  #map .map-wrapper{
	width: 90%;
	margin: 0 auto 50px auto;
  }
  #map small{
	display: inline-block;
	font-size: 26px;
	margin-bottom: 30px;
  }
  #map a{
	display: inline-block;
	height: 70px;
	width: 260px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #464646;
	font-size: 24px;
	transition: all 0.4s;
  }
  #map a:hover{
	opacity: 0.6;
  }
  .swiper-pagination-bullet{
	background-color: #fff;
	opacity: 1;
	width: 20px;
	height: 20px;
}
.swiper-pagination-bullet-active{
	background-color: #000;
	border: 1px solid #fff;
}
.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{
	margin: 0 10px;
}

/* ---------------- 左固定 ---------------------- */

/* --------------------------------
 * smoll pc
 * -------------------------------- */
 @media screen and (max-width: 1400px) {
	#about{
		padding: 55px 0 200px 0;
	}
	#about h1{
	  margin-bottom: 75px;
	}
	  #shop{
		margin-bottom: 67px;
	  }
	  #shop .text h1{
		margin-bottom: 57px;
	  }
	  #shop .text p{
		margin-bottom: 42px;
	  }
	  #menu{
		padding: 86px 0 75px 0;
	  }
	  #menu h1{
		margin-bottom: 72px;
	  }
	  #menu ul li{
		padding-left: 45px;
		font-size: 35px;
		margin-bottom: 64px;
	  }
	  #menu ul li::before{
		width: 18px;
		height: 18px;
		border-radius: 9px;
	  }
	  #map{
		padding: 114px 0 42px 0;
	  }
	  #map h2{
		font-size: 42px;
		margin-bottom: 120px;
	  }
	  #map .map-wrapper{
		margin: 0 auto 40px auto;
	  }
	  #map small{
		font-size: 19px;
		margin-bottom: 22px;
	  }
	  #map a{
		height: 52px;
		width: 193px;
		font-size: 18px;
	  }
	  #shop .image{
		height: 822px;
	  }
	  .swiper-pagination-bullet{
		width: 15px;
		height: 15px;
	}
	.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{
		margin: 0 7px;
	}
 }

/* --------------------------------
 * smart phone
 * -------------------------------- */
@media screen and (max-width: 1024px) {
	#about {
		padding: 28px 0 100px 0;
	}
	#about h1{
	  margin-bottom: 37px;
	}
	p{
		text-align: left;
	}
	  #shop{
		flex-wrap: wrap;
		margin-bottom: 30px;
	  }
	  #shop .text h1{
		margin-bottom: 27px;
	  }
	  #shop .text p{
		margin-bottom: 21px;
	  }
	  #menu{
		padding: 86px 0 75px 0;
	  }
	  #shop .image, 
	  #shop .text, 
	  #shop .text .banner .image{
		width: 100%;
	  }
	  #shop .image{
		margin-bottom: 50px;
	  }
	  #menu h1{
		margin-bottom: 37px;
	  }
	  #menu ul li{
		padding-left: 20px;
		font-size: 12px;
		height: 12px;
		line-height: 1em;
		margin-bottom: 30px;
		width: 50%;
	  }
	  #menu ul li::before{
		width: 9px;
		height: 9px;
		border-radius: 5px;
	  }
	  #map{
		padding: 55px 0 21px 0;
	  }
	  #map h2{
		font-size: 18px;
		margin-bottom: 60px;
	  }
	  #map .map-wrapper{
		margin: 0 auto 20px auto;
	  }
	  #map small{
		font-size: 8px;
		margin-bottom: 11px;
	  }
	  #map a{
		height: 40px;
		width: 100px;
		font-size: 12px;
	  }
	  #map iframe{
		height: 200px;
	  }
	  #shop .image{
		height: auto;
	  }
	  .swiper-pagination-bullet{
		width: 7px;
		height: 7px;
	}
	.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{
		margin: 0 4px;
	}
}

	/* 全体のスタイル */
	.swiper-wrapper {
		width: 100%;
		height: auto;
	}
	/* 全スライド共通スタイル */
	.swiper-slide {
		width: 100%;
		height: auto;
		text-align: center;
	}
	.swiper-container-horizontal>.swiper-pagination-bullets{
		width: 25%;
	}
	