@charset "utf-8";


/* --- common --- */
html { font-size: 19px; }

html.menu-open { overflow: hidden; }

.for-pc { display: none; }

.for-sp { display: block; }

.inner { padding: 0 16px; }

section p { margin-bottom: 2rem; }

h2 { font-size: 1.25rem; }

h3 { font-size: 1.15rem; }

.balloon {
	color: #fff;
	line-height: 1.5;
	margin: 0 -16px 2rem;
	width: 100vw;
	height: 160px;
	background: url("../img/balloon_h2.webp") -60px center / cover no-repeat;
	align-items: center;
	justify-content: flex-start;
	display: flex;
}

.balloon span {
	font-size: .925rem;
	font-weight: 500;
}

.underline {
    line-height: 1.3;
    height: 3.25em;
    background: url(../img/underline.png) center bottom / auto 4px no-repeat;
    padding: 0 8px;
    margin-bottom: 1.5rem;
    display: inline-block;
}

.icon-plan {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.icon-plan > div {
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	line-height: 1;
	width: calc(50% - 5px);
	border-radius: 15px;
	padding: 4px 0 6px;
	text-align: center;
	box-sizing: border-box;
}

/* nav */
.head.is-fixed {
	position: fixed;
	top: -100px;
	left: 0;
	right: 0;
	opacity: 0;
	transition: top .6s ease, opacity .6s ease;
}

.head.is-fixed.is-show {
	top: 0;
	opacity: 1;
}

.logo-tagline, .logo-totop {
	width: 64%;
	min-width: 256px;
	text-align: center;
	position: absolute;
	top: 20px;
}

.logo-tagline small {
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: -.0725em;
	margin: 2px 0 0 -8px;
	display: inline-block;
}

.logo-totop {
	background-color: rgba(41, 56, 85, .75);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	box-shadow: 0 2px 12px rgba(0, 0, 0, .08);
	border-radius: 48px;
	display: none;
}

.logo-totop a { padding: 12px; display: block; }

.head.is-fixed .logo-tagline { display: none; }

.head.is-fixed .logo-totop { display: block; }

/* g-nav */
.hmb-button {
	background-color: rgba(255, 255, 255, .7);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	border-radius: 10px;
	padding: 10px 12px;
	text-align: center;
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 1002;
	cursor: pointer;
}

.hmb-button span {
	display: block;
	width: 30px;
	height: 3px;
	margin: 0 auto 5px;
	background-color: #293855;
	transition: transform .3s ease, opacity .3s ease;
}

.hmb-button.open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.hmb-button.open span:nth-child(2) { opacity: 0; }
.hmb-button.open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

.hmb-button small {
	color: #293855;
	display: block;
	font-size: 15px;
	line-height: 1;
	margin-top: 6px;
}

.hmb-button small::after { content: ""; }

.hmb-button.open small { font-size: 0; }

.hmb-button.open small::after {
	content: "close";
	font-size: 15px;
}

.g-nav {
	display: none;
	box-sizing: border-box;
	width: 98vw;
	height: 98dvh;
	border-radius: 20px;
	padding-top: 100px;
	padding-right: 40px;
	padding-left: 40px;
	margin: auto;
	background-color: #293855;
	color: #fff;	
	position: fixed;
	flex-direction: column;
	inset: 0;
	z-index: 1001;
}

.g-nav.open { display: flex; }

.g-nav a { color: #fff; }

.g-nav a:hover { text-decoration: none; }

.g-nav_item {
	font-size: 1.125rem;
	padding: 10px 0;
	border-bottom: 1px dashed #fff;
}

.g-nav_item:first-child { border-top: 1px dashed #fff; }

.g-nav_logo {
	width: 300px;
	text-align: center;
	position: fixed;
	bottom: 100px;
	right: 50%;
	transform: translateX(50%);
}

/* g-nav_rsv-btn */
.g-nav_rsv-btn {
	background-color: #ff5a00;
	border-radius: 10px;
	width: 90vw;
	position: fixed;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%);
	transition: transform 0.5s ease, filter 0.3s ease;
}

.g-nav_rsv-btn:hover { filter: brightness(1.4); }

.g-nav_rsv-btn a {
	color: #fff;
	font-weight: 500;
	font-size: 22px;
	padding: 12px 44px 12px 14px;
	justify-content: center;
	align-items: center;
	position: relative;
	display: flex;
}

.g-nav_rsv-btn a span {
	position: relative;
	top: -2px;
}

.g-nav_rsv-btn a::after {
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	background: url("../img/icon_arrow.webp") center / 30px 30px no-repeat;
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
}

/* cta */
.cta {
	margin-bottom: 4.5rem;
	text-align: center;
}

.cta_image {
	width: 100px;
	margin: 0 auto 1rem;
}

.call-to-action {
	font-size: 1.825rem;
	font-weight: 600;
	line-height: 1.35;
	margin-bottom: 1.5rem;
}

.cta_btn {
	width: 94%;
	margin: 0 auto;
}

.cta_btn a {
	background-color: #ff5a00;
	color: #fff;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 24px 8px 32px;
	box-sizing: border-box;
	border-radius: 40px;
	box-shadow: 14px 14px 0 #dfb37c;
	transition: filter .3s ease, transform .15s ease, box-shadow .15s ease;
}

.cta_btn a:hover {
	filter: brightness(1.4);
	transform: translate(6px, 6px);
	box-shadow: 0 0 0 #e0b488;
	text-decoration: none;
}

.cta-btn_add {
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 8px;
	line-height: 1.25;
}

.cta-btn_message {
	font-size: 25px;
	font-weight: 600;
}

.cta_speech {
	background-color: #fff;
	border-radius: 30px;
	padding: 10px;
	margin: 32px auto 0;
	font-size: 16px;
	font-weight: 500;
	width: fit-content;
}

/* following-bn */
.following-bn {
	width: 90%;
	position: fixed;
	bottom: 1rem;
	left: 50%;
	transform: translateX(100vw);
	transition: transform 0.5s ease;
}

.following-bn.is-show { transform: translateX(-50%); }

.following-bn a {
	font-size: 22px;
	padding: 12px 44px 12px 14px;
	justify-content: center;
	align-items: center;
	position: relative;
	display: flex;
}

.following-bn a span {
	position: relative;
	top: -2px;
}

.following-bn a span::after { content: "はこちら"; }

.following-bn a::after {
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	background: url("../img/icon_arrow.webp") center / 30px 30px no-repeat;
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
}



/* --- kv --- */
.kv {
	height: 110vh;
	margin-bottom: 3.5rem;
	position: relative;
	overflow: hidden;
}

.kv_image {
	position: absolute;
	inset: 0;
}

.kv_image_photo_1 {
	width: 112.5%;
	position: absolute;
	top: 11.5%;
	left: -8.5%;
	z-index: 10;
}

.kv_image_photo_2 {
	width: 65.5%;
	position: absolute;
	top: 23.5%;
	left: -8%;
	z-index: 9;
}

.kv_image_photo_3 {
	width: 54.5%;
	position: absolute;
	top: 12%;
	right: 6%;
	z-index: 8;
}

.kv_image_photo_s1 {
	width: 43.5%;
	position: absolute;
	top: 14%;
	left: -3%;
	z-index: 7;
}

.kv_image_photo_s2 {
	width: 45.5%;
	position: absolute;
	top: 80%;
	right: 15.5%;
	z-index: 6;
}

.kv_image_ball_1, .kv_image_ball_2, .kv_image_ball_3, .kv_image_ball_4 { width: 14%; }

.kv_image_ball_1 {
	position: absolute;
	top: 32.5%;
	left: 1.5%;
	z-index: 5;
}

.kv_image_ball_2 {
	position: absolute;
	top: 72.5%;
	left: 11.5%;
	z-index: 5;
}

.kv_image_ball_3 {
	position: absolute;
	top: 68%;
	right: 6.5%;
	z-index: 5;
}

.kv_image_ball_4 {
	position: absolute;
	top: 12%;
	right: 2%;
	z-index: 5;
}

.kv_catch-copy {
	width: 86.4%;
	position: absolute;
	top: 60.5%;
	left: 50%;
	transform: translateX(-50%);
	z-index: 15;
}

.kv_bottom_cover {
	width: 100%;
	position: absolute;
	bottom: -1px;
	z-index: 20;
}



/* --- introduction --- */
#introduction { margin-bottom: 3.5rem; }

.introduction-key {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-bottom: 3rem;
}

.introduction-key_item {
	flex: 1;
	position: relative;
}

.introduction-key_item_illust {
	width: 40%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.introduction-key_item figure { margin-top: 18.8%; }

.introduction-brand {
	background-color: #fff;
	padding: 30px 20px;
	margin: 0 auto;
	border-radius: 50px;
	text-align: center;
}

.kf-brand-logo {
	width: 90%;
	margin: 16px auto;
}



/* --- message --- */
#message { margin-bottom: 4rem; }

#message h2 {
	line-height: 1.525;
	margin-bottom: 2rem;
}



/* --- features --- */
#features { margin-bottom: 3.5rem; }

.features-point {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-bottom: 4rem;
}

.features-point_item {
	background-color: #fff;
	border-radius: 60px;
	padding: 20px 22px 32px;
	flex: 1;
	flex-direction: column;
	align-items: center;
	display: flex;
}

.features-point_item em {
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
	align-items: center;
}

.features-point_item figure { max-width: 360px; }

.features-point_item p {
	font-size: .925rem;
	align-self: stretch;
	text-align: left;
	margin-bottom: 0;
}

/* features-reason */
.features-reason { text-align: center; }

.features-reason h3 {
	font-size: 1.5rem;
	margin-bottom: 2.5rem;
}

.features-reason h3 span { font-size: 1.5em; }

.features-reason_list {
	width: 86%;
	margin: 0 auto 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	counter-reset: item;
}

.features-reason_list_item {
	background-color: #fdf9ee;
	border: 2px solid #ff5a00;
	border-radius: 20px;
	font-size: 1.5rem;
	font-weight: 500;
	padding: 24px 0;
	flex: 1;
	text-align: center;
	position: relative;
	list-style: none;
}

.features-reason_list_item::before {
	content: "";
	width: 50px;
	height: 50px;
	background-color: #ff5a00;
	border-radius: 50%;
	position: absolute;
	top: -25px;
	left: 50%;
	transform: translateX(-50%);
}

.features-reason_list_item::after {
	font-size: 32px;
	font-weight: 700;
	color: #fff;
	counter-increment: item;
	content: counter(item);
	position: absolute;
	top: -25px;
	left: 50%;
	transform: translate(-50%, -2px);
	line-height: 50px;
}

.features-explanation {
	width: 86%;
	margin: 0 auto 1.75rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .25rem;
}

.features-explanation figure {
	width: 200px;
	height: 200px;
	flex-shrink: 0;
	overflow-y: hidden;
}

.features-explanation p {
	text-align: left;
	position: relative;
	top: 16px;
	flex: 1;
}

/* features-menu */
.features-menu_headline {
	margin: 0 auto 1rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	position: relative
}

.features-menu_headline figure {
	width: 74px;
	flex-shrink: 0;
	position: absolute;
	top: -8px;
	right: 5.5%;
}

.features-menu_headline figure img {
	display: block;
	width: 100%;
	height: auto;
}

.features-menu_head-line_txt {
	position: relative;
	top: 1rem;
	flex: 1;
}

/* features-menu_content */
.features-menu_content_detail {
	background-color: #fff;
	border-radius: 50px;
	padding: 1.5rem;
	margin-bottom: 2rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.features-menu_content_detail > figure {
	width: 100%;
	flex-shrink: 0;
}

.features-menu_content_detail > figure img { border-radius: 30px; }

.features-menu_content_detail  h4 {
	font-size: 1.5rem;
	margin-bottom: .825rem;
	line-height: 1;
}

.features-menu_content_detail_exp {
	flex: 1;
	position: relative;
}

.features-menu_content_detail_exp .icon-15min {
	width: 46px;
	height: 46px;
	position: absolute;
	top: -12px;
	right: -8px;
}

.features-menu_content_detail_exp .icon-plan { margin-bottom: 1rem; }

.features-menu_content_detail_exp p {
	font-size: .95rem;
	margin-bottom: 1rem;
}

.menu_content_detail_index { font-size: .9rem; }

.menu_content_detail_index b {
	margin-bottom: .5rem;
	display: inline-block;
}

.group-lesson_kinds_list {
	display: flex;
	flex-direction: column;
	gap: .4rem;
}

.group-lesson_kinds_list li {
	width: 100%;
	color: #293855;
	border: 1px dashed #293855;
	border-bottom-right-radius: 20px;
	font-weight: 500;
	text-align: center;
	padding: 12px 0;
}

.fitness-machine_kinds_list {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}

.fitness-machine_kinds_list li {
	width: calc(50% - .25rem);
	flex: none;
}

.soft-chiropractic_txt {
	display: flex;
	flex-direction: column;
}

.soft-chiropractic_txt p { width: 100%; }

.soft-chiropractic_txt > img {
	width: 80%;
	height: auto;
	position: relative;
	top: 0;
	align-self: center;
}

.whole-machine_kinds {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.whole-machine_kinds_box {
	border: 1px solid #ccc;
	border-radius: 20px;
}

.whole-machine_kinds_box b {
	border-bottom: 1px solid #ccc;
	padding: 14px 0;
	text-align: center;
	display: block;
}

.whole-machine_kinds_list {
	padding: 8px 20px;
	font-size: .8rem;
	font-weight: 500;
}

.whole-machine_kinds_list li { margin-bottom: .5rem; }



/* --- frailty --- */
#frailty { margin-bottom: 3.5rem; }

.frailty-about {
	background-color: #fdf9ee;
	border: 1px dashed #06a199;
	border-radius: 50px;
	padding: 1.5rem;
	margin: 0 auto 2.75rem;
}

.frailty-about h3 {
	color: #06a199;
	border-bottom: 1px dashed #06a199;
	font-size: 1.1rem;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
}

.frailty-about_exp {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.frailty-about_exp dl { flex: none; }

.frailty-about_exp dt {
	color: #06a199;
	font-size: 1.1rem;
	font-weight: 600;
	margin-bottom: .72rem;
}

.frailty-about_exp dd {
	font-size: .92rem;
	line-height: 1.6;
}

.frailty-graph {
	width: 100%;
	max-width: 460px;
	margin: 0 auto 2.75rem;
}



/* --- KA･RA･DA WEEK --- */
#karada-week { margin-bottom: 3.5rem; }

.karada-week_balloon {
	background: url("../img/balloon_week_sp.webp") center center / contain no-repeat;
	width: 90%;
	height: auto;
	padding-top: 1.5rem;
	margin: 0 auto 1.5rem;
	text-align: center;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.karada-week_balloon::before {
	background: url("../img/balloon_week_before.webp") center center / cover no-repeat;
	width: 50px;
	height: 76px;
	position: absolute;
	left: -20px;
	top: 50%;
	content: "";
}

.karada-week_balloon::after {
	background: url("../img/balloon_week_after.webp") center center / cover no-repeat;
	width: 40px;
	height: 65px;
	position: absolute;
	right: -20px;
	top: 50%;
	content: "";
}

.karada-week_balloon h2 {
	font-size: 1.75rem;
	line-height: .92;
	margin-bottom: 1rem;
}

.karada-week_balloon h2 span { font-size: .9rem; }

.karada-week_content {
	margin-bottom: 3rem;
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.karada-week_content_item {
	background-color: #fff;
	border-radius: 50px;
	padding: 1.5rem;
	flex: 1;
}

.karada-week_content_item figure { margin-bottom: 1rem;}

.karada-week_content_item figure img { border-radius: 30px; }

.karada-week_content_item h3 {
	font-size: 1.2rem;
	text-align: center;
	margin-bottom: 1rem;
}

.karada-week_content_item p {
	font-size: .95rem;
	margin-bottom: 1rem;
}

.karada-week_after-image {
	width: 220px;
	margin: 0 auto;	
}



/* --- plan --- */
#plan { margin-bottom: 3.5rem; }

.plan-index {
	display: flex;
	flex-direction: column;
}

.plan-index_menu { display: none; }

.plan-index_item {
	width: 100%;
	max-width: 580px;
	margin: 0 auto 2rem;
}

.plan-index_item_block {
	display: flex;
	align-items: center;
	position: relative;
	height: 60px;
	border-bottom: 4px solid #fbf0d5;
}

.plan-index_item_menu {
	width: 50%;
	font-size: 16px;
	padding-left: 6px;
}

.plan-index_item_usage {
	width: 50%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	position: static;
	text-align: left;
}

.plan-index_item_usage_corres {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: block;
	font-size: 30px;
	font-weight: 700;
	color: #aaa;
	-webkit-text-stroke: 1px #aaa;
}

.plan-index_item_usage_exp {
	position: static;
	transform: none;
	margin-left: 3rem;
	font-size: 16px;
	white-space: nowrap;
}

.plan-price {
	height: 180px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	box-sizing: border-box;
}

.plan-index_item_fee {
	font-size: 26px;
	font-weight: 600;
	margin-bottom: -6px;
}

.plan-index_item_fee b {
	font-size: 60px;
	font-weight: 500;
}

.plan-price .plan-index_item_misc {
	font-size: 18px;
	line-height: 1.5;
}

.plan-index_item h3 {
	font-size: 32px;
	padding: 12px 0;
	border-top-right-radius: 20px;
	border-top-left-radius: 20px;
	text-align: center;
	color: #fff;
}

.plan_column-name {
	display: flex;
	align-items: center;
}

.plan-ex, .plan-op {
	background-color: #fdfdf7;
	max-width: 580px;
	padding: 16px 6px;
	margin: 0 auto;
}

.plan-ex i, .plan-op i {
	font-size: 30px;
	line-height: 1;
}

.plan-ex span, .plan-op span {
	font-weight: 500;
	margin-left: 8px;
}

.plan-ex { margin-bottom: 2rem; }

.plan-ex_item {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
}

.plan-ex_item:last-child { margin-bottom: 0; }

.plan-ex_item span { margin-left: auto; }

.plan-ex_item b {
	font-size: 26px;
	font-weight: 400;
}

.plan-op {
	padding-bottom: 20px;
	margin-bottom: 1rem;
}

.plan-op_list { margin: 10px 0; }

.plan-op_list_item {
	font-size: 18px;
	border: 1px solid #ccc;
	border-radius: 8px;
	padding: 10px 6px;
	margin-bottom: 6px;
	box-sizing: border-box;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.plan-op_list_item_ticket { text-align: left; }

.plan-op_list_item_fee {
	font-size: 16px;
	text-align: right;
}

.plan-op_list_item_fee b { font-size: 24px; }

.plan-op_list_item_fee b { font-size: 18px; }

.plan-op + small.note { margin-left: 10px; }



/* --- bonus --- */
.surprise-balloon {
	width: 280px;
	margin: 0 auto 3rem;
}

#bonus {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-bottom: 3.5rem;
	padding: 2rem 0 4rem;
	background-color: #f3ee7b;
	border-radius: 60px 60px 0 0;
	color: #293855;
}

.bonus_content, .grand-opening-special { margin: 0 16px; }

.bonus_content {
	display: flex;
	gap: 0;
	align-items: stretch;
	margin-bottom: 4rem;
}

.bonus_content_headline {
	width: 15%;
	flex-shrink: 0;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.bonus_content_headline_image {
	width: 180px;
	position: absolute;
	top: -80px;
	left: -20px;
	z-index: 1;
}

.bonus_content_headline h2 {
	font-size: 3rem;
	font-weight: 700;
	position: relative;
	top: 60px;
	line-height: 1;
}

.bonus_content_headline h2 span { font-size: 1.8rem; }

.bonus_content_list {
	flex: 1;
	margin-left: 1rem;
	position: relative;
}

.bonus_content_list_after {
	width: 100px;
	position: absolute;
	bottom: -50px;
	right: 0;
}

.pickup_bonus {
	display: flex;
	flex-direction: column;
}

.pickup_bonus .flex-item-square, .more_bonus .flex-item-flat { width: 100%; }

.more_bonus { display: block; }

.bonus_content_list_item_inline {
	width: 100%;
	margin-bottom: 1.25rem;
	background-color: #fff;
	position: relative;
}

.bonus_content_list_item_inline::before {
	content: "";
	position: absolute;
	top: 8px;
	right: 8px;
	bottom: 8px;
	left: 8px;
	border: 2px dashed #ff5a00;
	pointer-events: none;
}

.bonus_content_list_item_inline p {
	margin: 0;
	font-weight: 520;
	line-height: 1.5;
}

.flex-item-square, .flex-item-flat {
	width: 100%;
	aspect-ratio: 1 / 1;
	box-sizing: border-box;
	padding: 80px 20px;
	border-radius: 50px;
	font-size: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: relative;
}

.flex-item-square::before, .flex-item-flat::before { border-radius: 50px; }

.flex-item-square b { font-size: 3rem; }

.flex-item-square .month {
	width: 130px;
	height: 30px;
	position: absolute;
	top: 30px;
	border-radius: 20px;
	background-color: #ff5a00;
	color: #fff;
	font-size: 22px;
	font-weight: 520;
}

/* grand-opening-special */
.grand-opening-special {
	background-color: #fff;
	border-radius: 50px;
	position: relative;
	padding: 40px 0;
}

.grand-opening-special_before {
	width: 80px;
	position: absolute;
	left: -10px;
	top: 10px;
}

.grand-opening-special_after {
	width: 80px;
	position: absolute;
	right: 30px;
	bottom: -40px;
	margin: 0;
}

.grand-opening-special_content {
	height: auto;
	display: block;
	text-align: center;
}

.grand-opening-special_content b, .grand-opening-special_content p { margin: 0; }

.grand-opening-special_content b {
	font-size: 2.25rem;
	font-weight: 600;
	margin-bottom: 1rem;
	display: block;
}

.grand-opening-special_content p {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
}



/* --- faq --- */
.faq_balloon {
	background: url("../img/balloon_faq_sp.webp") center center / contain no-repeat;
	width: 100%;
	height: auto;
	padding: 50px 0;
	margin: 0 auto 2.5rem;
	text-align: center;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.faq_balloon em {
	background: url("../img/speech_faq.webp") bottom center / 100% auto no-repeat;
	padding: 0 16px 24px;
	margin-bottom: 16px;
	font-size: 1.125rem;
	font-weight: 500;
	width: fit-content;
}

.faq_balloon h2 {
	font-size: 1.5rem;
	line-height: 1.3;
}

.faq_balloon h2 span { margin: 0 -14px; }

.faq_content_item {
	background-color: #fdf9ee;
	border-radius: 50px;
	width: 92%;
	max-width: 900px;
	padding: 1.5rem;
	padding-right: 1rem;
	margin: 0 auto 1.5rem;
}

.faq_content_item:last-child { margin-bottom: 8%; }

.faq_q {
	position: relative;
	min-height: 2.125rem;
	display: flex;
	align-items: center;
	padding-left: 2.5rem;
	padding-right: 2rem;
	cursor: pointer;
}

.faq_q::before {
	content: "Q";
	font-family: "Lato", sans-serif;
	color: #293855;
	font-size: 2.125rem;
	font-weight: 700;
	position: absolute;
	top: 0;
	left: 0;
}

.faq_q::after {
	content: "";
	width: 30px;
	height: 30px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background-position: center;
	background-size: 30px 30px;
	background-repeat: no-repeat;
}

.faq_content_item.close .faq_q::after { background-image: url("../img/icon_open.png"); }

.faq_content_item.open .faq_q::after { background-image: url("../img/icon_close.png"); }

.faq_q h3 {
	font-size: 1.025rem;
	line-height: 1.325;
}

.faq_a {
	border-top: 3px dotted #ff5a00;
	padding: 1rem 0 0 2.5rem;
	margin-top: 1.25rem;
	position: relative;
}

.faq_a p::before {
	content: "A";
	font-family: "Lato", sans-serif;
	color: #ff5a00;
	font-size: 2.125rem;
	font-weight: 700;
	position: absolute;
	top: 0;
	left: 0;
}

.faq_a p { margin-bottom: 0; }

.faq_content_item.fixslot .faq_a { display: block; }

.faq_content_item.fixslot .faq_q {
	padding-right: 0;
	cursor: default;
}

.faq_content_item.fixslot .faq_q::after { display: none; }



/* --- remarks --- */
#remarks {
	width: 86%;
	margin: 0 auto 3.5rem;
}

#remarks h2 {
	font-size: 1.15rem;
	margin-right: auto;
	margin-left: auto;
	width: fit-content;
	display: block;
}



/* --- foot --- */
.foot {
	color: #fff;
	text-align: center;
	font-size: .8rem;
	padding: 1.5rem 0;
}

.foot .address {
	font-weight: 500;
	margin-bottom: 1rem;
}

.foot_logo-mark {
	width: 140px;
	margin: 1.725rem auto;
}

.foot_logo-tagline {
	width: 276px;
	margin: 0 auto 3rem;
}

.foot_logo-tagline small {
	font-size: 15px;
	font-weight: 500;
	letter-spacing: -.0725em;
	margin: 6px 0 0 -8px;
	display: inline-block;
}

.foot_ex-link {
	margin-bottom: 2rem;
	display: flex;
	justify-content: center;
	gap: 8px;
}

.foot_ex-link a {
	color: #293855;
	background-color: #fff;
	font-size: 14px;
	width: 100px;
	height: 30px;
	border-radius: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: .8;
	transition: opacity .25s ease;
}

.foot_ex-link a:hover {
	text-decoration: none;
	opacity: 1;
}

.foot_ex-link a span { transform: translateY(-2px); }

.copy { font-size: 14px; }





@media screen and (orientation: landscape) {
	.for-sp { display: none; }

	.underline { height: 1.75em; }

	.icon-plan {
		display: flex;
		flex-wrap: nowrap;
		gap: 10px;
	}

	.icon-plan > div {
		color: #fff;
		font-size: 16px;
		font-weight: 500;
		line-height: 1;
		width: 120px;
		border-radius: 15px;
		padding: 4px 0 6px;
		text-align: center;
		flex-shrink: 0;
	}

	.logo-tagline, .logo-totop {
		width: 33.25%;
		text-align: center;
		position: absolute;
		top: 20px;
	}

	.g-nav { padding-top: 40px; }
	
	.g-nav_item {
		font-size: .925rem;
		width: 50%;
	}
	
	.g-nav_item:first-child { border-top: none; }
	
	.g-nav_logo {
		width: 300px;
		bottom: 120px;
		right: 40px;
		transform: none;
	}

	.kv_image_photo_1 {
		width: 62.5%;
		top: 11.5%;
		left: 22.5%;
	}

	.kv_image_photo_2 {
		width: 45.5%;
		top: 20.5%;
		left: 12%;
	}

	.kv_image_photo_3 {
		width: 36.5%;
		top: 12%;
		right: 14%;
	}

	.kv_image_photo_s1 {
		width: 24.5%;
		top: 45%;
		left: 3%;
	}

	.kv_image_photo_s2 {
		width: 25.5%;
		top: 50%;
		right: 2.5%;
	}

	.kv_image_ball_1, .kv_image_ball_2, .kv_image_ball_3, .kv_image_ball_4 { width: 8%; }

	.kv_image_ball_1 {
		top: 30.5%;
		left: 5.5%;
	}

	.kv_image_ball_2 {
		top: 68.5%;
		left: 3.5%;
	}

	.kv_image_ball_3 {
		top: 78%;
		right: 8.5%;
	}

	.kv_image_ball_4 {
		top: 28%;
		right: 2.5%;
	}

	.kv_catch-copy {
		width: 55.4%;
		top: 48.5%;
	}

	.introduction-key {
		flex-direction: row;
		gap: 1.5rem;
		margin-bottom: 7.3%;
	}

	.introduction-key_item_illust { width: 51%; }

	.introduction-key_item figure { margin-top: 40.8%; }

	.introduction-brand {
		width: 80%;
		padding: 30px;
	}

	.kf-brand-logo { width: 80%; }

	.group-lesson_kinds_list {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 1rem;
	}

	.group-lesson_kinds_list li { width: calc((100% - 1rem) / 2); }

	.fitness-machine_kinds_list {
		flex-wrap: nowrap;
	}

	.fitness-machine_kinds_list li {
		width: auto;
		flex: 1;
	}

	.soft-chiropractic_txt {
		flex-direction: row;
		gap: 4%;
	}

	.soft-chiropractic_txt p {
		width: 52.25%;
		flex-shrink: 0;
	}

	.soft-chiropractic_txt > img {
		width: 43.75%;
		top: -.875rem;
		align-self: auto;
	}

	.whole-machine_kinds { flex-direction: row; }

	.whole-machine_kinds_box { flex: 1; }

	.frailty-about_exp {
		flex-direction: row;
		gap: 2rem;
	}

	.frailty-about_exp dl { flex: 1; }

	.karada-week_balloon { background: url("../img/balloon_week.webp") center center / contain no-repeat; }

	.bonus_content_list_item_inline { aspect-ratio: 3 / 1; }

	.flex-item-square, .flex-item-flat { aspect-ratio: 3s / 1; }

	.faq_balloon {
		background: url("../img/balloon_faq.webp") center center / 80% auto no-repeat;
		aspect-ratio: 640 / 220;
	}

	.faq_q::before {
		top: 50%;
		transform: translateY(-50%);
	}
}


