@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@600..900&display=swap');


/* ===== CSS Variables ===== */
:root {
	--color-primary:#ee9aa2;
	--color-secondary:#1a2a3a;
	--color-text-light:#2f353b;

	--color-accent:#e8959c;
	--color-light:#f9e8eb;
	--color-white:#ffffff;

	--color-90:rgba(247, 214, 219, .9);

	--color-text:#1a2a3a;
	--color-text-light:#2f353b;
	--color-text-white:#ffffff;
	--color-border:#e8959c;
	--color-border-bottom:#fff;



	--header-height:8rem;

	--font-en:'Jost', sans-serif;
	--font-jp:'Noto Serif JP', serif;
	--font-jp__noto:"Noto Sans JP", sans-serif;

	--padding-pc80:8rem;
	--padding-pc64:6.4rem;
	--padding-pc40:4rem;
	--padding-pc32:3.2rem;
	--padding-pc24:2.4rem;
	--padding-pc16:1.6rem;
	--padding-pc8:0.8rem;

	--transition:all 0.3s ease;
}

section:nth-of-type(3n+1) {
	/* --color-primary:#f5d782; 
	--color-light:#fcf7e6;
	--color-accent:#ebf1f4;
	--color-light:#ebf1f4; */
}

section:not(.no-color-change):nth-of-type(3n+2) {
	--color-primary:#a4c3d2; 
	--color-light:#e6f2f7;
	--color-accent:#a6cddd;
	--color-border:#a4c3d2;
}

section:not(.no-color-change):nth-of-type(3n) {
	--color-primary:#f5d782; 
	--color-light:#fffbef;
	--color-accent:#f9cb64;
	--color-border:#f5d782;
	--color-text-white:#1a2a3a;
	--color-border-bottom:#efe4c4;
}

@media (max-width:799px) {
	:root {
		--padding-pc80:6.4rem;
		--padding-pc40:3.2rem;
		--padding-pc32:2.4rem;
		--padding-pc24:1.6rem;
		/* --padding-pc16:0.8rem; */
		--header-height:6.4rem;
	}
}

/* ===== Reset & Base ===== */
*,
*::before,
*::after {
	box-sizing:border-box;
	margin:0;
	padding:0;
}
html {
	scroll-behavior:smooth;
	font-size:62.5%;
}
body {
	font-size:1.6rem;
	color:var(--color-text);
	font-family:var(--font-jp);
	text-align:left;
	line-height:1.8;
	letter-spacing:0.1em;
	font-weight:500;
	background:var(--color-white);
	/* -webkit-font-smoothing:antialiased; */
}
img {
	max-width:100%;
	height:auto;
	display:block;
}
a {
	color:inherit;
	text-decoration:none;
	transition:var(--transition);
}

ul {
	list-style:none;
}

button {
	cursor:pointer;
	font-family:inherit;
}

.container_1400 {
	max-width:1400px;
	margin:0 auto;
	padding:0 var(--padding-pc24);
}

.container_1200 {
	max-width:1200px;
	margin:0 auto;
	padding:0 var(--padding-pc24);
}

.container_1000 {
	max-width:1000px;
	margin:0 auto;
	padding:0 var(--padding-pc24);
}

.container_800 {
	max-width:800px;
	margin:0 auto;
	padding:0 var(--padding-pc24);
}

[id] {
	scroll-margin-top:var(--header-height);
}

@media (max-width:799px) {
	.container_1200 {
		max-width:480px;
		width:95%;
		padding:0 var(--padding-pc24);
	}

	.container_1000 {
		max-width:480px;
		margin:0 auto;
		padding:0 var(--padding-pc24);
	}

	.container_800 {
		max-width:480px;
		width:95%;
		padding:0 var(--padding-pc24);
	}

}
.pc {
	display:block;
}

.sp {
	display:none;
}
@media (max-width:799px) {
	.pc {
		display:none;
	}
	.sp {
		display:block;
	}
}
.logo-subtitle {
	display:block;
	font-size:1.2rem;
	text-align:center;
}
/* ===== Sections ===== */
.section {
	padding:var(--padding-pc80) 0;
}

.section-title {
	padding-bottom:4rem;
	text-align:center;
}

.section-title__jp {
	font-size:2.4rem;
}

.section-title__en {
	display:inline-block;
	padding-bottom:0.8rem;
	font-size:1.4rem;
	font-weight:700;
	letter-spacing:2px;
	font-family:var(--font-en);
	color:var(--color-secondary);
	opacity:0.7;
	text-transform:uppercase;
}

.section-desc {
	margin:0 auto;
	text-align:center;
	padding-bottom:4rem;
}

.title-step_01 {
	display:block;
	width:fit-content;
	margin-bottom:0.4rem;
	padding:0.4rem;
	margin-bottom:0.8rem;
	color:var(--color-secondary);
	font-family:var(--font-en);
	font-weight:500;
	font-size:1.2rem;
	text-transform:uppercase;
	background-color:var(--color-white);
}

.title-step_02 {
	display:block;
	width:fit-content;
	margin-bottom:0.4rem;
	padding:0.4rem;
	margin-bottom:0.8rem;
	color:var(--color-white);
	font-family:var(--font-en);
	font-size:1.2rem;
	font-weight:500;
	text-transform:uppercase;
	background-color:var(--color-secondary);
}

/* ===== Buttons ===== */
/* ボタン（塗りver） */

.btn {
	display:inline-flex;
	justify-content:center;
	align-items:center;
	width:240px;
	padding:1.8rem 0;
	gap:10px;
	font-size:1.4rem;
	font-weight:700;
	text-align:center;
	transition:var(--transition);
	cursor:pointer;
}
/* 2. 塗りバージョン */
.btn-fill {
	color:var(--color-white);
	background:var(--color-secondary);
	border:1px solid var(--color-secondary);
}
.btn-fill:hover {
	background:var(--color-white);
	color:var(--color-secondary);
}

/* 3. 線バージョン（アウトライン） */
.btn-outline {
	color:var(--color-text);
	background:transparent;
	border:1px solid var(--color-secondary);
}

.btn-outline:hover {
	background:var(--color-secondary);
	color:var(--color-white);
}
.btn-outline_w {
	color:var(--color-white);
	background:transparent;
	border:1px solid var(--color-white);
}
.btn-outline_w:hover {
	background:var(--color-white);
	color:var(--color-secondary);
}
.btn-inner {
	display:flex;
	justify-content:center;
}

/* ボタン（arrowver） */

.btn-arrow .btn {
	position:relative;
	margin:auto;
}
.btn-arrow a.btn::after {
	content:'';
	position:absolute;
	top:0;
	bottom:0;
	right:20px;
	margin:auto;
	background-color:var(--color-white);
	width:1.6rem;
	height:1.6rem;
	clip-path:polygon(40% 0, 90% 50%, 40% 100%, 30% 90%, 70% 50%, 30% 10%);
	transition:var(--transition);
}
.btn-arrow a.btn:hover::after {
	content:'';
	position:absolute;
	top:0;
	bottom:0;
	right:20px;
	margin:auto;
	background-color:var(--color-secondary);
}
.shop_info {
	display:block;
	font-size:1.2rem;
	text-align:center;
	padding-bottom:0.4rem;
}
/* マーカー */
.marker {
	background:linear-gradient(transparent 80%, var(--color-primary) 50%);
}
/* ===== HEADER ===== */
.l-header {
	display:block;
	z-index:999;
	position:sticky;
	top:0;
	right:0;
	left:0;
	width:100%;
	height:var(--header-height);
	background:var(--color-white);
}

.c-hamburger {
	display:none;
	position:relative;
	width:inherit;
	height:inherit;
	margin:0;
	border:transparent;
	background-color:transparent;
	cursor:pointer;
}

.c-hamburger span {
	display:block;
	position:relative;
	left:50%;
	width:32px;
	height:2px;
	transform:translateX(-50%);
	background:var(--color-secondary);
	transition:all 0.4s;
}

.c-hamburger span:nth-of-type(1) {
	top:-8px;
}

.c-hamburger span:nth-of-type(2) {
	top:0px;
	transform:translateX(-0.45deg);
}

.c-hamburger span:nth-of-type(3) {
	top:8px;
	transform:translateX(-0.45deg);
}

.c-hamburger.is-active span:nth-of-type(1) {
	top:0;
	transform:translateX(-50%) rotate(135deg);
}

.c-hamburger.is-active span:nth-of-type(2) {
	opacity:0;
}

.c-hamburger.is-active span:nth-of-type(3) {
	top:-4px;
	transform:translateX(-50%) rotate(-135deg);
}

.p-header__inner {
	display:flex;
	align-items:center;
	justify-content:space-between;
	height:inherit;
	/* max-width:1200px; */
	width:98%;
	margin:auto;
	align-items:center;
}

.p-header__hamburger {
	display:none;
	z-index:100;
	position:absolute;
	top:0;
	right:0;
	width:80px;
	height:100%;
}

.p-header__nav {
	position:static;
	opacity:1;
	height:inherit;
	width:initial;
	z-index:10;
}

.p-nav__inner {
	margin-right:auto;
	margin-left:auto;
	max-width:initial;
	width:100%;
	display:flex;
	align-items:center;
}

.p-nav__inner__btn {
	margin-left:1rem;
}

.p-nav__inner__btn .btn {
	width:20rem;
}

.p-nav__list {
	padding-right:0;
	padding-left:0;
	display:flex;
}

.p-nav__item {
	position:relative;
}

.p-nav__link {
	width:100%;
	display:block;
	padding:1rem 1rem;
	font-size:1.4rem;
	color:var(--color-text);
}

.p-header__title {
	display:flex;
	flex-wrap:nowrap;
	justify-content:center;
	align-items:end;
	padding:0.4rem;
	gap:1rem;
	line-height:1.2;
}

.logo-img {
	max-width:20rem;
}

.p-header__title a {
	color:var(--color-text);
	display:flex;
	align-items:center;
	gap:1rem;
}

.check {
	color:#fff;
	font-size:1.2rem;
}

.p-nav-sns {
	display:flex;
	justify-content:center;
	gap:1rem;
}

.p-nav-sns img {
	max-width:40px;
}

.p-nav__item a:hover {
	color:var(--color-primary);
}
.p-nav__item .arrow {
	display:none;
}
@media (max-width:1000px) {
	.p-nav__inner__btn .btn {
		width:18rem;
	}
	.logo-img {
		max-width:19rem;
	}
	.p-nav__link {
		padding:1rem 0.5rem;
	}
}

@media (max-width:799px) {
	.l-header {
		height:6.4rem;
	}
	.p-header__title .logo-img {
		max-width:20rem;
	}
	.c-hamburger {
		display:block;
	}
	.p-header__hamburger {
		display:block;
	}
	.p-nav__logo .logo-img {
		max-width:32rem;
	}
	.p-header__title a {
		color:var(--color-text);
	}
	.p-header__nav {
		display:flex;
		position:fixed;
		top:0;
		right:0;
		bottom:0;
		left:0;
		background-color:var(--color-white);
		opacity:0;
		pointer-events:none;
		transition:opacity 0.6s ease;
		transition-delay:0s;
		align-items:center;
		justify-content:center;
		z-index:10;
	}
	.p-header__nav.is-active {
		opacity:1;
		pointer-events:auto;
		transition-delay:0s;
	}
	.p-nav__list {
		padding-right:20px;
		padding-left:20px;
		width:100%;
	}
	.p-nav__link {
		display:flex;
		align-items:center;
		padding:2rem 0;
		width:100%;
		writing-mode:vertical-rl;
		letter-spacing:0.5rem;
	}
	.p-nav__item {
		flex-grow:1;
		border-bottom:solid 1px var(--color-secondary);
	}
	.p-nav__inner {
		width:100%;
		max-width:none;
		margin:0;
		flex-direction:column;
		gap:3.2rem;
	}
	.p-header__nav {
		position:fixed;
	}
	.p-nav-actions {
		display:flex;
		flex-direction:column;
		justify-content:center;
		align-items:center;
		gap:1.6rem;
	}
	.p-nav-actions .p-nav-actions .btn {
		width:30rem;
	}
	.p-nav__inner {}

	.p-nav.is-active {
		overflow-y:auto;
		-webkit-overflow-scrolling:touch;
	}
}

/* ===== HERO ===== */
.hero {
	width:100%;
	height:80vh;
	overflow:hidden;
	background:url('images/202605_renewal/hero-bg__pcb.webp') no-repeat center center / cover;
}
.hero-container {
	position:relative;
	height:100%;
	background:url('images/202605_renewal/hero-pc-b.webp') no-repeat center center;
}
.hero .container {
	height:100%;
}
.hero-content {
	position:relative;
	max-width:60rem;
	height:100%;
	padding-top:8rem;
	margin:auto;
	z-index:4;
}
.hero-title {
	margin-bottom:4rem;
	font-size:3.6rem;
	letter-spacing:0;
	font-family:var(--font-jp__noto);
	font-weight:500;
	text-shadow:1px 2px 2px rgba(255, 255, 255, 0.9), 2px 1px 2px rgba(255, 255, 255, 0.9);
	text-align:center;
}
.hero-title span {
	display:block;
	font-size:2rem;
	font-family:var(--font-jp);
	text-align:center;
}
.hero-title2 {
	margin-bottom:10rem;
	font-size:1.8rem;
	letter-spacing:0;
	font-weight:700;
	font-family:var(--font-jp__noto);
	text-shadow:1px 2px 2px rgba(255, 255, 255, 0.9), 2px 1px 2px rgba(255, 255, 255, 0.9);
	text-align:center;
}
.hero-sub-catch {
	padding-bottom:1rem;
}

.hero-title__logo img {
	max-width:500px;
	width:100%;
	height:auto;
	display:inline-block;
	vertical-align:middle;
}
.hero-subtitle {
	display:flex;
	flex-direction:row;
	justify-content:center;
	gap:1.6rem;
	margin-bottom:1.6rem;
}
.hero-subtitle__item {
	width:fit-content;
	border-radius:0.4rem;
	padding:0.4rem 0.8rem;
	font-size:1.6rem;
	letter-spacing:0.1em;
	color:var(--color-white);
	background:var(--color-accent);
}
.hero-actions {
	display:flex;
	gap:1.6rem;
	flex-wrap:wrap;
	text-align:center;
	justify-content:center;
}

.hero-actions .btn {
	box-shadow:1px 1px 10px rgba(255, 255, 255, 0.9);
}
@media (max-width:799px) {
	.hero {
		width:100%;
		height:auto;
		overflow:hidden;
		background:url('images/202605_renewal/hero-bg__spb.webp') no-repeat center center / cover;
	}
	.hero-container {
		background:url('images/202605_renewal/hero-sp-b-2.png') no-repeat center bottom / 100%;
	}

	.hero-content {
		padding:4rem 0 6rem;
	}

	.hero-subtitle__item {
		font-size:1.4rem;
		padding:0rem 0.8rem;
	}
	.hero-subtitle {
		margin-bottom:1rem;
	}

	.hero-title {
		font-size:2rem;
		margin-bottom:1.6rem;
	}
	.hero-title__logo img {
		width:80%;
	}
	.hero-title span {
		font-size:2rem;
	}

	.hero-title2 {
		margin-bottom:4rem;
		font-size:1.8rem;
		line-height:1.6;
		text-shadow:1px 1px 2px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
	}
	.hero-title2 p + p {
		padding-top:0;
	}

	.hero-sub-catch {
		padding-bottom:19rem;
		background:url('images/202605_renewal/hero-sp-b-1.png') no-repeat center bottom / 100%;
	}


	.hero-actions {
		flex-direction:column;
		align-items:center;
	}

	.hero .btn {
		width:20rem;
	}

}
/* ===== TRUST BAR ===== */
.trust-bar .container_1200 {
	padding:0.8rem 2rem;
}
.trust-bar {
	background:var(--color-secondary);
	padding:24px 0;
}
.trust-wrap {
	display:grid;
	grid-template-columns:repeat(5, 1fr);
	color:var(--color-white);
}
.trust-wrap__item {
	display:flex;
	flex-direction:row;
	justify-content:center;
	align-items:center;
	gap:0.8rem;
}
.trust-item__img>img {
	width:auto;
	height:2.8rem;
}
.trust-item__text {
	font-size:1.4rem;
	line-height:1.4;
	color:var(--color-white);
}
.trust-item__text>span:first-child {
	display:block;
	font-weight:700;
}
.trust-item__text_box {
	letter-spacing:0;
}
@media (max-width:799px) {
	.trust-bar .container_1200 {
		padding:0.8rem 4rem;
	}
	.trust-wrap__img {
		width:3rem;
		display:flex;
		justify-content:cetner;
	}
	.trust-item__text {
		font-size:1.3rem;
	}
	.trust-wrap {
		grid-template-columns:repeat(2, 1fr);
		width:100%;
		gap:2.4rem 0.4rem;
	}
	.trust-wrap__item {
		justify-content:left;
	}
}
/* ===== GENRES ===== */
.genres input[name="tab-item"] {
	display:none;
}
.genres-tab-scrollbox {
	width:fit-content;
	margin:auto;
	overflow-x:auto;
	border-bottom:1px solid var(--color-secondary);
}
.genres-tab-scrollbox::-webkit-scrollbar {
	display:none;
}
.tab-group {
	display:flex;
	justify-content:center;
	white-space:nowrap;
}
.tab-label {
	padding:0.8rem 2.4rem;
	cursor:pointer;
	color:var(--color-secondary);
	font-size:1.4rem;
	position:relative;
	transition:0.3s;
}
.genres-panel-group .tab-panel {
	display:none;
}
#maid:checked~.genres-tab-scrollbox label[for="maid"]::after,
#event:checked~.genres-tab-scrollbox label[for="event"]::after,
#idol:checked~.genres-tab-scrollbox label[for="idol"]::after,
#pachinko:checked~.genres-tab-scrollbox label[for="pachinko"]::after,
#bunny:checked~.genres-tab-scrollbox label[for="bunny"]::after {
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:3px;
	background:var(--color-secondary);
}
#maid:checked~.genres-panel-group #maid-content,
#event:checked~.genres-panel-group #event-content,
#idol:checked~.genres-panel-group #idol-content,
#pachinko:checked~.genres-panel-group #pachinko-content,
#bunny:checked~.genres-panel-group #bunny-content {
	display:block;
	animation:fadeIn 0.5s ease;
}
@keyframes fadeIn {
	from {
		opacity:0;
		transform:translateY(10px);
	}

	to {
		opacity:1;
		transform:translateY(0);
	}
}
.genres-grid {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:3.2rem;
	padding-top:6.4rem;
	padding-bottom:6.4rem;
}
.genres-info {
}

.genres-info .genres-name {
	font-size:1.2rem;
	font-weight:900;
	color:#006;
	text-align:center;
}
@media (max-width:799px) {
	.genres-grid {
		grid-template-columns:1fr;
		width:100%;
		gap:2.4rem;
	}
	.genres-card {
		max-width:30rem;
		margin:auto;
	}
	.genres-tab-scrollbox {
		width:100%;
		overflow-x:auto;
		-webkit-overflow-scrolling:touch;
	}
	.genres-tab-scrollbox::-webkit-scrollbar {
		display:none;
	}
}
/* ===== CHOOSE ===== */
.choose-content {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	background-color:#fff;
}
.choose-item {
	padding:var(--padding-pc24);
	border-top:1px solid var(--color-border);
	border-left:1px solid var(--color-border);
	background:var(--color-light);
}
.choose-item:nth-child(3n) {
	border-right:1px solid var(--color-border);
}
.choose-item:nth-child(n+4) {
	border-bottom:1px solid var(--color-border);
}
.chooseitem-content {
	display:flex;
	flex-direction:column;
}
.chooseitem-text {
	margin-top:2.4rem;
}
.chooseitem-header {
	display:flex;
	align-items:flex-end;
	width:100%;
	position:relative;
}
.chooseitem-title {
	flex:1;
	z-index:2;
	position:relative;
}
.chooseitem-titlebox {
	width:fit-content;
	padding:0 0.4rem;
	border-radius:0 0.4rem 0 0;
	/* letter-spacing:0; */
	background:var(--color-light);
}
.chooseitem-img {
	max-width:180px;
	flex-shrink:0;
	margin-left:-13rem;
	z-index:1;
	pointer-events:none;
	padding-bottom:1px;
}
.chooseitem-img img {
	width:100%;
	height:auto;
	display:block;
}
@media (max-width:1200px) {
	.choose-content {
		grid-template-columns:repeat(2, 1fr);
	}
	.choose-item {
		border-top:1px solid var(--color-border);
		border-left:1px solid var(--color-border);
	}
	.choose-item:nth-child(3n) {
		border-right:none;
	}
	.choose-item:nth-child(2n) {
		border-right:1px solid var(--color-border);
	}
	.choose-item:nth-child(n+4) {
		border-bottom:none;
	}
	.choose-item:nth-child(n+5) {
		border-bottom:1px solid var(--color-border);
	}
}

@media (max-width:799px) {
	.choose-content {
		grid-template-columns:1fr;
		width:100%;
	}
	.choose-item {
		border-right:none;
		border-bottom:1px solid #eee;
	}
	.choose-item {
		border-top:1px solid var(--color-border);
		border-left:1px solid var(--color-border);
		border-right:1px solid var(--color-border);
	}
	.choose-item:nth-child(3n),
	.choose-item:nth-child(n+4) {
		border-bottom:none;
	}
	.choose-item:last-child {
		border-bottom:1px solid var(--color-border);
	}
	.choose-item:nth-child(3n) {
		border-right:1px solid var(--color-border);
	}
.chooseitem-img {
	max-width:200px;
}
}
/* ===== FLOW ===== */
.flow {
	background:var(--color-white);
}

.flow-flex {
	display:flex;
	flex-direction:row;
}
.col-2 .flow-item,
.col-3 .flow-item {
	flex:1;
	min-width:0;
}
.flow-item {
	display:flex;
	flex-direction:column;
	padding:var(--padding-pc32);
	gap:var(--padding-pc24);
	border-top:1px solid var(--color-primary);
	border-bottom:1px solid var(--color-primary);
	border-left:1px solid var(--color-primary);
}
.flow-item:last-child {
	border-right:1px solid var(--color-primary);
}
.flow-img {
	display:flex;
	justify-content:center;
	align-items:center;
	overflow:hidden;
}
.flow-img img {
	max-width:520px;
	height:auto;
}
.flow-text h3 {
	font-size:2rem;
	padding-bottom:var(--padding-pc16);
}
.free-divider {
	width:100%;
	background-color:var(--color-primary);
	color:var(--color-text-white);
	text-align:center;
	padding:0.8rem 0;
	font-weight:bold;
}
@media (max-width:799px) {
	.flow-flex {
		flex-direction:column;
	}
	.flow-item {
		border-top:1px solid var(--color-primary);
		border-left:1px solid var(--color-primary);
		border-right:1px solid var(--color-primary);
		border-bottom:none;
	}
	.flow-item:last-child {
		border-bottom:1px solid var(--color-primary);
	}
}
/* ===== PRICE ===== */
.price-container {
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	margin:0 auto;
}
.price-item {
	position:relative;
	padding:2.4rem;
	background-size:cover;
	background-position:center;
	border:1px solid var(--color-border);
	display:flex;
}
.price-content {
	height:28rem;
	background:var(--color-90);
	border:1px solid var(--color-white);
}
.price-inner {
	display:flex;
	flex-direction:column;
	width:34rem;
	height:100%;
	padding:var(--padding-pc16);
	text-align:center;
}
.price-itle {
	font-size:1.8rem;
}
.price-sub {
	font-size:1.4rem;
}
.price-box {
	padding:0.4rem;
	color:var(--color-secondary);
	font-weight:700;
	line-height:1.5;
	background:#fff;
}
.price-box span {
	display:block;
	font-size:1.2rem;
	font-weight:400;
}
.price-list {
	text-align:left;
	/* margin-bottom:1.6rem; */
	margin-left:1.6rem;
}
.price-bg02 .price-box,
.price-bg03 .price-box,
.price-bg04 .price-box {
	margin-bottom:1.4rem;
}

/* 背景画像 */
.price-bg {
	background-repeat:no-repeat, no-repeat;
	background-size:contain, cover;
	background-position:105% bottom, center;
}
.price-bg01 {
	background-image:url('images/202605_renewal/section-price_01-c.webp'),
		url('images/202605_renewal/section-price_bg.webp');
}
.price-bg02 {
	background-image:url('images/202605_renewal/section-price_02-c.webp'),
		url('images/202605_renewal/section-price_bg.webp');
}
.price-bg03 {
	background-image:url('images/202605_renewal/section-price_03-c.webp'),
		url('images/202605_renewal/section-price_bg.webp');
}
.price-bg04 {
	background-image:url('images/202605_renewal/section-price_04-c.webp'),
		url('images/202605_renewal/section-price_bg.webp');
}
.price-list li {
	list-style:none;
	position:relative;
	padding-left:2.4rem;
	font-size:1.4rem;
}
.price-list li::before {
	content:"";
	position:absolute;
	width:1.4rem;
	height:1.4rem;
	top:30%;
	left:0;
	background-image:url("images/202605_renewal/icon-check.svg");
	background-repeat:no-repeat;
	background-size:contain;
}
.price-content .btn-arrow {
	margin-top:auto;
}
.price-content .btn-arrow .btn {
	margin-top:auto;
	width:100%;
}
@media (max-width:799px) {
	.price-container {
		padding:0 2rem;
		grid-template-columns:1fr;
		width:100%;
		gap:2rem;
	}
	.price-bg {
		background-size:100%, cover;
		background-position:50% -2.5rem, center;
	}
	.price-item {
		display:block;
		padding:30rem 0 0;
	}
	.price-content {
		display:flex;
		justify-content: center;
	}
}
/* ===== CONTACT-SECONDARY ===== */
.contact-secondary.section {
	padding-top:0;
}
.contact-second__img {
	display:block;
	max-width:1000px;
	padding-top:8rem;
	margin:auto;
}
.contact-second__btn {
	display:flex;
	gap:1.6rem;
	justify-content:center;
}
.catalog-btns .btn {
	padding:1rem 0;
}
a.btn .icon-browser,
a.btn .icon-pdf {
	position:relative;
	display:inline-block;
	width:2rem;
	height:2rem;
	transition:var(--transition);
}
a.btn .icon-browser {
	background:url("images/202605_renewal/icon-browser.svg") no-repeat center center / contain;
}
a.btn:hover .icon-browser {
	background:url("images/202605_renewal/icon-browser_h.svg") no-repeat center center / contain;
}
a.btn .icon-pdf {
	background:url("images/202605_renewal/icon-pdf.svg") no-repeat center center / contain;
}
a.btn:hover .icon-pdf {
	background:url("images/202605_renewal/icon-pdf_h.svg") no-repeat center center / contain;
}
@media (max-width:799px) {
	.contact-second__img {
		padding-top:6rem;
	}
	.contact-second__btn {
		flex-direction:column;
		align-items:center;
	}

}

/* ===== VOICE ===== */
.voice {
	background:var(--color-light);
}
.voice-container {
	display:flex;
	align-items:stretch;
	gap:3.2rem;
	justify-content:center;
}
.voice-card {
	display:flex;
	flex-direction:column;
	position:relative;
	flex:1;
	background:#fff;
	padding:1.6rem;
	/* box-shadow:0 4px 15px rgba(0, 0, 0, 0.05); */
}
.voice-card-inner {
	padding:var(--padding-pc24);
	border-top:2px solid var(--color-primary);
	border-bottom:2px solid var(--color-primary);
	display:flex;
	flex-direction:column;
	flex:1;
}
.voice-card-inner::before {
	padding:0.6rem 0.8rem 0.4rem;
	content:attr(data-label);
	position:absolute;
	top:0;
	left:3.6rem;
	font-size:1.2rem;
	font-family:var(--font-en);
	color:var(--color-primary);
	font-weight:bold;
	text-transform:uppercase;
	background-color:var(--color-white);
}
.voice-headline {
	font-size:1.8rem;
	font-weight:bold;
	padding-bottom:2.4rem;
}
.voice-text {
	padding-bottom:2.4rem;
}

/* お名前部分（右寄せ） */
.voice-name {
	margin-top:auto;
	font-size:1.2rem;
	color:var(--color-text-light);
	text-align:right;
}

@media (max-width:799px) {
	.voice-container {
		flex-direction:column;
		align-items:center;
	}

	.voice-card {
		width:100%;
		max-width:400px;
	}
}
/* ===== FAQ ===== */

.qa-item {
	display:flex;
	align-items:flex-start;
	flex-direction:column;
	gap:0.4rem;
	padding:var(--padding-pc24);
	background:var(--color-light);
	margin-bottom:2.4rem;
}
.qa-question {
	padding-bottom:10px;
	display:flex;
	align-items:center;
	gap:1.6rem;
}
.icon-q,
.icon-a {
	padding:0.2rem 1.4rem;
	font-size:2.4rem;
	font-family:var(--font-en);
}
.icon-q {
	color:var(--color-white);
	background:var(--color-primary);
	border:1px solid var(--color-primary);
}
.icon-a {
	color:var(--color-primary);
	background:var(--color-white);
	border:1px solid var(--color-primary);
}
/* 回答エリア */
.qa-answer {
	display:flex;
	align-items:flex-start;
	gap:1.6rem;
}
/* --- スマホ対応 --- */
@media (max-width:799px) {
	.qa .container_1200 {
		width:100%;
		padding:0;
	}
}
/* ===== CONTACT ===== */
.contact .section-title,
.contact .section-title__en,
.contact .section-desc {
	color:var(--color-white);
}
.contact {
	position:relative;
	padding:100px 0;
	background:url('images/202605_renewal/section-cotact_bg.webp') no-repeat center center / cover fixed;
	display:flex;
	justify-content:center;
	align-items:center;
}
.contact-inner {
	display:flex;
	gap:3.2rem;
	justify-content:center;
}
.contact-box {
	padding:var(--padding-pc40);
	text-align:center;
	box-shadow:0 10px 30px rgba(210, 148, 142, 0.7);
	background:rgba(255, 255, 255, 0.8);
}
.contact-btn span {
	font-size:1.2rem;
	display:block;
}
.contact-title {
	padding-bottom:2.4rem;
	font-size:2rem;
	text-align:center;
}
.contact-lead {
	font-weight:bold;
	margin-bottom:20px;
}
@media (max-width:799px) {
	.contact-inner {
		flex-direction:column;
		gap:1.6rem;
	}
	.contact-box {
		padding:40px 30px;
	}
}
/* ===== catalog ===== */
.catalog-item {
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:0.8rem 0;
	border-bottom:1px solid #eee;
}
/* ボタンを2つ横に並べる */
.catalog-btns {
	display:flex;
	justify-content:space-evenly;
}
.catalog_inner {
	max-width:100rem;
	margin:auto;
}
.catalog-btns .btn {
	max-width:20rem;
}
@media (max-width:799px) {
	.catalog-item {
		flex-direction:column;
		align-items:flex-start;
		padding:1.6rem 0;
	}
	.catalog_inner {
		max-width:48rem;
	}
	.catalog-btns {
		width:100%;
	}
	.catalog-btns a {
		flex:1;
	}
}
/* ===== COMPANY ===== */
.company {
	background:var(--color-light);
}
.info-item {
	display:flex;
	padding:2.4rem 0;
	border-bottom:1px solid var(--color-border-bottom);
}
.info-item dt {
	flex-basis:14rem;
	flex-shrink:0;
	padding-right:2.4rem;
	font-weight:700;
}
@media (max-width:799px) {
	.company-flex {
		flex-direction:column;
		gap:3rem;
	}
	.info-item {
		flex-direction:column;
		gap:0;
		padding:1.2rem 0;
	}
	.info-item dt {
		flex-basis:100%;
	}
}


/* ============================================================================================
	衣装タイプリンク（イメージ）
============================================================================================= */
.category-image-link {
	max-width:1600px;
	margin:0 auto;
	padding:6rem 0;
	display:flex;
	justify-content:center;
	align-items:stretch;
	flex-wrap:wrap;
	gap:1rem;
}
.category-image-link > li {
	width:calc(100% / 5 - 1rem);
	padding:5px;
}
.category-image-link > li.label {
	width:calc(100% / 5 * 2 - 1rem);
	text-align:center;
	font-size:1.3rem;
}
.category-image-link > li.label img {
	height:5rem;
	margin:0 auto;
}
.category-image-link > li a {
	filter:drop-shadow(1px 1px 3px #999);
	-webkit-transition:all 0.3s ease;
	transition:all 0.3s ease;
}
.category-image-link > li img {
	border-radius:10px;
}
.category-image-link > li a:hover {
	filter:drop-shadow(1px 1px 5px #333);
}

@media (max-width:799px) {
	.category-image-link {
		padding:0 0 3rem;
		gap:0;
		align-items: flex-end;
	}
	.category-image-link > li {
		width: calc(100% / 2);
	}
	.category-image-link > li.label {
		width: calc(100% / 2);
	}

	.p-header .category-image-link {
		padding:0 1rem 3rem;
		align-items: center;
	}
	.category-image-link > li {
		width: calc(100% / 3);
	}
	.category-image-link > li.label {
		width: calc(100% / 3 * 2);
	}
}


/* ============================================================================================
	制作実績
============================================================================================= */
.genres-flex {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}
.genres-flex > .genres-item {
	width:calc(100% / 6);
	padding:1rem;
}
.genres-card {
	position:relative;
	overflow:hidden;
	outline:2px solid #eee;
	cursor:pointer;
	line-height:1.6;
}
.genres-card .genres-photo {
	width:100%;
	aspect-ratio:3/4;
	object-fit:cover;
}
.genres-card .genres-info {
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	max-height:100%;
	padding:0.3rem 0.8rem;;
	background:rgba(255,255,255,0.8);
	backdrop-filter:blur(0.3rem);
}
.genres-card .genres-info:after {
	content:"▼";
	position:absolute;
	bottom:0;
	right:0.2rem;
	font-size:1.2rem;
	color:#009;
	transition:all 0.4s ease 0.3s;
	animation:0.8s animatePop infinite alternate ease-in;
}
@keyframes animatePop {
		0% { transform:translateY(-0.2em); }
	100% { transform:translateY(0.3em); }
}


.genres-card .genres-notes {
	max-height:0;
	opacity:0;
	transition:all 0.6s ease;
}
.genres-card .genres-notes .notes {
	font-size:1.1rem;
	text-align:justify;
}

.genres-card.on .genres-notes {
	max-height:100rem;
	opacity:1;
}
.genres-card.on .genres-info:after {
	content:"▲";
}

@media (min-width:800px) {
}
@media (max-width:799px) {
	.genres-flex > .genres-item {
		width:calc(100% / 2);
	}
	.genres-info .genres-name {
		font-size:1.4rem;
	}
	.genres-card .genres-notes .notes {
		font-size:1.3rem;
	}
}
.genres-tabs-container {
	padding-bottom:8rem;
}


/* ==========================================================================================================================================
	フッター部
=========================================================================================================================================== */
footer {
}
footer #footer {
	padding:20px 0 60px;
	text-align:center;
	color:#fff;
	background:rgba(0,0,0,0.8);
	box-shadow:0 1px 5px 1px #666;
}


/* ============================================================================================
	フッター　＞　メニュー部分
============================================================================================= */
nav.footer-nav {
	padding-bottom:3em;
	display:flex;
	justify-content:center;
	align-items:flex-start;
	font-size:1.3rem;
	line-height:1.4;
	text-align:left;
}
nav.footer-nav ul {
	width:30em;
}
nav.footer-nav ul li {
	width:100%;
	padding:0.3em 1em;
}
nav.footer-nav ul li.title {
	padding-top:2em;
	padding-left:0;
	width:100% !important;
}

nav.footer-nav ul li a {
	padding:0.3em 0;
}
nav.footer-nav ul li a:hover {
	text-shadow:0 0 3px #fff;
}

nav.footer-nav ul.catalog-link {
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
	flex-wrap:wrap;
}
nav.footer-nav ul.catalog-link > li {
	width:13em;
}

nav.footer-nav ul.ex-site {
	padding-top:0.3em;
}
nav.footer-nav ul.ex-site a[target="_blank"] span {
	padding-left:17px;
	background:url(images/icons/ex-link_w.png) 0 50% no-repeat;
	image-rendering:pixelated;
}



/* ============================================================================================
	フッター　＞　ロゴ部分
============================================================================================= */
footer #footer .text-logo {
	text-shadow:0 0 3px #000,0 0 5px #fff,0 0 10px #fff,0 0 20px #fff;
}

#footer .logo-flex {
	width:400px;
	margin:0 auto;
	flex-wrap:wrap;
}
#footer .logo-flex > * {
	width:100%;
}
#footer .logo-flex > span {
	text-shadow:0 0 3px #000,0 0 5px #fff,0 0 10px #fff,0 0 20px #fff;
}


/* ============================================================================================
	フッター　＞　コピーライト
============================================================================================= */
#copyright {
	text-align:center;
	line-height:3;
	font-size:1.3rem;
	letter-spacing:0;
}

@media screen and (max-width:799px) { 
	nav.footer-nav {
		flex-direction:column;
		font-size:1.3rem;
	}
	nav.footer-nav ul {
		display:flex;
		flex-wrap:wrap;
		width:100%;
	}
	nav.footer-nav ul li ,
	nav.footer-nav ul.catalog-link > li {
		width:50%;
		padding:0.5em 0 0.5em 4em;
	}
	nav.footer-nav ul li:nth-child(odd) ,
	nav.footer-nav ul.catalog-link > li:nth-child(odd) {
		padding-left:0;
	}
	nav.footer-nav ul li:not(.title):before {
		content:"●";
		padding-right:0.2em;
	}
	nav.footer-nav ul li.title ,
	nav.footer-nav ul.catalog-link > li.title {
		padding:2em 1em 0.3em;
		text-align:left;
	}
	nav.footer-nav ul li.title span {
		font-size:120%;
	}


	#copyright {
		line-height:1.5;
		padding:1em 0 1em;
		font-size:80%;
	}
}


.footer-text {
	max-width:800px;
	margin:0 auto;
	padding:1em 1em 0;
	font-size:1.3rem;
}

@media screen and (max-width:799px) {
	.footer-text {
		font-size:1rem;
	}
	.footer-text p{
		font-size:1rem;
		letter-spacing:0;
	}
}



/* ==========================================================================================================================================
	「▲ページトップ」ボタン
========================================================================================================================================== */
#pageTop {
	position:fixed;
	right:10px;
	bottom:10px;
	width:60px !important;
	height:60px !important;
	padding:0;
	display:none;
	z-index:9990;
}
#pageTop div {
	width:100%;
	height:100%;

	color:#333;
	text-shadow:1px 1px 0 #fff;
	background:#ebebeb;
	border:1px solid #fff;
	border-radius:3px;
	box-shadow:0px 0px 3px #000;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;

	font-size:12px;
	line-height:1.2;
	letter-spacing:1px;
	text-indent:1px;
	text-align:center;
	font-family:"Noto Sans JP" ,sans-serif;
	-webkit-transition:.3s ease-out;
	transition:.3s ease-out;
}
#pageTop div span {
	width:100%;
}
#pageTop div:hover {
	color:#fff;
	text-shadow:1px 1px 0 #000;
	background:#666;
}


/* --------- pagetop Link ------------------ */
.infoBloc {
	text-align:center;
	margin:0 auto 30px;
	width:96%;
}



/* ==========================================================================================================================================
	新着情報
========================================================================================================================================== */
.news.section {
	background:#f9f9f9;
}
.news_frame {
	height:40rem;
	padding:1rem;
	border:1px solid #ccc;
	overflow-y: auto;
	background:#fff;
}
.news-item {
	padding:2rem 1rem;
}
.news-item + .news-item {
	border-top:1px dashed #ccc;
}
.news-item .date {
	font-size:1.3rem;
	color:#666;
}
.news-item .text {
	font-size:1.5rem;
	padding-left:1.3rem;
	word-break:break-all;
}
@media screen and (max-width:799px) {
	.news-item .date {
		font-size:1.2rem;
	}
	.news-item .text {
		font-size:1.4rem;
	}
}


/* ==========================================================================================================================================
	インスタ
========================================================================================================================================== */
/* ==================================
contents5
================================== */
.bny-all-center-1200{
	width:1200px;
	max-width:100%;
	margin:0 auto;
}

/* instagram */
#indexHtmlBody section#contents5 {
	padding:0;
}

#contents5 .bny-order-flex-cover{
	background-image: url(images/bunny/maru.webp);
    background-repeat: no-repeat;
    background-position: 100% 50%;
    padding-bottom:4em;
}


#contents5 .bny-insta-flex{
	display: flex;
    justify-content: space-evenly;
    align-items: flex-start;
}

#contents5 .videoFrame{
	padding:4em 0 6em;
}

#contents5 .frameOuter{
	width:60%;
	padding-top:10em;
	padding-right:3em;
}


/* ===================
contents5 SP
====================== */

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

	#contents5 .h2-serif {
		background-size: auto;
	}

	#contents5 .videoFrame iframe{
		max-width:100%;
	}

	#contents5 .bny-order-flex-cover {
		background-position:100% -6em;
	}

	#contents5 .bny-insta-flex {
		width: 100%;
		margin: auto;
		flex-direction:column-reverse;
	}
	#contents5 .bny-insta-flex > img {
		width:60%;
		margin:0 auto;
	}
	#contents5 .frameOuter{
		width:100%;
		padding:0 15px;
	}
}


