.sp {

	display: none !important;

}

.pc {

	display: block !important;

}

.site-body {
	padding-top: 0;
}

.alux-lp {

	--ink: #67552d;

	--text: #4b403b;

	--muted: #6f625b;

	--paper: #fff8f8;

	--line: #e8ddd2;

	--accent: #b8a25b;

	--logo-gold: #b8a25b;

	--logo-pink: #faa7af;

	--rose: #994454;

	--rose-soft: #fce4e8;

	margin: 0;

	background: #fff;

	color: var(--text);

	font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;

	font-size: 16px;

	line-height: 1.95;

	-webkit-font-smoothing: antialiased;

}



.alux-lp * {

	box-sizing: border-box;

}



.alux-lp a {

	color: inherit;

}



.alux-lp img {

	display: block;

	max-width: 100%;

	height: auto;

}



.alux-lp p {

	margin: 0 0 1.2em;

}



.alux-lp h1,

.alux-lp h2,

.alux-lp h3 {

	color: var(--ink);

	margin: 0;

	font-weight: 600;

	overflow-wrap: anywhere;

}



.alux-lp h1,

.alux-lp h2,

.alux-lp .reason-statement h3,

.alux-lp .hero-question {

	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;

}



.alux-lp h2 {

	font-size: clamp(27px, 3.1vw, 40px);

	line-height: 1.7;

	letter-spacing: .055em;

}



.alux-lp h3 {

	font-size: 21px;

	line-height: 1.75;

}



.alux-lp a:focus-visible,

.alux-lp summary:focus-visible {

	outline: 3px solid #a04b5b;

	outline-offset: 5px;

}



.alux-lp .skip {

	position: absolute;

	z-index: 20;

	left: 20px;

	top: -100px;

	padding: 10px;

	background: white;

}



.alux-lp .skip:focus {

	top: 10px;

}



.alux-lp section[id] {

	scroll-margin-top: 30px;

}



.alux-lp .wrap {

	width: min(1120px, calc(100% - 96px));

	margin-inline: auto;

}



.alux-lp .section {

	padding: 100px 0;

}



.alux-lp .eyebrow {

	font-size: 13px;

	letter-spacing: .15em;

	font-weight: 600;

	line-height: 1.7;

	margin-bottom: 22px;

	color: var(--muted);

}



/* ヘッダー・予約ボタン */

.alux-lp .header {

	min-height: 105px;

	max-width: 1600px;

	margin: auto;

	padding: 20px 4%;

	display: flex;

	align-items: center;

	justify-content: space-between;

	gap: 25px;

}



.alux-lp .brand {

	text-decoration: none;

	display: block;

	line-height: 1.3;

	flex-shrink: 0;

}



.alux-lp .brand-main {

	font-family: Georgia, "Yu Mincho", serif;

	font-size: 36px;

	letter-spacing: .015em;

	display: flex;

	align-items: center;

	gap: 13px;

}



.alux-lp .brand-ja {

	font-size: 21px;

	font-weight: 600;

	letter-spacing: .09em;

}



.alux-lp .brand-sub {

	font-size: 11px;

	letter-spacing: .075em;

	margin-top: 5px;

	display: block;

	color: var(--muted);

}



.alux-lp .header nav {

	display: flex;

	gap: 27px;

	align-items: center;

	font-size: 14px;

	font-weight: 600;

}



.alux-lp .header nav>a {

	text-decoration: none;

}



.alux-lp .header nav>a:not(.button):hover {

	text-decoration: underline;

	text-underline-offset: 6px;

}

.alux-lp .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	min-height: 60px;
	padding: 16px 25px;
	background: #0BB95B;
	color: white;
	border-radius: 45px;
	text-decoration: none;
	font-size: 16px;
	line-height: 1.6;
	font-weight: 600;
	transition: background .2s, transform .2s;
}

.alux-lp .button:hover {

	background: #069246;

	transform: translateY(-2px);

}



.alux-lp .button>span:last-child {

	margin-left: 10px;

}



.alux-lp .button.small {

	font-size: 14px;

	min-height: 48px;

	padding: 12px 18px;

	gap: 10px;

}



.alux-lp .line-icon {

	font-family: Arial, sans-serif;

	background: white;

	color: #0BB95B;

	font-size: 10px;

	font-weight: 800;

	border-radius: 6px;

	padding: 5px 4px;

	line-height: 1.3;

	position: relative;

	letter-spacing: -.3px;

}



.alux-lp .line-icon:after {

	content: "";

	position: absolute;

	bottom: -3px;

	left: 7px;

	border-top: 4px solid white;

	border-right: 4px solid transparent;

}



/* メインビジュアル */

.alux-lp .hero {

	display: grid;

	grid-template-columns: 1fr 1.03fr;

	max-width: 1600px;

	margin: auto;

	min-height: 645px;

	background: var(--paper);

}



.alux-lp .hero-copy {

	padding: 60px 35px 55px max(48px, calc((100vw - 1120px)/2));

	position: relative;

	z-index: 1;

}



.alux-lp .hero .eyebrow {

	font-size: 13px;

	letter-spacing: .03em;

	margin-bottom: 24px;

	display: inline-block;

	border-bottom: 1px solid var(--accent);

	padding-bottom: 9px;

}



.alux-lp .hero h1 {

	font-size: clamp(29px, 3.1vw, 46px);

	line-height: 1.7;

	letter-spacing: .015em;

}



.alux-lp .hero h1>span {

	background: linear-gradient(transparent 73%, #fce0e5 73%, #fce0e5 94%, transparent 94%);

}



.alux-lp .hero-lead {

	margin: 23px 0;

	font-size: 16px;

	line-height: 1.9;

}



.alux-lp .hero-question {

	font-size: 20px;

	margin: 25px 0;

	line-height: 1.7;

}



.alux-lp .hero-visual {

	position: relative;

	min-width: 0;

	overflow: hidden;

}



.alux-lp .hero-visual>img {

	height: 100%;

	width: 100%;

	object-fit: cover;

	object-position: 54% center;

}



.alux-lp .hero-visual:after {

	position: absolute;

	content: "";

	inset: 50% 0 0;

	background: linear-gradient(transparent, rgba(48, 37, 27, .65));

}



.alux-lp .photo-caption {

	position: absolute;

	left: 35px;

	bottom: 32px;

	z-index: 1;

	color: white;

	display: grid;

	gap: 4px;

	letter-spacing: .12em;

	font-size: 17px;

}



.alux-lp .photo-caption small {

	font-size: 12px;

	letter-spacing: .08em;

	opacity: .8;

}



.alux-lp .hero-label {

	position: absolute;

	top: 28px;

	right: 24px;

	writing-mode: vertical-rl;

	background: rgba(255, 255, 255, .9);

	padding: 19px 10px;

	letter-spacing: .22em;

	font-size: 14px;

}



.alux-lp .micro {

	font-size: 12px;

	line-height: 1.7;

	margin: 12px 0 0;

	color: var(--muted);

}



.alux-lp .facts {

	display: flex;

	justify-content: center;

	gap: 60px;

	padding: 22px 35px;

	border-bottom: 1px solid var(--line);

}



.alux-lp .facts p {

	margin: 0;

	display: flex;

	align-items: center;

	gap: 10px;

	font-size: 14px;

}



.alux-lp .facts p>span {

	font-size: 10px;

	letter-spacing: .1em;

	color: var(--muted);

}



.alux-lp .facts strong {

	font-size: 18px;

	font-weight: 600;

}



.alux-lp .facts small {

	font-size: 11px;

}


/* 腰痛のお悩み */
.alux-lp .concern-grid {
	display: grid;
	grid-template-columns: 1.2fr 1.3fr;
	gap: 50px;
}

.alux-lp .section-heading>p:not(.eyebrow) {

	margin-top: 22px;

	color: var(--muted);

}

.alux-lp .concern-photo {

	margin-top: 30px;

	max-width: 350px;

	width: 100%;

	aspect-ratio: 1.7;

	object-fit: cover;

}



.alux-lp .concern-list {

	padding-top: 8px;

}



.alux-lp .concern-list h3 {

	font-size: 20px;

	border-bottom: 1px solid var(--ink);

	padding-bottom: 18px;

}



.alux-lp .concern-list ul {

	list-style: none;

	padding: 0;

	margin: 6px 0 0;

}



.alux-lp .concern-list li {

	position: relative;

	padding: 19px 0 19px 34px;

	border-bottom: 1px solid var(--line);

	font-size: 16px;

	line-height: 1.85;

}



.alux-lp .concern-list li:before {

	content: "✓";

	position: absolute;

	left: 0;

	top: 20px;

	width: 21px;

	height: 21px;

	font-size: 14px;

	line-height: 21px;

	border: 1px solid #cdbc8e;

	color: var(--ink);

	text-align: center;

}



.alux-lp .concern-end {

	margin: 24px 0 0;

	color: var(--muted);

	font-size: 14px;

}



.alux-lp .concern-end br {

	display: none;

}



.alux-lp .concern-end strong {

	color: var(--ink);

	font-weight: 500;

}



/* 腰痛を繰り返す理由 */

.alux-lp .reason {

	background: var(--ink);

	color: #fff7ed;

}



.alux-lp .reason .eyebrow {

	color: #e8d7ad;

}



.alux-lp .reason h2,

.alux-lp .reason h3 {

	color: white;

}



.alux-lp .reason-intro {

	display: grid;

	grid-template-columns: 1fr 1fr;

	gap: 75px;

}



.alux-lp .reason-intro p,

.alux-lp .reason-bottom p {

	font-size: 16px;

	color: #faf0df;

}



.alux-lp .source-link {

	font-size: 12px;

	line-height: 1.6;

	text-underline-offset: 4px;

}



.alux-lp .reason .source-link {

	color: #ead9b5;

}



.alux-lp .reason-statement {

	padding: 54px 0 59px;

	text-align: center;

	margin: 50px 0;

	border-top: 1px solid #9d8860;

	border-bottom: 1px solid #9d8860;

}



.alux-lp .reason-statement>p {

	font-size: 15px;

	letter-spacing: .08em;

	margin-bottom: 19px;

}



.alux-lp .reason-statement h3 {

	font-size: 36px;

	line-height: 1.7;

	letter-spacing: .08em;

}



.alux-lp .reason-statement h3 br {

	display: none;

}



.alux-lp .reason-statement em {

	font-style: normal;

	color: #ffc4cc;

}



.alux-lp .reason-bottom {

	display: grid;

	grid-template-columns: 1fr 1fr;

	gap: 75px;

}



.alux-lp .reason-bottom h3 {

	font-size: 23px;

}



.alux-lp .whole-body {

	background: #fff1f3;

}



.alux-lp .body-grid {

	display: grid;

	grid-template-columns: 1fr 1.1fr;

	gap: 80px;

}



.alux-lp .body-grid>div>p:not(.eyebrow) {

	margin-top: 22px;

}



.alux-lp .symptom-tags {

	list-style: none;

	padding: 0;

	margin: 0 0 26px;

	display: grid;

	grid-template-columns: 1fr 1fr;

	gap: 10px;

}



.alux-lp .symptom-tags li {

	background: white;

	border: 1px solid #eadbc9;

	padding: 11px 12px;

	text-align: center;

	font-size: 14px;

}



.alux-lp .body-note {

	padding-left: 18px;

	border-left: 2px solid #b8a25b;

	color: var(--muted);

	font-size: 14px;

}



/* 特徴・院長紹介 */

.alux-lp .section-top {

	display: flex;

	align-items: flex-end;

	justify-content: space-between;

	gap: 40px;

	margin-bottom: 48px;

}



.alux-lp .section-top>p {

	color: var(--muted);

	font-size: 15px;

}



.alux-lp .approach-grid {

	display: grid;

	grid-template-columns: repeat(3, 1fr);

	gap: 38px;

}



.alux-lp .approach-grid article {

	border-top: 1px solid var(--line);

	padding-top: 23px;

	display: flex;

	flex-direction: column;

}



.alux-lp .number {

	font: italic 48px Georgia, serif;

	color: #9b874d;

	margin-bottom: 24px;

}



.alux-lp .approach-grid h3 {

	font-size: 22px;

	letter-spacing: .01em;

	margin-bottom: 24px;

}



.alux-lp .approach-grid p {

	font-size: 15px;

	color: var(--muted);

}



.alux-lp .mini-label {

	margin-top: auto;

	padding: 17px 0;

	border-bottom: 1px solid var(--line);

	font-size: 13px;

	color: var(--ink);

}



.alux-lp .director {

	background: var(--paper);

}



.alux-lp .director-grid {

	display: grid;

	grid-template-columns: .85fr 1.15fr;

	gap: 84px;

	align-items: center;

}



.alux-lp .portrait-wrap {

	position: relative;

}



.alux-lp .portrait-wrap img {

	width: 100%;

	max-height: 565px;

	object-fit: cover;

	object-position: center 25%;

}



.alux-lp .portrait-label {

	position: absolute;

	bottom: 20px;

	left: 22px;

	font-size: 11px;

	letter-spacing: .18em;

	color: #fff;

	text-shadow: 0 1px 6px #3f321b;

}



.alux-lp .director-copy h2 {

	font-size: 32px;

	margin-bottom: 25px;

}



.alux-lp .director-copy>p:not(.eyebrow) {

	font-size: 15px;

}



.alux-lp .director-name {

	padding-top: 16px;

	display: flex;

	align-items: baseline;

	flex-wrap: wrap;

	gap: 10px 20px;

}



.alux-lp .director-name>span {

	display: block;

	width: 100%;

	font-size: 13px;

}



.alux-lp .director-name strong {

	font-family: "Yu Mincho", serif;

	font-size: 32px;

	font-weight: 500;

	letter-spacing: .18em;

}



.alux-lp .director-name small {

	font-size: 11px;

	letter-spacing: .13em;

	color: var(--muted);

}



.alux-lp .qualifications {

	font-size: 13px !important;

	margin: 8px 0 22px;

}



.alux-lp .experience {

	display: flex;

	border-top: 1px solid var(--line);

	padding-top: 23px;

	gap: 42px;

}



.alux-lp .experience p {

	font-size: 12px;

	margin: 0;

}



.alux-lp .experience strong {

	display: block;

	font: 36px Georgia, serif;

	color: var(--ink);

	margin-top: 10px;

}



.alux-lp .experience strong>span {

	font: 13px "Yu Gothic", sans-serif;

	margin-left: 7px;

}



/* 口コミ */

.alux-lp .reviews {

	display: grid;

	grid-template-columns: 1fr 1fr;

	gap: 26px;

	align-items: start;

}



.alux-lp .review {

	border: 1px solid var(--line);

	background: white;

	padding: 26px 22px 10px;

}



.alux-lp .review.featured {

	grid-column: 1/-1;

	max-width: 880px;

	width: 100%;

	justify-self: center;

}



.alux-lp .review-heading {

	border-bottom: 1px solid var(--line);

	padding-bottom: 18px;

	margin-bottom: 15px;

}



.alux-lp .review-heading>span {

	font-size: 12px;

	letter-spacing: .08em;

	color: var(--muted);

}



.alux-lp .review-heading h3 {

	font-size: 18px;

	margin-top: 5px;

}



.alux-lp .review-crop {

	position: relative;

	overflow: hidden;

	width: 100%;

	aspect-ratio: var(--crop-w)/var(--crop-h);

	background: white;

}



.alux-lp .review-crop>img {

	position: absolute;

	width: calc(1920 / var(--crop-w) * 100%);

	max-width: none;

	height: auto;

	left: calc(var(--crop-x) / var(--crop-w) * -100%);

	top: calc(var(--crop-y) / var(--crop-h) * -100%);

}



.alux-lp .review-text {

	margin-top: 12px;

	border-top: 1px solid #f0e4df;

}



.alux-lp .review-text summary {

	font-size: 13px;

	text-align: center;

	padding: 14px;

	cursor: pointer;

	list-style: none;

}



.alux-lp .review-text summary:after {

	content: "＋";

	margin-left: 14px;

}



.alux-lp .review-text[open] summary:after {

	content: "−";

}



.alux-lp .review-text p {

	font-size: 15px;

	line-height: 1.95;

}



.alux-lp .review-note {

	font-size: 12px;

	line-height: 1.85;

	color: var(--muted);

	margin: 25px 0 0;

}



.alux-lp .voices {

	background: #fffdf9;

}



/* 施術の流れ・FAQ */

.alux-lp .flow-grid {

	display: grid;

	grid-template-columns: 1fr 1.1fr;

	gap: 70px;

	align-items: start;

}



.alux-lp .flow-photos {

	display: grid;

	gap: 16px;

}



.alux-lp .flow-photos img {

	width: 100%;

	aspect-ratio: 1.8;

	object-fit: cover;

}



.alux-lp .steps {

	list-style: none;

	margin: 0;

	padding: 0;

}



.alux-lp .steps li {

	display: flex;

	gap: 25px;

	border-top: 1px solid var(--line);

	padding: 23px 0;

}



.alux-lp .steps li:last-child {

	border-bottom: 1px solid var(--line);

}



.alux-lp .steps li>span {

	font: italic 28px Georgia, serif;

	color: #9b874d;

	padding-top: 8px;

}



.alux-lp .steps h3 {

	font-size: 20px;

	margin-bottom: 6px;

}



.alux-lp .steps p {

	font-size: 15px;

	margin: 0;

	color: var(--muted);

}



.alux-lp .faq {

	background: var(--paper);

}



.alux-lp .faq-grid {

	display: grid;

	grid-template-columns: 1fr 2fr;

	gap: 60px;

}



.alux-lp .faq-grid>div>p:not(.eyebrow) {

	margin-top: 22px;

	font-size: 14px;

	color: var(--muted);

}



.alux-lp .faq-list details {

	border-top: 1px solid #e2d5c2;

}



.alux-lp .faq-list details:last-child {

	border-bottom: 1px solid #e2d5c2;

}



.alux-lp .faq-list summary {

	display: flex;

	align-items: baseline;

	gap: 15px;

	position: relative;

	list-style: none;

	cursor: pointer;

	padding: 24px 28px 24px 0;

	line-height: 1.8;

	font-size: 16px;

	font-weight: 600;

	color: var(--ink);

}



.alux-lp summary::-webkit-details-marker {

	display: none;

}



.alux-lp .faq-list summary>span {

	font: 24px Georgia, serif;

	color: #89713a;

}



.alux-lp .faq-list summary:after {

	content: "＋";

	position: absolute;

	right: 0;

	font-weight: 400;

}



.alux-lp .faq-list details[open] summary:after {

	content: "−";

}



.alux-lp .answer {

	padding: 0 0 24px 39px;

	font-size: 15px;

}



.alux-lp .answer p:last-child {

	margin: 0;

}



.alux-lp .answer ul {

	padding-left: 22px;

}



.alux-lp .urgent {

	padding: 18px;

	background: #fff1f3;

	border-left: 3px solid #bb6876;

	font-size: 14px;

	color: #873f4c;

}



/* 料金・アクセス */

.alux-lp .price-grid {

	display: grid;

	grid-template-columns: 1fr 1fr;

	gap: 80px;

}



.alux-lp .price-card {

	background: var(--paper);

	padding: 0 34px 0;

	text-align: center;

	border: 1px solid #d9c79a;

}



.alux-lp .price-badge {

	background: var(--ink);

	color: #fff;

	margin: 0 -34px 28px;

	padding: 11px;

	font-size: 14px;

	letter-spacing: .08em;

}



.alux-lp .price-card h3 {

	font-size: 21px;

}



.alux-lp .price-card>p {

	font-size: 13px;

	margin: 10px 0;

}



.alux-lp .price-card .usual {

	font-size: 14px;

	margin: 22px 0 0;

	color: var(--muted);

	text-decoration: line-through;

}



.alux-lp .price-number {

	font: 68px Georgia, serif;

	color: var(--ink);

	margin: 2px 0 26px;

}



.alux-lp .price-number>span {

	display: inline-flex;

	flex-direction: column;

	font: 22px "Yu Gothic", sans-serif;

	text-align: left;

	margin-left: 6px;

	vertical-align: middle;

}



.alux-lp .price-number small {

	font-size: 12px;

}



.alux-lp .price-card .button {

	width: 100%;

}



.alux-lp .regular-price {

	display: flex;

	justify-content: space-between;

	align-items: center;

	gap: 10px;

	border-top: 1px solid var(--line);

	padding-top: 20px;

	margin-top: 25px;

	font-size: 13px;

}



.alux-lp .regular-price strong {

	font-size: 19px;

}



.alux-lp .regular-price small {

	font-size: 11px;

}



.alux-lp .access h3 {

	font-size: 24px;

	margin: 0 0 17px;

}



.alux-lp .access dl {

	margin: 0;

}



.alux-lp .access dl>div {

	display: flex;

	gap: 20px;

	padding: 17px 0;

	border-bottom: 1px solid var(--line);

	font-size: 15px;

}



.alux-lp .access dt {

	width: 85px;

	flex-shrink: 0;

	color: var(--muted);

	font-size: 13px;

}



.alux-lp .access dd {

	margin: 0;

	line-height: 1.8;

}



.alux-lp .access small {

	font-size: 12px;

	color: var(--muted);

}



.alux-lp .text-link {

	font-size: 13px;

	display: block;

	margin-top: 23px;

	text-underline-offset: 6px;

}



.alux-lp .text-link span {

	float: right;

}



/* 最後の予約案内・フッター */

.alux-lp .closing {

	padding: 90px 0;

	background: var(--ink);

	color: #fff7ed;

	text-align: center;

}



.alux-lp .closing .eyebrow {

	color: #e8d7ad;

	font-size: 12px;

	letter-spacing: .18em;

}



.alux-lp .closing h2 {

	color: white;

	font-size: clamp(30px, 4vw, 47px);

	line-height: 1.7;

	letter-spacing: .08em;

}



.alux-lp .wishes {

	display: flex;

	justify-content: center;

	margin: 45px 0;

	gap: 0;

}



.alux-lp .wishes p {

	padding: 0 40px;

	border-right: 1px solid #9d8860;

	font-size: 16px;

	color: #ffcad2;

	letter-spacing: .03em;

	margin: 0;

}



.alux-lp .wishes p:last-child {

	border-right: 0;

}



.alux-lp .closing-message {

	font-size: 20px;

	font-family: "Yu Mincho", serif;

	letter-spacing: .05em;

}

.alux-lp .closing .button {
	background: #0BB95B;
	color: #fff;
	margin-top: 20px;
	min-width: 350px;
	min-height: 65px;
}

.alux-lp .closing .button:hover {
	background: #069246;
}

.alux-lp .closing .line-icon {
	background: #fff;
	color: #0BB95B;
}

.alux-lp .closing .line-icon:after {
	border-top-color: #fff;
}

.alux-lp .closing .micro {

	color: #eadfc7;

	font-size: 12px;

	margin-top: 17px;

}



.alux-lp .closing-access {

	font-size: 12px;

	margin: 30px 0 0;

	color: #eadfc7;

}



.alux-lp .footer {

	display: flex;

	align-items: center;

	justify-content: space-between;

	padding: 38px 4%;

	gap: 30px;

}



.alux-lp .footer .brand-main {

	font-size: 28px;

}



.alux-lp .footer .brand-ja {

	font-size: 17px;

}



.alux-lp .footer p {

	font-size: 11px;

	color: var(--muted);

	margin: 0;

}



.alux-lp .footer>small {

	font-size: 11px;

	color: var(--muted);

}



.alux-lp .mobile-booking {

	display: none;

}



/* 画面幅に合わせた調整 */

@media(min-width:1600px) {

	.alux-lp .hero-copy {

		padding-left: 100px;

	}

}



@media(max-width:1150px) {

	.alux-lp .header nav {

		gap: 18px;

	}



	.alux-lp .header nav>a:not(.button) {

		display: none;

	}



	.alux-lp .hero-copy {

		padding-left: 40px;

	}



	.alux-lp .hero h1 {

		font-size: 34px;

	}



	.alux-lp .facts {

		gap: 25px;

	}



	.alux-lp .facts p>span {

		display: none;

	}



	.alux-lp .concern-grid {

		gap: 50px;

	}



	.alux-lp .director-grid {

		gap: 50px;

	}



	.alux-lp .price-grid {

		gap: 40px;

	}



	.alux-lp .wrap {

		width: calc(100% - 72px);

	}



	.alux-lp .hero {

		min-height: 610px;

	}



	.alux-lp .hero-question {

		font-size: 19px;

	}



	.alux-lp .footer {

		flex-wrap: wrap;

	}



	.alux-lp .approach-grid h3 {

		font-size: 20px;

	}

}



@media(max-width:800px) {

	.alux-lp .header {

		padding: 15px 22px;

		min-height: 80px;

	}



	.alux-lp .brand-main {

		font-size: 30px;

		gap: 10px;

	}



	.alux-lp .brand-ja {

		font-size: 17px;

	}



	.alux-lp .brand-sub {

		font-size: 10px;

	}



	.alux-lp .header .button.small {

		font-size: 12px;

		padding: 11px 12px;

		gap: 8px;

		min-height: 44px;

	}



	.alux-lp .header .button.small>.line-icon {

		display: none;

	}



	.alux-lp .button>span:last-child {

		margin-left: 0;

	}



	.alux-lp .hero {

		grid-template-columns: 1fr 1fr;

		min-height: 570px;

	}



	.alux-lp .hero-copy {

		padding: 40px 24px;

	}



	.alux-lp .hero h1 {

		font-size: 27px;

	}



	.alux-lp .hero .eyebrow {

		font-size: 11px;

		letter-spacing: 0;

	}



	.alux-lp .hero-lead {

		font-size: 14px;

	}



	.alux-lp .hero-question {

		font-size: 18px;

	}



	.alux-lp .hero-copy .button {

		font-size: 13px;

		padding: 15px;

		gap: 10px;

	}



	.alux-lp .photo-caption {

		left: 18px;

		bottom: 20px;

		font-size: 13px;

		letter-spacing: 0;

	}



	.alux-lp .facts {

		gap: 20px;

		padding: 16px;

	}



	.alux-lp .facts p {

		font-size: 12px;

		gap: 4px;

	}



	.alux-lp .facts strong {

		font-size: 15px;

	}



	.alux-lp .facts p:last-child>small {

		display: none;

	}



	.alux-lp .wrap {

		width: calc(100% - 48px);

	}



	.alux-lp .section {

		padding: 70px 0;

	}



	.alux-lp .concern-grid,

	.alux-lp .reason-intro,

	.alux-lp .reason-bottom,

	.alux-lp .body-grid,

	.alux-lp .director-grid,

	.alux-lp .flow-grid,

	.alux-lp .faq-grid,

	.alux-lp .price-grid {

		gap: 40px;

	}



	.alux-lp .concern-grid {

		grid-template-columns: .9fr 1.1fr;

	}



	.alux-lp .section-heading h2 {

		font-size: 28px;

	}



	.alux-lp .concern-list li {

		font-size: 14px;

	}



	.alux-lp .concern-list h3 {

		font-size: 17px !important;

	}



	.alux-lp .reason-intro,

	.alux-lp .reason-bottom {

		grid-template-columns: 1fr;

	}



	.alux-lp .reason-statement h3 {

		font-size: 29px !important;

	}



	.alux-lp .body-grid {

		grid-template-columns: 1fr 1.2fr;

		gap: 30px;

	}



	.alux-lp .body-grid h2 {

		font-size: 29px;

	}



	.alux-lp .symptom-tags {

		grid-template-columns: 1fr;

	}



	.alux-lp .body-grid p {

		font-size: 14px;

	}



	.alux-lp .section-top {

		align-items: flex-start;

		gap: 24px;

	}



	.alux-lp .section-top>p {

		font-size: 13px;

	}



	.alux-lp .approach-grid {

		gap: 22px;

	}



	.alux-lp .approach-grid h3 {

		font-size: 18px;

	}



	.alux-lp .approach-grid p {

		font-size: 14px;

	}



	.alux-lp .mini-label {

		font-size: 11px;

	}



	.alux-lp .director-grid {

		grid-template-columns: .8fr 1.2fr;

		gap: 30px;

	}



	.alux-lp .director-copy h2 {

		font-size: 26px;

	}



	.alux-lp .experience {

		gap: 25px;

	}



	.alux-lp .experience strong {

		font-size: 28px;

	}



	.alux-lp .review {

		padding: 20px 15px 8px;

	}



	.alux-lp .flow-grid {

		gap: 30px;

	}



	.alux-lp .faq-grid {

		grid-template-columns: 1fr;

	}



	.alux-lp .price-grid {

		gap: 25px;

	}



	.alux-lp .price-card {

		padding: 0 20px 22px;

	}



	.alux-lp .price-badge {

		margin-inline: -20px;

		font-size: 12px;

	}



	.alux-lp .price-card h3 {

		font-size: 18px;

	}



	.alux-lp .price-number {

		font-size: 58px;

	}



	.alux-lp .price-card .button {

		font-size: 14px;

		padding: 15px;

		gap: 10px;

	}



	.alux-lp .regular-price {

		flex-direction: column;

		gap: 2px;

	}



	.alux-lp .access dl>div {

		gap: 8px;

	}



	.alux-lp .access dt {

		width: 66px;

	}



	.alux-lp .access dd {

		font-size: 13px;

	}



	.alux-lp .wishes p {

		padding: 0 23px !important;

		font-size: 14px !important;

	}

}



@media(max-width:600px) {

	.alux-lp {

		line-height: 1.9;

	}



	.alux-lp .header {

		padding: 15px 18px;

		min-height: 78px;

	}



	.alux-lp .brand-main {

		font-size: 28px;

		gap: 9px;

	}



	.alux-lp .brand-ja {

		font-size: 16px;

	}



	.alux-lp .brand-sub {

		font-size: 9px;

	}



	.alux-lp .header nav {

		display: none;

	}



	.alux-lp .hero {

		display: flex;

		flex-direction: column;

		min-height: 0;

	}



	.alux-lp .hero-copy {

		padding: 32px 24px 34px;

	}



	.alux-lp .hero .eyebrow {

		font-size: 12px;

		margin-bottom: 18px;

	}



	.alux-lp .hero h1 {

		font-size: clamp(27px, 7.3vw, 40px);

		line-height: 1.65;

		letter-spacing: 0;

	}



	.alux-lp .hero-lead {

		font-size: 15px;

		margin: 18px 0;

	}



	.alux-lp .hero-question {

		font-size: 19px;

		margin: 20px 0;

	}



	.alux-lp .hero-question br {

		display: none;

	}



	.alux-lp .hero-copy .button {

		font-size: 15px;

		min-height: 57px;

		width: 100%;

		max-width: 380px;

		gap: 13px;

	}



	.alux-lp .hero-copy .micro {

		font-size: 11px;

	}



	.alux-lp .hero-visual {

		height: 300px;

	}



	.alux-lp .hero-visual>img {

		object-position: center 46%;

	}



	.alux-lp .hero-label {

		top: 18px;

		right: 18px;

		font-size: 11px;

		padding: 12px 8px;

		letter-spacing: .17em;

	}



	.alux-lp .photo-caption {

		left: 24px;

		bottom: 22px;

		font-size: 14px;

	}



	.alux-lp .photo-caption small {

		font-size: 10px;

	}



	.alux-lp .facts {

		display: grid;

		grid-template-columns: 1fr 1fr;

		gap: 8px 12px;

		padding: 17px 22px;

	}



	.alux-lp .facts p {

		font-size: 12px;

		justify-content: center;

		flex-wrap: wrap;

	}



	.alux-lp .facts p:nth-child(2) {

		display: none;

	}



	.alux-lp .facts strong {

		font-size: 16px;

	}



	.alux-lp .facts p:last-child {

		border-left: 1px solid var(--line);

	}



	.alux-lp .facts small {

		font-size: 10px;

	}



	.alux-lp .wrap {

		width: calc(100% - 44px);

	}



	.alux-lp .section {

		padding: 60px 0;

	}



	.alux-lp .eyebrow {

		font-size: 11px;

		margin-bottom: 16px;

	}



	.alux-lp h2 {

		font-size: 29px;

		line-height: 1.65;

		letter-spacing: .025em;

	}



	.alux-lp .concern-grid,

	.alux-lp .body-grid,

	.alux-lp .director-grid,

	.alux-lp .flow-grid,

	.alux-lp .price-grid {

		grid-template-columns: 1fr;

		gap: 30px;

	}



	.alux-lp .section-heading h2 br:nth-child(2) {

		display: none;

	}



	.alux-lp .section-heading>p:not(.eyebrow) {

		font-size: 14px;

		margin-top: 18px;

	}



	.alux-lp .concern-photo {

		max-width: none;

		aspect-ratio: 2;

		max-height: 205px;

		margin-top: 23px;

	}



	.alux-lp .concern-list {

		padding: 0;

	}



	.alux-lp .concern-list h3 {

		font-size: 19px !important;

		padding-bottom: 14px;

	}



	.alux-lp .concern-list li {

		font-size: 15px;

		padding: 16px 0 16px 31px;

	}



	.alux-lp .concern-list li:before {

		top: 19px;

		width: 19px;

		height: 19px;

		line-height: 19px;

	}



	.alux-lp .concern-end {

		font-size: 14px;

		line-height: 1.8;

	}



	.alux-lp .concern-end br {

		display: block;

	}



	.alux-lp .reason-intro,

	.alux-lp .reason-bottom {

		gap: 24px;

	}



	.alux-lp .reason-intro p,

	.alux-lp .reason-bottom p {

		font-size: 15px;

	}



	.alux-lp .reason-statement {

		padding: 33px 0;

		margin: 30px 0;

	}



	.alux-lp .reason-statement>p {

		font-size: 13px;

		letter-spacing: 0;

	}



	.alux-lp .reason-statement h3 {

		font-size: 28px !important;

		letter-spacing: 0;

	}



	.alux-lp .reason-statement h3 br {

		display: block;

	}



	.alux-lp .reason-bottom h3 {

		font-size: 21px;

	}



	.alux-lp .body-grid {

		gap: 22px;

	}



	.alux-lp .body-grid h2 br {

		display: none;

	}



	.alux-lp .symptom-tags {

		grid-template-columns: 1fr 1fr;

		gap: 8px;

	}



	.alux-lp .symptom-tags li {

		font-size: 12px;

		padding: 10px 5px;

	}



	.alux-lp .body-grid p {

		font-size: 15px;

	}



	.alux-lp .body-note {

		font-size: 13px;

	}



	.alux-lp .section-top {

		display: block;

		margin-bottom: 30px;

	}



	.alux-lp .section-top>p {

		font-size: 14px;

		margin: 22px 0 0;

	}



	.alux-lp .approach-grid {

		grid-template-columns: 1fr;

		gap: 26px;

	}



	.alux-lp .approach-grid article {

		display: grid;

		grid-template-columns: 50px 1fr;

		column-gap: 18px;

		padding-top: 22px;

	}



	.alux-lp .number {

		font-size: 36px;

		grid-column: 1;

		grid-row: 1/4;

		margin-top: 4px;

	}



	.alux-lp .approach-grid h3 {

		grid-column: 2;

		font-size: 21px;

		margin-bottom: 15px;

	}



	.alux-lp .approach-grid p,

	.alux-lp .mini-label {

		grid-column: 2;

	}



	.alux-lp .approach-grid p {

		font-size: 15px;

	}



	.alux-lp .mini-label {

		font-size: 12px;

		padding: 10px 0;

		border: 0;

	}



	.alux-lp .director-copy h2 {

		font-size: 28px;

	}



	.alux-lp .portrait-wrap {

		max-width: 370px;

		width: 100%;

		margin-inline: auto;

	}



	.alux-lp .portrait-wrap img {

		aspect-ratio: .92;

		max-height: none;

		object-position: center 18%;

	}



	.alux-lp .director-copy {

		padding-top: 5px;

	}



	.alux-lp .director-name {

		padding-top: 8px;

	}



	.alux-lp .experience {

		gap: 45px;

	}



	.alux-lp .experience strong {

		font-size: 36px;

	}



	.alux-lp .experience p {

		font-size: 12px;

	}



	.alux-lp .reviews {

		grid-template-columns: 1fr;

		gap: 20px;

	}



	.alux-lp .review.featured {

		grid-column: auto;

	}



	.alux-lp .review-heading>span {

		font-size: 11px;

	}



	.alux-lp .review-heading h3 {

		font-size: 17px;

	}



	.alux-lp .review-text summary {

		font-size: 13px;

		padding: 13px;

	}



	.alux-lp .review-text p {

		font-size: 15px;

	}



	.alux-lp .review-note {

		font-size: 11px;

	}



	.alux-lp .flow-grid {

		gap: 22px;

	}



	.alux-lp .flow-photos {

		grid-template-columns: 1fr 1fr;

		gap: 10px;

	}



	.alux-lp .flow-photos img {

		aspect-ratio: 1.15;

		object-fit: cover;

	}



	.alux-lp .steps li {

		gap: 20px;

		padding: 20px 0;

	}



	.alux-lp .steps h3 {

		font-size: 19px;

	}



	.alux-lp .steps p {

		font-size: 15px;

	}



	.alux-lp .faq-grid {

		gap: 25px;

	}



	.alux-lp .faq-grid>div>p:not(.eyebrow) {

		font-size: 14px;

		margin-top: 15px;

	}



	.alux-lp .faq-list summary {

		font-size: 15px;

		gap: 12px;

		padding: 21px 24px 21px 0;

	}



	.alux-lp .faq-list summary>span {

		font-size: 22px;

	}



	.alux-lp .answer {

		padding-left: 0;

		font-size: 15px;

	}



	.alux-lp .price-grid {

		gap: 34px;

	}



	.alux-lp .price-card {

		padding: 0 24px 24px;

	}



	.alux-lp .price-badge {

		margin-inline: -24px;

		font-size: 13px;

	}



	.alux-lp .price-card h3 {

		font-size: 20px;

	}



	.alux-lp .price-number {

		font-size: 68px;

	}



	.alux-lp .price-card .button {

		font-size: 15px;

	}



	.alux-lp .regular-price {

		flex-direction: row;

		font-size: 12px;

	}



	.alux-lp .access dl>div {

		gap: 15px;

	}



	.alux-lp .access dd {

		font-size: 15px;

	}



	.alux-lp .access dt {

		width: 78px;

		font-size: 13px;

	}



	.alux-lp .closing {

		padding: 62px 0;

	}



	.alux-lp .closing h2 {

		font-size: 32px;

		letter-spacing: .015em;

	}



	.alux-lp .wishes {

		display: block;

		margin: 30px 0;

	}



	.alux-lp .wishes p {

		font-size: 15px !important;

		border: 0;

		padding: 12px 0 !important;

	}



	.alux-lp .wishes br {

		display: none;

	}



	.alux-lp .closing-message {

		font-size: 18px;

		letter-spacing: 0;

	}



	.alux-lp .closing-inner>p:not(.eyebrow):not(.micro):not(.closing-access) {

		font-size: 16px;

	}



	.alux-lp .closing .button {

		width: 100%;

		min-width: 0;

		font-size: 15px;

		padding: 17px;

		gap: 12px;

	}



	.alux-lp .closing .micro {

		font-size: 11px;

	}



	.alux-lp .closing-access {

		font-size: 11px;

		line-height: 1.9;

	}



	.alux-lp .footer {

		padding: 30px 22px 114px;

		display: block;

	}



	.alux-lp .footer .brand-main {

		font-size: 29px;

	}



	.alux-lp .footer .brand-ja {

		font-size: 17px;

	}



	.alux-lp .footer p {

		margin: 22px 0 15px;

		font-size: 11px;

	}



	.alux-lp .mobile-booking {

		position: fixed;

		display: flex;

		bottom: 0;

		left: 0;

		right: 0;

		z-index: 10;

		background: rgba(255, 255, 255, .97);

		border-top: 1px solid var(--line);

		padding: 10px 15px max(10px, env(safe-area-inset-bottom));

		gap: 15px;

		align-items: center;

		justify-content: space-between;

		box-shadow: 0 -3px 20px #67552d0c;

	}



	.alux-lp .mobile-booking>div {

		font-size: 10px;

		line-height: 1.5;

		white-space: nowrap;

	}



	.alux-lp .mobile-booking strong {

		display: block;

		font-size: 17px;

		font-weight: 600;

	}



	.alux-lp .mobile-booking small {

		font-size: 10px;

	}



	.alux-lp .mobile-booking .button {

		min-height: 46px;

		padding: 12px 16px;

		gap: 10px;

		font-size: 14px;

	}

}



@media(prefers-reduced-motion:reduce) {

	.alux-lp .button {

		transition: none;

	}



	.alux-lp .button:hover {

		transform: none;

	}

}



@media(min-width:601px) {

	.alux-lp .review.featured .review-crop {

		max-width: 790px;

		margin: auto;

	}

}



@media(max-width:360px) {

	.alux-lp .hero h1 {

		font-size: 25px;

	}



	.alux-lp h2 {

		font-size: 26px;

	}



	.alux-lp .hero-copy {

		padding-inline: 20px;

	}



	.alux-lp .mobile-booking {

		gap: 8px;

		padding-inline: 10px;

	}



	.alux-lp .mobile-booking .button {

		padding-inline: 12px;

	}



	.alux-lp .brand-main {

		font-size: 26px;

	}



	.alux-lp .brand-ja {

		font-size: 15px;

	}

}



/* 改行・キーワード強調・特徴画像 */

.alux-lp h1,

.alux-lp h2,

.alux-lp h3,

.alux-lp p,

.alux-lp li {

	word-break: normal;

	overflow-wrap: normal;

	line-break: strict;

}



.alux-lp .heading-phrase {

	display: inline-block;

	max-width: 100%;

}



.alux-lp .hero-copy {

	padding-inline: clamp(24px, 4vw, 64px);

	min-width: 0;

}



.alux-lp .hero h1 {

	font-size: clamp(26px, 2.55vw, 40px);

	letter-spacing: 0;

	line-height: 1.65;

}



.alux-lp .hero h1>.hero-line {

	display: block;

	background: none;

}



.alux-lp .hero h1>.hero-emphasis {

	color: #994454;

	text-decoration: underline;

	text-decoration-color: #faa7af;

	text-decoration-thickness: 5px;

	text-underline-offset: 8px;

}



.alux-lp .hero-lead,

.alux-lp .hero-question {

	max-width: 30em;

}



.alux-lp .concern-list ul {

	display: grid;

	gap: 12px;

	margin-top: 20px;

}



.alux-lp .concern-list li {

	padding: 19px 20px 19px 52px;

	border: 1px solid var(--line);

	background: #fff;

	line-height: 1.9;

	font-size: 16px;

}



.alux-lp .concern-list li:before {

	left: 17px;

	top: 24px;

	border-radius: 50%;

	background: var(--ink);

	border-color: var(--ink);

	color: white;

}



.alux-lp .concern-list strong {

	color: #994454;

	font-weight: 700;

	background: linear-gradient(transparent 74%, #fce4e8 74%);

	box-decoration-break: clone;

	-webkit-box-decoration-break: clone;

}



.alux-lp .approach-grid {

	gap: 28px;

}



.alux-lp .approach-grid article {

	display: flex;

	flex-direction: column;

	padding-top: 0;

	border-top: 0;

	min-width: 0;

}



.alux-lp .feature-photo {

	width: 100%;

	aspect-ratio: 3/2;

	object-fit: cover;

	margin-bottom: 22px;

}



.alux-lp .approach-grid .number {

	margin: 0 0 10px;

	font-size: 40px;

	line-height: 1.2;

}



.alux-lp .approach-grid h3 {

	font-size: 22px;

	line-height: 1.75;

	margin-bottom: 16px;

	letter-spacing: 0;

}



.alux-lp .approach-grid p {

	font-size: 16px;

	line-height: 1.95;

}



.alux-lp .approach-grid .mini-label {

	font-size: 14px;

}



.alux-lp .director-name small {

	font-size: 14px;

	letter-spacing: .04em;

}



.alux-lp .payment-photo {

	margin: 26px 0 0;

	text-align: left;

}



.alux-lp .payment-photo img {

	width: 100%;

	aspect-ratio: 3/2;

	object-fit: cover;

}



.alux-lp .payment-photo figcaption {

	font-size: 14px;

	color: var(--muted);

	margin-top: 9px;

	line-height: 1.7;

}



.alux-lp .closing-message {

	max-width: 38em;

	margin-inline: auto;

}



.alux-lp .wishes p {

	max-width: 22em;

}



@media(min-width:601px) and (max-width:1000px) {

	.alux-lp .hero {

		grid-template-columns: 1.2fr 1fr;

	}



	.alux-lp .hero h1 {

		font-size: clamp(24px, 3.3vw, 32px);

	}



	.alux-lp .concern-grid {

		grid-template-columns: 1fr;

		gap: 30px;

	}



	.alux-lp .concern-photo {

		display: none !important;

	}



	.alux-lp .approach-grid {

		grid-template-columns: 1fr;

		gap: 36px;

	}



	.alux-lp .approach-grid article {

		display: grid;

		grid-template-columns: 1fr 1.2fr;

		gap: 0 28px;

	}



	.alux-lp .feature-photo {

		grid-column: 1;

		grid-row: 1/5;

		margin: 0;

	}



	.alux-lp .approach-grid .number,

	.alux-lp .approach-grid h3,

	.alux-lp .approach-grid p,

	.alux-lp .approach-grid .mini-label {

		grid-column: 2;

	}



	.alux-lp .director-copy h2 {

		font-size: 26px;

	}

}



@media(max-width:600px) {

	.alux-lp .hero h1 {

		font-size: clamp(23px, 6.5vw, 36px);

		line-height: 1.8;

	}



	.alux-lp .hero-copy {

		padding-inline: 22px;

	}



	.alux-lp .hero-lead {

		font-size: 16px;

	}



	.alux-lp .section-heading h2 {

		font-size: 27px;

	}



	.alux-lp .concern-list li {

		padding: 17px 16px 17px 46px;

		font-size: 16px;

	}



	.alux-lp .concern-list li:before {

		left: 14px;

		top: 23px;

	}



	.alux-lp .approach-grid {

		gap: 34px;

	}



	.alux-lp .approach-grid article {

		display: flex;

		padding: 0;

		gap: 0;

	}



	.alux-lp .feature-photo {

		margin-bottom: 20px;

	}



	.alux-lp .approach-grid h3 {

		font-size: 23px;

	}



	.alux-lp .director-copy h2 {

		font-size: 26px;

	}



	.alux-lp .closing h2 {

		font-size: 29px;

	}



	.alux-lp .wishes p {

		margin-inline: auto;

	}



	.alux-lp .button {

		gap: 10px;

	}

}



/* レントゲン風画像・施術の流れ */

.alux-lp .lumbar-figure {

	margin: 28px 0 0;

}



.alux-lp .lumbar-figure img {

	width: 100%;

	height: auto;

	border: 1px solid #9d8860;

}



.alux-lp .lumbar-figure figcaption {

	margin-top: 10px;

	color: #e8dbc3;

	font-size: 13px;

	line-height: 1.7;

}



.alux-lp .reason-intro {

	align-items: start;

}



.alux-lp .flow-sequence {

	list-style: none;

	margin: 0;

	padding: 0;

	display: grid;

	gap: 30px;

}



.alux-lp .flow-sequence>li {

	display: grid;

	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);

	gap: 48px;

	align-items: center;

	padding-bottom: 30px;

	border-bottom: 1px solid var(--line);

}



.alux-lp .flow-step-photo {

	width: 100%;

	height: auto;

	aspect-ratio: 3/2;

	object-fit: cover;

}



.alux-lp .flow-step-copy {

	display: flex;

	gap: 24px;

	align-items: baseline;

	min-width: 0;

}



.alux-lp .flow-step-number {

	font: italic 34px Georgia, serif;

	color: #89713a;

	flex-shrink: 0;

}



.alux-lp .flow-step-copy h3 {

	font-size: 23px;

	margin: 0 0 14px;

}



.alux-lp .flow-step-copy p {

	font-size: 16px;

	line-height: 1.95;

	margin: 0;

	color: var(--muted);

}



@media(min-width:801px) {

	.alux-lp .reason-intro>div:last-child {

		padding-top: 8px;

	}

}



@media(max-width:800px) {

	.alux-lp .lumbar-figure {

		max-width: 580px;

	}



	.alux-lp .flow-sequence>li {

		gap: 25px;

		grid-template-columns: 1fr 1fr;

	}



	.alux-lp .flow-step-copy {

		display: block;

	}



	.alux-lp .flow-step-number {

		display: block;

		margin-bottom: 10px;

	}



	.alux-lp .flow-step-copy h3 {

		font-size: 20px;

	}

}



@media(max-width:600px) {

	.alux-lp .lumbar-figure {

		margin-top: 22px;

	}



	.alux-lp .flow-sequence {

		gap: 30px;

	}



	.alux-lp .flow-sequence>li {

		grid-template-columns: 1fr;

		gap: 20px;

		padding-bottom: 26px;

	}



	.alux-lp .flow-step-copy {

		display: flex;

		gap: 17px;

	}



	.alux-lp .flow-step-number {

		font-size: 30px;

		margin: 0;

	}



	.alux-lp .flow-step-copy h3 {

		font-size: 21px;

		margin-bottom: 10px;

	}

}



.alux-lp .flow .section-top {

	display: block;

}



.alux-lp .flow .section-top>p {

	margin: 18px 0 0;

	font-size: 16px;

	line-height: 1.95;

	max-width: 48em;

}



/* 院長写真をバストアップに */

.alux-lp .portrait-wrap {

	aspect-ratio: 1;

	overflow: hidden;

	width: 100%;

	max-width: 450px;

	margin-inline: auto;

}



.alux-lp .portrait-wrap img {

	position: absolute;

	width: 150%;

	max-width: none;

	height: auto;

	max-height: none;

	aspect-ratio: auto;

	left: -25%;

	top: -52%;

	object-fit: initial;

	object-position: initial;

}



@media(max-width:600px) {

	.alux-lp .portrait-wrap {

		max-width: 370px;

	}



	.alux-lp .flow .section-top>p {

		margin-top: 16px;

	}

}



/* ロゴに合わせた配色 */

.alux-lp .brand-main {

	color: #89713a;

}



.alux-lp .hero-label {

	border: 1px solid #f4ccd2;

	color: var(--ink);

}



.alux-lp .concern-list li {

	border-left: 3px solid var(--logo-pink);

}



.alux-lp .concern-list strong {

	color: var(--rose);

}



.alux-lp .number,

.alux-lp .flow-step-number {

	color: #89713a;

}



.alux-lp .price-card {

	background: #fffbf3;

}



.alux-lp .price-badge {

	background: #806a34;

}



/* 人型イラスト・各部位の表示 */

.alux-lp .body-grid {

	grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr);

	gap: 48px;

	align-items: center;

}



.alux-lp .body-explanation h2 {

	margin-bottom: 24px;

}



.alux-lp .body-explanation>p:not(.eyebrow) {

	font-size: 16px;

	line-height: 1.95;

}



.alux-lp .body-map {

	position: relative;

	width: 100%;

	aspect-ratio: 10/9;

	isolation: isolate;

}



.alux-lp .body-map>img {

	position: absolute;

	left: 20%;

	top: 0;

	width: 60%;

	height: auto;

}



.alux-lp .body-callouts {

	list-style: none;

	margin: 0;

	padding: 0;

}



.alux-lp .body-callout {

	position: absolute;

	width: 28%;

	transform: translateY(-50%);

	background: #fff;

	border: 1px solid var(--line);

	border-radius: 8px;

	padding: 12px 10px;

	box-shadow: 0 4px 16px #67552d08;

	line-height: 1.7;

	z-index: 1;

}



.alux-lp .body-callout>span {

	display: block;

	font-size: 13px;

	color: #776746;

	margin-bottom: 4px;

}



.alux-lp .body-callout>strong {

	display: block;

	font-size: 16px;

	color: var(--ink);

	font-weight: 700;

}



.alux-lp .body-callout.sleep {

	left: 0;

	top: 8%;

}



.alux-lp .body-callout.headache {

	right: 0;

	top: 8%;

}



.alux-lp .body-callout.jaw {

	right: 0;

	top: 27%;

}



.alux-lp .body-callout.morning {

	left: 0;

	top: 36%;

}



.alux-lp .body-callout.stomach {

	right: 0;

	top: 51%;

}



.alux-lp .body-callout.cold {

	left: 0;

	top: 66%;

}



.alux-lp .body-callout.swelling {

	right: 0;

	top: 86%;

}



.alux-lp .body-connectors {

	position: absolute;

	inset: 0;

	width: 100%;

	height: 100%;

	pointer-events: none;

	z-index: 0;

}



.alux-lp .body-connectors-mobile {

	display: none;

}



.alux-lp .body-leader {

	stroke: #b8a25b;

	stroke-width: 1.2;

	vector-effect: non-scaling-stroke;

}



.alux-lp .body-halo {

	fill: #faa7af;

	fill-opacity: .3;

}



.alux-lp .body-dot {

	fill: #a58a43;

}



@media(max-width:1000px) {

	.alux-lp .body-grid {

		grid-template-columns: 1fr;

		gap: 25px;

	}



	.alux-lp .body-map {

		max-width: 650px;

		margin: auto;

	}



	.alux-lp .body-explanation {

		max-width: 700px;

	}

}



@media(max-width:600px) {

	.alux-lp .body-map {

		aspect-ratio: 1/1.02;

	}



	.alux-lp .body-map>img {

		left: 16%;

		width: 68%;

	}



	.alux-lp .body-callout {

		padding: 10px 6px;

	}



	.alux-lp .body-callout>span {

		display: none;

	}



	.alux-lp .body-callout>strong {

		font-size: clamp(12px, 3.4vw, 14px);

	}



	.alux-lp .body-connectors-desktop {

		display: none;

	}



	.alux-lp .body-connectors-mobile {

		display: block;

	}

}



/* Google口コミのカルーセル */

.alux-lp .review-carousel {

	position: relative;

	max-width: 880px;

	margin-inline: auto;

}



.alux-lp .carousel-radio {

	position: absolute;

	width: 1px;

	height: 1px;

	overflow: hidden;

	clip-path: inset(50%);

	white-space: nowrap;

}



.alux-lp .carousel-controls {

	display: flex;

	align-items: center;

	justify-content: space-between;

	gap: 16px;

	flex-wrap: wrap;

	margin-bottom: 22px;

}



.alux-lp .review-dots,

.alux-lp .review-playback {

	display: flex;

	gap: 7px;

	align-items: center;

}



.alux-lp .carousel-controls label,

.alux-lp .review-arrow {

	display: inline-flex;

	align-items: center;

	justify-content: center;

	min-width: 44px;

	min-height: 44px;

	border: 1px solid #d9c79a;

	border-radius: 4px;

	padding: 9px 13px;

	background: #fff;

	color: var(--ink);

	font-size: 14px;

	font-weight: 600;

	line-height: 1.6;

	cursor: pointer;

}



.alux-lp .carousel-controls label:hover,

.alux-lp .review-arrow:hover {

	background: #fff1f3;

}



.alux-lp .carousel-controls .review-dot {

	padding: 9px;

}



.alux-lp .resume-action {

	display: none;

}



.alux-lp #alux-review-paused:checked~.carousel-controls .pause-action {

	display: none;

}



.alux-lp #alux-review-paused:checked~.carousel-controls .resume-action {

	display: inline;

}



.alux-lp #alux-review-auto:checked~.carousel-controls .review-auto {

	background: var(--ink);

	border-color: var(--ink);

	color: #fff;

}



.alux-lp .review-carousel .reviews {

	display: grid;

	grid-template-columns: minmax(0, 1fr);

	align-items: start;

}



.alux-lp .review-carousel .review {
	grid-area: 1 / 1;
	width: 100%;
	max-width: none;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	animation: alux-review-cycle 91s steps(1, end) infinite;
}

.alux-lp .review-carousel .review:nth-child(1) {
	animation-delay: 0s;
}

.alux-lp .review-carousel .review:nth-child(2) {
	animation-delay: -84s;
}

.alux-lp .review-carousel .review:nth-child(3) {
	animation-delay: -77s;
}

.alux-lp .review-carousel .review:nth-child(4) {
	animation-delay: -70s;
}

.alux-lp .review-carousel .review:nth-child(5) {
	animation-delay: -63s;
}

.alux-lp .review-carousel .review:nth-child(6) {
	animation-delay: -56s;
}

.alux-lp .review-carousel .review:nth-child(7) {
	animation-delay: -49s;
}

.alux-lp .review-carousel .review:nth-child(8) {
	animation-delay: -42s;
}

.alux-lp .review-carousel .review:nth-child(9) {
	animation-delay: -35s;
}

.alux-lp .review-carousel .review:nth-child(10) {
	animation-delay: -28s;
}

.alux-lp .review-carousel .review:nth-child(11) {
	animation-delay: -21s;
}

.alux-lp .review-carousel .review:nth-child(12) {
	animation-delay: -14s;
}

.alux-lp .review-carousel .review:nth-child(13) {
	animation-delay: -7s;
}

@keyframes alux-review-cycle {

	0%,
	7.691% {
		opacity: 1;
		visibility: visible;
	}

	7.692%,
	100% {
		opacity: 0;
		visibility: hidden;
	}
}


/* 文章を開いている間などは自動切り替えを停止 */

.alux-lp .review-carousel:hover .review,

.alux-lp .review-carousel:focus-within .review,

.alux-lp .review-carousel:has(.review-text[open]) .review,

.alux-lp #alux-review-paused:checked~.reviews .review {

	animation-play-state: paused;

}



@media(max-width:600px) {

	.alux-lp .carousel-controls {

		gap: 12px;

		justify-content: center;

		margin-bottom: 18px;

	}



	.alux-lp .review-dots {

		justify-content: center;

		width: 100%;

	}



	.alux-lp .review-playback {

		justify-content: center;

		width: 100%;

	}



	.alux-lp .review-carousel .review {

		padding: 20px 15px 8px;

	}



	.alux-lp .review-carousel .review-heading h3 {

		min-height: 3.5em;

	}

}



@media(prefers-reduced-motion:reduce) {

	.alux-lp .review-carousel .review {

		animation: none;

	}



	.alux-lp .review-carousel .review:first-child {

		opacity: 1;

		visibility: visible;

	}



	.alux-lp .review-playback {

		display: none;

	}

}



@supports not selector(:has(details[open])) {

	.alux-lp .review-carousel .review {

		animation: none;

	}



	.alux-lp .review-carousel .review:first-child {

		opacity: 1;

		visibility: visible;

	}



	.alux-lp .review-playback {

		display: none;

	}

}



/* 番号ボタン・前へ・次へでの切り替え */

.alux-lp #alux-review-1:checked~.reviews .review {

	display: none;

	animation: none;

}



.alux-lp #alux-review-1:checked~.reviews .review:nth-child(1) {

	display: block;

	opacity: 1;

	visibility: visible;

}



.alux-lp #alux-review-1:checked~.carousel-controls label[for="alux-review-1"] {

	background: var(--ink);

	border-color: var(--ink);

	color: #fff;

}



.alux-lp #alux-review-1:checked~.carousel-controls .review-pause {

	display: none;

}



.alux-lp #alux-review-1:focus-visible~.carousel-controls label[for="alux-review-1"] {

	outline: 3px solid var(--rose);

	outline-offset: 4px;

}



.alux-lp #alux-review-2:checked~.reviews .review {

	display: none;

	animation: none;

}



.alux-lp #alux-review-2:checked~.reviews .review:nth-child(2) {

	display: block;

	opacity: 1;

	visibility: visible;

}



.alux-lp #alux-review-2:checked~.carousel-controls label[for="alux-review-2"] {

	background: var(--ink);

	border-color: var(--ink);

	color: #fff;

}



.alux-lp #alux-review-2:checked~.carousel-controls .review-pause {

	display: none;

}



.alux-lp #alux-review-2:focus-visible~.carousel-controls label[for="alux-review-2"] {

	outline: 3px solid var(--rose);

	outline-offset: 4px;

}



.alux-lp #alux-review-3:checked~.reviews .review {

	display: none;

	animation: none;

}



.alux-lp #alux-review-3:checked~.reviews .review:nth-child(3) {

	display: block;

	opacity: 1;

	visibility: visible;

}



.alux-lp #alux-review-3:checked~.carousel-controls label[for="alux-review-3"] {

	background: var(--ink);

	border-color: var(--ink);

	color: #fff;

}



.alux-lp #alux-review-3:checked~.carousel-controls .review-pause {

	display: none;

}



.alux-lp #alux-review-3:focus-visible~.carousel-controls label[for="alux-review-3"] {

	outline: 3px solid var(--rose);

	outline-offset: 4px;

}



.alux-lp #alux-review-4:checked~.reviews .review {

	display: none;

	animation: none;

}



.alux-lp #alux-review-4:checked~.reviews .review:nth-child(4) {

	display: block;

	opacity: 1;

	visibility: visible;

}



.alux-lp #alux-review-4:checked~.carousel-controls label[for="alux-review-4"] {

	background: var(--ink);

	border-color: var(--ink);

	color: #fff;

}



.alux-lp #alux-review-4:checked~.carousel-controls .review-pause {

	display: none;

}



.alux-lp #alux-review-4:focus-visible~.carousel-controls label[for="alux-review-4"] {

	outline: 3px solid var(--rose);

	outline-offset: 4px;

}



.alux-lp #alux-review-5:checked~.reviews .review {

	display: none;

	animation: none;

}



.alux-lp #alux-review-5:checked~.reviews .review:nth-child(5) {

	display: block;

	opacity: 1;

	visibility: visible;

}



.alux-lp #alux-review-5:checked~.carousel-controls label[for="alux-review-5"] {

	background: var(--ink);

	border-color: var(--ink);

	color: #fff;

}



.alux-lp #alux-review-5:checked~.carousel-controls .review-pause {

	display: none;

}



.alux-lp #alux-review-5:focus-visible~.carousel-controls label[for="alux-review-5"] {

	outline: 3px solid var(--rose);

	outline-offset: 4px;

}



.alux-lp #alux-review-auto:focus-visible~.carousel-controls .review-auto,

.alux-lp #alux-review-paused:focus-visible~.carousel-controls .review-pause {

	outline: 3px solid var(--rose);

	outline-offset: 4px;

}



/* 口コミ画像の切り抜き位置 */

.alux-lp #review-slide-1 .review-crop {

	--crop-w: 820;

	--crop-h: 416;

	--crop-x: 535;

	--crop-y: 430;

}



.alux-lp #review-slide-2 .review-crop {

	--crop-w: 820;

	--crop-h: 170;

	--crop-x: 535;

	--crop-y: 594;

}



.alux-lp #review-slide-3 .review-crop {

	--crop-w: 820;

	--crop-h: 443;

	--crop-x: 535;

	--crop-y: 370;

}



.alux-lp #review-slide-4 .review-crop {

	--crop-w: 820;

	--crop-h: 512;

	--crop-x: 535;

	--crop-y: 366;

}



.alux-lp #review-slide-5 .review-crop {

	--crop-w: 820;

	--crop-h: 342;

	--crop-x: 535;

	--crop-y: 523;

}

/* ------------------
口コミ06
------------------ */

.alux-lp #alux-review-6:checked~.reviews .review {
	display: none;
	animation: none;
}

.alux-lp #alux-review-6:checked~.reviews .review:nth-child(6) {
	display: block;
	opacity: 1;
	visibility: visible;
}

.alux-lp #alux-review-6:checked~.carousel-controls label[for="alux-review-6"] {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}

.alux-lp #alux-review-6:checked~.carousel-controls .review-pause {
	display: none;
}

.alux-lp #alux-review-6:focus-visible~.carousel-controls label[for="alux-review-6"] {
	outline: 3px solid var(--rose);
	outline-offset: 4px;
}


/* ------------------
口コミ07
------------------ */

.alux-lp #alux-review-7:checked~.reviews .review {
	display: none;
	animation: none;
}

.alux-lp #alux-review-7:checked~.reviews .review:nth-child(7) {
	display: block;
	opacity: 1;
	visibility: visible;
}

.alux-lp #alux-review-7:checked~.carousel-controls label[for="alux-review-7"] {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}

.alux-lp #alux-review-7:checked~.carousel-controls .review-pause {
	display: none;
}

.alux-lp #alux-review-7:focus-visible~.carousel-controls label[for="alux-review-7"] {
	outline: 3px solid var(--rose);
	outline-offset: 4px;
}


/* ------------------
口コミ08
------------------ */

.alux-lp #alux-review-8:checked~.reviews .review {
	display: none;
	animation: none;
}

.alux-lp #alux-review-8:checked~.reviews .review:nth-child(8) {
	display: block;
	opacity: 1;
	visibility: visible;
}

.alux-lp #alux-review-8:checked~.carousel-controls label[for="alux-review-8"] {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}

.alux-lp #alux-review-8:checked~.carousel-controls .review-pause {
	display: none;
}

.alux-lp #alux-review-8:focus-visible~.carousel-controls label[for="alux-review-8"] {
	outline: 3px solid var(--rose);
	outline-offset: 4px;
}


/* ------------------
口コミ09
------------------ */

.alux-lp #alux-review-9:checked~.reviews .review {
	display: none;
	animation: none;
}

.alux-lp #alux-review-9:checked~.reviews .review:nth-child(9) {
	display: block;
	opacity: 1;
	visibility: visible;
}

.alux-lp #alux-review-9:checked~.carousel-controls label[for="alux-review-9"] {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}

.alux-lp #alux-review-9:checked~.carousel-controls .review-pause {
	display: none;
}

.alux-lp #alux-review-9:focus-visible~.carousel-controls label[for="alux-review-9"] {
	outline: 3px solid var(--rose);
	outline-offset: 4px;
}


/* ------------------
口コミ10
------------------ */

.alux-lp #alux-review-10:checked~.reviews .review {
	display: none;
	animation: none;
}

.alux-lp #alux-review-10:checked~.reviews .review:nth-child(10) {
	display: block;
	opacity: 1;
	visibility: visible;
}

.alux-lp #alux-review-10:checked~.carousel-controls label[for="alux-review-10"] {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}

.alux-lp #alux-review-10:checked~.carousel-controls .review-pause {
	display: none;
}

.alux-lp #alux-review-10:focus-visible~.carousel-controls label[for="alux-review-10"] {
	outline: 3px solid var(--rose);
	outline-offset: 4px;
}

@media (max-width: 600px) {

	.alux-lp .review-dots {
		justify-content: center;
		width: 100%;
		flex-wrap: wrap;
	}

}

/* ------------------
口コミ11
------------------ */

.alux-lp #alux-review-11:checked~.reviews .review {
	display: none;
	animation: none;
}

.alux-lp #alux-review-11:checked~.reviews .review:nth-child(11) {
	display: block;
	opacity: 1;
	visibility: visible;
}

.alux-lp #alux-review-11:checked~.carousel-controls label[for="alux-review-11"] {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}

.alux-lp #alux-review-11:checked~.carousel-controls .review-pause {
	display: none;
}

.alux-lp #alux-review-11:focus-visible~.carousel-controls label[for="alux-review-11"] {
	outline: 3px solid var(--rose);
	outline-offset: 4px;
}


/* ------------------
口コミ12
------------------ */

.alux-lp #alux-review-12:checked~.reviews .review {
	display: none;
	animation: none;
}

.alux-lp #alux-review-12:checked~.reviews .review:nth-child(12) {
	display: block;
	opacity: 1;
	visibility: visible;
}

.alux-lp #alux-review-12:checked~.carousel-controls label[for="alux-review-12"] {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}

.alux-lp #alux-review-12:checked~.carousel-controls .review-pause {
	display: none;
}

.alux-lp #alux-review-12:focus-visible~.carousel-controls label[for="alux-review-12"] {
	outline: 3px solid var(--rose);
	outline-offset: 4px;
}


/* ------------------
口コミ13
------------------ */

.alux-lp #alux-review-13:checked~.reviews .review {
	display: none;
	animation: none;
}

.alux-lp #alux-review-13:checked~.reviews .review:nth-child(13) {
	display: block;
	opacity: 1;
	visibility: visible;
}

.alux-lp #alux-review-13:checked~.carousel-controls label[for="alux-review-13"] {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}

.alux-lp #alux-review-13:checked~.carousel-controls .review-pause {
	display: none;
}

.alux-lp #alux-review-13:focus-visible~.carousel-controls label[for="alux-review-13"] {
	outline: 3px solid var(--rose);
	outline-offset: 4px;
}

/* ------------------

口コミ画像

------------------ */

.alux-lp .review-crop {
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
}

.alux-lp .review-crop>img {
	position: static;
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

.alux-lp .review-media {
	aspect-ratio: auto;
}

/* ------------------

患者様写真

------------------ */
section#photo {
	padding-bottom: 0;
}

.patient-gallery {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}

.patient-gallery-item {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 8px;
}

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

.patient-gallery {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}

@media (max-width: 600px) {
	.patient-gallery {
		grid-template-columns: repeat(4, 1fr);
		gap: 6px;
	}

	.patient-gallery-item {
		border-radius: 3px;
	}
}