@charset "utf-8";

main {
	width: 100%;
}
header {
	background: #323232;
}
header h1 {
	color: #fff;
	text-align: center;
}

/* indexSlider
-------------------------------------------------- */
.indexSlider {
}
.indexSlider .indexSlider_list {
}
.indexSlider .indexSlider_listItem {
}
.indexSlider .indexSlider_image {
	display: block;
}

/* entrance
-------------------------------------------------- */
.entrance {
}
.entrance .entrance_shopinfo {
}
.entrance .entrance_logoimage {
	display: block;
}
.entrance .entrance_shopname {}
.entrance .entrance_shoptime {
	font-family: var(--secondary-font-family);
}
.entrance .entrance_shoptime:before {
	content: 'OPEN.';
}
.entrance .entranceInn {
}
.entrance .entranceBtn {
	font-family: var(--secondary-font-family);
	color: #fff;
}
.entrance .entranceBtn.enter {
	background: var(--main-color);
}
.entrance .leaveIcon {
	fill: #bbb;
}
.entrance .entranceBtn.leave {
	background: #888;
}
.entrance .entrance_text {
	color: #888;
}

/* vanilla_box
----------------------------------- */
.vanilla_box {
	text-align: center;
}
.vanilla_box a {
	display: inline-block;
}
.vanilla_box img {
	display: block;
}

/* city_items
----------------------------------- */
.city_items {
}
.city_items .city_item {
}
.city_items .city_link {
	font-family: var(--secondary-font-family);
	font-weight: bold;
	color: #fff;
	border-radius: 5px;
}
.city_items .city_link small {
	display: block;
}
.city_link.cityheaven {
	background: var(--main-color);
}
.city_link.girlsheaven {
	background: #ed687d;
}
.city_link.jobheaven {
	background: #369;
}

/* bannerList
-------------------------------------------------- */
.bannerList {
}
.bannerList .bannerListItem {
	display: flex;
	justify-content: center;
}
.bannerList .bannerLink {}
.bannerList .bannerImage {
	border: 1px solid #ccc;
}

/* sitebannerList
-------------------------------------------------- */
.sitebannerList {}
.sitebannerList .sitebannerListItem {
	display: flex;
	justify-content: center;
}
.sitebannerList .sitebannerListItem a {
	display: inline-block;
}
.sitebannerList .sitebannerListItem img {
	display: block;
}

/* crosslinkList
-------------------------------------------------- */
.crosslinkList {
}
.crosslinkList .crosslinkListItem {}
.crosslinkList .crosslinkLink {
	display: block;
}
.crosslinkList .crosslinkImage {
	display: block;
	width: 88px;
	height: 31px;
	object-fit: cover;
}
.crosslinkList .crosslinkSitename {
	color: var(--main-color);
	text-align: center;
	text-decoration: underline;
	word-wrap: break-word;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* sougolink
-------------------------------------------------- */
.sougolink {
	background: var(--main-color_02);
}
.sougolink .sougolinkTitle {
}
.sougolink .sougolinkList {
}
.sougolink .sougolinkListItem {
}
.sougolink .sougolinkListItem01 {
}
.sougolink .sougolinkSize {
}
.sougolink .sougolinkImage {
	display: block;
}
.sougolink .sougolinkListItem02 {
}
.sougolink .copy_btn {
	appearance: none;
    outline: none;
	color: #fff;
	background: var(--main-color);
	border: 1px solid var(--main-color);
	cursor: pointer;
}


/* --------------------------------------------------
PC
-------------------------------------------------- */
@media screen and (min-width: 768px) {
	header {
		padding: 5px 0;
	}
	header h1 {
		font-size: 14px;
		font-weight: bold;
	}

	/* indexSlider
	-------------------------------------------------- */
	.indexSlider {
		border-top: 5px solid var(--main-color);
		border-bottom: 10px solid var(--main-color);
	}
	.indexSlider .indexSlider_list {
		height: 320px;
		overflow: hidden;
	}
	.indexSlider .indexSlider_listItem {
		width: 240px !important;
	}
	.indexSlider .indexSlider_image {
		display: block;
		width: 240px;
		height: 320px;
		object-fit: cover;
	}

	/* entrance
	-------------------------------------------------- */
	.entrance {
		padding: 80px 0 40px;
	}
	.entrance .entrance_shopinfo {
		margin-bottom: 30px;
	}
	.entrance .entrance_logoimage {
		display: block;
		width: 400px;
		margin: 0 auto 40px;
	}
	.entrance .entrance_shopname {
		font-size: 22px;
		text-align: center;
		margin-bottom: 5px;
	}
	.entrance .entrance_shoptime {
		font-size: 21px;
		text-align: center;
	}
	.entrance .entrance_shoptime:before {
		font-size: 20px;
	}
	.entrance .entranceInn {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
	}
	.entrance .entranceBtn {
		width: 260px;
		font-size: 24px;
		font-weight: bold;
		text-align: center;
		border-radius: 5px;
		padding: 12px 0;
	}
	.entrance .entranceBtn.enter {
	}
	.entrance .leaveIcon {
		width: 60px;
		margin: 0 30px;
	}
	.entrance .entranceBtn.leave {
	}
	.entrance .entrance_text {
		font-size: 14px;
		text-align: center;
	}

	/* vanilla_box
	----------------------------------- */
	.vanilla_box {
		margin-bottom: 40px;
	}
	.vanilla_box a {
	}
	.vanilla_box img {
	}

	/* city_items
	----------------------------------- */
	.city_items {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		width: 50%;
		min-width: 800px;
		margin: 0 auto 40px;
	}
	.city_items .city_item {
		width: 30%;
		margin: 0 8px;
	}
	.city_items .city_link {
		display: flex;
		flex-direction: column;
		align-items: center;
    	justify-content: center;
		font-size: 22px;
		line-height: 1;
		padding: 12px 0;
	}
	.city_items .city_link small {
		font-size: 12px;
		margin-top: 2px;
	}
	.city_link.cityheaven {
	}
	.city_link.girlsheaven {
	}
	.city_link.jobheaven {
	}

	/* bannerList
	-------------------------------------------------- */
	.bannerList {
		margin-bottom: 30px;
	}
	.bannerList .bannerListItem {
		width: 468px;
		margin: 0 auto 10px;
	}
	.bannerList .bannerListItem:last-child {
		margin-bottom: 0;
	}
	.bannerList .bannerLink {}
	.bannerList .bannerImage {
		width: 100%;
	}

	/* sitebannerList
	-------------------------------------------------- */
	.sitebannerList {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		width: 956px;
		margin: 0 auto;
	}
	.sitebannerList .sitebannerListItem {
		margin: 0 5px 10px;
	}
	.sitebannerList .sitebannerListItem:last-child {
		margin-bottom: 0;
	}
	.sitebannerList .sitebannerListItem a {}
	.sitebannerList .sitebannerListItem img {
		border: none;
	}

	/* crosslinkList
	-------------------------------------------------- */
	.crosslinkList {
		width: 1024px;
		display: flex;
		flex-wrap: wrap;
		margin: 120px auto 80px;
	}
	.crosslinkList .crosslinkListItem {
		width: 120px;
		margin: 0 4px 16px;
	}
	.crosslinkList .crosslinkLink {
		width: 100%;
	}
	.crosslinkList .crosslinkImage {
		margin: 0 auto 5px;
	}
	.crosslinkList .crosslinkSitename {
		font-size: 12px;
		line-height: 1.3;
	}
	.crosslinkList .crosslinkLink:hover .crosslinkSitename {
		color: #0184aa;
		text-decoration: none;
	}

	/* sougolink
	-------------------------------------------------- */
	.sougolink {
		margin-top: 40px;
		padding: 50px 0;
	}
	.sougolink .sougolinkTitle {
		font-size: 20px;
		text-align: center;
	}
	.sougolink .sougolinkList {
		width: 800px;
		margin: 0 auto;
	}
	.sougolink .sougolinkListItem {
		display: flex;
		align-items: flex-end;
		border-bottom: 1px solid var(--main-color_02);
		padding: 15px 20px 20px;
	}
	.sougolink .sougolinkListItem:last-child {
		border-bottom: none;
	}
	.sougolink .sougolinkListItem01 {
		margin-right: 10px;
	}
	.sougolink .sougolinkSize {
		font-size: 14px;
		font-weight: bold;
		margin-bottom: 3px;
	}
	.sougolink .sougolinkImage {
		box-shadow: 1px 1px 5px rgba(0,0,0,0.2);
	}
	.sougolink .sougolinkListItem02 {
	}
	.sougolink .copy_btn {
		font-size: 12px;
        padding: 6px 10px;
	}

	footer {
	  margin-top: 0 !important;
	}
}


/* --------------------------------------------------
スマホ
-------------------------------------------------- */
@media all and (max-width: 767px) {

	header {
		position: initial;
		height: 4.5vw;
		border-bottom: none;
		box-shadow: none;
		-webkit-box-shadow: none;
		-moz-box-shadow: none;
		padding: 0.75vw 0;
	}
	header h1 {
		font-size: 2.75vw;
		background: none;
	}
	main {
		padding-top: 0;
	}

	/* indexSlider
	-------------------------------------------------- */
	.indexSlider {
		border-top: 2vw solid var(--main-color);
		border-bottom: 2vw solid var(--main-color);
	}
	.indexSlider .indexSlider_list {
		height: 42vw;
		overflow: hidden;
	}
	.indexSlider .indexSlider_listItem {
		width: 31.5vw !important;
	}
	.indexSlider .indexSlider_image {
		display: block;
		width: 31.5vw;
		height: 42vw;
		object-fit: cover;
	}

	/* entrance
	-------------------------------------------------- */
	.entrance {
		padding: 8vw 0 12vw;
	}
	.entrance .entrance_shopinfo {
		margin-bottom: 6.67vw;
	}
	.entrance .entrance_logoimage {
		display: block;
		width: 90vw;
		margin: 0 auto 5vw;
	}
	.entrance .entrance_shopname {
		font-size: 4.25vw;
		text-align: center;
		margin-bottom: 0.5vw;
	}
	.entrance .entrance_shoptime {
		font-size: 5vw;
		text-align: center;
	}
	.entrance .entrance_shoptime:before {
		font-size: 4vw;
	}
	.entrance .entranceInn {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 5.5vw;
	}
	.entrance .entranceBtn {
		width: 80vw;
		font-size: 5.5vw;
		text-align: center;
		border-radius: 5px;
		padding: 2vw 0;
	}
	.entrance .entranceBtn.enter {
	}
	.entrance .leaveIcon {
		width: 12.5vw;
		margin: 2.5vw 0;
	}
	.entrance .entranceBtn.leave {
	}
	.entrance .entrance_text {
		font-size: 3vw;
		text-align: center;
	}

	/* vanilla_box
	----------------------------------- */
	.vanilla_box {
		margin-bottom: 4vw;
		padding: 0 2vw;
	}
	.vanilla_box a {
	}
	.vanilla_box img {
		width: 100%;
	}

	/* city_items
	----------------------------------- */
	.city_items {
		display: flex;
		flex-direction: column;
		margin-bottom: 6vw;
		padding: 0 20vw;
	}
	.city_items .city_item {
		margin-bottom: 2vw;
	}
	.city_items .city_item:last-child {
		margin-bottom: 0;
	}
	.city_items .city_link {
		display: flex;
		flex-direction: column;
		align-items: center;
    	justify-content: center;
		font-size: 3.5vw;
		line-height: 1;
		padding: 2vw 0;
	}
	.city_items .city_link small {
		font-size: 2.5vw;
		margin-top: 2px;
	}
	.city_link.cityheaven {
	}
	.city_link.girlsheaven {
	}
	.city_link.jobheaven {
	}

	/* bannerList
	-------------------------------------------------- */
	.bannerList {
		margin-bottom: 4vw;
		padding: 0 2vw;
	}
	.bannerList .bannerListItem {
		margin-bottom: 10px;
	}
	.bannerList .bannerListItem:last-child {
		margin-bottom: 0;
	}
	.bannerList .bannerLink {}
	.bannerList .bannerImage {
		max-width: 100%;
	}

	/* sitebannerList
	-------------------------------------------------- */
	.sitebannerList {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 0 2vw;
	}
	.sitebannerList .sitebannerListItem {
		margin: 0 1vw 2vw;
	}
	.sitebannerList .sitebannerListItem:last-child {
		margin-bottom: 0;
	}
	.sitebannerList .sitebannerListItem a {}
	.sitebannerList .sitebannerListItem img {
		max-width: 100%;
	}

	/* crosslinkList
	-------------------------------------------------- */	
	.crosslinkList {
		display: flex;
		flex-wrap: wrap;
		margin: 12vw auto 8vw;
		padding: 0 2vw;
	}
	.crosslinkList .crosslinkListItem {
		width: 31.33%;
		margin: 0 1% 4vw;
	}
	.crosslinkList .crosslinkLink {
		width: 100%;
	}
	.crosslinkList .crosslinkImage {
		margin: 0 auto 1vw;
	}
	.crosslinkList .crosslinkSitename {
		font-size: 3vw;
		line-height: 1.3;
	}

	/* sougolink
	-------------------------------------------------- */
	.sougolink {
		margin-top: 10vw;
		padding: 5vw 0;
	}
	.sougolink .sougolinkTitle {
		font-size: 4vw;
		text-align: center;
		font-weight: normal;
	}
	.sougolink .sougolinkList {
	}
	.sougolink .sougolinkListItem {
		border-bottom: 1px solid var(--main-color_02);
		padding: 4vw 5vw;
	}
	.sougolink .sougolinkListItem:last-child {
		border-bottom: none;
	}
	.sougolink .sougolinkListItem01 {
		margin-bottom: 2.5vw;
	}
	.sougolink .sougolinkSize {
		font-size: 3.5vw;
		font-weight: bold;
		margin-bottom: 0.75vw;
	}
	.sougolink .sougolinkImage {
		max-width: 100%;
		box-shadow: 1px 1px 5px rgba(0,0,0,0.2);
	}
	.sougolink .sougolinkListItem02 {
	}
	.sougolink .copy_btn {
		font-size: 3vw;
        padding: 2.5vw 4vw;
	}

	footer {
		margin-top: 0 !important;
	}
}
