@charset "UTF-8";



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

*  基本情報

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



html,body{ height:100%; }

html{

	font-size:62.5%;

  overflow-y: scroll;

}

body {

	width: 100%;

}

body.fixed {

	position: fixed;

}



@media screen and (min-width: 768px) {

	body {

		min-width: 1200px;

		position: relative;

	}

}



body, h1, h2, h3, h4, h5, h6, p, address,

ul, ol, li, dl, dt, dd,

table, th, td, img, form {

	margin: 0;

	padding: 0;

	border: none;

	line-height: 1.5;

	list-style-type: none;

	font-style: normal;

	font-size: 1.4rem;

	font-weight: normal;

	font-family: 'Noto Sans JP', sans-serif;

	text-align: left;

	color:#40210f;

}



.serif {

	font-family: 'Noto Serif JP', serif;

}



img {

	vertical-align: middle;

	-webkit-backface-visibility: hidden;

}



a {

	color:#40210f;

	text-decoration: none;

}

a:hover {

	opacity: 0.7;

}

@media screen and (max-width: 767px) {

	a:hover {

		opacity: 1;

	}

}



@media screen and (min-width: 768px) {

a[href^="tel:"] {

	display: inline-block;

	pointer-events: none;

}

}



.bold{ font-weight: bold; }

.blue { color: #00C5F9;}

.container{ overflow: hidden; }



.inner {

	max-width: 1080px;

	margin: 0 auto;

}

@media screen and (max-width: 767px) {

	.inner {

		padding: 0 5%;

	}

}

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

*  ヘッダー

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

#header { padding:20px 0 20px;}



#header p {

	background: #40210f;

	color: #fff;

	font-size: 1.2rem;

	padding: 5px 0;

	text-align: center;

}

#header .logo {

	margin: 24px auto;

	width: 155px; height:auto;

	text-align: center;

}

#header .logo img {

	width: 100%;

}



@media screen and (max-width: 767px) {

#header { padding:4px 0;}



	#header p {

		font-size: 8px;

	}

#header .logo { width: 100px;

	margin: 12px auto;

}



}







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

*  コンテンツ

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

div.topslide-wrap { width:100%; padding:0 0 40px; margin:0 0 60px; display: block; overflow: hidden; box-sizing: border-box;}

div.topslide { width:640px; height:640px; margin:0 auto; display: block; background-color: #FFF; box-sizing: border-box; position: relative;}

div.topslide img { width:100%; height:640px !important; display: block; overflow: hidden; object-fit: contain; box-sizing: border-box;}



div.open { width:100%; margin:0 0 80px; padding:0 40px; display: block; overflow: hidden; box-sizing: border-box;}

div.open p { text-align: center; font-size:16px; line-height:240%; letter-spacing: 0.05em;}



section.topics { width:100%; max-width:720px; padding:0 40px; margin:0 auto 80px; display: block; overflow: hidden; box-sizing: border-box;}

section.topics h1.topics-title { font-size: 28px; letter-spacing: 0.1em; margin-bottom: 20px; text-align: center;}

section.topics h1.topics-title span { margin:10px 0 0; display: block; overflow: hidden; font-size:16px; line-height:140%; letter-spacing: 0.05em}

section.topics div.area { width:100%; padding:20px 20px 20px 24px; border:1px solid #EFEFEF; border-radius: 2px; display: block; overflow: hidden; box-sizing: border-box;}

section.topics div.area div.inner { width:100%; min-height:200px; max-height:600px; padding:0; display: block; overflow-y: scroll !important; box-sizing: border-box;}



/*スクロールバー全体*/

section.topics div.area div.inner::-webkit-scrollbar { width: 6px !important; background-color: #EFEFEF !important;}

/*スクロールバーの軌道*/

section.topics div.area div.inner::-webkit-scrollbar-track { border-radius: 0 !important;}

/*スクロールバーの動く部分*/

section.topics div.area div.inner::-webkit-scrollbar-thumb { background-color: #40210f !important;}



section.topics div.area div.inner article { width:calc(100% - 20px); padding:16px 0; border-bottom: 1px dotted #DDD;}

section.topics div.area div.inner article:first-child { padding-top:0;}

section.topics div.area div.inner article:last-child { padding-bottom:0; border-bottom: none;}

section.topics div.area div.inner article p.date { margin:0 0 8px; font-size:14px; line-height:140%; letter-spacing: 0.05em;}

section.topics div.area div.inner article h1.article-title { margin:0 0 8px; font-size:20px; line-height:140%; letter-spacing: 0.05em;}

section.topics div.area div.inner article div.honbun {}



div.menu-list { width:100%; max-width:1160px; margin:0 auto 80px; padding:0 40px; display:block; overflow:hidden; box-sizing: border-box;}

div.menu-list ul { width:100%; display:block; overflow:hidden; box-sizing: border-box;}

div.menu-list ul li { float:left; width:calc((100% - 81px) / 3); margin:0 40px 0 0; display:block; overflow:hidden; box-sizing: border-box;}

div.menu-list ul li:nth-child(3n) { margin-right:0;}

div.menu-list ul li a {}

div.menu-list ul li a div.thum { width:100%; margin:0 0 16px; border:1px solid #EFEFEF; display: block; overflow: hidden; box-sizing: border-box; position: relative;}

div.menu-list ul li a div.thum img { width:100%; heigth:auto; display: block; overflow: hidden; box-sizing: border-box;}

div.menu-list ul li a div.thum h2 { width:calc(100% - 40px); text-align: center; font-size:20px; line-height: 140%; text-shadow: 0 0 4px #FFF; position: absolute; bottom:20px; left:20px;}

div.menu-list ul li a div.thum h2 span { display: block; overflow: hidden; font-size:14px; line-height: 140%;}

div.menu-list ul li a p.explain { min-height:76px; margin:0 0 16px; line-height:180%;}

div.menu-list ul li a p.btn { width:100%; height:50px; border-radius: 4px; margin:0 auto; display: block; overflow: hidden; text-align: center; font-size:14px; line-height:140%; color:#FFF; background-color: #40210f;  box-sizing: border-box; position: relative;}

div.menu-list ul li a:hover p.btn { background-color: #ff3366;}

div.menu-list ul li a p.btn::before { content: "▼"; display: block; font-size:10px; position: absolute; top:50%; right:24px; transform: translateY(-50%);}

div.menu-list ul li a p.btn span { width:100%; position: absolute; top:50%; left:50%; transform: translate(-50%, -50%);}





.ring {

	padding-top: 60px;

}

.ring.er .inner{

	border-top: 1px solid #40210f;

	padding-top: 65px;

}

.ring .ttl {

	font-size: 3.3rem;

	letter-spacing: 5px;

	margin-bottom: 20px;

	text-align: center;

}

.ring .ttl span {

	display: block;

	font-size: 1.6rem;

	letter-spacing: 0.5px;

	margin-top: 10px;

	text-align: center;

}

.ring .message {

	font-size: 1.6rem;

	margin-bottom: 55px;

	text-align: center;

}

.ring .itemList {

	display: flex;

	flex-wrap: wrap;

	margin: 0 auto;

	max-width: 962px;

}

.ring .itemList li { width:calc((100% - 81px) / 3); margin:0 40px 40px 0;}

.ring .itemList li:nth-child(3n) { margin-right: 0;}

.ring .itemList li:nth-child(3n+1) { clear: both;}

.ring .itemList li img { width: 100%;}

.ring .itemList li h3 { margin:16px 0 6px; font-size:16px; line-height:140%; letter-spacing: 0.05em;}

.ring .itemList p {

	margin:0;

}

.ring .itemList h3 .new { font-size:14px; line-height:140%;

	color: #ff0000;

	margin-right: 5px;

}

.ring .itemList p .ct {

	margin-right: 12px;

}

.ring .itemList p .pt {

	margin-right: 25px;

}

.ring .itemList p .male {

	margin-right: 25px;

}

.ring .visualImg {

	margin: 100px 0 65px;

	text-align: center;

}

.ring.mr .inner{

	border-bottom: 1px solid #b3b3b3;

	margin-bottom: 60px;

	padding-bottom: 140px;

}



.ring a.btn-shop { width:100%; max-width:420px; height:60px; border-radius: 4px; margin:20px auto 0; display: block; overflow: hidden; text-align: center; font-size:16px; line-height:140%; color:#FFF; background-color: #40210f;  box-sizing: border-box; position: relative;}

.ring a.btn-shop:hover { background-color: #ff3366;}

.ring a.btn-shop::before { content: ""; width:24px; height:20px; display: block; overflow: hidden; background: url("../images/bg_btn_cart@2x.png") no-repeat; background-size: cover; box-sizing: border-box; position: absolute; top:50%; right:40px; transform: translateY(-50%);}

.ring a.btn-shop span { width:100%; position: absolute; top:50%; left:50%; transform: translate(-50%, -50%);}





@media screen and (max-width: 767px) {

div.topslide-wrap { margin:0 0 28px;}

div.topslide { width:100vw;}

div.topslide img { width:100vw; object-fit: unset; }



div.open { margin:0 0 40px; padding:0 20px;}

div.open p { font-size:14px; line-height:200%; letter-spacing: 0em;}



section.topics { padding:0 20px; margin:0 auto 60px;}

section.topics h1.topics-title { font-size: 20px; letter-spacing: 0.1em; margin-bottom: 20px;}

section.topics h1.topics-title span { margin:8px 0 0; font-size:14px; line-height:140%; letter-spacing: 0.05em}

section.topics div.area { padding:10px 10px 10px 14px;}

section.topics div.area div.inner { max-height:calc(100vw - 60px);}

section.topics div.area div.inner article { width:100%; padding:12px 0;}

section.topics div.area div.inner article p.date { margin:0 0 8px; font-size:12px; line-height:140%; letter-spacing: 0.05em;}

section.topics div.area div.inner article h1.article-title { margin:0 0 6px; font-size:18px; line-height:140%; letter-spacing: 0.05em;}

section.topics div.area div.inner article div.honbun {}



div.menu-list { margin-bottom:40px; padding:0 20px;}

div.menu-list ul {}

div.menu-list ul li { float:none; width:100%; margin:0 0 40px;}

div.menu-list ul li:last-child { margin-bottom:0;}

div.menu-list ul li a {}

div.menu-list ul li a div.thum { margin:0 0 12px;}

div.menu-list ul li a div.thum h2 { font-size:18px; line-height: 140%;}

div.menu-list ul li a div.thum h2 span { font-size:12px; line-height: 140%;}

div.menu-list ul li a p.explain { min-height:auto; margin:0 0 12px; font-size:12px; line-height:180%;}

div.menu-list ul li a p.btn { height:40px; font-size:12px; line-height:140%;}

div.menu-list ul li a p.btn::before { right:12px;}





	.ring {

		padding-top: 40px;

	}

	.ring.er .inner {

		padding: 50px 0 0;

		margin: 0 5%;

	}

	.ring .ttl {

		font-size: 2.4rem;

		letter-spacing: 3px;

	}

	.ring .ttl span {

		font-size: 1.4rem;

	}

	.ring .visualImg img {

		width: 100%;

	}

	.ring .message {

		font-size: 1.2rem;

		letter-spacing: -1px;

	}

.ring .itemList li { width: calc((100% - 21px) / 2); margin:0 20px 20px 0;}

.ring .itemList li:nth-child(3n) { margin-right: 20px;}

.ring .itemList li:nth-child(3n+1) { clear: none;}

.ring .itemList li:nth-child(2n) { margin-right: 0;}

.ring .itemList li:nth-child(2n+1) { clear: both;}

.ring .itemList li img { width: 100%;}

.ring .itemList li h3 { margin:12px 0 2px; font-size:14px; line-height:140%; letter-spacing: 0.05em;}

.ring .itemList p { font-size: 1.2rem;}

	.ring .itemList h3 .new { font-size:12px; line-height:140%;

		display: block;

	}

	.ring .itemList p .male {

		margin-right: 10px;

	}

	.ring .visualImg {

		margin: 40px 0;

	}

	.ring .visualImg img {

		object-fit: cover;

		height: 280px;

		width: 100%;

	}

	.ring.mr .inner {

		margin: 0 5% 50px;

		padding: 0;

	}

	

.ring a.btn-shop { max-width:320px; height:50px; margin:0 auto 40px; font-size:12px; line-height:140%;}



}





.lineArea .visualImg {

	text-align: center;

}



.lineArea .inner{

	border-bottom: 1px solid #b3b3b3;

	padding-bottom: 40px;

}



.lineArea .btn {	

	background: #40210f;

	color: #fff;

	display: block;

	font-size: 1.8rem;

	margin: 30px auto 10px;

	max-width: 824px;

	padding: 32px 0 34px;

	text-align: center;

	width: 100%;

}

.lineArea .note {

	margin-bottom: 30px;

	text-align: center;

}



@media screen and (max-width: 767px) {

	.lineArea .visualImg img {

		object-fit: cover;

		height: 360px;

		width: 100%;

	}

	.lineArea .btn {

		padding: 40px 0;

		position: relative;

		top: -50px;

		margin-bottom: -50px;

	}

	.lineArea .inner {

		border-bottom: none;

		padding-bottom: 0;

	}

}



.access {

	margin: 40px 0;

}

.access .ttl {

	font-size: 3.6rem;

	letter-spacing: 15px;

	margin-bottom: 40px;

	text-align: center;

}

.access .map {

	margin: 0 auto;

	max-width: 966px;	

	width: 100%;

}

.access .map iframe{

	border: none;

	height: 472px;

	width: 100%;

	margin-bottom: 8px;

}

.access .img {

	text-align: center;

}

.access .logo{

	display: flex;

	justify-content: space-evenly;

	align-items: center;

}



@media screen and (min-width:768px){

	.access .container{

		display: flex;

		justify-content: center;

		align-items: center;

		margin-bottom: 70px;

	}

	.access .sma{

		display: none;

	}

	.access .logo{

		display: flex;

		flex-direction: column;

		gap: 26px;

		width: 114px;

	}

	.access .logo_sb{

		width: 100%;

		height: auto;

	}

	.access .logo_sa{

		width: 50%;

		height: auto;

	}

	.access .shop_logo{

		width: 100%;

		height: 100%;

		object-fit: cover;

	}

	.access .shop{

		padding-left: 64px;

	}

	.access .sns{

		display: flex;

		text-align: center;

		justify-content: space-between;

		gap: 22px;

	}

	.access .sns_link{

		padding-top: 18px;

	}

	.access .img{

		display: flex;

		justify-content: center;

	}

}

@media screen and (max-width: 767px) {

	.access .container{

		margin-bottom: 25px;

	}

	.access .sma{

		display: block;

	}

	.access .logo{

		margin-bottom: 17px;

	}

	.access .logo_sb{

		width: 140px;

	}

	.access .logo_sa{

		width: 77px;

	}

	.access .shop_logo{

		object-fit: cover;

		width: 100%;

	}

	.access .sns{

		padding-top: 41px;

		padding-left: calc(50% - 115px);

	}

	.access .sns_link{

		margin-bottom: 17px;

	}

	.access .ttl {

		font-size: 2.4rem;

	}

	.access .img{

		display: flex;

		justify-content: center;

	}

	.access .shopTitle{

		text-align: center;

	}

	.access .shopAddress{

		text-align: center;

	}

	.access .photo_sb{

		width: 61.11vw;

	}

	.access .photo_sa{

		width:  calc(100% - 61.11vw);

	}

	.access .map iframe{

		height: 295px;

		margin-bottom: 35px;

	}

}



.access .shopTitle{

	font-size: 15px;

	font-weight:700;

	margin-bottom: 1.9px;

}

.access .shopAddress{

	/* font-size: 13px; */

	line-height: 1.9;

}

.access .sns_link{

	display: flex;

	align-items: center;

}

.access .sns_txt{

	padding-left: 9px;

}

.access .sns_txt span{

font-weight: 700;

}

.access .icon_sp{

	width: 37px;

	}

.access .icon{

		object-fit: cover;

		width: 100%;

		height: 100%;

	}



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

*  フッタ

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



#footer {

	padding: 10px 0 0;

	position: relative;	

}



#footer .sns {

	display: flex;

	justify-content: center;

	margin-bottom: 20px;

}

#footer .sns li {

	height: 90px;

	margin: 0 15px;

}

#footer .sns li:last-child {

	margin-left: 10px;

}

#footer .sns li img {

	height: 100%;

	width: auto;

}



#footer .logo {

	margin-bottom: 20px;

	text-align: center;

}

#footer .logo img {

	max-width: 325px;

}

#footer .address {

	font-size: 1.4rem;

	line-height: 1.7;

	margin-bottom: 30px;

	text-align: center;

}

#footer .privacy {

	max-width: 695px;

	margin: 0 auto;

	width: 100%;

}

#footer .privacy .ttl {

	font-size: 1.4rem;

	font-weight: 500;

	margin-bottom: 5px;

	text-align: center;

}

#footer .privacy p {

	font-size: 1.2rem;

	line-height: 1.8;

}



#footer .copyright {

	background: #42210b;

	margin-top: 125px;

	padding: 5px 0;	

}

#footer .copyright p {

	color: #fff;

	font-size: 1.2rem;

	text-align: center;

}

@media screen and (max-width: 767px) {

	#footer .sns li {

		height: 70px;

	}

	#footer .logo img {

		width: 100%;

	}

}

.fixedBtn {

	bottom: 20px;

	left: 0;

	opacity: 0;

	pointer-events: none;

	position: fixed;

	transition: 0.3s;

	width: 100%;

}



.fixedBtn ul {

	align-items: center;

	display: flex;

}

.fixedBtn ul li {	

	background: #40210f;

	border-radius: 5px;

	text-align: center;

	height: 62px;

	width: 49.5%;

}

.fixedBtn ul li.tel {

	position: relative;

}

.fixedBtn ul li.tel{

	margin-left: 1%;

}

.fixedBtn a {

	align-items: center;

	justify-content: center;

	flex-wrap: wrap;

	color: #fff;

	display: flex;	

	height: 100%;

	width: 100%;

	font-size: 1.6rem;

	text-align: center;

}

.fixedBtn span {

	display: inline-block;

	position: relative;

	padding: 0 25px 0 40px;

}

.fixedBtn .tel span.pc {

	padding-left: 30px;

	padding-right: 0;

}



.fixedBtn span:before, .fixedBtn span:after {

	content: '';

	display: block;

	position: absolute;

}

.fixedBtn .line span:before {

	background: url("../images/ico_footer_line.png") no-repeat;

	background-size:cover;

	height: 26px;

	width: 28px;

	left: 0;

	top: calc(50% - 13px);

}

.fixedBtn .line span:after, .fixedBtn .tel span.sp:after {

	background: url("../images/ico_arrow.png") no-repeat;

	background-size: cover;

	height:13px;

	width: 13px;

	position: absolute;

	right: 0;

	top: calc(50% - 6px);

}





.fixedBtn .tel span:before {

	background: url("../images/ico_footer_tel.png") no-repeat;

	background-size:cover;

	height: 23px;

	width: 18px;

	left: 0;

	top: calc(50% - 11px);

}



@media screen and (max-width: 767px) {

	.fixedBtn {

		bottom: 10px;

	}

	.fixedBtn .inner {

		padding: 0 1%;

	}

	.fixedBtn ul {

		justify-content: center;

	}

	.fixedBtn ul li {

		height: 48px;

	}

	.fixedBtn a {

		font-size: 1.2rem;

	}

	.fixedBtn .line a span{

		white-space: nowrap;

		padding: 0 20px 0 25px;

	}

	.fixedBtn .line span:before {

		width: 19px;

		height: 18px;

		top: calc(50% - 8px);

	}

	.fixedBtn .tel span {

		padding: 0 20px 0 15px;

	}

	.fixedBtn .tel span:before {

		width: 12px;

		height: 16px;

		top: calc(50% - 7px);

	}

}

.fixedBtn.on {

	opacity: 1;

	pointer-events: auto;

}

.fixedBtn.foot {

	bottom: 40px;

}

@media screen and (max-width: 767px) {

	.fixedBtn.foot {

		padding-bottom: 20px;

	}

}



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

    汎用アイテム

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

.flex {

	display: flex;

	align-items: center;

	flex-wrap: wrap;

}



.flex.bw {

	justify-content: space-between;

}

.flex.cnt {

	justify-content: center;

}

.flex.fdr {

	flex-direction: column-reverse;	

}



@media screen and (max-width: 767px) {

	.flex {

		display: block;

	}

}



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

    clearfix

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



.cf:after{

  content: ".";

  display: block;

  height: 0;

  font-size:0;

  clear: both;

  visibility:hidden;

}



.cf {display: inline-block;}



/* Hides from IE Mac */

* html .cf {height: 1%;}

.cf {display:block;}

/* End Hack */





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

    sp/pc

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



@media screen and (min-width:768px) {

.sp {

	display: none!important;

}

}



@media screen and (max-width:767px) {

.pc {

	display: none!important;

}

}











