@charset "utf-8";

.pc {
	display: none !important;
}

body {
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", serif;
	font-size: 3.73vw;
	padding-top: 25vw;
}

.wrap {
	padding: 0 4vw;
}

.w100p {
	width: 100%;
	height: auto;
}

/*----------------------------------------------------
    header
----------------------------------------------------*/

header {
	position: fixed;
	background: #fff;
	top: 0;
	width: 100%;
	height: 29vw;
	z-index: 100;
}

header .head-up .wrap {
	padding: 0;
}

header h1 {
	background: #000;
	color: #fff;
	font-size: 2.67vw;
	letter-spacing: 0;
	padding: 2.4vw 6.67vw;
}
	
header .head-down .wrap {
	display: flex;
	padding-top: 2.67vw;
	padding-bottom: 2.67vw;
}

header .head-down .logo {
	width: 26.66vw;
	margin-right: auto;
}

header .head-down .btn a {
  overflow: hidden;
  display: block;
  position: relative;
  z-index: 0;
  width: 12vw;
  height: 12vw;
  cursor: pointer;
  background: #000;
}

header .head-down .btn a span,
header .head-down .btn a::before,
header .head-down .btn a::after {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left:0;
  right: 0;
  width: 8vw;
  height: 0.8vw;
  margin: auto;
  background: #fff;
}
header .head-down .btn a span {
  overflow: hidden;
  z-index: 1;
  color: #fff;
}
header .head-down .btn a::before {
  z-index: 2;
  transform: translate(0, -12px);
  content: "";
}
header .head-down .btn a::after {
  z-index: 2;
  transform: translate(0, 12px);
  content: "";
}

/*----------------------------------------------------
    mv
----------------------------------------------------*/

#mv > div{
	height: 104.4vw;
}


#mv .demo-inner-content {
	height: 104.4vw;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 10vw;
}

/*----------------------------------------------------
    top
----------------------------------------------------*/

#top .bl04 h3 {
	font-size: 4.27vw;
	padding: 5.33vw 0 4vw;
}

#top .bl04 .slick-slide {
	margin: 0 4vw !important;
}

#top .bl04 p {
	font-size: 3.47vw;
	line-height: 1.15;
	padding-bottom: 13.33vw;
}

#top .bl05 ul li a {
	display: flex;
	border-bottom: 1px solid #ddd;
	padding: 4vw 0;
}

#top .bl05 ul li a figure {
	width: 25%;
}

#top .bl05 ul li a div {
	width: 70%;
	margin-left: auto;
}

#top .bl05 ul li a div dl dt {
	background: #000;
	color: #fff;
	display: inline-block;
	padding: 1.33vw 2vw;
}

#top .bl05 ul li a div dl dd {
	font-size: 4.53vw;
	font-weight: bold;
	padding-top: 4vw;
	line-height: 1.2;
}

#top .bl05 .btn {
	padding: 4vw 17.3vw 0;
}


/*----------------------------------------------------
    company
----------------------------------------------------*/

#company {
	padding-bottom: 11.20vw;
}

#company .in {
	border-left: 1px solid #ddd9ca;
	border-right: 1px solid #ddd9ca;
	border-bottom: 1px solid #ddd9ca;
	font-size: 4vw;
}

#company .in dl dt {
	background: #eceae2;
	border-top: 1px solid #ddd9ca;
	border-bottom: 1px solid #ddd9ca;
	padding: 3.33vw;
}

#company .in dl dd {
	padding: 3.33vw;
	line-height: 1.5;
}


/*----------------------------------------------------
    contact
----------------------------------------------------*/

#contact .mes {
	background: #efece5;
	padding: 6vw 0;
	margin: 3.33vw 0 0;
}

#contact .mes p {
	font-size: 3.47vw;
	text-align: center;
	line-height: 1.5;
	letter-spacing: .05em;
}

#contact .mes p small {
	font-size: 2.93vw;
}

#contact .in dl {
	border-bottom: 2px solid #dedede;
}

#contact .in dl dt {
	font-size: 4vw;
	padding: 5.33vw 0 4vw;
}

#contact .in dl dd {
	padding-bottom: 6vw;
}

#contact .in dl dd input[type="text"],
#contact .in dl dd textarea {
	border: 1px solid #d0d0d0;
	width: 100%;
	box-sizing: border-box;
	font-size: 4vw;
}

#contact .in dl dd input[type="text"] {
	padding: 3.33vw;
}

#contact .in dl dd textarea {
	min-height: 58.8vw;
}

#contact .in .btn {
	padding: 5.33vw 0 8.67vw;
	text-align: center;
}

/*----------------------------------------------------
    shop-list
----------------------------------------------------*/

#shop-list .anc-menu {
	padding: 5.60vw 0;
}

#shop-list .anc-menu ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#shop-list .anc-menu ul li {
	width: 48%;
}

#shop-list .anc-menu ul li:nth-child(n+3) {
	padding-top: 2.93vw;
}

#shop-list .anc-menu ul li a {
	display: block;
	text-align: center;
	background: #eceae2;
	padding: 3.47vw 0;
	border-radius: 1.33vw;
}

#shop-list .anc-menu ul li a:after {
	content: '\f107';
	font-family: FontAwesome;
	padding-left: 2vw;
}

#shop-list .shop-ctr {
	padding-bottom: 12vw;
}

#shop-list .shop-ctr .txt dl {
	border-bottom: 2px solid #dcdcdc;
}

#shop-list .shop-ctr .txt dl dt {
	font-size: 3.47vw;
	background: #eceae2;
	display: inline-block;
	text-align: center;
	padding: 2vw 0;
	width: 20vw;
	border-radius: 5px;
	margin: 3.33vw 0;
}

#shop-list .shop-ctr .txt dl dd {
	font-size: 4vw;
	line-height: 1.5;
	margin-bottom: 3.33vw;
}

#shop-list .shop-ctr .map {
	margin-top: 6vw;
}

#shop-list .shop-ctr .map iframe {
	height: 60vw;
}

#shop-list .shop-ctr .in .shop-slide .slick-dots {
	padding-top: 4vw;
}

/*----------------------------------------------------
    franchise
----------------------------------------------------*/

#franchise {
	padding-bottom: 15.6vw;
}

/*----------------------------------------------------
    menu
----------------------------------------------------*/

#menu dl dt {
	padding: 2vw 0;
}

#menu dl dd {
	display: none;
}

/*----------------------------------------------------
    news
----------------------------------------------------*/

#news .list ul li a {
	display: flex;
	border-bottom: 1px solid #ddd;
	padding: 4vw 0;
}

#news .list ul li a figure {
	width: 25%;
}

#news .list ul li a figure img {
	width: 100%;
	height: auto;
}

#news .list ul li a div {
	width: 70%;
	margin-left: auto;
}

#news .list ul li a div dl dt {
	background: #000;
	color: #fff;
	display: inline-block;
	padding: 1.33vw 2vw;
}

#news .list ul li a div dl dd {
	font-size: 4.53vw;
	font-weight: bold;
	padding-top: 4vw;
	line-height: 1.2;
}

#news .btn {
	padding: 4vw 17.3vw 0;
}

#news .detail .date {
	background: #000;
	color: #fff;
	font-size: 3.2vw;
	padding: 1.07vw 2vw;
	display: inline-block;
	margin-top: 6vw;
}

#news .detail h3 {
	font-size: 5.33vw;
	font-weight: bold;
	padding: 6.67vw 0;
}

#news .detail p:not([class]) {
	font-size: 4.27vw;
	line-height: 1.46;
	padding: 4vw 0;
}


#news .detail .pagenation {
  border-top: 1px solid #ddd;
  text-align: center;
  margin: 6vw 0 0;
  padding: 6vw 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

#news .detail .pagenation li {
	width: 48%;
	margin-bottom: 4vw;
}

#news .detail .pagenation li.prev {
	order: 1;
}

#news .detail .pagenation li.list {
	order: 3;
}

#news .detail .pagenation li.next {
	order: 2;
}

#news .detail .pagenation li a {
  display: block;
  border: 1px solid #000;
  padding: 2.67vw 6.67vw;
  font-size: 3.2vw;
  color: #000;
  text-decoration: none;
}

#news .detail .pagenation li a[rel~="prev"]:before {
	content: '\f104';
	font-family: FontAwesome;
	color: #6f6f6f;
	padding-right: 4vw;
}

#news .detail .pagenation li a[rel~="next"]:after {
	content: '\f105';
	font-family: FontAwesome;
	color: #6f6f6f;
	padding-left: 4vw;
}

/*----------------------------------------------------
    foot-bn
----------------------------------------------------*/

.foot-bn {
	padding: 4vw 10.67vw 7.33vw;
}

.foot-bn ul li {
	padding: 3.33vw 0 0;
}

/*----------------------------------------------------
    foot-link
----------------------------------------------------*/

.foot-link {
	padding: 6vw 0;
}

.foot-link .logo {
	padding: 0 36vw;
}

.foot-link ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding-top: 8vw;
}

.foot-link ul li,
.foot-link ul li a {
	font-size: 3.2vw;
	letter-spacing: .05em;
	line-height: 2;
}

.foot-link ul li:not(:last-child):after {
	content: '|';
	padding: 0 2.67vw;
}

.foot-link ul li:nth-child(4):after,
.foot-link ul li:nth-child(8):after {
	content: '';
}

/*----------------------------------------------------
    footer
----------------------------------------------------*/

footer {
	font-size: 2.13vw;
	padding: 2.67vw 0;
}


/*----------------------------------------------------
    modal
----------------------------------------------------*/

#modal-content {
	width: 85%;
	padding: 2.67vw;
	position: fixed;
	display: none;
	z-index: 9999;
	background: #fff;
	border-radius: 1.33vw;
}

#modal-content .logo {
	width: 29%;
	position: absolute;
}

#modal-content .close_btn {
	position: absolute;
	top: 6vw;
	right: 5.33vw;
}

#modal-content .close_btn a {
	width: 6vw;
	height: 6vw;
	display: inline-block;
}

#modal-content ul {
	padding-top: 16vw;
}

#modal-content ul li a {
	display: block;
	border-top: 1px solid #ccc;
	padding: 4vw 2vw;
}

#modal-content ul li a:before {
	content: '\f105';
	font-family: FontAwesome;
	float: right;
}

#modal-content ul li:last-child a {
	border-bottom: 1px solid #ccc;
}

#modal-overlay {
	z-index: 9998 !important;
	z-index: 1 ;
	display: none ;
	position: fixed ;
	top: 0 ;
	left: 0 ;
	width: 100% ;
	height: 120% ;
	background-color: rgba(0,0,0,.9) ;
}
