/* 共通のCSS変数は /css/common.css の :root へ集約。ここには女性固有の変数のみ残す */
:root {
  --bionas-black: #222222;
  --bionas-womens-pink: #d92771;
}
body {
	color: #222;
	line-height: 1.5;
	background: #fff;
	text-rendering: optimizeLegibility;
}
 
/* html の基本設定（rem基準・スクロール・iOS高さ対応をまとめて指定） */
html {
	font-size: 62.5%;               /* 1rem = 10px */
	scrollbar-gutter: stable;
	scroll-behavior: smooth;        /* ブラウザ標準のスムーススクロール */
	height: -webkit-fill-available; /* support iOS */
	height: 100%;
}
 
*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
 
/* Remove default padding */
 
ul,
ol {
	padding: 0;
}
 
/* Remove default margin */
 
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}
 
/* html の scroll-behavior:smooth は上部の html{}（scrollbar-gutter と同ブロック）に統合済み */

/* body の基本スタイル（line-height / min-height / text-rendering）は上部の body{} に統合済み */

/* Remove list styles on ul, ol elements with a class attribute */
 
ul,
ol {
	list-style: none;
}
 
/* A elements that don't have a class get default styles */
 
a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}
 
/* img のベース（display/max-width/width/height）は /css/common.css（全店共通）へ集約 */
 
/* Natural flow and rhythm in articles by default */
 
article > * + * {
	margin-top: 1em;
}
 
/* Inherit fonts for inputs and buttons */
 
input,
button,
textarea,
select {
	font: inherit;
}
 
/* Blur images when they have no alt attribute */
 
img:not([alt]) {
	filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
	-webkit-filter: blur(10px);
	filter: blur(10px);
}
 
/* フォームリセット */
 
input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}
 
textarea {
	resize: vertical;
}
 
input[type='checkbox'],
input[type='radio'] {
	display: none;
}
 
input[type='submit'],
input[type='button'],
label,
button,
select {
	cursor: pointer;
}
 
select::-ms-expand {
	display: none;
}
 
/* ホバー */
 
a {
	color: inherit;
	text-decoration: none;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
}
 
address {
	font-style: normal;
}
 
table {
	width: 100%;
}
 
/* html の height（iOS対応）は上部の html{} に統合済み */

figure {
	line-height: 0;
}

.access {
	background-color: #f9f9f9;
	padding-block: 3.2rem;
}
 
.access__content {
	gap: 32px;
	gap: 3.2rem;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	display: block;
	margin-top: 2.4rem;
}
 
.access__info {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 1.6rem;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	margin-top: 0.8rem;
}
 
.access__info-table {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	max-width: 432px;
	max-width: 43.2rem;
}
 
.access__info-table-item {
	gap: 8px;
	gap: 0.8rem;
	border-bottom: 1px solid #e9e9e9;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-weight: 500;
	line-height: 1.7;
	padding-block: 0.8rem;
	font-size: 1.4rem;
}
 
.access__info-table-item-title {
	color: #c17192;
	flex-shrink: 0;
	width: 84px;
	width: 8.4rem;
}
 
.access__info-img {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	max-width: 456px;
	max-width: 45.6rem;
}
 
.access__map iframe {
	-o-object-fit: cover;
	border: none;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}
 
.access__map-text {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #c17192;
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-weight: 500;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	text-align: center;
	font-size: 1.6rem;
	height: 3.5rem;
}
 
.access__gallery {
	display: grid;
	grid-gap: 0.8rem 0.8rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 1.6rem;
}
 
.access__gallery-item {
	max-width: 228px;
	max-width: 22.8rem;
}
 
.access__map-wrapper {
	margin-top: 1.6rem;
}
 
.access__map {
	aspect-ratio: 360/200;
}
 
.campaign {
	padding-block: 2.4rem;
	background: url('../img/campaign_bg-sp.webp') no-repeat center center/cover;
}
 
.campaign__label {
	margin-inline: auto;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: -webkit-gradient(
	linear,
	left top,
	right top,
	from(rgba(174, 147, 102, 0)),
	color-stop(20%, rgba(174, 147, 102, 0.7)),
	color-stop(50%, rgb(174, 147, 102)),
	color-stop(80%, rgba(174, 147, 102, 0.7)),
	to(rgba(174, 147, 102, 0))
	);
	background: linear-gradient(to right, rgba(174, 147, 102, 0) 0%, rgba(174, 147, 102, 0.7) 20%, rgb(174, 147, 102) 50%, rgba(174, 147, 102, 0.7) 80%, rgba(174, 147, 102, 0) 100%);
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-weight: 500;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	line-height: 1.2;
	text-align: center;
	font-size: 1.6rem;
	height: 2.7rem;
	padding: 0.4rem 4rem;
	width: 21.6rem;
}
 
.campaign__heading {
	margin-inline: auto;
	width: 29.5rem;
}
 
.campaign__lead {
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	line-height: 1.3;
	text-align: center;
	font-size: 2rem;
	margin-top: 0;
}
 
.campaign__content {
	margin-top: 1.2rem;
}
 
.campaign__item-col {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 0px 0.8rem;
}
 
.campaign__item-col + .campaign__item {
	margin-top: 0.8rem;
}
 
.campaign__item {
	background-color: rgba(255, 255, 255, 0.8);
	-webkit-box-shadow: 0 0.8rem 0.8rem rgba(0, 0, 0, 0.1);
	box-shadow: 0 0.8rem 0.8rem rgba(0, 0, 0, 0.1);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	gap: 0.6rem;
	padding: 1.2rem;
}
 
.campaign__item-num {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: url('../img/campaign_card-bg.webp') no-repeat center center/contain;
	color: #77485e;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding-top: 16px;
	padding-top: 1.6rem;
	text-align: center;
	filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur in="SourceAlpha" stdDeviation="16" /><feOffset dx="1" dy="1" result="offsetblur" /><feFlood flood-color="rgba(203,178,178,0.6)" /><feComposite in2="offsetblur" operator="in" /><feMerge><feMergeNode /><feMergeNode in="SourceGraphic" /></feMerge></filter></svg>#filter');
	-webkit-filter: drop-shadow(0 0.5rem 1rem rgba(203, 178, 178, 0.6));
	filter: drop-shadow(0 0.5rem 1rem rgba(203, 178, 178, 0.6));
	height: 6.6rem;
	margin-top: 0.6rem;
	width: 6.6rem;
}
 
.campaign__item-num .-top {
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.3;
	font-size: 1.1rem;
}
 
.campaign__item-num .-bottom {
	font-family: 'Unna', serif;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.3;
	position: relative;
	top: -8px;
	top: -0.8rem;
	font-size: 2.6rem;
}
 
.campaign__item-main {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	font-style: italic;
	position: relative;
}
 
.campaign__item-main .-top {
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	line-height: 1.15;
	margin-right: auto;
	font-size: 1.6rem;
}
 
.campaign__item-main .-bottom {
	margin-top: 1.2rem;
}
 
.campaign__item-main .-bottom .-lg {
	font-family: 'Unna', serif;
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 0.5;
	padding-right: 8px;
	padding-right: 0.8rem;
	font-size: 7rem;
}
 
.campaign__item-main .-bottom .-lg .-xs {
	font-size: 4.6rem;
}
 
.campaign__item-main .-bottom .-md {
	font-family: 'Noto Serif JP', serif;
	font-weight: bold;
	letter-spacing: -0.03em;
	line-height: 1;
	margin-left: -8px;
	margin-left: -0.8rem;
	padding-right: 8px;
	padding-right: 0.8rem;
	font-size: 2.7rem;
}
 
.campaign__item-main .-bottom .-sm {
	font-family: 'Noto Serif JP', serif;
	font-weight: bold;
	letter-spacing: -0.03em;
	line-height: 1;
	padding-right: 8px;
	padding-right: 0.8rem;
	font-size: 2rem;
	margin-left: -1.6rem;
}
 
.campaign__cta-panel {
	margin-top: 24px;
	margin-top: 2.4rem;
}
 
.care {
	padding-block: 2.4rem;
}
@media screen and (min-width: 500px) {
    .care {
        padding-block: 0;
        padding-top: 7em;
        padding-bottom: 4em;
    }
}
 
.care__lead {
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-align: center;
	font-size: 1.8rem;
}
 
.care__lead .-pink {
	color: var(--bionas-womens-pink);
}
 
.care__sub-heading {
	margin-inline: auto;
	background: -webkit-gradient(linear, left top, right top, from(#d92771), to(#bb1258));
	background: linear-gradient(to right, #d92771, #bb1258);
	color: #fff;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	line-height: 1.4;
	margin-top: 8px;
	margin-top: 0.8rem;
	position: relative;
	text-align: center;
	z-index: 1;
	font-size: 1.8rem;
	height: 2.6rem;
	width: 19.6rem;
}
 
.care__sub-heading::before {
	background: -webkit-gradient(linear, left top, right top, from(#d92771), to(#bb1258));
	background: linear-gradient(to right, #d92771, #bb1258);
	content: '';
	height: 100%;
	opacity: 0.2;
	position: absolute;
	width: 100%;
	z-index: -1;
	bottom: -0.6rem;
	right: -0.4rem;
}
 
.care__heading {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-family: 'Noto Serif JP', serif;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	line-height: 1;
	position: relative;
	text-align: center;
	z-index: 1;
	margin-top: -1.2rem;
}
 
.care__heading .-big {
	font-family: 'Unna', serif;
	font-weight: 400;
	font-size: 10.6rem;
}
 
.care__heading .-text01 {
	font-weight: 500;
	padding-top: 12px;
	padding-top: 1.2rem;
	font-size: 4rem;
}
 
.care__heading .-text02 {
	font-weight: 500;
	font-size: 5rem;
}
 
.care__heading::before {
	background: url('../img/care_title-bg.svg') no-repeat center center/contain;
	content: '';
	left: 50%;
	position: absolute;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 100%;
	z-index: -1;
	bottom: 1rem;
	height: 2rem;
}
 
.care__text {
	font-weight: 400;
	line-height: 1.7;
	margin-top: 8px;
	margin-top: 0.8rem;
	text-align: center;
	font-size: 1.4rem;
}
 
.care__cards-col {
	display: grid;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
 
.care__cards-col.--col1 {
	margin-inline: auto;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
	grid-gap: 0.8rem 0px;
	grid-template-columns: repeat(1, 1fr);
}
 
.care__cards-col.--col1 .care__card {
	grid-gap: 0px 0px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	max-width: 360px;
	max-width: 36rem;
	margin-inline: auto;
}
 
.care__cards-col.--col1 .care__card-text {
	font-size: 1.8rem;
}
 
.care__cards-col.--col1 .care__card-text .-sm {
	font-size: 1.3rem;
}
 
.care__cards-col.--col1 .care__card-body {
	background: url('../img/care_card-bg1.webp') no-repeat center center/100% 100%;
}
 
.care__cards-col.--col2 {
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
	grid-gap: 0.8rem 0.8rem;
	margin-inline: auto;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 0.8rem;
}
 
.care__cards-col.--col2 .care__card {
	max-width: 17.6rem;
}
 
.care__cards-col.--col2 .care__card-body {
	background: url('../img/care_card-bg2.webp') no-repeat center center/100% 100%;
	height: 4.8rem;
}
 
.care__cards-col.--col2 .care__card-text {
	font-size: 1.4rem;
}
 
.care__cards-col.--col2 .care__card-text .-sm {
	font-size: 1.1rem;
}
 
.care__cards-col.--col2 .care__card-img {
	height: 80px;
	height: 8rem;
}
 
.care__cards {
	margin-top: 24px;
	margin-top: 2.4rem;
}
 
.care__card {
	-webkit-box-shadow: 0.2rem 0.2rem 0.4rem rgba(0, 0, 0, 0.15);
	box-shadow: 0.2rem 0.2rem 0.4rem rgba(0, 0, 0, 0.15);
}
 
.care__card-img {
	overflow: hidden;
	position: relative;
}
 
.care__card-img::before {
	border-right: 50px solid transparent;
	border-right: 5rem solid transparent;
	border-top: 50px solid #c9b595;
	border-top: 5rem solid #c9b595;
	content: '';
	height: 0;
	left: 0;
	position: absolute;
	top: 0;
	width: 0;
	z-index: 1;
}
 
.care__card-num {
	color: #fff;
	font-family: 'Unna', serif;
	font-size: 20px;
	font-size: 2rem;
	font-style: italic;
	font-weight: 400;
	left: 4px;
	left: 0.4rem;
	line-height: 1;
	position: absolute;
	top: 4px;
	top: 0.4rem;
	z-index: 2;
}
 
.care__card-text {
	font-family: 'Noto Serif JP', serif;
	font-size: 20px;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.3;
}
 
.care__card-text .-sm {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
}
 
.care__card-body {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	text-align: center;
}
 
.compare {
	background: url(../img/point_bg-sp.webp) no-repeat center center / cover;
	background-attachment: fixed;
}
 
.compare__top {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding-bottom: 24px;
	padding-bottom: 2.4rem;
	padding-block: 1.1rem 2rem;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	background: url('../img/compare_bg-sp.webp') no-repeat center center/100% 100%;
	/* padding-bottom: 1.6rem; */
}
 
.compare__title {
	padding-top: 35px;
	padding-top: 3.5rem;
	position: relative;
	padding-block: 0.5rem 1.2rem;
	right: 0;
}
 
.compare__title .-row {
	display: block;
	width: 25rem;
}
 
.compare__title .-row01 {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0.8rem;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
 
.compare__title .-row02 {
	line-height: 0.5;
}
 
.compare__title .-row02 img {
	display: inline-block;
	margin-top: 1.2rem;
	width: 16.3rem;
}
 
.compare__title small {
	display: block;
	font-size: 1rem;
}
 
.compare__title .-tag {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #fff;
	color: #222;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	font-weight: 500;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
	gap: 0.4rem;
	font-size: 1.6rem;
	padding: 0.2rem 0.4rem;
}
 
.compare__title .-tag img {
	display: inline-block;
	height: 1.7rem;
	margin-top: 0.1rem;
	width: 1.7rem;
}
 
.compare__title .-text01 {
	display: inline-block;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	line-height: 1.4;
	font-size: 2.4rem;
	margin-top: 0.4rem;
}
 
.compare__title .-text02 {
	display: inline-block;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	line-height: 1;
	font-size: 2.4rem;
}
 
.compare__title .-pink {
	color: var(--bionas-womens-pink);
	display: inline-block;
	font-family: 'Unna', serif;
	font-weight: 400;
	line-height: 1;
	font-size: 5.2rem;
}
 
.compare__img01 {
	display: block;
	position: relative;
	margin-right: -1.6rem;
	right: 0;
	width: 14.4rem;
}
 
.compare__table-wrapper {
	padding-bottom: 1.6rem;
}
 
.compare__table-img img {
	margin-inline: auto;
	width: 58.4rem;
}

.faq {
	padding-block: 3.2rem;
}

.faq__list {
	margin-top: 2.4rem;
}

.faq__item:nth-of-type(n + 2) {
	margin-top: 0.8rem;
}

.faq__q {
	gap: 8px;
	gap: 0.8rem;
	background-color: #f4f4f4;
	cursor: pointer;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	line-height: 1.7;
	position: relative;
	font-size: 1.4rem;
	padding: 1.2rem 4rem 1.2rem 0.8rem;
}
 
.faq__q-icon {
	color: var(--bionas-womens-pink);
	font-family: 'Unna', serif;
	font-size: 28px;
	font-size: 2.8rem;
	font-weight: 400;
	line-height: 1;
}
 
.faq__q-toggle {
	height: 24px;
	height: 2.4rem;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 24px;
	width: 2.4rem;
	right: 0.8rem;
}
 
.faq__q-toggle::before,
.faq__q-toggle::after {
	background-color: var(--bionas-womens-pink);
	content: '';
	height: 2px;
	height: 0.2rem;
	left: 50%;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 14px;
	width: 1.4rem;
}
 
.faq__q-toggle::after {
	-webkit-transform: translate(-50%, -50%) rotate(90deg);
	transform: translate(-50%, -50%) rotate(90deg);
}
 
.faq__item.is-open .faq__q-toggle::after {
	display: none;
}
 
.faq__a {
	display: none;
	line-height: 1.7;
	position: relative;
	font-size: 1.4rem;
	padding: 1.2rem 0.8rem 1.6rem;
}
 
.faq__a-inner {
	gap: 8px;
	gap: 0.8rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
 
.faq__a-icon {
	color: var(--bionas-womens-pink);
	font-family: 'Unna', serif;
	font-size: 28px;
	font-size: 2.8rem;
	font-weight: 400;
	line-height: 1;
}
 
.top {
	padding-top: 0;
}

.top__problem-care-bg {
	background: url('../img/problem-care_bg-sp.webp') no-repeat center center/cover;
}

@media screen and (min-width: 500px) {
	.top__problem-care-bg {
		background: url('../img/problem-care_bg-sp.webp') 100% 0 / 100% no-repeat;
	}
}

.fv {
	position: relative;
	z-index: 1;
}

.fv_ribbon {
	position: absolute;
	bottom: -2.88rem;
	left: 0;
}

/* .fv__caution / .fv__caution-text / @keyframes anime1 は
   赤帯を共通ヘッダー（.header_band）へ統一したため廃止（/css/common.css） */

.menu-detail-modal {
	inset: 0;
	display: none;
	position: fixed;
	z-index: 999;
}
 
.menu-detail-modal.is-noimg .menu-detail-modal__content {
	max-width: 560px;
	max-width: 56rem;
}
 
.menu-detail-modal.is-open {
	display: block;
}
 
.menu-detail-modal__overlay {
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
	position: absolute;
}
 
.menu-detail-modal__inner {
	margin-inline: auto;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	max-width: 1000px;
	max-width: 100rem;
	overflow: hidden;
	width: 100%;
	padding-inline: 1.5rem;
}
 
.menu-detail-modal__close {
	-ms-flex-item-align: end;
	align-self: flex-end;
	cursor: pointer;
	padding: 0;
	z-index: 1;
	height: 3.2rem;
	width: 3.2rem;
}
 
.menu-detail-modal__content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	height: -moz-fit-content;
	height: -webkit-fit-content;
	height: fit-content;
	position: relative;
	z-index: 2;
	width: 34.2rem;
}
 
.menu-detail-modal__media {
	margin-inline: auto;
	background-color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 1.6rem;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	padding: 2.4rem;
}
 
.menu-detail-modal__media-img {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	max-width: 452px;
	max-width: 45.2rem;
}
 
.menu-detail-modal__media-body {
	line-height: 1.7;
	font-size: 1.4rem;
}
 
.menu-detail-modal__media-text {
	margin-top: 16px;
	margin-top: 1.6rem;
}
 
body.is-menuDetailModal-lock {
	overflow: hidden;
}
 
.menu {
	padding-block: 2.4rem;
	background: #f0a8c6;
	background: linear-gradient(40deg, rgba(244, 240, 243, 1) 0%, rgba(253, 251, 252, 1) 50%, rgba(245, 241, 244, 1) 100%);
}

.menu__heading {
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	line-height: 1;
	position: relative;
	text-align: center;
	z-index: 1;
	font-size: 2.8rem;
	padding-top: 4rem;
}

.menu__heading::before {
	color: #fff;
	content: 'Menu';
	font-family: 'Pinyon Script', cursive;
	font-weight: 400;
	left: 50%;
	line-height: 1;
	position: absolute;
	top: 0;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: -1;
	font-size: 8rem;
}

.menu__text {
	text-align: center;
	font-size: 1.4rem;
	margin-top: 0.8rem;
}

.menu__cards {
	margin-top: 1.6rem;
}

.menu__card {
	width: 100%;
	margin-bottom: 16px;
	margin-bottom: 1.6rem;
	background-color: #fff;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	height: 100%;
	padding: 16px;
	padding: 1.6rem;
	margin-inline: auto;
	display: block;
}

.menu__card-img .swiper,
.menu__card-img .swiper-slide {
	width: 100%;
	height: 100%;
}

.menu__card-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.menu__card-body {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	margin-top: 16px;
	margin-top: 1.6rem;
	min-height: 0;
	display: block;
}

.menu__card-title {
	font-size: 2.24rem;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	line-height: 1.4;
	padding-left: 12px;
	padding-left: 1.2rem;
	position: relative;
}

.menu__card-title .-sm {
	font-size: 16px;
	font-size: 1.6rem;
}

.menu__card-title::before {
	background-color: #ed146e;
	content: '';
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 4px;
	width: 0.4rem;
}

.menu__card-label {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.7;
	margin-top: 12px;
	margin-top: 1.2rem;
}

.menu__card-tags {
	gap: 4px;
	gap: 0.4rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-block: 0.4rem 0.8rem;
}

.menu__card-tag {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #f8f1f4;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: 400;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 4px 8px;
	padding: 0.4rem 0.8rem;
	text-align: center;
}

.menu__card-btn {
	gap: 4px;
	gap: 0.4rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #f4f4f4;
	border: 1px solid #e9e9e9;
	border-radius: 0.4rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 40px;
	height: 4rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 16px;
	margin-top: 1.6rem;
	margin-top: auto;
	padding: 8px;
	padding: 0.8rem;
	width: 100%;
	box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.2);
}

.menu__card-btn .-text {
	color: #222;
	font-weight: 500;
	text-align: center;
	white-space: nowrap;
	font-size: 1.4rem;
}

.menu__card-btn img {
	height: 24px;
	height: 2.4rem;
	width: 24px;
	width: 2.4rem;
}

.menu__card-note {
	color: #7c7c7c;
	font-size: 11px;
	font-size: 1.1rem;
	font-weight: 500;
	line-height: 1.7;
	margin-top: 12px;
	margin-top: 1.2rem;
}
 
 
/* ============================
   プラン
   ============================ */
.plan {
  padding-block: 2.4rem;
  background: url('../img/plan_bg-sp.webp') no-repeat center center/100% 100%;
}
.plan_cards {
  width: 90%;
  margin: 0 auto;
  border: 1.5px solid;
}
.plan_cards.bronze {
  border-color: #895B1D;
}
.plan_cards.pt {
  border-color: #C5C9D3;
}
.plan_cards.executive {
  border-color: #DBBA7A;
  margin-top: 3.2rem;
  margin-bottom: 6.4rem;
}
.plan_cards_title {
  padding: 0.8rem 0 2.4rem;
}
.plan_title_box h2{
	font-size: 2.8rem;
   padding: 4.32rem 0px 3.2rem;
	font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    line-height: 1;
    position: relative;
    text-align: center;
    z-index: 1;
}
.plan_title_box h2::before {
    color: #e3e3e3;
    content: 'Plan';
    font-family: 'Pinyon Script', cursive;
    font-size: 8rem;
    font-weight: 400;
    left: 50%;
    line-height: 1;
    position: absolute;
    top: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: -1;
}
.bronze .plan_cards_title {
  background: var(--bionas-bronze-gradation);
}
.pt .plan_cards_title {
  background: url("../../../img/plan_titile_pt_bg.webp") 100% 0 / 100% no-repeat;
  background-size: cover;
}
.executive .plan_cards_title {
  background: url("../../../img/plan_titile_executive_bg.webp") 100% 0 / 100% no-repeat;
  background-size: cover;
}
.plan_cards_title img {
  width: 24rem;
  margin: 0 auto;
}
.plan_cards_title h3 {
  font-size: 2.08rem;
  color: #FFF;
  text-align: center;
  line-height: 1;
  font-weight: 600;
}
.pt .plan_cards_title h3
 {
  color:#1d3e69;
}
.executive .plan_cards_title h3
 {
  color:#302502;
}
.plan_inner {
  padding-bottom: 3.2rem;
	background-color: #fff;
}
/* ============================
   プラン特徴アイコン3カラム
   ============================ */
.plan_feature {
  width: 90%;
  margin: 0 auto;
  border-top: 1px solid #dddddd;
  margin-top: 0.8rem;
  padding-top: 1.28rem;
}
.plan_feature ul {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.6rem;
}
.plan_feature li {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.24rem;
}
.pt .plan_feature li:first-child small,
.pt .plan_feature li:last-child small,
.executive .plan_feature li:first-child small,
.executive .plan_feature li:last-child small {
  letter-spacing: 0;
}
.plan_feature li img {
  width: 7.2rem;
  height: auto;
  margin-bottom: 0.8rem;
}
.plan_feature li small {
  display: block;
  font-size: 1.04rem;
  color: var(--bionas-blue-500);
  font-weight: 600;
}
.plan_feature li > .red {
  display: block;
  font-size: 1.44rem;
  font-weight: bold;
  color: var(--bionas-red);
}
.plan_feature li small .red {
  color: var(--bionas-red);
  font-weight: bold;
}
.plan_cards .plan_recommend {
  position: relative;
  z-index: 0;
  width: 90%;
  margin: 1.6rem auto 0;
  overflow: hidden;
  padding: 1.92rem 3.2rem 2.88rem;
}
.plan_cards .plan_recommend:before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.1;
  z-index: -1;
  pointer-events: none;
}
.plan_cards.bronze .plan_recommend:before {
  background: var(--bionas-bronze-gradation);
}
.plan_cards.pt .plan_recommend:before {
  background: var(--bionas-pt-gradation);
  opacity: 0.3;
}
.plan_cards.executive .plan_recommend:before {
  background: var(--bionas-gold-gradation);
  opacity: 0.2;
}
.plan_recommend_label {
  font-size: 1.36rem;
  text-align: center;
  justify-content: center;
  display: flex;
  align-items: center;
  gap: 1.28rem;
}
.plan_recommend_label:before,
.plan_recommend_label:after {
  content: '';
  flex: 1;
  height: 1px;
  background: #000;
}
.plan_recommend ul li {
  position: relative;
  padding-left: 2.4rem;
  font-size: 1.28rem;
  line-height: 0.8;
  padding-top: 1.6rem;
}
.plan_recommend ul li:before {
  content: "";
  display: block;
  background: url("../img/icon_check.webp") 100% 0 / 100% no-repeat;
  position: absolute;
  left: 0;
  width: 1.6rem;
  height: 1.92rem;
}
.plan_example {
  width: 100%;
}
.plan_example_button {
  position: relative;
  display: block;
  width: 90%;
  background: #E6E6E6;
  border: 1px solid #B3B3B3;
  border-radius: 5px;
  text-align: center;
  font-weight: bold;
  color: #000;
  font-size: 1.6rem;
  margin: 3.2rem auto 0;
  padding: 0.8rem 0;
  font-weight: 500;
  letter-spacing: 0.24rem;
}
.plan_example_button::before,
.plan_example_button::after {
  content: "";
  position: absolute;
  right: 3.2rem;
  top: 50%;
  width: 16px;
  height: 1px;
  background: currentColor;
  transition: transform 0.3s ease;
}
.plan_example_button::before {
  transform: translateY(-50%);
}
.plan_example_button::after {
  transform: translateY(-50%) rotate(0);
}
.plan_example_button[aria-expanded="true"]::after {
  transform: translateY(-50%) rotate(90deg);
}
.plan_example_inner {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.4s ease;
  width: 90%;
  margin: 0 auto;
}
.plan_example_inner.is-open {
  max-height: 800px;
}
.plan_example_inner img {
  display: block;
  width: 100%;
  height: auto;
}
.plan_more_button {
  position: relative;
  display: block;
  width: 32rem;
  margin: 3.2rem auto;
  padding: 1.6rem 0;
  background: #fff;
  border: 1px solid var(--bionas-red);
  border-radius: 50px;
  text-align: center;
  font-weight: bold;
  color: var(--bionas-red);
  cursor: pointer;
  font-size: 1.6rem;
}
.plan_more_button::before,
.plan_more_button::after {
  content: "";
  position: absolute;
  right: 3.2rem;
  top: 50%;
  width: 14px;
  height: 1px;
  background: currentColor;
  transition: transform 0.3s ease;
}
.plan_more_button::before {
  transform: translateY(-50%);
}
.plan_more_button::after {
  transform: translateY(-50%) rotate(90deg);
}
.plan_more_button[aria-expanded="true"]::after {
  transform: translateY(-50%) rotate(0);
}
.plan_ac_inner {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.6s ease;
}
.plan_ac_inner.is-open {
  max-height: 5000px;
}
@media (min-width: 500px) {
  .plan_cards {
    width: 85%;
  }
}
.point {
	padding-block: 2.4rem;
	background: url('../img/point_bg-sp.webp') no-repeat center center/cover;
	background-attachment: fixed;
}
 
.point__lead {
	margin-inline: auto;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: url('../img/point_title-bg.svg') no-repeat center center/contain;
	color: var(--bionas-womens-pink);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-family: 'Noto Serif JP', serif;
	font-size: 2rem;
	font-weight: 500;
	height: 4.3rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	letter-spacing: 0.1em;
	text-align: center;
	width: 16.7rem;
}
 
.point__heading {
	margin-inline: auto;
	background: url('../img/point_fukidashi-both.svg') no-repeat bottom center/100% auto;
	font-family: 'Noto Serif JP', serif;
	font-size: 2.6rem;
	font-weight: 500;
	line-height: 1;
	margin-top: 0.6rem;
	position: relative;
	text-align: center;
	width: 35.7rem;
	z-index: 1;
}
 
.point__heading .-big {
	font-family: 'Unna', serif;
	font-size: 5.6rem;
	font-weight: 400;
	line-height: 1;
}

.point__heading .-sub {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1;
}
 
.point__heading .-pink {
	font-weight: 600;
}

.point__content {
	margin-top: 1.6rem;
}

.point__media {
	gap: 0;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.point__media.--reverse {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.point__media:nth-of-type(n + 2) {
	margin-top: 3.2rem;
}

.point__media-img {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	max-width: 400px;
	max-width: 40rem;
	margin-inline: auto;
}
 
.point__media-body {
	padding: 16px;
	padding: 1.6rem;
}
 
.point__media-num {
	color: #c17192;
	font-family: 'Unna', serif;
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 1;
}
 
.point__media-title {
	border-bottom: 1px solid #e9e9e9;
	font-family: 'Noto Serif JP', serif;
	margin-top: 0.8rem;
	padding-bottom: 1.6rem;
}
 
.point__media-title .-label {
	display: inline-block;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.4;
}
 
.point__media-title .-big {
	background: -webkit-gradient(
		linear,
		left top,
		left bottom,
		from(transparent),
		color-stop(50%, transparent),
		color-stop(50%, #fff9b2),
		color-stop(90%, #fff9b2),
		color-stop(90%, transparent),
		to(transparent)
	);
	background: linear-gradient(to bottom, transparent 0%, transparent 50%, #fff9b2 50%, #fff9b2 90%, transparent 90%, transparent 100%);
	color: var(--bionas-womens-pink);
	display: inline-block;
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.4;
}

.point__media-text {
	font-size: 1.4rem;
	line-height: 1.7;
	margin-top: 1.6rem;
}

.problem {
	padding-block: 2.2rem 5.6rem;
}

.problem__heading {
	color: #fff;
	font-family: 'Noto Serif JP', serif;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.4;
	padding-top: 0;
	position: relative;
	text-align: center;
	z-index: 1;
}

.problem__heading .-big {
	font-size: 3.6rem;
}

.problem__heading::before {
	color: #ebebeb;
	content: 'trouble';
	font-family: 'Pinyon Script', cursive;
	font-size: 4rem;
	font-weight: 400;
	left: -0.2rem;
	line-height: 1;
	opacity: 0.3;
	position: absolute;
	top: -0.3rem;
	-webkit-transform: rotate(-9deg);
	transform: rotate(-9deg);
	z-index: -1;
}
 
.problem__heading::after {
	background: url('../img/problem_title-bg.svg') no-repeat center center/contain;
	bottom: -11px;
	bottom: -1.1rem;
	content: '';
	height: 2rem;
	left: 50%;
	position: absolute;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 32.6rem;
	z-index: -1;
}
 
.problem__list {
	margin-inline: auto;
	grid-gap: 0.8rem 0;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: url('../img/problem_box-bg-sp.webp') no-repeat center center/contain;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	height: 29.1rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 2rem;
	max-width: 30.1rem;
	padding: 4.5rem 3.3rem 1.6rem;
}
 
.problem__item {
	gap: 8px;
	gap: 0.8rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
 
.problem__item .-pink {
	color: #77485e;
}
 
.problem__item img {
	width: 18px;
	width: 1.8rem;
}
 
.problem__item-text {
	font-size: 1.5rem;
	font-weight: 500;
	white-space: nowrap;
}
 
.problem__item-text-pink {
	color: var(--bionas-womens-pink);
}

@media screen and (min-width: 500px) {
    .problem__heading {
        font-size: 2.56rem;
    }
  .problem__heading .-big {
  font-size: 4rem;
  }
  .problem__list {
  max-width: 80%;
  padding: 6.4rem 3em 3.2rem;
  background: url(../img/problem_box-bg-sp.webp) 100% 0 / 100% no-repeat;
  height: 33.6rem;
  }
}
.reservation {
	padding-block: 3.2rem 4.8rem;
}

.reservation__content {
	margin-top: 2.4rem;
}

.reservation__inner {
	margin-inline: auto;
}
 
.reservation__slider-wrapper {
	position: relative;
}
 
.reservation__slider {
	padding-bottom: 16px;
	padding-bottom: 1.6rem;
}
 
.reservation__slide {
	-webkit-box-shadow: 0.8rem 0.8rem 0.8rem rgba(0, 0, 0, 0.05);
	box-shadow: 0.8rem 0.8rem 0.8rem rgba(0, 0, 0, 0.05);
	height: auto;
	max-width: 28rem;
	width: 100%;
}

.reservation__slide-head {
	padding-block: 12px;
	padding-block: 1.2rem;
	background-color: var(--bionas-womens-pink);
	height: 7.2rem;
}
 
.reservation__slide-title {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
 
.reservation__slide-title .-top {
	font-family: 'Jost', sans-serif;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.3;
}
 
.reservation__slide-title .-bottom {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.7;
}
 
.reservation__slide-body {
	background-color: #fff;
	padding: 16px;
	padding: 1.6rem;
}
 
.reservation__slide-text {
	font-size: 1.4rem;
	line-height: 1.7;
}
 
.reservation__slide-img {
	margin-top: 16px;
	margin-top: 1.6rem;
}
 
.reservation__slide-note {
	font-size: 1rem;
	line-height: 1.7;
	margin-top: 16px;
	margin-top: 1.6rem;
}
 
.reservation__slider-nav-prev,
.reservation__slider-nav-next {
	cursor: pointer;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 4rem;
}
 
.reservation__slider-nav-prev::after,
.reservation__slider-nav-next::after {
	display: none;
}
 
.reservation__slider-nav-prev {
	background: url('../img/icon_arrow-left.svg') no-repeat center center/contain;
	left: 1.7rem;
}

.reservation__slider-nav-next {
	background: url('../img/icon_arrow-right.svg') no-repeat center center/contain;
	right: 1.7rem;
}
 
.reservation__slider-pagination {
	margin-inline: auto;
	gap: 8px;
	gap: 0.8rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 2rem;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
}
 
.reservation__slider-pagination .swiper-pagination-bullet {
	background: #e9e9e9;
	cursor: pointer;
	height: 0.8rem;
	margin: 0 !important;
	opacity: 1;
	width: 0.8rem;
}
 
.reservation__slider-pagination .swiper-pagination-bullet-active {
	background: var(--bionas-womens-pink);
}
 
/* 旧CTAボタン一式（.c-cta-btn / .c-cta-btn-wrapper / .c-cta-btn-badge* / .shiny /
   .c-cta-btn__badge/__img/__shine）は shine_inner 構造への統一に伴い削除。 */


 
.swaying {
	-webkit-animation: swaying_anime 1.5s infinite;
	animation: swaying_anime 1.5s infinite;
}
 

 
/* ===== 女性版CTA：共通 shine_inner 構造に統一（通常CTA / カウントダウン共通） =====
   マークアップは countdown.php と同じ shine_inner / shine_mask / shine。
   女性の見た目（揺れ .swaying・影 drop-shadow・きらめき blob）はここで再現する。 */
/* 上部余白を詰める（女性版はタイトなCTAレイアウト） */
.shine_inner {
	padding-top: 0;
}
/* 通常CTA（.cta_box 内アンカー）に影。揺れは HTML の .swaying クラスで付与 */
.cta_box a {
	-webkit-filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.25));
	filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.25));
}
/* きらめきは女性版 blob（shiny-anime）で再現。common.css の直線スイープを上書き */
.shine_inner .shine_mask .shine {
	-webkit-animation: shiny-anime 3s ease-in-out infinite;
	animation: shiny-anime 3s ease-in-out infinite;
	background: rgba(255, 255, 255, 0.9);
	border-radius: 20rem;
	width: 50px;
	height: 200%;
	top: -180px;
	left: 0;
	opacity: 1;
	-webkit-transform: none;
	transform: none;
}

.c-title-border {
	font-family: 'Noto Serif JP', serif;
	font-size: 2.4rem;
	font-weight: 500;
	padding-bottom: 1.2rem;
	position: relative;
	text-align: center;
}
 
.c-title-border::before {
	background: -webkit-gradient(linear, left top, right top, from(#c17192), color-stop(50%, #c17192), color-stop(50%, #e5d5dc), to(#e5d5dc));
	background: linear-gradient(to right, #c17192 0%, #c17192 50%, #e5d5dc 50%, #e5d5dc 100%);
	bottom: 0;
	content: '';
	height: 0.4rem;
	left: 50%;
	position: absolute;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 4.8rem;
}
 
.l-cta {
	padding-block: 1.6rem;
	background: url('../img/cta_bg-sp.webp') no-repeat center center/cover;
}

.l-cta__box {
	margin-inline: auto;
	background: url('../img/cta_box-bg-sp.webp') no-repeat center center/100% 100%;
	max-width: 792px;
	max-width: 79.2rem;
	padding: 1.6rem 1.2rem 1.6rem;
}
 
.l-cta__head {
	gap: 0;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
 
.l-cta__head-item {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
 
.l-cta__head-title {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: url('../img/cta_head-bg-sp.svg') no-repeat center center/contain;
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur in="SourceAlpha" stdDeviation="0" /><feOffset dx="1" dy="1" result="offsetblur" /><feFlood flood-color="rgba(0,0,0,0.1)" /><feComposite in2="offsetblur" operator="in" /><feMerge><feMergeNode /><feMergeNode in="SourceGraphic" /></feMerge></filter></svg>#filter');
	-webkit-filter: drop-shadow(0 0.4rem 0.4rem rgba(0, 0, 0, 0.1));
	filter: drop-shadow(0 0.4rem 0.4rem rgba(0, 0, 0, 0.1));
	font-family: 'Noto Serif JP', serif;
	font-size: 1.8rem;
	font-weight: 500;
	height: 5.1rem;
	line-height: 1.18;
	padding-left: 0.4rem;
	width: 5.4rem;
}
 
.l-cta__head-text {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-family: 'Noto Serif JP', serif;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	white-space: nowrap;
}
 
.l-cta__head-text .-price {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	line-height: 1;
}
 
.l-cta__head-text .-num {
	font-family: 'Unna', serif;
	font-size: 6.8rem;
	font-style: italic;
	letter-spacing: -0.04em;
	line-height: 1;
	padding-right: 8px;
	padding-right: 0.8rem;
}
 
.l-cta__head-text .-free {
	font-family: 'Noto Serif JP', serif;
	font-size: 4.4rem;
	font-style: italic;
	font-weight: 600;
	line-height: 1.15;
	padding-right: 8px;
	padding-right: 0.8rem;
}
 
.l-cta__head-text .-wrapper {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	left: -6px;
	left: -0.6rem;
	margin-top: 1.8rem;
	position: relative;
}
 
.l-cta__head-text .-unit {
	color: #222;
	display: inline-block;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1;
	margin-left: 8px;
	margin-left: 0.8rem;
}
 
.l-cta__head-text .-sub {
	font-family: 'Noto Serif JP', serif;
	font-size: 2.8rem;
	font-style: italic;
	font-weight: bold;
	letter-spacing: -0.03em;
	line-height: 1;
	padding-right: 8px;
	padding-right: 0.8rem;
}
 
.l-cta__tags {
	gap: 0.8rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
 
.l-cta__tag {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: #f4f4f4;
	border-radius: 0.4rem 0 0.4rem 0;
	color: #222;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 1.3rem;
	height: 2.8rem;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 0.4rem 0.8rem;
}
 
.l-cta__fukidashi {
	margin-inline: auto;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-family: 'Noto Serif JP', serif;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 0.4rem;
	padding-bottom: 4px;
	padding-bottom: 0.4rem;
}

.l-cta__fukidashi img {
	height: 3.2rem;
	width: 3.2rem;
}

.l-cta__fukidashi-text01 {
	color: #222;
	display: inline-block;
	font-size: 1.8rem;
	font-weight: 500;
	margin-right: 6px;
	margin-right: 0.6rem;
}
 
.l-cta__fukidashi-text02 {
	color: #222;
	font-size: 2.2rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}
 
.l-cta__fukidashi-pink {
	color: var(--bionas-womens-pink);
	font-size: 2.2rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.2;
}

.l-cta__fukidashi-pink .-big {
	font-size: 3.2rem;
}


 
 
 
 
.l-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 1150px;
	padding-left: 15px;
	padding-right: 15px;
	width: 100%;
}
 
.l-inner.problem__inner {
	max-width: 77rem;
}
 
.l-inner.care__inner {
	max-width: 1162px;
	max-width: 116.2rem;
}
 
.l-inner.point__inner {
	max-width: 1082px;
	max-width: 108.2rem;
}
 
.l-inner.menu__inner {
	max-width: 1178px;
	max-width: 117.8rem;
}

.l-inner.access__inner {
	max-width: 986px;
	max-width: 98.6rem;
}
 
.l-inner.faq__inner {
	max-width: 986px;
	max-width: 98.6rem;
}
@media screen and (min-width: 500px) {
  .l-inner.problem__inner {
    padding-top: 5em;
  }
}
 
.u-hidden {
	clip: rect(0, 0, 0, 0);
	border: 0;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}
 
.u-font-pink {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background: -webkit-gradient(linear, left top, left bottom, from(#d92771), color-stop(50%, #d92771), color-stop(60%, #bb1258), to(#bb1258));
	background: linear-gradient(to bottom, #d92771 0%, #d92771 50%, #bb1258 60%, #bb1258 100%);
	background-clip: text;
	color: transparent;
}
 
.u-font-gold {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background: -webkit-gradient(linear, left top, left bottom, from(#e0ad53), to(#8f6a24));
	background: linear-gradient(to bottom, #e0ad53 0%, #8f6a24 100%);
	background-clip: text;
	color: transparent;
}
 
@media (hover: hover) {
	a:hover {
		opacity: 0.7;
	}
 
}
@media (max-width: 390px) {
	.l-cta__head-text .-num {
		font-size: 5.6rem;
	}
 
	.l-cta__head-text .-free {
		font-size: 3.6rem;
	}
 
	.l-cta__head-text .-wrapper {
		margin-top: 1rem;
	}
 
	.l-cta__tags {
		margin-top: 0.8rem;
	}
}
 
@media (max-width: 375px) {
	html {
		font-size: 2.6666666667vw;
	}
}
 
@-webkit-keyframes swaying_anime {
	0% {
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}
 
	5% {
		-webkit-transform: translate(-5px, 0);
		transform: translate(-5px, 0);
	}
 
	10% {
		-webkit-transform: translate(5px, 0);
		transform: translate(5px, 0);
	}
 
	15% {
		-webkit-transform: translate(-5px, 0);
		transform: translate(-5px, 0);
	}
 
	20% {
		-webkit-transform: translate(5px, 0);
		transform: translate(5px, 0);
	}
 
	25% {
		-webkit-transform: translate(-5px, 0);
		transform: translate(-5px, 0);
	}
 
	30% {
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}
 
	100% {
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}
}
 
@keyframes swaying_anime {
	0% {
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}
 
	5% {
		-webkit-transform: translate(-5px, 0);
		transform: translate(-5px, 0);
	}
 
	10% {
		-webkit-transform: translate(5px, 0);
		transform: translate(5px, 0);
	}
 
	15% {
		-webkit-transform: translate(-5px, 0);
		transform: translate(-5px, 0);
	}
 
	20% {
		-webkit-transform: translate(5px, 0);
		transform: translate(5px, 0);
	}
 
	25% {
		-webkit-transform: translate(-5px, 0);
		transform: translate(-5px, 0);
	}
 
	30% {
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}
 
	100% {
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}
}
 
@-webkit-keyframes shiny-anime {
	0% {
		-webkit-transform: scale(0) rotate(45deg);
		opacity: 0;
	}
 
	80% {
		-webkit-transform: scale(0) rotate(45deg);
		opacity: 0.5;
	}
 
	81% {
		-webkit-transform: scale(4) rotate(45deg);
		opacity: 1;
	}
 
	100% {
		-webkit-transform: scale(50) rotate(45deg);
		opacity: 0;
	}
}
 
@keyframes shiny-anime {
	0% {
		-webkit-transform: scale(0) rotate(45deg);
		opacity: 0;
	}
 
	80% {
		-webkit-transform: scale(0) rotate(45deg);
		opacity: 0.5;
	}
 
	81% {
		-webkit-transform: scale(4) rotate(45deg);
		opacity: 1;
	}
 
	100% {
		-webkit-transform: scale(50) rotate(45deg);
		opacity: 0;
	}
}
 
/*# sourceMappingURL=style.css.map */
 
 
 
/* ===================================
   PC表示：500px幅に制限・背景・影
   =================================== */
html {
  background-color: #f2ecee;
  /* font-size:62.5% は上部の html{} で設定済み（重複のため削除） */
}

body {
  max-width: 500px;
  margin: 0 auto;
}
 
 
 
/* ===================================
   SP構造を全幅で維持（body 500px固定）
   テキストサイズのPC向け微調整
   =================================== */
 
/* planカードを常時1カラムに固定（ベースの3カラムを上書き） */
/* PC（501px〜）：vwによるフォント肥大化を防ぎ、SPに準じた構造を維持 */
 
/* ↓ (from @media screen and (max-width: 500px)) */
 
	.u-desktop {
		display: none;
	}
 
	/* .timer_tx は .countdown 差し替えにより廃止（数字色は下部の女性固有CSSへ） */

/* ============================
   ヘッダー：女性ブランドカラー上書き
   （構造・レイアウトは /css/common.css に集約。色のみ女性ピンクに上書き）
   ============================ */
.header_shop_box {
    color: var(--bionas-womens-pink);
}
.header_shop {
  border: 1px solid var(--bionas-womens-pink);
}
.header_catch span {
  border-bottom: 1px solid var(--bionas-womens-pink);
  font-size: 1.2rem;
  letter-spacing: 0.02em;
}
/* 赤帯テキストの拡大縮小アニメ（女性固有） */
.header_band p {
  animation: anime1 0.5s ease 0s infinite alternate;
  transform-origin: center;
}
@keyframes anime1 {
  from {
    transform: scale(0.98, 0.98);
  }
  to {
    transform: scale(1, 1);
  }
}
/* ===================================
   body 500px固定・PC背景・影
   =================================== */
@media (min-width: 501px) {
  body {
    box-shadow: 0 0 40px rgba(150, 80, 110, 0.12),
                0 0 80px rgba(0, 0, 0, 0.06);
  }
}
 
/* ===================================
   500px幅制限：はみ出し要素の修正
   =================================== */
 
/* 追従エリア：position:fixed でもbodyに合わせて500px制限 */
 
 
/* ===================================
   野元加筆　20260528
   =================================== */
.cp_box p.notes, .cta_area p.notes {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
    font-feature-settings: "halt" 1;
    font-size: 1.04rem;
}
 
.cta_area {
    position: relative;
    background: url("../img/cta_area_bg.webp") 100% 0 / 100% no-repeat;
    background-size: cover;
    padding-top: 2rem;
}
/* .cta_box / .cta_area h2 / .cta_box p の構造は /css/common.css へ集約。
   ここでは女性固有の色・サイズのみ指定する */
.cta_box {
  padding-bottom: 3rem;
}
.cta_box p {
    color: #222;
    font-size: 1.76rem;
    font-weight: 600;
}
.cta_box p:before {
    content: '';
    display: block;
    width: 1.6rem;
    height: 2.4rem;
    background: url("../img/cta_area_cta_icon.webp") 100% 0 / 100% no-repeat;
    margin-right: 0.2em;
}
.cta_box p span {
    color: #ed146e;
}
.cta_box a {
    display: block;
    width: 85%;
}
.cta_area p.notes {
    bottom: 0.8rem;
    color: #222;
}
.campaign_area {
    background: url(../img/cp_area_bg.webp) 100% 0 / 100% no-repeat;
}
@media (min-width: 500px) {
  .cta_box a {
    margin-top: 0;
}
}

/* ============================
   追従カウントダウン（女性デザイン固有）
   ※ 構造・共通スタイルは /css/common.css へ集約済み
   ※ ラベル / バルーン(旧 .img_02) まわりの見た目は差し替え後に別途調整予定
   ============================ */
/* 本体の背景・高さ（女性固有） */
.countdown {
	background-image: linear-gradient(90deg, #d95c99, #bb1258e6);
	padding-bottom: 0.48rem;
}
.countdown:before {
  content: '';
  display: block;
  width: 5.2rem;
  height: 6.6rem;
  background: url("../img/countdown_img.webp") 100% 0 / 100% no-repeat;
  position: absolute;
  top: -1rem;
  left: 0.5rem;
}
/* バッジ背景（女性固有：skew なし。色は要調整） */
.countdown_label {
  background: #fefa6c;
	border-radius: 4px;
  left: 7em;
}
.countdown_label p {
  color: #eb166c;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.5em;
}
.countdown_label p strong {
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: -0.02em;

}
.countdown_label p strong span {
  background: #eb166c;
  color: #FFF;
  font-weight: 400;
}
/* タイマー数字バッジの色（女性固有） */
.countdown_timer .countdown-day,
.countdown_timer .countdown-hour,
.countdown_timer .countdown-min,
.countdown_timer .countdown-sec {
	color: #FF1A48;
}
.countdown_timer {
  margin-left: 2rem;
}
/* きらめきの mask 画像は /css/common.css の CSS変数 --cta-mask に集約
   （tmpl/html_head.php で $uniqueDirectory から毎月自動生成） */
@media (min-width: 500px) {
  .countdown_label {
    left: 0;
  }
  .countdown_timer {
    margin-left: 0;
  }
  .countdown:before {
    width: 7.2rem;
    height: 8.6rem;
    top: -2.5rem;
    left: 2rem;
  }
}

