html{
	font-size: 3.6vw;
}
@media (min-width: 600px){
	html{
		font-size: 1rem;
	}
}
body{
	line-height: var(--lh-md);
	font-weight: var(--fw-md);
	font-family: var(--ff-g);
	font-size: 1rem;
}
#contents.sub {
	position: relative;
	margin-top: 0px;
	padding-top: 0px;
	background: repeat;
	background-image: url(/wp-content/uploads/2026/09/site-bg.png);
	overflow: hidden;
}
.main.front{
	max-width: calc( 1200px + 1rem * 2);
	margin-inline: auto;
	padding-left: 1rem;
	padding-right: 1rem;
}
footer{
	display: none;
}



/*===============================================================================
***main
================================================================================*/
.f-main__inner{
	position: relative;
	z-index: 1;
	padding-top: 4.5rem;
	padding-bottom: var(--g-sec--md);
}
/* 背景画像 */
.f-main-cover__bgi{
	position: absolute;
	top: 0;
	left: calc( 50% - 50vw );
	z-index: -2;
	max-width: 100vw;
	width: 100vw;
	height: 100%;
}
@media (min-width: 960px){
	.f-main-cover__bgi{
		height: auto;
	}
}
.f-main-cover__bgi img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media (min-width: 960px){
	.f-main-cover__bgi img{
		object-fit: contain;
	}
}
.f-main-cover{
	position: relative;
	z-index: 1;
}
/* コンテンツ */
.f-main-cover__content{
	width: 100%;
	color: #fff;
	z-index: 1;
}
/* ポイント */
.f-main-cover__points{
	display: flex;
	align-items: center;
	gap: clamp(0.875rem, 0.25rem + 1.67vw, 1.75rem);
	margin-bottom: var(--g-sec--sm);
}
@media (min-width: 600px){
	.f-main-cover__points{
		justify-content: center;
	}
}
.f-main-cover__point{
	width: 8rem;
}
@media (min-width: 600px){
	.f-main-cover__point{
		width: 34rem;
	}
}
/* 18歳から */
.f-main-cover__message{
	position: relative;
}
.f-main-cover__message-text{
	max-width: 740px;
	width: 100%;
	padding-bottom: clamp(1.25rem, -8.036rem + 24.76vw, 14.25rem);
}
.f-main-cover__message-text img{
	width: 100%;
}
/* 女性 */
.f-main-cover__message-woman{
	position: absolute;
	right: calc( 50% - 50vw - 2.5rem );
	bottom: 1rem;
	z-index: -1;
	width: clamp(22rem, -3.714rem + 68.57vw, 58rem);
}

/*===============================
* bonus
* =================================*/
.f-main-bonus{
	position: relative;
	z-index: 2;
	max-width: var(--width-sm);
	margin-top: calc(clamp(1.25rem, -8.036rem + 24.76vw, 14.25rem) * -1);
	margin-inline: auto;
	margin-bottom: calc( var(--g-sec--md) + 1rem );
	padding-top: calc( clamp(2.5rem, 0.089rem + 6.43vw, 5.875rem) / 2 );
}
.f-main-bonus__inner{
	position: relative;
}
.f-main-bonus__head{
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translate(-50%,50%);
	z-index: 1;
	width: 100%;
	text-align: center;
}
.f-main-bonus__head .c-ribbon{
	padding-top: .625em;
	padding-bottom: .625em;
	font-weight: var(--fw-lg);
	font-size: clamp(0.875rem, 0.071rem + 2.14vw, 2rem);
}
.f-main-bonus__body{
	position: relative;
	padding: .5rem;
	background: rgba(255, 255, 255, 0.2);
	border-radius: var(--bd-r--sm);
	border: 1px solid var(--c-light);
}
.f-main-bonus__body-inner{
	padding-top: clamp(2rem, 0.214rem + 4.76vw, 4.5rem);
	padding-bottom: clamp(0.75rem, -0.143rem + 2.38vw, 2rem);
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	background: var(--c-light);
	border-radius: var(--bd-r--sm);
	border: 1px solid var(--c-main);
}
.f-main-bonus__lead{
	margin-bottom: clamp(1rem, -0.071rem + 2.86vw, 2.5rem);
	line-height: var(--lh-xs);
	font-size: 2.5rem;
	color: rgba(64, 51, 49, 1);
}
.f-main-bonus__content{
	max-width: fit-content;
	margin-inline: auto;
}
.f-main-bonus__text{
	text-align: center;
	font-weight: var(--fw-lg);
	font-size: clamp(0.75rem, 0.393rem + 0.95vw, 1.25rem);
}
.f-main-bonus__text:not(:last-of-type){
	margin-bottom: clamp(0.5rem, 0.054rem + 1.19vw, 1.125rem);
	padding-bottom: clamp(0.5rem, 0.054rem + 1.19vw, 1.125rem);
	border-bottom: 1px dashed var(--c-main);
}

.f-main-bonus__deco{
	position: absolute;
	z-index: 1;
}
.f-main-bonus__deco.--1{
	top: clamp(4rem, -2.25rem + 16.67vw, 12.75rem);
	left: calc( clamp(0.75rem, -1.571rem + 6.19vw, 4rem) * -1 );
	width: clamp(4rem, 0.429rem + 9.52vw, 9rem);
}
.f-main-bonus__deco.--2{
	bottom: 3rem;
	right: calc( clamp(-0.5rem, -2.107rem + 4.29vw, 1.75rem) * -1 );
	width: clamp(3.5rem, 0.643rem + 7.62vw, 7.5rem);
}
.f-main-bonus__deco.--3{
	top: .5rem;
	right: calc( clamp(0.25rem, -2.786rem + 8.1vw, 4.5rem) * -1 );
	width: clamp(4.5rem, 1.464rem + 8.1vw, 8.75rem);
}

/*===============================
* points
* =================================*/
.f-main-points__list{
	--count: 3;
	--gap: clamp(0.5rem, 0.143rem + 0.95vw, 1rem);
	display: flex;
	gap: var(--gap);
	margin-bottom: var(--g-sec--sm);
}
.f-main-points__item.--pink{
	--c-this: var(--c-main--light);
}
.f-main-points__item.--purple{
	--c-this: #D386F4;
}
.f-main-points__item.--orange{
	--c-this: #F6AC5E;
}
.f-main-points__item{
	position: relative;
	width: calc( ( 100% - var(--gap) * (var(--count) - 1) ) / var(--count) );
	padding: clamp(1.5rem, 0.071rem + 3.81vw, 3.5rem) .25rem clamp(0.5rem, -0.929rem + 3.81vw, 2.5rem);
	border-radius: var(--bd-r--sm);
	border: 1px solid var(--c-this);
	background: var(--c-light);
}
.f-main-points__header{
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 1;
	transform: translate(-50%,-50%);
	width: 100%;
}
.f-main-points__number-label{
	display: block;
	max-width: 11.25rem;
	width: 87%;
	margin-inline: auto;
	text-align: center;
	background: var(--c-this);
	border-radius: var(--bd-r--xs);
	font-weight: var(--fw-lg);
	font-size: clamp(1rem, 0.821rem + 0.48vw, 1.25rem);
	color: var(--c-light);
}
.f-main-points__icon-wrapper{
	max-width: 10rem;
	width: 100%;
	margin-inline: auto;
	margin-bottom: clamp(0.5rem, -0.214rem + 1.9vw, 1.5rem);
}
.f-main-points__contents{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .5rem;
	text-align: center;
	font-weight: var(--fw-lg);
}
.f-main-points__description{
	text-align: center;
	font-size: clamp(0.875rem, 0.607rem + 0.71vw, 1.25rem);
}
.f-main-points__line{
	display: block;
	max-width: 17.5rem;
	width: 95%;
	height: 1px;
	margin-inline: auto;
	border-bottom: 1px dashed var(--c-this);
}
.f-main-points__accent{
	font-weight: var(--fw-lg);
	font-size: clamp(0.75rem, 0.571rem + 0.48vw, 1rem);
	color: var(--c-this);
}
.f-main-points__texts{
	font-weight: var(--fw-lg);
	font-size: clamp(1rem, 0.643rem + 0.95vw, 1.5rem);
}
.f-main-points__text{
	text-align: center;
}
.f-main-points__text.--has-mb{
	margin-bottom: clamp(0.375rem, -0.429rem + 2.14vw, 1.5rem);
}
.f-main-points__text.--fz-sm{
	font-size: clamp(0.75rem, 0.214rem + 1.43vw, 1.5rem);
}
.f-main-points__text span{
	color: var(--c-main);
}


/*===============================================================================
***room
================================================================================*/
.f-room{
	margin-bottom: var(--g-sec--md);
	padding-top: var(--g-sec--md);
}
@media (min-width: 768px){
	.f-room{
		padding-top: 0;
	}
}
.f-room__head{
	margin-bottom: var(--g-sec--xs);
}
.f-room__title{
	text-align: center;
}
.f-room__body{
	margin-bottom: var(--g-sec--xs);
}
/*===============================
* slider
* =================================*/
.f-room-slider {
	--slider-gap-pc: .75rem;
	--slider-gap-sp: .625rem;
}
.f-room-slider__list {
	display: flex;
}
@media (min-width: 768px) {
	.f-room-slider__list .slick-list{
		padding-bottom: 1.5rem !important;
	}
}
.f-room-slider__item {
	padding: 0 calc(var(--slider-gap-sp) / 2);
	transition: transform 0.4s ease, opacity 0.4s ease;
	transform: rotate(0deg);
}
.slick-center.f-room-slider__item {
	transform: rotate(0deg);
}
@media (min-width: 768px) {
	.f-room-slider__item {
		padding: 0 calc(var(--slider-gap-pc) / 2);
	}
	.f-room-slider__item:nth-of-type(1) {
		transform: rotate(-4deg) translateY(.75rem);
	}
	.f-room-slider__item:nth-of-type(3) {
		transform: rotate(4deg) translateY(.75rem);
	}
}
.f-room-slider__image {
	width: 100%;
	height: auto;
}
/*===============================
* foot
* =================================*/
.f-room__foot{
	margin-bottom: var(--g-sec--xs);
}
/* テキスト */
.f-room__text{
	text-align: center;
	font-weight: var(--fw-lg);
	font-size: clamp(1rem, 0.821rem + 0.48vw, 1.25rem);
}
.f-room__text strong{
	font-weight: var(--fw-lg);
	color: var(--c-main);
}

/*===============================
* 在籍女性
* =================================*/
.f-zaiseki__box{
	position: relative;
	padding-top: clamp(1.5rem, 0.964rem + 1.43vw, 2.25rem);
	padding-left: .75rem;
	padding-right: .75rem;
}
@media (min-width: 768px){
	.f-zaiseki__box{
		position: relative;
		padding-bottom: 2.25rem;
	}
}
.f-zaiseki__head{
	position: relative;
	z-index: 1;
	margin-bottom: 1.75rem;
	text-align: center;
}
.f-zaiseki__title{
	margin-bottom: 1rem;
	text-align: center;
}
.f-zaiseki__title .c-grad-text{
	display: inline-block;
}
.f-zaiseki__lead{
	font-size: 1.25rem;
	font-weight: var(--fw-lg);
}
.f-zaiseki__lead .c-auto-wrap{
	text-align: center;
}
.f-zaiseki__body{
	position: relative;
	z-index: 1;
}
.f-zaiseki__list{
	margin-bottom: 1.5rem;
	padding: clamp(0.5rem, 0.143rem + 0.95vw, 1rem) clamp(0.5rem, -0.929rem + 3.81vw, 2.5rem);
	border: 1px solid var(--c-gray);
	background: var(--c-light);
	border-radius: var(--bd-r--sm);
	overflow: hidden;
}
@media (min-width: 768px){
	.f-zaiseki__list{
		max-width: 685px;
		width: 75%;
		margin-left: auto;
		margin-right: clamp(0rem, -3.661rem + 9.76vw, 5.125rem);
	}
}
.f-zaiseki__list li:not(:last-of-type){
	margin-bottom: 1rem;
}
.f-zaiseki__list .c-desc-list__content{
	font-weight: var(--fw-lg);
	font-size: clamp(1rem, 0.821rem + 0.48vw, 1.25rem);
}
.f-zaiseki__list .c-desc-list__content span{
	color: var(--c-main--light);
}

.f-zaiseki__btn{
	text-align: center;
}

.f-zaiseki__woman{
	width: clamp(12.5rem, 3.929rem + 22.86vw, 24.5rem);
	margin-inline: auto;
}
@media (min-width: 768px){
	.f-zaiseki__woman{
		position: absolute;
		bottom: 0;
		left: 0;
	}
}


/*===============================================================================
***voice
================================================================================*/
.f-voice{
	margin-bottom: var(--g-sec--md);
}
.f-voice__head{
	margin-bottom: var(--g-sec--xs);
}
.f-voice__title{
	text-align: center;
}
.f-voice-cards{
	position: relative;
	left: calc( 50% - 50vw );
	display: flex;
	gap: clamp(0.5rem, 0.143rem + 0.95vw, 1rem);
	overflow: scroll;
	max-width: 1200px;
	width: 100vw;
	height: 100%;
}
@media (min-width: 1200px){
	.f-voice-cards{
		left: 0;
	}
}
/*===============================
* card
* =================================*/
.f-voice-card{
	position: relative;
	z-index: 1;
	width: 100%;
	min-width: 24rem;
	font-size: 1rem;
}
.f-voice-card__bgi{
	aspect-ratio: 390 / 290;
	width: 100%;
	height: 100%;
	color: var(--c-light);
}
.f-voice-card__container{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	width: 100%;
	height: 100%;
	padding-top: 1rem;
	padding-bottom: var(--g-sec--sm);
	padding-left: 1.5rem;
	padding-right: 1rem;
}
.f-voice-card:nth-of-type(1){
	--c-bd01: #fee792;
	--c-bd02: #fef3cc;
}
.f-voice-card:nth-of-type(2){
	--c-bd01: #cce198;
	--c-bd02: #e2eec4;
}
.f-voice-card:nth-of-type(3){
	--c-bd01: #f7c9dc;
	--c-bd02: #fbe0eb;
}
.f-voice-card__header{
	--w-bd: .4rem;
	display: flex;
	gap: 1rem;
	width: 90%;
	min-width: fit-content;
	margin-inline: auto;
	margin-bottom: .5rem;
	padding: .5rem 1.5rem;
	background-image: repeating-linear-gradient(0deg, var(--c-bd01), var(--c-bd01) var(--w-bd), var(--c-bd02) var(--w-bd), var(--c-bd02) calc(var(--w-bd) * 2));
	font-weight: var(--fw-lg);
}
.f-voice-card__works{
	display: flex;
	gap: 2rem;
	margin-bottom: .25rem;
	padding-left: clamp(0rem, -0.714rem + 1.9vw, 1rem);
	padding-bottom: .5rem;
	border-bottom: 1px dotted var(--c-main--light);
	font-weight: var(--fw-lg);
}
.f-voice-card__work{
	display: flex;
	gap: 1rem;
}
.f-voice-card__flex{
	display: flex;
	align-items: flex-start;
	gap: clamp(0rem, -0.714rem + 1.9vw, 1rem);
}
.f-voice-card__contents{
	flex-grow: 1;
}
.f-voice-card__money{
	display: flex;
	align-items: baseline;
	gap: 1rem;
	margin-bottom: .5rem;
	padding-left: clamp(0rem, -0.714rem + 1.9vw, 1rem);
	font-weight: var(--fw-lg);
}
.f-voice-card__money > span:nth-of-type(2){
	color: var(--c-main);
	font-size: .75rem;
}
.f-voice-card__number{
	line-height: var(--lh-xs);
	font-size: 1.5rem;
}

.f-voice-card__description{
	font-size: .875rem;
}
.f-voice-card__icon{
	width: 112px;
	min-width: 112px;
}


/*===============================================================================
***blog
================================================================================*/
.f-blog{
	margin-bottom: var(--g-sec--md);
}
.f-blog__head{
	margin-bottom: var(--g-sec--xs);
}
.f-blog__title{
	text-align: center;
}
/*===============================
* post
* =================================*/
.f-blog__post{
	position: relative;
	left: calc( 50% - 50vw );
	display: flex;
	gap: clamp(0.5rem, 0.143rem + 0.95vw, 1rem);
	max-width: 1200px;
	width: 100vw;
	height: 100%;
	margin-bottom: var(--g-sec--xs);
	overflow: scroll;
}
@media (min-width: 1200px){
	.f-blog__post{
		left: 0;
	}
}
.f-blog__item{
	width: 100%;
	min-width: 22rem;
	padding: 1rem;
	background: var(--c-light);
	border: 1px solid var(--c-gray);
	border-radius: var(--bd-r--sm);
	overflow: hidden;
	font-size: 1rem;
}
@media (min-width: 960px){
	.f-blog__item{
		min-width: auto;
	}
}
.f-blog__link{
	display: block;
	width: 100%;
	height: 100%;
	color: var(--c-dark);
}
.f-blog__thumbnail{
	margin-bottom: .5rem;
}
.f-blog__thumbnail img{
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 256 / 160;
	object-fit: cover;
	object-position: 50% 50%;
}
.f-blog__time{
	margin-bottom: .5rem;
	font-size: .875em;
}

.f-blog__btn{
	text-align: center;
}

/*===============================================================================
***チャットレディってどんなお仕事なの？
================================================================================*/
.f-what{
	margin-bottom: var(--g-sec--md);
}
.f-what__box{
	padding-top: clamp(4.75rem, 3.143rem + 4.29vw, 7rem);
}
.f-what__head{
	position: relative;
	max-width: 1124px;
	margin-inline: auto;
	padding: 0 .75rem;
	text-align: center;
}
.f-what__title{
	max-width: 868px;
	width: 100%;
	font-weight: var(--fw-lg);
}
.f-what__title .c-ribbon{
	width: 100%;
	padding-top: 0;
	padding-bottom: 0;
	text-align: center;
	font-size: clamp(1.125rem, 0.5rem + 1.67vw, 2rem);
}
.f-what__osiete{
	position: absolute;
	bottom: 65%;
	left: .75rem;
	width: clamp(7.75rem, 4.714rem + 8.1vw, 12rem);
}
.f-what__question{
	position: absolute;
	bottom: calc( clamp(0rem, -1.071rem + 2.86vw, 1.5rem) * -1 );
	right: .75rem;
	width: clamp(6.5rem, 4rem + 6.67vw, 10rem);
}

.f-what__body{
	position: relative;
}
.f-what__woman{
	padding-left: clamp(0rem, -1.607rem + 4.29vw, 2.25rem);
}

.f-what__list-wrap{
	padding: 0 .5rem 1.5rem;
}
@media (min-width: 960px){
	.f-what__list-wrap{
		position: absolute;
		bottom: 2.25rem;
		left: 2.25rem;
		padding: 0;
	}
}

.f-what__list{
	padding: clamp(0.5rem, 0.143rem + 0.95vw, 1rem);
	border-radius: var(--bd-r--sm);
	overflow: hidden;
	background: var(--c-light);
	border: 1px solid var(--c-gray);
	font-size: clamp(1rem, 0.821rem + 0.48vw, 1.25rem);
	font-weight: var(--fw-lg);
}
.f-what__list li:not(:last-of-type){
	margin-bottom: 1rem;
}
.f-what__list .c-desc-list__content span{
	color: var(--c-main--light);
}


/*===============================================================================
***チャットレディの報酬システム
================================================================================*/
.f-system{
	margin-bottom: var(--g-sec--md);
}
.f-system__head{
	margin-bottom: var(--g-sec--xs);
}
.f-system__title{
	text-align: center;
}
.f-system__body{
	padding: var(--g-sec--xs) .5rem;
}
.f-system__lead{
	margin-bottom: var(--g-sec--xs);
}
.f-system__lead > p{
	text-align: left;
}
@media (min-width: 600px){
	.f-system__lead > p{
		text-align: center;
	}
}
/*===============================
* 詳細
* =================================*/
.f-system-detail{
	--count: 1;
	--gap: var(--g-sec--xs);
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
	max-width: 1040px;
	margin-inline: auto;
	margin-bottom: var(--g-sec--xs);
}
@media (min-width: 768px){
	.f-system-detail{
		--count: 2;
	}
}

.f-system-detail__item{
	width: calc( ( 100% - var(--gap) * (var(--count) - 1) ) / var(--count) );
	padding-top: 1.75rem;
}
.f-system-detail__item-inner{
	position: relative;
	background: var(--c-light);
	border-radius: var(--bd-r--sm);
	border: 1px solid var(--c-gray);
}
.f-system-detail__head{
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translate(-50%,50%);
	min-width: 24rem;
}
.f-system-detail__title{
	width: 100%;
	font-weight: var(--fw-lg);
	font-size: 1.5rem;
}
.f-system-detail__title .c-ribbon{
	width: 100%;
	padding-top: .5rem;
	padding-bottom: .5rem;
	text-align: center;
}
.f-system-detail__item.--twoshot .c-ribbon{
	background: #D386F4;
}

.f-system-detail__body{
	padding: 3rem clamp(0.5rem, -0.214rem + 1.9vw, 1.5rem) 1.5rem;
}
.f-system-detail__tanka{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: clamp(0rem, -0.714rem + 1.9vw, 1rem);
}
.f-system-detail__tanka-icon{
	width: 140px;
	min-width: 140px;
}
.f-system-detail__tanka-content{
	flex-grow: 1;
	width: 100%;
	text-align: right;
}
.f-system-detail__tanka-ninzu{
	margin-bottom: .5rem;
}
.f-system-detail__tanka-money{
	text-align: right;
	color: var(--c-main);
	font-weight: var(--fw-lg);
}
.f-system-detail__tanka-money span:nth-of-type(1){
	font-size: clamp(1.5rem, 1.143rem + 0.95vw, 2rem);
}
.f-system-detail__tanka-money span:nth-of-type(2){
	margin-left: .5rem;
	margin-right: .25rem;
	line-height: var(--lh-xs);
	font-size: clamp(2.875rem, 1.357rem + 4.05vw, 5rem);
}
.f-system-detail__tanka-money span:nth-of-type(3){
	font-size: clamp(1rem, 0.821rem + 0.48vw, 1.25rem);
}
.f-system-detail__if{
	margin-bottom: 1rem;
	padding: 1rem;
	border: 1px solid var(--c-main);
	border-radius: var(--bd-r--sm);
	overflow: hidden;
}
.f-system-detail__if-lead{
	margin-bottom: 1rem;
}
@media (min-width: 600px){
	.f-system-detail__if-lead{
		margin-bottom: 0;
	}
}
.f-system-detail__if-calc{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0 1rem;
}
@media (min-width: 600px){
	.f-system-detail__if-calc{
		flex-direction: row;
	}
}
.f-system-detail__if-siki{
	font-size: 1.25rem;
}
.f-system-detail__if-money{
	margin-left: auto;
	color: var(--c-main);
}
.f-system-detail__if-money span:nth-of-type(1){
	font-size: 1.25rem;
}
.f-system-detail__if-money span:nth-of-type(2){
	margin-left: .5rem;
	margin-right: .25rem;
	font-size: 2.5rem;
	font-weight: var(--fw-lg);
}
.f-system-detail__if-money span:nth-of-type(3){
	font-size: clamp(1rem, 0.821rem + 0.48vw, 1.25rem);
}
.f-system-detail__line{
	width: 100%;
	height: 1px;
	margin-bottom: 1rem;
	border-bottom: 1px dotted var(--c-main);
}

/*===============================
* 毎月5名様限定
* =================================*/
.f-system-gentei{
	max-width: 1040px;
	margin-inline: auto;
}
.f-system-gentei__head{
	margin-bottom: var(--g-sec--xs);
}
.f-system-gentei__title-wrap{
	position: relative;
	max-width: fit-content;
	margin-inline: auto;
}
.f-system-gentei__headhon{
	position: absolute;
	top: 1.5rem;
	right: calc( 100% + clamp(-0.25rem, -2.839rem + 6.9vw, 3.375rem) );
	width: clamp(4.25rem, 0.857rem + 9.05vw, 9rem);
}
.f-system-gentei__balloon{
	position: absolute;
	top: 0;
	left: calc( 100% + clamp(0rem, -4.464rem + 11.9vw, 6.25rem) );
	width: clamp(5rem, 0.714rem + 11.43vw, 11rem);
}
.f-system-gentei__title{
	width: clamp(13.75rem, 8.795rem + 13.21vw, 20.688rem);
	margin-inline: auto;
	margin-bottom: 1.5rem;
}
.f-system-gentei__catch{
	text-align: center;
	font-size: 1.25rem;
}
.f-system-gentei__body{
	--count: 1;
	--gap: var(--g-sec--xs);
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
}
@media (min-width: 768px){
	.f-system-gentei__body{
		--count: 2;
	}
}
.f-system-gentei__card{
	width: calc( ( 100% - var(--gap) * (var(--count) - 1) ) / var(--count) );
	padding: 1.5rem clamp(0.5rem, -0.214rem + 1.9vw, 1.5rem);
	background: var(--c-light);
	border-radius: var(--bd-r--sm);
	border: 1px solid var(--c-gray);
}
.f-system-gentei__card-summary{
	margin-bottom: 1rem;
	text-align: center;
}
.f-system-gentei__card-summary span{
	display: inline-block;
	background: linear-gradient(90deg, #F9448F 0%, #C959D5 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-fill-color: transparent;
	font-family: var(--ff-maru);
	font-weight: var(--fw-xl);
	font-size: 1.5rem;
}
.f-system-gentei__card-image{
	margin-bottom: 1rem;
}
.f-system-gentei__card-image img{
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 452 / 300;
	object-fit: cover;
	object-position: 50% 50%;
}
.f-system-gentei__card-description span{
	color: var(--c-main--light);
}


/*===============================================================================
***チャットレディのお仕事の流れ
================================================================================*/
.f-flow{
	margin-bottom: var(--g-sec--md);
}
.f-flow__head{
	margin-bottom: var(--g-sec--xs);
}
.f-flow__title{
	text-align: center;
}
/*===============================
* ステップ
* =================================*/
.f-flow__steps{
	--label-base: clamp(0.625rem, 0.357rem + 0.71vw, 1rem);
	--label-size: calc( var(--label-base) * 7.5 );
	position: relative;
}
/* ステップ：縦ライン */
.f-flow-flow__steps-line{
	position: absolute;
	top: 3%;
	left: calc( var(--label-size) * .333 );
	z-index: 1;
	width: 3px;
	height: 81%;
	border-left: 3px dashed var(--c-gray--dark);
}
@media (min-width: 600px){
	.f-flow-flow__steps-line{
		top: 8%;
		height: 76%;
	}
}
.f-flow-flow__steps-line::before{
	--arrow-size: 1rem;
	--arrow-weight: 3px;
	--arrow-color: var(--c-gray--dark);
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translate(-60%, -50%) rotate(45deg);
	display: inline-block;
	width: var(--arrow-size);
	height: var(--arrow-size);
	border-right: var(--arrow-weight) solid var(--arrow-color);
	border-bottom: var(--arrow-weight) solid var(--arrow-color);
	transition: var(--ani-t--normal) ease-out;
}

.f-flow-step, .f-flow-step__inner{
	position: relative;
}
.f-flow-step:not(:last-of-type){
	margin-bottom: 1.5rem;
}
.f-flow-step:has(.f-flow-step__seisan){
	padding-top: 140%;
}
@media (min-width: 600px){
	.f-flow-step:has(.f-flow-step__seisan){
		padding-top: 20%;
	}
}

/* ステップ：ラベル */
.f-flow-step__label{
	position: absolute;
	top: 15%;
	left: 0;
	transform: translate(0%,-50%);
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: var(--label-size);
	height: var(--label-size);
	line-height: var(--lh-xs);
	border-radius: 50%;
	background: linear-gradient(147.99deg, #F9448F 7.21%, #C959D5 92.79%);
	font-size: var(--label-base);
	font-weight: var(--fw-lg);
	color: var(--c-light);
}
@media (min-width: 600px){
	.f-flow-step__label{
		top: 50%;
	}
}
.f-flow-step__label span:first-of-type{
	font-size: 1.25em;
}
.f-flow-step__label-number{
	font-size: 3em;
}

/* ステップ：コンテナ */
.f-flow-step__container{
	display: flex;
	align-items: center;
	flex-direction: column;
	width: calc( 100% - var(--label-size) * 0.667 );
	margin-left: auto;
	padding: 1rem;
	background: var(--c-light);
	border: 1px solid var(--c-main--light);
	border-radius: var(--bd-r--sm);
	overflow: hidden;
}
@media (min-width: 600px){
	.f-flow-step__container{
		flex-direction: row;
	padding-left: calc( 1rem + var(--label-size) * 0.333 );
	}
}
.f-flow-step__icon{
	width: 7.5rem;
	min-width: 7.5rem;
}
.f-flow-step__content{
	flex-grow: 1;
}
.f-flow-step__summary{
	margin-bottom: 1rem;
	text-align: center;
	font-weight: var(--fw-lg);
	font-size: 1.25rem;
	color: var(--c-main);
}
@media (min-width: 600px){
	.f-flow-step__summary{
		text-align: left;
	}
}

/* ステップ：女性画像 */
.f-flow-step__seisan{
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,0%);
	max-width: 968px;
	width: 100%;
}


/*===============================================================================
***リリアンが広島の女性に選ばれる6つの理由
================================================================================*/
.f-reason{
	margin-bottom: var(--g-sec--md);
}
.f-reason__head{
	margin-bottom: var(--g-sec--xs);
}
.f-reason__title{
	text-align: center;
}
.f-reason__title-grad{
	font-family: var(--ff-maru);
	font-weight: var(--fw-xl);
	font-size: 4.5rem;
}

/*===============================
* カード
* =================================*/
.f-reason-cards{
	--c-this: var(--c-main--light);
	--count: 1;
	--gap: clamp(0.5rem, 0.143rem + 0.95vw, 1rem);
	display: flex;
	gap: var(--g-sec--xs) var(--gap);
	flex-wrap: wrap;
	margin-bottom: var(--g-sec--sm);
}
@media (min-width: 768px){
	.f-reason-cards{
		--count: 2;
	}
}
@media (min-width: 960px){
	.f-reason-cards{
		--count: 3;
	}
}
.f-reason-card{
	position: relative;
	width: calc( ( 100% - var(--gap) * (var(--count) - 1) ) / var(--count) );
	padding: clamp(1.5rem, 0.071rem + 3.81vw, 3.5rem) clamp(0.5rem, -0.214rem + 1.9vw, 1.5rem) clamp(0.5rem, -0.929rem + 3.81vw, 2.5rem);
	border-radius: var(--bd-r--sm);
	border: 1px solid var(--c-this);
	background: var(--c-light);
}
.f-reason-card__header{
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 1;
	transform: translate(-50%,-50%);
	width: 100%;
}
.f-reason-card__number-label{
	display: block;
	max-width: 11.25rem;
	width: 87%;
	margin-inline: auto;
	text-align: center;
	background: var(--c-this);
	border-radius: var(--bd-r--xs);
	font-weight: var(--fw-lg);
	font-size: 1.25rem;
	color: var(--c-light);
}
.f-reason-card__body{
	display: flex;
	flex-direction: column;
	gap: .5rem;
	font-weight: var(--fw-lg);
}
.f-reason-card__image{
	width: 100%;
}
.f-reason-card__accent{
	text-align: center;
	font-weight: var(--fw-lg);
	font-size: 1.25rem;
	color: var(--c-main);
}
.f-reason-card__line{
	display: block;
	max-width: 342px;
	width: 100%;
	height: 1px;
	margin-inline: auto;
	border-bottom: 1px dashed var(--c-this);
}
.f-reason-card__description{
	font-size: 1rem;
}

/*===============================================================================
***リリアンってどんな事務所？
================================================================================*/
.f-about{
	margin-bottom: var(--g-sec--md);
}
.f-about__head{
	margin-bottom: var(--g-sec--xs);
}
.f-about__title{
	text-align: center;
}
.f-about__body{
	--count: 1;
	--gap: 1.5rem;
	--media-width: 100%;
	--body-width: calc( 200% - var(--media-width) );
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
}
@media (min-width: 960px){
	.f-about__body{
		--count: 2;
		--media-width: 80%;
	}
}
.f-about__image{
	width: calc( ( var(--media-width) - var(--gap) * (var(--count) - 1) ) / var(--count) ); 
}
.f-about__contents{
	width: calc( ( var(--body-width) - var(--gap) * (var(--count) - 1) ) / var(--count) );
}
.f-about__ribbon{
	position: relative;
	z-index: 1;
	width: 100%;
	text-align: center;
}
.f-about__ribbon .c-ribbon{
	width: 95%;
	padding-top: clamp(0rem, -0.625rem + 1.67vw, 0.875rem);
	padding-bottom: clamp(0rem, -0.625rem + 1.67vw, 0.875rem);
	text-align: center;
	font-size: clamp(1.125rem, 1.036rem + 0.24vw, 1.25rem);
}
.f-about__text-area{
	position: relative;
	margin-top: calc( 3.5rem / -2 );
	padding: 3.5rem 1rem 1.5rem;
	background: var(--c-light);
	border: 1px solid var(--c-main--light);
	border-radius: var(--bd-r--sm);
	font-size: 1rem;
}

/*===============================================================================
***リリアンのおすすめポイント
================================================================================*/
.f-point{
	margin-bottom: var(--g-sec--md);
}
.f-point__head{
	margin-bottom: var(--g-sec--xs);
}
.f-point__title{
	text-align: center;
}
.f-point__title-grad{
	font-family: var(--ff-maru);
	font-weight: var(--fw-xl);
	font-size: 4.5rem;
}

/*===============================
* カード
* =================================*/
.f-point-cards{
	--c-this: var(--c-main--light);
	--count: 1;
	--gap: clamp(0.5rem, 0.143rem + 0.95vw, 1rem);
	display: flex;
	gap: var(--g-sec--xs) var(--gap);
	flex-wrap: wrap;
	margin-bottom: var(--g-sec--sm);
}
@media (min-width: 768px){
	.f-point-cards{
		--count: 2;
	}
}
@media (min-width: 960px){
	.f-point-cards{
		--count: 3;
	}
}
.f-point-card{
	position: relative;
	width: calc( ( 100% - var(--gap) * (var(--count) - 1) ) / var(--count) );
	padding: 2.5rem clamp(0.5rem, -0.214rem + 1.9vw, 1.5rem) 1.5rem;
	border-radius: var(--bd-r--sm);
	border: 1px solid var(--c-this);
	background: var(--c-light);
}
.f-point-card__header{
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 1;
	transform: translate(-50%,-50%);
	width: 100%;
}
.f-point-card__number-label{
	display: block;
	max-width: 11.25rem;
	width: 87%;
	margin-inline: auto;
	text-align: center;
	background: var(--c-this);
	border-radius: var(--bd-r--xs);
	font-weight: var(--fw-lg);
	font-size: 1.25rem;
	color: var(--c-light);
}
.f-point-card__body{
	display: flex;
	flex-direction: column;
	gap: .5rem;
	font-weight: var(--fw-lg);
}
.f-point-card__image{
	width: 100%;
}
.f-point-card__accent{
	text-align: center;
	font-size: 1.25rem;
	font-weight: var(--fw-lg);
	color: var(--c-main);
}
.f-point-card__line{
	display: block;
	max-width: 342px;
	width: 100%;
	height: 1px;
	margin-inline: auto;
	border-bottom: 1px dashed var(--c-this);
}
.f-point-card__description{
	font-size: 1rem;
}


/*===============================================================================
***特に多いご質問
================================================================================*/
.f-faq{
	margin-bottom: var(--g-sec--md);
}
.f-faq__head{
	margin-bottom: var(--g-sec--xs);
}
.f-faq__title{
	text-align: center;
}
.f-faq__title-grad{
	display: inline-block;
	font-family: var(--ff-maru);
	font-weight: var(--fw-xl);
	font-size: clamp(3rem, 2.643rem + 0.95vw, 3.5rem);
}
/*===============================
* アコーディオン
* =================================*/
.f-faq__accordion{
	--side-pad: 1.25rem;
	--vertical-pad: 1.5rem;
	--gap: .75em;
	display: block;
	width: 100%;
	padding: var(--vertical-pad) var(--side-pad);
	background: var(--c-light);
	border: 1px solid var(--c-gray);
	border-radius: var(--bd-r--sm);
	overflow: hidden;
}
.f-faq__accordion:not(:last-of-type){
	margin-bottom: 1.5rem
}

/* 質問 */
.f-faq__accordion-head{
	display: flex;
	align-items: center;
	gap: var(--gap);
	font-weight: var(--fw-lg);
	font-size: 1.25rem;
	cursor: pointer;
	transition: var(--ani-t--normal) ease-out;
}
/* アニメーション */
.f-faq__accordion[open] .f-faq__accordion-head{
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--c-gray);
}
.f-faq__accordion-headInner{
	flex-grow: 1;
}

/* 回答 */
.f-faq__accordion-body{
	display: flex;
	gap: var(--gap);
}
/* アニメーション */
.f-faq__accordion[open] .f-faq__accordion-body {
	animation: fadein 0.5s ease;
}
@keyframes fadein {
	0% { opacity: 0; }
	100% { opacity: 1; }
}
.f-faq__accordion-bodyInner{
	flex-grow: 1;
}

/* QA文字 */
.f-faq__accordion-icon{
	display: inline-block;
	width: clamp(2.75rem, 2.214rem + 1.43vw, 3.5rem);
}

/* 開閉アイコン */
.f-faq__accordion-toggle{
	--toggle-size: clamp(2.25rem, 2.071rem + 0.48vw, 2.5rem);
	position: relative;
	align-self: center;
	display: inline-block;
	width: var(--toggle-size);
	min-width: var(--toggle-size);
	background: var(--c-main--lightest);
	border-radius: 50%;
	aspect-ratio: 1;
}
.f-faq__accordion-toggle::before,
.f-faq__accordion-toggle::after{
	position: absolute;
	top: 50%;
	left: 50%;
	content: '';
	width: calc( var(--toggle-size) / 2.5 );
	height: 2px;
	background: var(--c-dark);
	transition: var(--ani-t--normal) ease-out;
}
.f-faq__accordion-toggle::before{transform: translate(-50%, -50%) rotate(90deg);}
.f-faq__accordion-toggle::after{transform: translate(-50%, -50%) rotate(0deg);}

/* アニメーション */
.f-faq__accordion[open] .f-faq__accordion-toggle::before{transform: translate(-50%, -50%) rotate(180deg);}
.f-faq__accordion[open] .f-faq__accordion-toggle::after{
	opacity: 0;
	transform: translate(-50%, -50%) rotate(90deg);
}

/* 既存のマーカー */
.f-faq__accordion-head {
	list-style: none;
}
.f-faq__accordion-head::-webkit-details-marker {
	display: none;
}


/*===============================================================================
***
================================================================================*/
.f-contact__head{
	margin-bottom: var(--g-sec--xs);
}
.f-contact__title{
	text-align: center;
}
/*===============================
* カード
* =================================*/
.f-contact-cards{
	--c-this: var(--c-main--light);
	--count: 1;
	--gap: clamp(0.5rem, 0.143rem + 0.95vw, 1rem);
	display: flex;
	gap: var(--g-sec--xs) var(--gap);
	flex-wrap: wrap;
	margin-bottom: var(--g-sec--sm);
}
@media (min-width: 600px){
	.f-contact-cards{
		--count: 2;
	}
}
@media (min-width: 960px){
	.f-contact-cards{
		--count: 4;
	}
}
.f-contact-card{
	--label-base: clamp(0.875rem, 0.786rem + 0.24vw, 1rem);
	--label-size: calc(var(--label-base) * 5);
	position: relative;
	display: flex;
	flex-direction: column;
	width: calc( ( 100% - var(--gap) * (var(--count) - 1) ) / var(--count) );
}
/* ステップ：ラベル */
.f-contact-card__label{
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: var(--label-size);
	height: var(--label-size);
	margin-inline: auto;
	line-height: var(--lh-xs);
	border-radius: 50%;
	background: linear-gradient(147.99deg, #F9448F 7.21%, #C959D5 92.79%);
	font-size: var(--label-base);
	font-weight: var(--fw-lg);
	color: var(--c-light);
}
.f-contact-card__label span:first-of-type{
	font-size: 10px;
}
.f-contact-card__label-number{
	font-size: 2em;
}
.f-contact-card__container{
	position: relative;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	gap: .5rem;
	margin-top: calc( var(--label-size) / -2 );
	padding: 1rem;
	border-radius: var(--bd-r--sm);
	border: 1px solid var(--c-this);
	background: var(--c-light);
}
.f-contact-card__arrow{
	display: none;
}
@media (min-width: 960px){
	.f-contact-card__arrow{
		position: absolute;
		top: 15%;
		left: 100%;
		transform: translateX(-50%);
		z-index: 1;
		display: block;
		width: 92px;
	}
}
.f-contact-card__image img{
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 253 / 150;
	object-fit: cover;
	object-position: 50% 50%;
}
.f-contact-card__summary{
	text-align: center;
	background: var(--c-this);
	font-weight: var(--fw-lg);
	font-size: 1.25rem;
	color: var(--c-light);
}
.f-contact-card__detail{
	text-align: center;
	font-weight: var(--fw-lg);
}
.f-contact-card__list li:not(:last-of-type){
	margin-bottom: .25rem;
}


/*===============================================================================
***面接のお待ち合わせ場所
================================================================================*/
.f-place{
	margin-bottom: var(--g-sec--md);
}
.f-place__head{
	margin-bottom: var(--g-sec--xs);
}
.f-place__title{
	text-align: center;
}
.f-place__body{
	--count: 1;
	--gap: 1.5rem;
	--media-width: 100%;
	--body-width: calc( 200% - var(--media-width) );
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
	padding: 1.5rem clamp(1rem, 1.67vw, 1.5rem);
	background: var(--c-light);
	border: 1px solid var(--c-main--light);
	border-radius: var(--bd-r--sm);
	overflow: hidden;
	font-size: 1rem;
}
@media (min-width: 768px){
	.f-place__body{
		--count: 2;
	}
}
.f-place__map{
	width: calc( ( var(--media-width) - var(--gap) * (var(--count) - 1) ) / var(--count) ); 
}
.f-place__map iframe{
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 33 / 30;
	object-fit: cover;
	object-position: 50% 50%;
}
@media (min-width: 600px){
	.f-place__map iframe{
		aspect-ratio: 560 / 326;
	}
}
.f-place__content{
	width: calc( ( var(--body-width) - var(--gap) * (var(--count) - 1) ) / var(--count) );
}
.f-place__text-area{
	margin-bottom: 1.5rem;
}
.f-place__text-group:not(:last-of-type){
	margin-bottom: 1.5rem;
}
.f-place__text-group span{
	color: var(--c-main--light);
}
.f-place__bannar{
	position: relative;
	padding: clamp(1rem, 0.286rem + 1.9vw, 2rem) clamp(1.5rem, -5.5rem + 11.67vw, 5rem) 2rem clamp(1rem, 0.643rem + 0.95vw, 1.5rem);
	background: linear-gradient(92.66deg, #F9448F -1.23%, #C959D5 100%);
	border-radius: var(--bd-r--sm);
}
.f-place__bannar-text{
	font-weight: var(--fw-lg);
	color: var(--c-light);
}
.f-place__bannar-woman{
	position: absolute;
	bottom: 0;
	right: calc( clamp(1rem, -0.429rem + 3.81vw, 3rem) * -1 );
	z-index: 1;
	width: clamp(7rem, 2.714rem + 11.43vw, 13rem);
	min-width: 9.5rem;
}



/*===============================================================================
***募集要項
================================================================================*/
.f-recruit{
	margin-bottom: var(--g-sec--md);
}
.f-recruit__head{
	margin-bottom: var(--g-sec--xs);
}
.f-recruit__title{
	text-align: center;
}
.f-recruit__table{
	--bd-width: 1px;
	--bd-style: solid;
	--bd-color: var(--c-main--light);
	display: block;
	width: 100%;
	border-radius: var(--bd-r--sm);
	border: var(--bd-width) var(--bd-style) var(--bd-color);
	overflow: hidden;
	font-size: 1rem;
}
/* table */
.f-recruit__table table{
	width: 100%;
	border-collapse: collapse;
}
.f-recruit__table :is(th,td){
	padding: clamp(0.5rem, 0.143rem + 0.95vw, 1rem) clamp(0.5rem, -0.214rem + 1.9vw, 1.5rem);
	border-right: var(--bd-width) var(--bd-style) var(--bd-color);
	border-bottom: var(--bd-width) var(--bd-style) var(--bd-color);
}
/* 1列目 */
.f-recruit__table :is(th,td):first-child {
	width: clamp(7rem, 3.071rem + 10.48vw, 12.5rem);
	text-align: center;
	background: var(--bd-color);
	border-bottom-color: var(--c-light);
	font-weight: var(--fw-lg);
	color: var(--c-light);
}
/* 最後の行 */
.f-recruit__table tr:last-child :is(th,td) {
	border-bottom: none;
}
/* 最後の列 */
.f-recruit__table :is(th,td):last-child {
	border-right: none;
}
.f-recruit__table strong{
	font-weight: var(--fw-lg);
}

/*===============================================================================
***footer
================================================================================*/
.f-footer__inner{
	position: relative;
	z-index: 1;
	padding-top: var(--g-sec--xs);
}
/*===============================
* 背景画像
* =================================*/
.f-footer__bgi{
	position: absolute;
	top: 0;
	left: calc( 50% - 50vw );
	z-index: -2;
	max-width: 100vw;
	width: 100vw;
	height: 100%;
}
.f-footer__bgi img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/*===============================
* head
* =================================*/
.f-footer__head{
	position: relative;
	margin-bottom: var(--g-sec--xs);
}
.f-footer__title{
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.f-footer__title strong{
	font-size: 	clamp(2.75rem, 2.214rem + 1.43vw, 3.5rem);
	color: #FFE75E;
}
.f-footer__star{
	display: none;
}
@media (min-width: 600px){
	.f-footer__star{
		position: absolute;
		top: 0;
		right: 10%;
		transform: translateX(50%);
		display: block;
		width: 19%;
	}
}
/*===============================
* body
* =================================*/
.f-footer__body{
	margin-bottom: var(--g-sec--xs);
}
/*===============================
* fukidasi
* =================================*/
.f-footer__fukidasi{
	position: relative;
	max-width: 509px;
	width: 100%;
	margin-inline: auto;
	margin-bottom: 1.5rem;
	aspect-ratio: 509 / 238;
}
.f-footer__fukidasi-image{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}
.f-footer__fukidasi-text{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	content: "";
	width: 100%;
	padding: 0 2.5rem;
}
/*===============================
* cards
* =================================*/
.f-footer__cards{
	--image-size: clamp(11rem, -3.167rem + 37.78vw, 19.5rem);
	--count: 1;
	--gap: 1.5rem;
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: var(--gap);
	margin-top: calc( var(--image-size) - 3rem );
}
@media (min-width: 600px){
	.f-footer__cards{
		--count: 2;
		margin-top: calc( var(--image-size) - 4rem );
	}
}
@media (min-width: 960px){
	.f-footer__cards{
		--image-size: clamp(22rem, 19rem + 5vw, 23.5rem);
		--count: 3;
		position: static;
		margin-top: 0;
	}
}
/*===============================
* woman
* =================================*/
.f-footer__woman{
	position: absolute;
	bottom: 100%;
	left: calc( clamp(0rem, -16rem + 26.67vw, 8rem) * -1 );
	z-index: -1;
	width: var(--image-size);
	aspect-ratio: 153 / 170;
	object-position: 50% 0%;
	object-fit: cover;
}
@media (min-width: 960px){
	.f-footer__woman{
		bottom: 0;
		aspect-ratio: auto;
	}
}
/*===============================
* tel
* =================================*/
.f-footer-tel{
	width: calc( ( 100% - var(--gap) * (var(--count) - 1) ) / var(--count) );
	padding-bottom: 1.25rem;
	background: var(--c-light);
	border: 3px solid var(--c-main--light);
	border-radius: 0px 0px var(--bd-r--lg) var(--bd-r--lg);
	color: var(--c-dark);
	cursor: pointer;
	transition: var(--ani-t--normal);
}
.f-footer-tel:is(:hover, :focus){
	opacity: .7;
	text-decoration: none;
}
.f-footer-tel__label{
	margin-bottom: 1.5rem;
	text-align: center;
	background: var(--c-main--light);
	font-size: 1.25rem;
	font-weight: var(--fw-lg);
	color: var(--c-light);
}
.f-footer-tel__number{
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: .5rem;
	font-size: 2rem;
}
.f-footer-tel__icon{
	width: .6em;
}
.f-footer-tel__time{
	text-align: center;
}
/*===============================
* mail
* =================================*/
.f-footer-mail{
	--bd-w: 3px;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 1.5rem;
	width: calc( ( 100% - var(--gap) * (var(--count) - 1) ) / var(--count) );
	padding: 1.5rem .5rem;
	text-align: center;
	background: linear-gradient(147.99deg, #F9448F 7.21%, #C959D5 92.79%);
	border-radius: var(--bd-r--lg);
	cursor: pointer;
	transition: var(--ani-t--normal) ease-out;
}
.f-footer-mail:is(:hover, :focus){
	opacity: .7;
	text-decoration: none;
}
/* 白背景要素 */
.f-footer-mail__bgc{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	width: calc( 100% - var(--bd-w) * 2 - 1px );
	height: calc( 100% - var(--bd-w) * 2 );
	background: var(--c-light);
	border-radius: var(--bd-r--lg);
	transition: var(--ani-t--normal);
}
.f-footer-mail__icon{
	position: relative;
	z-index: 3;
	width: 3rem;
}
.f-footer-mail__text{
	position: relative;
	z-index: 3;
	color: var(--c-main--light);
	font-size: clamp(1rem, 0.821rem + 0.48vw, 1.25rem);
	font-weight: var(--fw-lg);
}
/*===============================
* LINE
* =================================*/
.f-footer-line{
	display: flex;
	align-items: center;
	gap: 1rem;
	width: calc( ( 100% - var(--gap) * (var(--count) - 1) ) / var(--count) );
	padding: 1rem;
	text-align: center;
	background: #00B021;
	border-radius: var(--bd-r--lg);
	border: 3px solid var(--c-light);
	font-weight: var(--fw-lg);
	font-size: 1.25rem;
	color: var(--c-light);
	transition: var(--ani-t--normal) ease-out;
}
.f-footer-line:is(:hover, :focus){
	opacity: .7;
}
.f-footer-line__content{
	width: 100%;
}
.f-footer-line__icon{
	display: block;
	width: 2.4em;
	margin-inline: auto;
	margin-bottom: .4em;
}
.f-footer-line__qr{
	--qr-size: 124px;
	width: var(--qr-size);
	min-width: var(--qr-size);
}
@media (min-width: 600px){
	.f-footer-line__qr{
		--qr-size: clamp(4rem, -2.25rem + 16.67vw, 7.75rem);
	}
}
@media (min-width: 960px){
	.f-footer-line__qr{
		--qr-size: clamp(6rem, 2.5rem + 5.83vw, 7.75rem);
	}
}

/*===============================
 * footer
 * =================================*/
.f-footer__menu{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: .5rem;
}
.f-footer__menu a{
	padding: .125rem .5rem;
	transition: var(--ani-t--normal) ease-out;
}
.f-footer__menu a:is(:hover, :focus){
	text-decoration: none;
	opacity: .7;
	color: var(--c-main);
}
.f-footer__copy{
	padding: 1rem 0;
	text-align: center;
}