@charset "UTF-8";
html {
 overflow-y: scroll;
}

.pc-container {
	width: 95%;
	max-width: 1500px;
	height: 100%;
	padding-right: 7.5px;
	padding-left: 7.5px;
	margin-right: auto;
	margin-left: auto;
}

.pc-main {
	max-width: 1100px;
	margin: 0 auto;
}

.pc-header {
	width: 100%;
	background-color: #EEDFFF;
	background-image: url("/img/pc/pc-header_2022.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto 100%;
	height: 36vw;
	max-height: 636px;
}

@supports (background-image: url("/img/pc/webp/pc-header_2022.webp")) {
	.pc-header {
		background-image: url("/img/pc/webp/pc-header_2022.webp");
	}
}

.pc-header > div.pc-container {
	height: calc(100% - 65px - 30px);
	width: 95%;
	max-width: 1600px;
}

.pc-header > div.pc-container .pc-catch-group {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	height: 100%;
}

.pc-header > div.pc-container .pc-catch-group .pc-catch-group-left {
	flex: 0 0 50%;
	text-align: center;
	display: block;
	position: relative;
	left: -3%;
}

.pc-header > div.pc-container .pc-catch-group .pc-catch-group-left img.nonmember-catch {
	width: 100%;
	height: auto;
}

.pc-header > div.pc-container .pc-catch-group .pc-catch-group-left img.nonmember-girls-thum {
	width: 65%;
	height: auto;
}

.pc-header > div.pc-container .pc-catch-group .pc-catch-group-left img.nonmember-header-point {
	margin-top: 10%;
	width: 70%;
}

.pc-header > div.pc-container .pc-catch-group .pc-catch-group-right {
	flex: 0 0 20%;
}

.pc-header > div.pc-container .pc-catch-group .pc-catch-group-right img.pc-smartphone {
	width: 100%;
}

section.qrcode {
	text-align: center;
	padding: 15px 0 30px;
}

section.qrcode .section-inner {
	max-width: 694px;
	margin: 0 auto;
	width: 68%;
}

section.present .content-info .section-inner {
	max-width: 500px;
	min-width: 450px;
	margin: 15px auto;
	width: 90%;
}

.qrcode-bg {
	position: relative;
	width: 100%;
	padding-top: 1.5%;
}

.qrcode-bg img.qrcode-bg-img {
	width: 100%;
	vertical-align: bottom;
	border-radius: 1rem;
}

.qrcode-bg .qrcode-img {
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	width: 100%;
	text-align: right;
}

.qrcode-bg .qrcode-img img.qrcode {
	position: relative;
	right: -12%;
	bottom: 9%;
	height: 76%;
	border-radius: 1rem;
}

section.present .content-info .qrcode-bg .qrcode-img img.qrcode {
	bottom: 12%;
	height: 70%;
}

.qrcode-bg .qrcode-img img.qrcode-girl {
	position: relative;
	height: 100%;
	right: -7%;
}

.qrcode-bg .qrcode-text {
	position: absolute;
	top: 13%;
	left: 3%;
	text-align: left;
	width: 100%;
	line-height: 1.5;
}

section.present .content-info .qrcode-bg .qrcode-text {
	container-type: inline-size;
}

.qrcode-bg .qrcode-text p {
	color: #fff;
	font-weight: bold;
	font-size: clamp(12px, 1.7vw, 17px);
}

section.present .content-info .qrcode-bg .qrcode-text p {
	font-size: clamp(11px, 2.6cqw, 13px);
}

.qrcode-bg .qrcode-text p img {
	margin-right: 1%;
}

.qrcode-bg .qrcode-text p.url {
	color: #fff;
	font-weight: bold;
	line-height: 1.65;
	font-size: clamp(16px, 1.7vw, 20px);
	margin-top: 2.5%;
}

section.present .content-info .qrcode-text p.url {
	font-size: clamp(14px, 3.5cqw, 17px);
}

.qrcode-bg .qrcode-text p.url span {
	display: inline-flex;
	background-color: #fff;
	align-items: center;
	justify-content: center;
	padding: 0 .8em;
	width: 20%;
	border-radius: 100px;
	margin-right: 2%;
	height: 1.5em;
	box-sizing: border-box;
}

.qrcode-bg .qrcode-text p.url span img {
	width: 100%;
	margin-right: 2%;
}

.pc-contents {
	display: flex;
	flex-direction: column;
	margin-top: 20px;
}

.pc-contents section {
	box-sizing: border-box;
	padding: 30px;
	border-top: 1px dashed #cccccc;
}

.section-head {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.section-head .section-head-mark {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 60px;
	height: 60px;
	box-sizing: border-box;
	border-radius: 50%;
	background: #ff668e;
	line-height: 1.2;
	font-weight: 500;
	color: #fff;
	text-align: center;
	font-size: 13px;
}

.section-head h2 {
	display: inline-flex;
	align-items: center;
	vertical-align: top;
	height: 60px;
	padding-left: 10px;
	font-weight: 600;
	font-size: clamp(17px, 1.8vw, 20px);
}

.section-linkbtn {
	display: block;
	text-align: center;
	text-decoration: none;
	margin-top: 0;
}

.section-linkbtn a,
.section-linkbtn.open-qr-dialog {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 240px;
	height: 50px;
	text-decoration: none;
	background: #fff;
	border: 2px solid #000;
	color: #000;
	line-height: 1;
}

.section-linkbtn a:before,
.section-linkbtn.open-qr-dialog:before {
	content: '';
	width: 10px;
	height: 15px;
	background-image: url(https://static.voifull.jp/img/icon_arrow_right2.svg);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	top: calc((100% - 15px) / 2);
	right: 12px;
}

.girls-list .girls-list-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 20px;
	padding: 0;
}

.girls-list-wrap .girl-list-item {
	position: relative;
	width: calc(25% - 10px);
	margin-bottom: 16px;
	list-style: none;
}

.girls-list-wrap .girl-list-item > a {
	width: 100%;
}

.girls-list-wrap .girl-list-item .thumbnail {
	box-sizing: border-box;
	width: 100%;
	padding-top: 100%;
	background-size: cover;
	background-position: center;
	position: relative;
	border-radius: 10px;
	margin-bottom: 0;
}

.girls-list-wrap .girl-list-item .status-wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	position: relative;
	width: 100%;
	height: 28px;
}

.girls-list-wrap .girl-list-item .status-wrap .status-upper-wrap {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding-left: 0;
}

.status-wrap .status-upper-wrap .name {
	font-size: 12px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-weight: 500;
	color: #333333;
	text-align: left;
}

.status-wrap .wait-status {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 48px;
	height: 18px;
	border-radius: 3px;
	font-size: 12px;
	line-height: 14px;
	text-align: center;
	color: #FFF;
}

.status-wrap .wait-status.talk {
	background: #565761;
}

.status-wrap .wait-status.on {
	background: rgba(0, 217, 117, .8);
}

.status-wrap .wait-status.off {
	width: 52px;
	background: rgba(174, 122, 196, .8);
}

.status-wrap .wait-status.open-talk {
	background: rgba(255, 57, 98, 0.8);
}

.news .banner-wrap {
	display: flex;
	justify-content: center;
}

.news .banner-wrap img {
	width: 100%;
	height: auto;
	max-width: 750px;
	margin: 20px 0;
}

.content-wrap {
	display: flex;
}

.content-wrap .content-img {
	margin: 15px 25px 15px 0;
}

.content-wrap .content-img img {
	width: 450px;
	height: auto;
}

.content-wrap .content-info {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: calc(100% - 350px);
	padding-top: 18px;
}

.content-wrap .content-info .content-head {
	display: block;
	font-size: clamp(17px, 1.8vw, 20px);
	font-weight: 700;
	margin-bottom: 10px;
}

.content-wrap .content-info .logo-text {
	height: 20px;
}

.content-wrap .content-info > p {
	font-size: 18px;
	line-height: 28px;
}

.content-wrap .content-info .section-linkbtn {
	margin-top: 15px;
}

.qr-dialog {
	display: none;
}

.qr-dialog.open {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	width: 100dvw;
	height: 100dvh;
	top: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.5);
	box-sizing: border-box;
	z-index: 1;
}

.qr-dialog-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 431px;
	height: 445px;
	background-color: #fff;
	border-radius: 16px;
}

.qr-dialog-wrap .qr-dialog-head {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 100%;
	height: 54px;
	background-color: #FF981D;
	border-radius: 16px 16px 0 0;
	font-size: 20px;
	font-weight: 700;
	color: #fff;
}

.qr-dialog-wrap .qr-dialog-head .close-btn {
	display: block;
	position: absolute;
	width: 54px;
	height: 54px;
	top: 0;
	right: 0;
	background-image: url("/img/icon_closeb_white.svg");
	background-size: 40%;
	background-position: center;
	background-repeat: no-repeat;
}

.qr-dialog-wrap .qr-dialog-body {
	display: flex;
	flex-direction: column;
	align-items: center;
	box-sizing: border-box;
	width: 100%;
	height: 391px;
	padding: 24px 0 39px;
}

.qr-dialog-wrap .qr-dialog-body p {
	font-size: 18px;
	text-align: center;
	margin-bottom: 10px;
	line-height: 27px;
}

.qr-dialog-wrap .qr-dialog-body .qrcode-img {
	width: 165px;
	height: auto;
	margin: 4px 0 10px;
}

.qr-dialog-wrap .qr-dialog-body .url-text {
	font-size: 16px;
	text-align: center;
}

.content-wrap .left-container {
	width: 51.5%;
}

.content-wrap .right-container {
	width: 40.6%;
}


@media screen and (max-width: 1325px) {
	.pc-header {
		height: 40vw;
	}
}


@media screen and (max-width: 1150px) {
	.pc-header {
		height: 45vw;
	}
}

@media screen and (max-width: 980px) {
	.pc-header {
		height: 50vw;
	}

	.content-wrap {
		flex-direction: column;
		align-items: center;
	}

	.content-wrap .content-info {
		width: 90%;
	}

	.content-wrap .left-container,
	.content-wrap .right-container {
		width: 90%;
	}
}

.logo-text {
	height: clamp(12px,1.7vw,15px);
}

.bold-text {
	font-weight: 700;
}