@charset "UTF-8";

/* ===============
店舗一覧
================*/
main .shoplist_index {
	width: 100%;
	margin: 20px auto;
}
main .shoplist_item {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 0 60px 0;
}
main .shoplist_item .shoplistitem_left {
	flex-basis: 45%;
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
main .shoplist_item .shoplistitem_img {
	height: 250px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	opacity: 0;
    position: relative;
   transition:all .5s .3s ease; 
   z-index: 0;
}
main .shoplist_item .shoplistitem_img:before {
    background: #bf3461;
    content: '';
    display: block;
    height: 250px;
    position: absolute;
    transform: translateX(-101%);
    transition: all 1.5s 0s ease; 
    width: 100%;
    z-index: 1; 
}

main .shoplist_item .shoplistitem_img.active {
  opacity: 1;
	width: 100%;
}
main .shoplist_item .shoplistitem_img.active:before {
  transform: translateX(101%); 
}

main .shoplist_item .shoplistitem_img a img {
	width: 100%;
	height: auto;
	margin: 0;
	transform: scale(1,1);
	transition: 0.2s all ease 0s;
}
main .shoplist_item .shoplistitem_img a:hover img {
	transform: scale(1.2,1.2);
	transition: 0.2s all ease 0s;
	overflow: hidden;
}
main .shoplist_item .shoplistitem_left h3 {
	flex-basis: calc(100% - 50px);
	height: 44px;
	background-color: #bf3461;
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	padding: 10px 0 10px 12px;
	margin: 0;
}
main .shoplist_item .shoplistitem_left .sholistitem_link a {
	flex-basis: 50px;
	width: 50px;
	height: 44px;
	display: block;
	background: url("../images/common/arrow_right_w.svg") no-repeat center center #000;
	background-size: 25px;
	text-indent: -9999px;
	transition: 0.2s all ease 0s;
}
main .shoplist_item .shoplistitem_left .sholistitem_link a:hover {
	background: url("../images/common/arrow_right_w.svg") no-repeat center center #9F9F9F;
	background-size: 30px;
	transition: 0.2s all ease 0s;
}
main .shoplist_item .shoplistitem_img img {
	width: 100%;
	height: auto;
}
main .shoplist_item .shoplistitem_txt {
	flex-basis: 52%;
}

main .shoplist_item .shoplistitem_txt dl {
	border-top: 1px solid #333;
	color: #333;
	font-size: 14px;
}
main .shoplist_item .shoplistitem_txt dl dt {
	float: left;
	clear: both;
	width: 140px;
	white-space: nowrap;
	padding: 6px 0;
	font-weight: 600;
}
main .shoplist_item .shoplistitem_txt dl dt:before {
	content: "■ ";
}
main .shoplist_item .shoplistitem_txt dl dt:lang(en):before {
	content: ""!important;
}
main .shoplist_item .shoplistitem_txt dl dd {
	padding: 6px 0 6px 150px;
	border-bottom: 1px solid #333;
	line-height: 1.6;
}
main .shoplist_item .shoplistitem_txt dl dd a {
	color: #333;
}

main .shoplist_item .shoplistitem_txt dl dd .link_contact {
	display: inline-block;
	border: 1px solid #bf3461; 
	text-align: center;
	font-size: 14px;
	margin-left: 14px;
}
main .shoplist_item .shoplistitem_txt dl dd .link_contact a {
	display: block;
	padding: 4px 8px;
	color: #df5382; 
}
main .shoplist_item .shoplistitem_txt dl dd .link_contact a:hover {
	background-color: #bf3461;
	color: #fff;
	transition: 0.2s all ease 0s;
}

/* ===============
店舗紹介
================*/
main .shop_topimage {
	clear: both;
	width: 1000px;
	height: 466px;
	margin: 0 auto 30px auto;
	position: relative;
	overflow: hidden;
}
main .shop_topimage .btn_shopinn {
	position: absolute;
	top: 10px;
	right: 10px;
	display: inline-block;
}
main .shop_topimage .btn_shopinn a {
	display: block;
	width: 150px;
	padding: 12px 30px 12px 12px;
	text-align: left;
	color: #fff;
	border: 1px solid #fff;
	transition: 0.2s all ease 0s;
	font-weight: bold;
	background: url("../images/common/icon_enter.svg") no-repeat 93% center #bf3461;
	background-size: 30px;
}
main .shop_topimage .en_shopin a {
	width: 160px;
	padding: 12px 30px 12px 8px;
}
main .shop_topimage .btn_shopinn a:hover {
	background: url("../images/common/icon_enter.svg") no-repeat 93% center #FF7FB8;
	background-size: 30px;
	transition: 0.2s all ease 0s;
}
	
/* ===============
.shopimg_index
================*/
main .shopimg_index {
	width: 1000px;
	margin: 30px auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
main .shopimg_index .shopimg_item {
	flex-basis: 48%;
	width: 100%;
	margin-bottom: 30px;
	display: flex;
	justify-content: space-between;
}
main .shopimg_index .shopimg_item .shopimgitem_img {
	flex-basis: 255px;
	height: 170px;
	padding: 0;
	overflow: hidden;
display: block;
	opacity: 0;
    position: relative;
   transition:all .5s .3s ease; 
   z-index: 0;
	border-top: 8px solid #bf3461; 
}
main .shopimg_index .shopimg_item .shopimgitem_img:before {
    background: #bf3461;
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    transform: translateX(-101%);
    transition: all 1.5s 0s ease; 
    width: 100%;
    z-index: 1; 
}
main .shopimg_index .shopimg_item .shopimgitem_img.active {
  opacity: 1;
	width: 100%;
}
main .shopimg_index .shopimg_item .shopimgitem_img.active:before {
  transform: translateX(101%); 
}
main .shopimg_index .shopimg_item .shopimgitem_img img {
	width: 100%;
	height: auto;
	margin: 0;
	transform: scale(1,1);
	transition: 0.2s all ease 0s;
}

main .shopimg_index .shopimg_item .shopimgitem_txt {
	flex-basis: 210px;
}
main .shopimg_index .shopimg_item .shopimgitem_txt p {
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: -0.03em;
}
main .shopimg_index .shopimg_item .shopimgitem_txt p:lang(en) {
	text-align: left;
}

/* ===============
.shop_insta
================*/
main .shop_insta {
	width: 100%;
	margin: 40px auto 0 auto;
	padding: 40px 0 40px 0;
}
main .shop_insta .inner {
	width: 1000px;
	margin: 0 auto;
}
main .shop_insta h2 {
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-bottom: 10px;
	font-family: 'Noto Sans JP', "Hiragino Sans", '游ゴシック体','游ゴシック', YuGothic,"Hiragino Kaku Gothic ProN", sans-serif;
	color: #949494;
}


/* ===============
.shop_info
================*/
main .shop_info {
	width: 100%;
	margin: 40px auto 0 auto;
	background-color: #efefef;
	padding: 40px 0 40px 0;
	overflow: hidden;
}
main .shop_info .inner {
	width: 1000px;
	margin: 0 auto;
}
main .shop_info h2 {
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-bottom: 10px;
	font-family: 'Noto Sans JP', "Hiragino Sans", '游ゴシック体','游ゴシック', YuGothic,"Hiragino Kaku Gothic ProN", sans-serif;
	color: #949494;
}
main .shop_info .shopinfo_area {
	width: 1000px;
	display: flex;
	justify-content: space-between;
}
main .shop_info .shopinfo_area .shopinfo_map {
	flex-basis: 47%;
	width: 100%;
	position: relative;
	margin-bottom: 40px;
}
main .shop_info .shopinfo_area .shopinfo_map iframe {
	width: 100%;
	height: 310px;
	position: absolute;
}
main .shop_info .shopinfo_area .shopinfo_detail {
	flex-basis: 49%;
	width: 100%;
}
main .shop_info .shopinfo_area .shopinfo_detail dl {
	border-top: 1px solid #333;
	color: #333;
	font-size: 14px;
	margin-bottom: 40px;
}
main .shop_info .shopinfo_area .shopinfo_detail dl dt {
	float: left;
	clear: both;
	width: 140px;
	white-space: nowrap;
	padding: 6px 0;
	font-weight: 600;
	line-height: 1.6;
}
main .shop_info .shopinfo_area .shopinfo_detail dl dt:before {
	content: "■ ";
}
main .shop_info .shopinfo_area .shopinfo_detail dl dt:lang(en):before {
	content: ""!important;
}
main .shop_info .shopinfo_area .shopinfo_detail dl dd {
	padding: 6px 0 6px 150px;
	border-bottom: 1px solid #333;
	line-height: 1.6;
}
main .shop_info .shopinfo_area .shopinfo_detail dl dd:lang(en) {
	text-align: left;
}
main .shop_info .shopinfo_area .shopinfo_detail dl dd a {
	color: #333;
}

/* ==================
modal parts
===================== */
.modal-content {
  width: 760px;
	max-height: 700px;
  top: 45%;
  position:fixed;
  display:none;
  z-index:1003;
  margin: 0;
  background-color: #fff;
  overflow: auto;
	-webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
	overflow-y: auto;
	overflow-x: auto;
	text-align: center;
	border: 4px solid #bf3461;
}

.modal-content .modal_title h2 {
	width: 100%;
	font-size: 18px;
	font-weight: bold;
	color: #bf3461;
	text-align: center;
	margin: 20px auto;
}


.modal_contents {
	margin: 20px auto;
	width: 660px;
	overflow: hidden;
}

.flow_item {
	width: 100%;
	display: flex;
	justify-content: space-between;
}
.flow_item .flow_img {
	flex-basis: 240px;
	margin-right: 20px;
}
.flow_item .flow_txt {
	flex-basis: 400px;
}
.flow_arrow {
	width: 80px;
	margin: 10px auto;
}

.modal-overlay {
  z-index:1000;
  display:none;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-color:rgba(0,0,0,0.8);
}
.modal-open {
}
.modal-open:hover {
  cursor:pointer;
}
.closebtn:hover {
  cursor:pointer;
}
.modal-close {
  position: relative;
  width: 160px;
	margin: 20px auto;
	background-color: #bf3461;
	text-align: center;
	font-size: 16px;
	color: #fff;
	cursor: pointer;
	padding: 10px 0;
}


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

/* ===============
店舗一覧
================*/
main .shoplist_index {
	width: 90%;
	max-width: 360px;
	margin: 20px auto;
}
main .shoplist_item {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 0 60px 0;
}
main .shoplist_item .shoplistitem_left {
	flex-basis: 100%;
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
main .shoplist_item .shoplistitem_img {
	height: 210px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	opacity: 0;
    position: relative;
   transition:all .5s .3s ease; 
   z-index: 0;
}
main .shoplist_item .shoplistitem_img:before {
    background: #bf3461;
    content: '';
    display: block;
    height: 210px;
    position: absolute;
    transform: translateX(-101%);
    transition: all 1.5s 0s ease; 
    width: 100%;
    z-index: 1; 
}

main .shoplist_item .shoplistitem_img.active {
  opacity: 1;
	width: 100%;
}
main .shoplist_item .shoplistitem_img.active:before {
  transform: translateX(101%); 
}

main .shoplist_item .shoplistitem_img a img {
	width: 100%;
	height: auto;
	margin: 0;
	transform: scale(1,1);
	transition: 0.2s all ease 0s;
}
main .shoplist_item .shoplistitem_img a:hover img {
	transform: scale(1.2,1.2);
	transition: 0.2s all ease 0s;
	overflow: hidden;
}
main .shoplist_item .shoplistitem_left h3 {
	flex-basis: calc(100% - 50px);
	height: 44px;
	background-color: #bf3461;
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	padding: 10px 0 10px 12px;
	margin: 0;
}
main .shoplist_item .shoplistitem_left .sholistitem_link a {
	flex-basis: 50px;
	width: 50px;
	height: 44px;
	display: block;
	background: url("../images/common/arrow_right_w.svg") no-repeat center center #000;
	background-size: 25px;
	text-indent: -9999px;
	transition: 0.2s all ease 0s;
}
main .shoplist_item .shoplistitem_left .sholistitem_link a:hover {
	background: url("../images/common/arrow_right_w.svg") no-repeat center center #9F9F9F;
	background-size: 30px;
	transition: 0.2s all ease 0s;
}
main .shoplist_item .shoplistitem_img img {
	width: 100%;
	height: auto;
}
main .shoplist_item .shoplistitem_txt {
	flex-basis: 100%;
}

main .shoplist_item .shoplistitem_txt dl {
	border-top: 1px solid #333;
	color: #333;
	font-size: 14px;
}
main .shoplist_item .shoplistitem_txt dl dt {
	float: left;
	clear: both;
	width: 120px;
	white-space: nowrap;
	padding: 6px 0;
	font-weight: 600;
}
main .shoplist_item .shoplistitem_txt dl dt:lang(en) {
	line-height: 1.2;	
}
main .shoplist_item .shoplistitem_txt dl dt:before {
	content: "■ ";
}
main .shoplist_item .shoplistitem_txt dl dd {
	padding: 6px 0 6px 130px;
	border-bottom: 1px solid #333;
	line-height: 1.6;
	text-align: left;
}
main .shoplist_item .shoplistitem_txt dl dd:lang(en) {
	min-height: 3em!important;
	line-height: 1.2;
}
main .shoplist_item .shoplistitem_txt dl a {
	color: #333;
}
	
main .shoplist_item .shoplistitem_txt dl dd .link_contact {
	display: inline-block;
	border: 1px solid #bf3461; 
	text-align: center;
	font-size: 14px;
	margin-left: 14px;
}
main .shoplist_item .shoplistitem_txt dl dd .link_contact a {
	display: block;
	padding: 4px 8px;
	color: #bf3461; 
}
main .shoplist_item .shoplistitem_txt dl dd .link_contact a:hover {
	background-color: #bf3461;
	color: #fff;
	transition: 0.2s all ease 0s;
}

/* ===============
店舗紹介
================*/
main .shop_topimage {
	clear: both;
	width: 90%;
	height: auto;
	margin: 0 auto 10px auto;
	overflow: hidden;
}
main .shop_topimage .btn_shopinn {
	position: absolute;
	top: 6px;
	right: 6px;
	background: url("../images/common/icon_enter.svg") no-repeat 93% center #bf3461;
	background-size: 24px;
	display: inline-block;
}
main .shop_topimage .btn_shopinn a {
	display: block;
	width: 120px;
	padding: 8px 30px 8px 10px;
	text-align: left;
	color: #fff;
	border: 1px solid #fff;
	transition: 0.2s all ease 0s;
	font-weight: bold;
}
main .shop_topimage .btn_shopinn a:hover {
	background: url("../images/common/icon_enter.svg") no-repeat 93% center #FF7FB8;
	transition: 0.2s all ease 0s;
}
	
/* ===============
.shop_intro
================*/
main .shop_intro {
	width: 90%;
	margin: 0 auto 30px auto;	
}
main .shop_intro p {
	line-height: 1.5;
	letter-spacing: -0.03em;
}

/* ===============
.shopimg_index
================*/
main .shopimg_index {
	width: 90%;
	margin: 30px auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
main .shopimg_index .shopimg_item {
	flex-basis: 100%;
	width: 100%;
	margin-bottom: 10px;
	display: flex;
	justify-content: flex-start;
}
main .shopimg_index .item_en {
	display: block;
}
main .shopimg_index .shopimg_item .shopimgitem_img {
	flex-basis: 55%;
	width: 100%;
	max-width: 200px;
	height: 140px;
	padding: 0;
	overflow: hidden;
display: block;
	opacity: 0;
    position: relative;
   transition:all .5s .3s ease; 
   z-index: 0;
	border-top: 8px solid #bf3461; 
}
main .shopimg_index .item_en .shopimgitem_img {
	flex-basis: 100%;	
	width: 260px;
	max-width: 400px;
	height: auto;
	margin: 0 auto;
	}
main .shopimg_index .shopimg_item .shopimgitem_img:before {
    background: #bf3461;
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    transform: translateX(-101%);
    transition: all 1.5s 0s ease; 
    width: 100%;
    z-index: 1; 
}
main .shopimg_index .shopimg_item .shopimgitem_img.active {
  opacity: 1;
	width: 100%;
}
main .shopimg_index .shopimg_item .shopimgitem_img.active:before {
  transform: translateX(101%); 
}
main .shopimg_index .shopimg_item .shopimgitem_img img {
	width: 100%;
	height: auto;
	margin: 0;
	transform: scale(1,1);
	transition: 0.2s all ease 0s;
}

main .shopimg_index .shopimg_item .shopimgitem_txt {
	flex-basis: 42%;
	margin-left: 16px;
}
main .shopimg_index .item_en .shopimgitem_txt {
	flex-basis: 100%;	
	margin: 10px auto 30px auto;
}
main .shopimg_index .shopimg_item .shopimgitem_txt p {
	font-size: 13px;
	line-height: 1.5;
	letter-spacing: -0.03em;
}
main .shopimg_index .item_en .shopimgitem_txt p {
	text-align: left!important;
}

/* ===============
.shop_insta
================*/
main .shop_insta {
	width: 100%;
	margin: 40px auto 0 auto;
	padding: 40px 0 40px 0;
}
main .shop_insta .inner {
	width: 90%;
	margin: 0 auto;
}
main .shop_insta h2 {
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-bottom: 10px;
	font-family: 'Noto Sans JP', "Hiragino Sans", '游ゴシック体','游ゴシック', YuGothic,"Hiragino Kaku Gothic ProN", sans-serif;
	color: #949494;
	text-align: center;
}

/* ===============
.shop_info
================*/
main .shop_info {
	width: 100%;
	margin: 40px auto 0 auto;
	background-color: #efefef;
	padding: 40px 0 40px 0;
}
main .shop_info .inner {
	width: 90%;
	margin: 0 auto;
}
main .shop_info h2 {
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-bottom: 10px;
	font-family: 'Noto Sans JP', "Hiragino Sans", '游ゴシック体','游ゴシック', YuGothic,"Hiragino Kaku Gothic ProN", sans-serif;
	color: #949494;
	text-align: center;
}
main .shop_info .shopinfo_area {
	width: 90%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 auto;
}
main .shop_info .shopinfo_area .shopinfo_map {
	flex-basis: 100%;
	width: 100%;
	height: 270px;
	position: relative;
	margin: 0 auto 20px auto;
}
main .shop_info .shopinfo_area .shopinfo_map iframe {
	width: 100%;
	height: 270px;
	position: absolute;
}
main .shop_info .shopinfo_area .shopinfo_detail {
	flex-basis: 100%;
	width: 100%;
	margin: 0 auto;
}
main .shop_info .shopinfo_area .shopinfo_detail dl {
	border-top: 1px solid #333;
	color: #333;
}
main .shop_info .shopinfo_area .shopinfo_detail dl dt {
	float: left;
	clear: both;
	width: 120px;
	white-space: nowrap;
	padding: 6px 0;
	font-weight: 600;
}
main .shop_info .shopinfo_area .shopinfo_detail dl dt:lang(en) {
   line-height: 1.2;
}
main .shop_info .shopinfo_area .shopinfo_detail dl dt:before {
	content: "■ ";
}
main .shop_info .shopinfo_area .shopinfo_detail dl dd {
	padding: 6px 0 6px 130px;
	border-bottom: 1px solid #333;
	line-height: 1.6;
	text-align: left;
}
main .shop_info .shopinfo_area .detail_en dl dd {
	min-height: 3em!important;
	line-height: 1.2;
}
	
/* ==================
modal parts
===================== */
.modal-content {
  width: 80%;
	max-width: 900px;
	max-height: 500px;
  top: 40%;
  position:fixed;
  display:none;
  z-index:1003;
  margin: 0;
  background-color: #fff;
  overflow: auto;
	-webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
	overflow-y: auto;
	overflow-x: auto;
	text-align: center;
	border: 4px solid #bf3461;
}

.modal-content .modal_title h2 {
	width: 100%;
	font-size: 18px;
	font-weight: bold;
	color: #bf3461;
	text-align: center;
	margin: 20px auto;
}


.modal_contents {
	margin: 20px auto;
	width: 100%;
	overflow: hidden;
}

.flow_item {
	width: 80%;
	margin: 0 auto;
	display: block;
}
.flow_item .flow_img {
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
}
.flow_item .flow_txt {
	width: 100%;
}
.flow_arrow {
	width: 60px;
	margin: 10px auto;
}

.modal-overlay {
  z-index:1000;
  display:none;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-color:rgba(0,0,0,0.8);
}
.modal-open {
}
.modal-open:hover {
  cursor:pointer;
}
.closebtn:hover {
  cursor:pointer;
}
.modal-close {
  position: relative;
  width: 160px;
	margin: 20px auto;
	background-color: #bf3461;
	text-align: center;
	font-size: 16px;
	color: #fff;
	cursor: pointer;
	padding: 10px 0;
}
	
	
}
