@charset "utf-8";


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

.for-pc { display: block; }

.for-sp { display: none; }

.inner {
	width: 73.2vw;
	min-width: 1000px;
	max-width: 1600px;
	margin: 0 auto;
}

section p { margin-bottom: 2rem; }

h2 { font-size: 2rem; }

h3 { font-size: 1.8rem; }

.balloon {
	color: #fff;
	line-height: 1.725;
	margin-bottom: 2.5rem;
	width: 1600px;
	height: 390px;
	margin-left: 50%;
	transform: translateX(-50%);
	background: url("../img/balloon_h2.webp") center center / contain no-repeat;
	display: flex;
	align-items: center;
}

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

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

.icon-plan {
	display: flex;
	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;
}

/* nav */
.head.is-fixed {
	position: fixed;
	top: -100px;
	left: 0;
	right: 0;
	width: 73.2vw;
	min-width: 1000px;
	max-width: 1600px;
	margin-left: auto;
	margin-right: auto;
	opacity: 0;
	transition: top .6s ease, opacity .6s ease;
}

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

.logo-tagline, .logo-totop {
	width: 28%;
	min-width: 300px;
	text-align: center;
	position: absolute;
	top: 24px;
}

.logo-tagline small {
	color: #fff;
	font-size: 15px;
	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: 16px; display: block; }

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

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

/* g-nav */
.hmb-button,
.g-nav_logo,
.g-nav_rsv-btn { display: none; }

.g-nav {
	background-color: rgba(255, 255, 255, .75);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	box-shadow: 0 2px 12px rgba(0, 0, 0, .08);
	border-radius: 32px;
	font-size: 17px;
	display: flex;
	position: absolute;
	top: 24px;
	right: 0;
}

.g-nav a {
	color: #293855;
	font-weight: 500;
	text-align: center;
	padding: 18px;
	letter-spacing: -.025em;
	display: block;
	transition: color .25s ease;
}

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

/* cta */
.cta {
	margin-bottom: 10.24%;
	text-align: center;
}

.cta_image {
	width: 12%;
	margin: 0 auto 2rem;
}

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

.cta_btn {
	width: 800px;
	margin: 0 auto;
}

.cta_btn a {
	background-color: #ff5a00;
	color: #fff;
	height: 160px;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding-left: 60px;
	box-sizing: border-box;
	border-radius: 50px;
	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: 24px;
	font-weight: 500;
	margin-bottom: 8px;
}

.cta-btn_message {
	font-size: 52px;
	font-weight: 500;
}

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

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

/* following-bn */
.following-bn {
	width: 50px;
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	transform: translateX(calc(100% + 50px));
	transition: transform 0.5s ease, filter 0.3s ease;
}

.following-bn a {
	font-size: 22px;
	letter-spacing: .15em;
	padding: 16px 0 56px;
	justify-content: center;
	align-items: center;
	position: relative;
	display: flex;
}

.following-bn:hover { filter: brightness(1.4); }

.following-bn a span {
	writing-mode: vertical-rl;
	text-orientation: mixed;
}

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



/* --- kv --- */
.kv {
	height: 128vh;
	margin-bottom: 4.4%;
	position: relative;
	overflow: hidden;
}

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

.kv_image_photo_1 {
	width: 51.5%;
	position: absolute;
	top: 14.5%;
	left: 25%;
	z-index: 10;
}

.kv_image_photo_2 {
	width: 37.5%;
	position: absolute;
	top: 20%;
	left: 16%;
	z-index: 9;
}

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

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

.kv_image_photo_s2 {
	width: 20.5%;
	position: absolute;
	top: 40%;
	right: 2%;
	z-index: 6;
}

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

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

.kv_image_ball_2 {
	position: absolute;
	top: 65.5%;
	left: 5.5%;
	z-index: 5;
}

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

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

.kv_catch-copy {
	width: 55.6%;
	position: absolute;
	top: 41.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: 7.3%; }

.introduction-key {
	display: flex;
	gap: 4.4%;
	margin-bottom: 7.3%;
}

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

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

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

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

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



/* --- message --- */
#message { margin-bottom: 8.4%; }

#message h2 {
	line-height: 1.725;
	margin-bottom: 3rem;
}



/* --- features --- */
#features { margin-bottom: 7.3%; }

.features-point {
	display: flex;
	gap: 4.4%;
	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.2rem;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
	align-items: center;
}

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

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

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

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

.features-reason_list {
	width: 94%;
	margin: 0 auto 1.5rem;
	display: flex;
	gap: 3%;
	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: 32px 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: 70%;
	margin: 0 auto 4rem;
	display: flex;
	align-items: center;
	gap: 40px;
}

.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 {
	width: 94%;
	margin: 0 auto 2.5rem;
	display: flex;
	align-items: center;
	gap: 1rem;
}

.features-menu_headline figure {
	width: 160px;
	flex-shrink: 0;
}

.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: 60px;
	padding: 2rem;
	margin-bottom: 2rem;
	display: flex;
	gap: 40px;
}

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

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

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

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

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

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

.features-menu_content_detail_exp p {
	font-size: .8rem;
	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-wrap: wrap;
	gap: 1rem;
}

.group-lesson_kinds_list li {
	width: calc((100% - 1rem) / 2);
	color: #293855;
	border: 1px dashed #293855;
	border-bottom-right-radius: 20px;
	font-weight: 500;
	text-align: center;
	padding: 10px 0;
}

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

.fitness-machine_kinds_list li { flex: 1; }

.soft-chiropractic_txt {
	display: flex;
	align-items: center;
	gap: 4%;
}

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

.soft-chiropractic_txt > img {
	flex: 1;
	width: 43.75%;
	height: auto;
	position: relative;
	top: -.875rem;
}

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

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

.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: 7.3%; }

.frailty-about {
	width: 86%;
	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;
	gap: 2rem;
}

.frailty-about_exp dl { flex: 1; }

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

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

.frailty-graph {
	width: 740px;
	margin: 0 auto 2.75rem;
}



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

.karada-week_balloon {
	background: url("../img/balloon_week.webp") center center / cover no-repeat;
	width: 800px;
	height: 344px;
	padding-top: 1.5rem;
	margin: 0 auto 3rem;
	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: 100px;
	height: 152px;
	position: absolute;
	left: -50px;
	top: 50%;
	transform: translateY(-50%);
	content: "";
}

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

.karada-week_balloon h2 {
	font-size: 64px;
	line-height: .6;
	margin-bottom: 1rem;
}

.karada-week_balloon h2 span { font-size: 22px; }

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

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

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

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

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

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

.karada-week_content_item .icon-plan {
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}

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



/* --- plan --- */
#plan { margin-bottom: 7.3%; }

.plan-index_item_menu { display: none; }

.plan-index {
	display: flex;
	align-items: flex-end;
	gap: 0;
}

.plan-index_menu {
	width: 20.7%;
	flex-shrink: 0;
}

.plan-index_item {
	flex: 1;
	min-width: 0;
}

.plan-index_menu_list li, .plan-index_item_block {
	display: flex;
	align-items: center;
}

.plan-index_menu_list li, .plan-index_item_block { height: 60px; }

.plan-index_menu_list li {
	background-color: #fdfdf7;
	border-bottom: 4px solid #fbf0d5;
	padding-left: 1rem;
	font-size: 20px;
}

.plan-index_item_block {
	border-left: 4px solid #fbf0d5;
	border-bottom: 4px solid #fbf0d5;
}

.plan-index_item_usage {
	position: relative;
	width: 100%;
	text-align: center;
}

.plan-index_item_usage_corres {
	font-size: 30px;
	font-weight: 700;
	color: #aaa;
	-webkit-text-stroke: 1px #aaa;
	display: inline-block;
}

.plan-index_item_usage_exp {
	font-size: 15px;
	font-weight: 500;
	position: absolute;
	left: calc(50% + 1.5rem);
	top: 50%;
	transform: translateY(-50%);
	white-space: nowrap;
}

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

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

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

.plan-price .plan-index_item_misc {
	font-size: 16px;
	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 { padding: 0 10px; }

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

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

.plan-ex {
	background-color: #fdfdf7;
	border-bottom: 4px solid #fbf0d5;
	min-height: 60px;
	display: flex;
	align-items: center;
}

.plan-ex_item {
	display: flex;
	align-items: center;
	margin-right: 1rem;
}

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

.plan-op {
	background-color: #fdfdf7;
	padding-bottom: 20px;
	margin-bottom: 1rem;
}

.plan-op_exp {
	height: 60px;
	display: flex;
	align-items: center;
}

.plan-op_list {
	display: flex;
	flex: 1;
	gap: 6px;
	margin-left: 6px;
}

.plan-op_list_item {
	font-size: 16px;
	border: 1px solid #ccc;
	border-radius: 8px;
	padding: 10px 4px;
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: space-between;
}

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

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

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

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



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

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

.bonus_content,
.grand-opening-special {
	width: 80.5%;
	max-width: 1500px;
	margin: 0 auto;
}

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

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

.bonus_content_headline_image {
	width: 136%;
	position: absolute;
	top: -5.25rem;
	left: -2rem;
	z-index: 1;
}

.bonus_content_headline h2 {
	font-size: 4rem;
	font-weight: 700;
	position: relative;
	top: 6rem;
	line-height: 1;
}

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

.bonus_content_list {
	flex: 1;
	position: relative;
}

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

.pickup_bonus {
	margin-bottom: 1.5rem;
	display: flex;
	gap: 1rem;
}

.bonus_content_list_item_inline {
	background-color: #fff;
	flex: 1;
	position: relative;
}

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

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

.flex-item-square {
	aspect-ratio: 1 / 1;
	font-size: 2rem;
	border-radius: 50px;
	padding: 80px 0;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: relative;
	display: flex;
}

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

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

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

.more_bonus { width: calc((100% - 2rem) * 2 / 3 + 1rem); }

.flex-item-flat {
	font-size: 1.5rem;
	border-radius: 30px;
	padding: 1.5rem 0;
	align-items: center;
	justify-content: center;
	text-align: center;
	display: flex;
}

.flex-item-flat::before { border-radius: 30px; }

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

.grand-opening-special_before {
	width: 14%;
	position: absolute;
	left: 1rem;
	top: 1rem;
}

.grand-opening-special_after {
	width: 13%;
	position: absolute;
	right: 1.5rem;
	top: -1rem;
	margin: 0;
}

.grand-opening-special_content {
	height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2rem;
}

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

.grand-opening-special_content b {
	font-size: 64px;
	font-weight: 600;
}

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



/* --- faq --- */
.faq_balloon {
	background: url("../img/balloon_faq.webp") center center / cover no-repeat;
	width: 640px;
	height: 220px;
	margin: 0 auto 3rem;
	text-align: center;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.faq_balloon > * { transform: translateY(-16px); }

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

.faq_balloon h2 { font-size: 40px; }

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

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

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

.faq_q {
	position: relative;
	min-height: 2.8rem;
	display: flex;
	align-items: center;
	padding-left: 3rem;
	padding-right: 2.25rem;
	cursor: pointer;
}

.faq_q::before {
	content: "Q";
	font-family: "Lato", sans-serif;
	color: #293855;
	font-size: 2.8rem;
	font-weight: 700;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.faq_q::after {
	content: "";
	width: 40px;
	height: 40px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background-position: center;
	background-size: 40px 40px;
	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.1rem;
	line-height: 1.2;
}

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

.faq_a p::before {
	content: "A";
	font-family: "Lato", sans-serif;
	color: #ff5a00;
	font-size: 2.8rem;
	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: 80%;
	margin: 0 auto 14%;
}

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



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

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

.foot_logo-mark {
	width: 15%;
	max-width: 280px;
	margin: 2.75% auto;
}

.foot_logo-tagline {
	width: 20%;
	min-width: 300px;
	max-width: 400px;
	margin: 0 auto 5.86%;
}

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

.foot_ex-link { margin-bottom: 4%; }

.foot_ex-link a {
	color: #293855;
	background-color: #fff;
	font-size: 18px;
	width: 120px;
	height: 30px;
	margin: 0 4px;
	border-radius: 15px;
	display: inline-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: 16px; }





@media screen and (min-width: 1600px) {
	html { font-size: 24px; }

	.balloon {
		width: 1800px;
		height: 438.75px;
	}

	.gmap { height: 600px; }
}


