@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
/* 2025/08/26 追加 */

@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300;400;500&family=Noto+Sans+JP:wght@100..900&family=Oswald:wght@200..700&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');
.pc-bl,
.pc-fl,
.pc-in,
.pc-only,
.sp-bl,
.sp-fl,
.sp-in,
.sp-only {
	display: none !important;
}
@media (min-width: 961px) {
	.pc-only,
	.pc-bl {
		display: block !important;
	}
	.pc-fl {
		display: flex !important;
	}
	.pc-in {
		display: inline !important;
	}
	.sp-only {
		display: block !important;
	}
}
@media (max-width: 960px) {
	.sp-bl {
		display: block !important;
	}
	.sp-fl {
		display: flex !important;
	}
	.sp-in {
		display: inline !important;
	}
}
:root {
	--font-family-main: 'Noto Sans JP', 'Hiragino Kaku Gothic Pro',
		'ヒラギノ角ゴ Pro', sans-serif;
	--font-family-Serif: 'Noto Serif JP', 'ヒラギノ明朝 ProN',
		'Hiragino Mincho ProN', 'Noto Serif JP', 'Yu Mincho Light', sans-serif;
	--font-family-Gothic: 'Zen Kaku Gothic New', 'Noto Sans JP',
		'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', sans-serif;
	--font-family-MaruGothic: 'Kiwi Maru', 'Noto Sans JP',
		'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', sans-serif;
	--font-family-en: 'Oswald', 'Noto Sans JP', 'Hiragino Kaku Gothic Pro',
		'ヒラギノ角ゴ Pro', sans-serif;
	--font-weight-thin: 100;
	--font-weight-extralight: 200;
	--font-weight-light: 300;
	--font-weight-regular: 400;
	--font-weight-medium: 500;
	--font-weight-semibold: 600;
	--font-weight-bold: 700;
	--font-weight-semibold: 800;
	--font-weight-black: 900;
	--color-main: #3a3a3a;
	--color-point: #f26861;
	--color-red: #d92b1a;
	--color-pink: #f26861;
	--color-orange: #ffa600;
	--color-yellow: #fff064;
	--color-green: #06c655;
	--color-purple: #9f609f;
	--color-blue: #0e40d7;
	--color-turquoise: #07a6a6;
	--color-lite-grey: #f4f5f6;
	--background-light-blue: #f1f9ff;
	--background-lemon-yellow: #fffad0;
}
.marker {
	background: linear-gradient(transparent 70%, #faf798 50%);
}
.full-screen {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	margin-bottom: 0;
}
.full-screen > img {
	width: 100%;
}
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body a,
body p,
body li,
body td {
	font-family: var(--font-family-Gothic);
	font-weight: var(--font-weight-medium);
	letter-spacing: 0;
	margin-bottom: 0;
}
body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
	font-family: var(--font-family-Gothic);
	font-weight: var(--font-weight-medium);
	letter-spacing: 0;
	margin-bottom: 0;
}
body p,
body li,
body td {
	font-family: var(--font-family-main);
	font-weight: var(--font-weight-regular);
	letter-spacing: 0.05em;
	line-height: 1.5;
}
body .top p,
body .top li,
body .top td {
	font-size: min(4vw, 1.125rem);
}
a.link {
	color: var(--color-point);
	text-decoration: underline;
}
a.link:hover {
	opacity: 0.6;
}
.c-inner {
	width: 100%;
	max-width: calc(1200px + 10%);
	margin: 0 auto;
	padding: min(12vw, 80px) 5% min(12vw, 80px);
}
.c-inner.sub {
	max-width: calc(1080px + 10%);
}

/*  Reset
------------------------*/
.top #content {
	padding-top: 0 !important;
}
.top .l-content {
	padding: 0 !important;
	margin: 0 auto !important;
}
.top section.wp-block-group {
	margin-bottom: 0;
}
.top .post_content h1,
.top .post_content h2,
.top .post_content h3,
.top .post_content h4,
.top .post_content h5,
.top .post_content h6 {
	margin: 0;
	padding: 0;
	border: 0;
	letter-spacing: 0.1em;
}
.top .post_content h1::after,
.top .post_content h2::after,
.top .post_content h3::after,
.top .post_content h4::after,
.top .post_content h1::before,
.top .post_content h2::before,
.top .post_content h3::before,
.top .post_content h4::before {
	content: none;
}

/*  common
------------------------*/
.p_sec-ttl-container {
	position: relative;
	width: fit-content;
	margin: 0 auto;
	margin-bottom: min(8vw, 50px);
}
.p_sec-ttl-container h2.main {
	position: relative;
	font-size: min(7vw, 48px);
	font-weight: var(--font-weight-bold);
	font-family: var(--font-family-Gothic);
	letter-spacing: 0.05em;
	line-height: 1;
	color: var(--color-main);
	padding-bottom: min(1rem);
}
.p_sec-ttl-container p.sub {
	position: relative;
	font-size: min(4vw, 20px);
	font-weight: var(--font-weight-black);
	font-family: var(--font-family-Gothic);
	letter-spacing: 0.05em;
	color: var(--color-point);
	margin-bottom: 0;
}

.p_sec-ttl-container.is-left .img {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(calc(-100% - 24px), -50%);
}
.p_sec-ttl-container.is-right .img {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(calc(100% + 24px), -50%);
}
#content .ttl-hukidashi {
	text-align: center;
}
#content .ttl-hukidashi .main {
	position: relative;
	display: inline-block;
	width: fit-content;
	padding: 0 0.8em;
}
#content .ttl-hukidashi .main::before,
#content .ttl-hukidashi .main::after {
	content: '';
	position: absolute;
	bottom: -0.5em;
	width: 0.1em;
	height: 100%;
	background: var(--color-main);
	margin: 0.5rem 0;
	align-self: stretch;
	transform: rotate(35deg);
}
#content .ttl-hukidashi .main::before {
	left: 0;
	transform: rotate(-35deg);
	margin-right: 1.5rem;
}
#content .ttl-hukidashi .main::after {
	right: 0;
}
/* ----- Swell button ----- */
.l-content .swell-block-button .swell-block-button__link {
	position: relative;
	min-width: 300px;
	font-weight: var(--font-weight-regular);
	color: #fff;
	line-height: 1;
	padding: min(4vw, 24px) min(4vw, 24px);
	transition: all 0.5s;
}
.l-content .swell-block-button .swell-block-button__link:hover {
	box-shadow: 0px;
	opacity: 0.6;
}
/* shadow */
.swell-block-button .swell-block-button__link {
	box-shadow: 4px 4px 0 rgba(242, 104, 97, 0.5);
}
.swell-block-button.blue_ .swell-block-button__link {
	box-shadow: 4px 4px 0 rgba(7, 166, 166, 0.5);
}
.swell-block-button.green_ .swell-block-button__link {
	box-shadow: 4px 4px 0 rgba(255, 166, 0, 0.5);
}

/*  */
.swell-block-button .swell-block-button__link::before,
.swell-block-button .swell-block-button__link::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
.swell-block-button .swell-block-button__link::before {
	display: inline-block;
	right: 1.2em;
	width: 0.5em;
	height: 0.5em;
	border: 1px solid;
	border-radius: 1px;
	border-color: #fff #fff transparent transparent;
	transform: translate(0%, -50%) rotate(45deg);
	z-index: 1;
}
.swell-block-button .swell-block-button__link::after {
	display: inline-block;
	right: 0.8em;
	width: min(2vw, 1em);
	height: 0.8em;
}
.swell-block-button .swell-block-button__link span {
	font-size: min(4vw, 24px);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-main);
	line-height: 1;
	letter-spacing: 0.01em;
	color: #fff;
}
/* color */
.swell-block-button.red_ .swell-block-button__link::after {
	border-color: var(--the-btn-bg) var(--the-btn-bg) transparent transparent;
}

/* header button */
.h_button-column .swell-block-button .swell-block-button__link {
	min-width: 180px;
	border-radius: 5px;
}
.h_button-column .swell-block-button .swell-block-button__link span {
	font-size: min(3vw, 18px);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-main);
	letter-spacing: 0.05em;
	line-height: 1.5;
}

/*  header
------------------------*/
.c-gnav > .menu-item > a .ttl {
	font-size: min(3vw, 1.125rem);
	font-family: var(--font-family-main);
	font-weight: var(--font-weight-medium);
	line-height: 1;
}

/*  footer
------------------------*/
#footer {
	max-width: 100vw;
}
footer.l-footer {
	z-index: 1;
}
footer .l-footer__widgetArea {
	padding-top: min(10vw, 50px);
	padding-bottom: min(10vw, 50px);
}
footer .c-widget + .c-widget {
	margin-top: 1em;
}
footer .w-footer {
	align-items: center;
	gap: min(7vw, 3em);
}
footer .w-footer__box {
	flex: none;
}
footer .w-footer__box:nth-child(1) {
	flex-basis: 400px;
}
footer .w-footer__box:nth-child(2) {
	flex: inherit;
	flex-basis: 400px;
	display: grid;
	grid-template-columns: 1fr 1fr;
}
footer .w-footer__box:nth-child(2) .c-widget + .c-widget {
	margin-top: 0;
}

footer ul.menu {
	border-left: 1px solid;
}
footer ul.menu {
	border-left: 1px solid #fff;
}
footer .c-listMenu a {
	font-size: min(4vw, 1rem);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-main);
	letter-spacing: 0;
	border-bottom: none;
	padding: 0.5rem;
	padding-left: 1em;
}
footer .c-listMenu a:before {
	content: none;
}
.l-footer .copyright {
	color: #fff;
}

/*  Tablet~SPのみで表示固定CTAボタン
------------------------*/
@media screen and (max-width: 959px) {
	footer {
		padding-bottom: 64px;
		/* 固定メニューの高さに合わせて余白を設定 */
	}
	.p-fixBtnWrap {
		bottom: 5em;
		/* 上に戻るボタンの位置を上に */
	}
	#before_footer_widget {
		margin: 0;
		padding: 0;
	}
	#sp_fixed-button {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 6px;
		position: fixed;
		left: 0;
		bottom: 0;
		width: 100%;
		z-index: 99;
		padding: 4px 4px 6px;
	}
	#sp_fixed-button .btn-1,
	#sp_fixed-button .btn-2 {
		width: 100%;
	}
	#sp_fixed-button .btn-1 a,
	#sp_fixed-button .btn-2 a {
		width: 100%;
		border-radius: 4px;
		padding: 1.15em 1em 1em;
	}
	#sp_fixed-button .swell-block-button .swell-block-button__link::before {
		content: none;
	}
	#sp_fixed-button .swell-block-button .swell-block-button__link span {
		font-size: max(16px, 3vw);
		text-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);
	}

	#sp_fixed-button .btn-1 .swell-block-button__link {
		box-shadow: 3px 3px 0 rgba(7, 166, 166, 0.5);
	}
	#sp_fixed-button .btn-2 .swell-block-button__link {
		box-shadow: 3px 3px 0 rgba(242, 104, 97, 0.5);
	}
}
@media screen and (min-width: 960px) {
	#sp_fixed-button {
		display: none;
	}
}

/*  TOP Common
------------------------*/
.p_table-container .table-column {
	width: 100%;
	margin: 0 auto;
	padding: 8px;
}
.p_table-container .table-column p {
	font-family: var(--font-family-Gothic);
	letter-spacing: 0.05em;
}
.p_table-container .table-column p.th {
	width: 40%;
	max-width: 100px;
	font-weight: var(--font-weight-bold);
	color: var(--color-point);
	text-align: left;
}
.p_table-container .table-column .td,
.p_table-container .table-column p.td,
.p_table-container .table-column ul {
	width: auto;
	letter-spacing: 0.03em;
	font-weight: var(--font-weight-regular);
}
.p_table-container .table-column .td ul {
	width: 100%;
}

/*  TOP FV
------------------------*/
#main_visual.-margin-on {
	padding: 16px 16px 40px;
}
/* #main_visual .p-mainVisual__inner {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
} */
#main_visual .p-mainVisual__inner {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
}
#main_visual .p-mainVisual__inner::before,
#main_visual .p-mainVisual__inner::after {
	content: '';
	position: absolute;
	bottom: -40px;
	z-index: 1;
}
#main_visual .p-mainVisual__inner::before {
	left: 0;
	/* transform: translateX(-50%); */
	width: min(13vw, 175px);
	height: min(12vw, 160px);
	background: url(http://flexia.jp/wp-content/uploads/2025/08/fv-bg-l.webp)
		no-repeat center / contain;
}
#main_visual .p-mainVisual__inner::after {
	left: 50vw;
	width: min(11vw, 149px);
	height: min(10vw, 143px);
	background: url(http://flexia.jp/wp-content/uploads/2025/08/fv-bg-r.webp)
		no-repeat center / contain;
}
#main_visual .p-mainVisual__slide.c-filterLayer.-nofilter {
	/* width: 90%; */
	margin: 0 max(1rem, 2vw);
}
#main_visual .fv-text-container {
}
#main_visual .fv-text-container h1 {
	position: relative;
	width: fit-content;
	background: url(http://flexia.jp/wp-content/uploads/2025/08/fv-line.webp)
		no-repeat bottom / contain;
	margin-bottom: min(4vw, 1em);
}
.fv-text-container h1 span {
	font-size: min(8vw, 64px);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-MaruGothic);
	letter-spacing: 0;
	line-height: 1;
}

.fv-text-container h1 span + span {
	margin-left: -0.5em;
}
.fv-text-container p.message {
	font-size: min(10vw, 20px);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-main);
	letter-spacing: 0.03em;
	line-height: 1.5;
}
.fv-points {
	gap: 2em;
}
.fv-points figure {
	width: 100%;
	max-width: 180px;
}

@media (max-width: 960px) {
	#main_visual.-margin-on {
		padding-top: 0;
	}
	#main_visual .p-mainVisual__slide.c-filterLayer.-nofilter {
		margin: 0 auto;
	}
	.p-mainVisual__textLayer {
		justify-content: flex-start;
		align-items: center;
	}
	#main_visual .p-mainVisual__inner::before {
		left: 0;
		width: 140px;
		height: 130px;
	}
	#main_visual .p-mainVisual__inner::after {
		left: auto;
		right: 0;
		/* transform: translateX(50%); */
		width: 121px;
		height: 116px;
	}
	#main_visual .fv-text-container {
		margin-top: 10% !important;
	}
	#main_visual .fv-text-container > div {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.fv-text-container p.message {
		font-size: min(4vw, 20px);
		text-align: center;
	}
	.fv-points {
		gap: 1em;
	}
}

/*  TOP CTA
------------------------*/
.sec-cta {
	padding: 0 !important;
}
.sec-cta .c-inner {
	max-width: calc(1206px + 10%);
	padding-top: 30px;
	padding-bottom: 30px;
}
.cta-button-grid {
	gap: min(4vw, 60px);
}
.cta-button-grid .ttl-hukidashi {
	margin-bottom: 10px;
}
.cta-button-grid .ttl-hukidashi .main {
	font-size: min(4vw, 24px);
	font-weight: var(--font-weight-regular);
}
.cta-button-grid .ttl-hukidashi .main::before,
.cta-button-grid .ttl-hukidashi .main::after {
	width: 0.07em !important;
}
.cta-button-grid .caption {
	font-size: min(5vw, 24px);
	font-weight: var(--font-weight-regular);
	font-family: var(--font-family-main);
	letter-spacing: 0;
	margin-bottom: 10px;
}
.cta-button-grid .swell-block-button__link {
	width: 100%;
	max-width: 724px;
	padding: min(4vw, 22px) !important;
	border-radius: min(2vw, 20px);
}
.cta-button-grid .swell-block-button__link::before {
	content: none;
}
.cta-button-grid .swell-block-button__link span {
	display: inline-block;
	font-size: min(6vw, 36px);
	font-weight: var(--font-weight-bold);
	text-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);
	letter-spacing: 0.05em;
	line-height: 1.5;
}
.cta-button-grid .swell-block-button__link span em {
	display: block;
	font-size: min(3.5vw, 1.25rem) !important;
	font-weight: var(--font-weight-regular);
	font-style: normal;
	letter-spacing: 0;
	line-height: 1;
}
@media (width> 960px) {
	.cta-button-grid .ttl-hukidashi .main {
		font-size: min(2vw, 24px);
	}
	.cta-button-grid .swell-block-button__link span em {
		font-size: min(1.5vw, 1.25rem) !important;
	}
}

/*  TOP ABOUT
------------------------*/
.sec-about {
	background: url(http://flexia.jp/wp-content/uploads/2025/08/about-bg.webp)
		no-repeat top center / cover;
}
.sec-about p {
	line-height: 1.6;
	margin-bottom: min(4vw, 20px);
}
.sec-about ul {
	width: fit-content;
	margin: min(30px) auto;
}
.about-column {
	margin-top: min(10vw, 50px);
}
.about-column .item {
	position: relative;
}
.about-column figure.bg-img {
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(-50%, -50%);
	width: 50%;
	max-width: 150px;
}

.check-list {
	list-style: none;
}
.check-list li {
	position: relative;
	font-size: min(4vw, 20px) !important;
	font-weight: var(--font-weight-regular);
	font-family: var(--font-family-main);
	letter-spacing: 0.05em;
	line-height: 1.8;
	margin: 0;
	padding: 0;
	padding-left: 1.5em;
}
.check-list li::before {
	content: '';
	position: absolute;
	top: 0.35em;
	left: 0;
	width: 1.2em;
	height: 1.2em;
	background: url(http://flexia.jp/wp-content/uploads/2025/08/check01.webp)
		no-repeat center / contain;
}

/*  TOP REASON
------------------------*/
.sec-reason .p_sec-ttl-container .main {
	position: relative;
	padding-left: min(12vw, 180px);
	padding-right: min(12vw, 180px);
}
.sec-reason .p_sec-ttl-container .main::before,
.sec-reason .p_sec-ttl-container .main::after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: min(10vw, 180px);
	height: min(10vw, 180px);
}
.sec-reason .p_sec-ttl-container .main::before {
	left: 0;
	background: url(http://flexia.jp/wp-content/uploads/2025/08/reason-ttl-bg-l.webp)
		no-repeat center / contain;
}
.sec-reason .p_sec-ttl-container .main::after {
	right: 0;
	background: url(http://flexia.jp/wp-content/uploads/2025/08/reason-ttl-bg-r.webp)
		no-repeat center / contain;
}
.sec-reason .p_sec-ttl-container em {
	font-style: normal;
	font-size: min(8vw, 60px);
	font-weight: var(--font-weight-bold);
	font-family: var(--font-family-Gothic);
	letter-spacing: 0;
	line-height: 1;
	margin: 0 -0.5vw 0 -1vw;
}

.reason-column {
}
.sec-reason .reason-column .ttl {
	position: relative;
	font-size: min(5vw, 24px);
	font-weight: var(--font-weight-bold);
	font-family: var(--font-family-main);
	line-height: 1.3;
	padding-bottom: 12px;
	margin-bottom: 18px !important;
}
.sec-reason .reason-column .ttl::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 80%;
	max-width: 120px;
	height: 2px;
	background: var(--color-pink);
}
.reason-column p.message {
	font-weight: var(--font-weight-regular);
	font-family: var(--font-family-main);
	line-height: 1.6;
}

/*  TOP VOICE
------------------------*/
.sec-voice {
	position: relative;
	background: url(http://flexia.jp/wp-content/uploads/2025/08/voice-bg.webp)
		repeat-x top center / contain;
	z-index: 1;
	margin-bottom: -42px;
}
.sec-voice::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	height: 42px;
	background: url(http://flexia.jp/wp-content/uploads/2025/08/voice-bg-b.webp)
		no-repeat top / cover;
}
.sec-column {
}
.voice-column .item {
	display: flex;
	flex-direction: column;
	position: relative;
	padding: 40px 32px;
	background: var(--background-lemon-yellow);
	border-radius: min(2vw, 20px);
}
.voice-column .item .ttl-head {
	position: absolute;
	top: 0;
	transform: translateY(calc(-50% - 0.5em));
	display: inline-flex;
	justify-content: left;
	align-items: center;
	margin: 2em 0em;
	z-index: 0;
}
.voice-column .item .ttl-head .num {
	position: relative;
	font-size: min(5vw, 24px);
	font-weight: var(--font-weight-black);
	font-family: var(--font-family-Gothic);
	line-height: 1;
	color: var(--color-turquoise);
	padding-left: 0.8em;
}
.voice-column .item .num::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(calc(-50% + 0.5em));
	width: 3em;
	max-width: 64px;
	height: 3em;
	max-height: 64px;
	background: var(--color-yellow);
	border-radius: 100%;
	z-index: -1;
}
.voice-column .item .ttl-head .num em {
	font-size: min(10vw, 48px);
	font-weight: var(--font-weight-black);
	font-family: var(--font-family-Gothic);
	font-style: normal;
	line-height: 1;
	margin-left: 0.1em;
}
.voice-column .item p.message {
	flex-grow: 1;
}
.voice-column .item .voice-content {
	align-items: center;
	gap: min(4vw, 1em);
}
.voice-column .item .voice-content .user {
	flex-basis: 55%;
	font-weight: var(--font-weight-bold);
}
.voice-column .item .voice-content figure {
	flex: 1;
}

/*  TOP PRICE
------------------------*/
.sec-price {
	position: relative;
}
.sec-price .c-inner {
	max-width: calc(1160px + 10%);
	padding-top: min(135px);
}
.sec-price p.message {
	max-width: 800px;
	margin: 0 auto min(10vw, 50px);
}
.sec-price .bg-box {
	position: relative;
	padding: 0 min(6vw, 52px) min(10vw, 52px);
	margin-bottom: 50px;
	z-index: 0;
}
.sec-price .bg-box::before,
.sec-price .bg-box::after {
	content: '';
	position: absolute;
	width: 100%;
	z-index: -1;
}
.sec-price .bg-box::before {
	top: 100px;
	left: 0;
	min-height: 247px;
	background: url(http://flexia.jp/wp-content/uploads/2025/08/peice-box-bg.webp)
		no-repeat center / contain;
}
.sec-price .bg-box::after {
	content: '';
	position: absolute;
	top: calc(100px + 247px / 2);
	left: 0;
	height: calc(100% - 100px - 247px / 2);
	background: #fff;
	border-radius: 0 0 20px 20px;
}
.sec-price .bg-box > div {
	max-width: 860px;
	margin: 0 auto;
}
.sec-price .bg-box .price-column {
}
.sec-price .bg-box .arrow-img {
	width: 70%;
	margin: min(5vw, 32px) auto;
}
.sec-price .bg-box .ttl-hukidashi .main {
	font-size: min(5vw, 32px);
	font-weight: var(--font-weight-bold);
	font-family: var(--font-family-Gothic);
	line-height: 1;
	margin-bottom: min(4vw, 21px);
}

.sec-price .ttl-course-container {
	justify-content: center;
	align-items: flex-end;
	margin-bottom: min(6vw, 48px);
}
.sec-price .ttl-course-container .right-img,
.sec-price .ttl-course-container .left-img {
	width: 20%;
}
.sec-price .ttl-course-container .main {
	font-size: min(7vw, 48px);
	font-weight: var(--font-weight-bold);
	font-family: var(--font-family-Gothic);
	line-height: 1;
	padding-left: min(5vw, 48px);
	padding-right: min(16px);
}
.sec-price .ttl-course-container .main em {
	position: relative;
	font-size: 160%;
	font-style: normal;
	line-height: 1;
}
.sec-price .ttl-course-container .main em::after {
	content: '';
	position: absolute;
	top: 0.15em;
	right: -8px;
	width: 0.3em;
	height: 0.3em;
	background: url(http://flexia.jp/wp-content/uploads/2025/08/emp01.webp)
		no-repeat center / contain;
}
.sec-price .bg-box .message {
	max-width: 720px;
	margin: 0 auto;
	font-size: min(4vw, 1rem);
}
.sec-price .course-column {
	margin-bottom: min(6vw, 50px);
}
.course-column .item {
	z-index: 0;
}
.course-column .item .ttl {
	font-size: min(6vw, 36px);
	letter-spacing: 0.03em;
	line-height: 1.3;
	padding: min(4vw, 40px) min(4vw, 32px);
	background: #e4e4e4;
	border: 2px solid #e4e4e4;
	border-radius: min(2vw, 20px) min(2vw, 20px) 0 0;
}
.course-column .item .ttl .swl-fz {
	font-size: 80% !important;
}
.course-column .item .course-item_inner {
	align-items: stretch;
	padding: min(4vw, 24px);
	background: #fff;
	border: 2px solid #e4e4e4;
	border-radius: 0 0 min(2vw, 20px) min(2vw, 20px);
}
.course-column .item .price-head {
	flex-direction: row;
	justify-content: center;
	align-items: baseline;
	padding-bottom: 18px;
	border-bottom: 2px dashed #e4e4e4;
	margin-bottom: 32px;
}
.course-column .item .price-head .num {
	font-size: min(15vw, 72px);
	font-weight: var(--font-weight-medium);
	font-family: 'Oswald', var(--font-family-en);
	letter-spacing: 0;
	line-height: 1;
}
.course-column .item .price-head .price {
	position: relative;
	font-size: min(6vw, 32px);
	font-weight: var(--font-weight-bold);
	font-family: 'Oswald', var(--font-family-en);
	line-height: 1;
	padding-top: 0.6em;
	margin-left: 0.2em;
}
.course-column .item .price-head .price::before {
	content: '(税込)';
	position: absolute;
	top: 0;
	left: 0;
	font-size: 1rem;
}
.course-column .item .check-list {
}

.course-column .item.att {
	position: relative;
}
.course-column .item.att .ttl {
	color: #fff;
	background: var(--color-pink);
	border: 4px solid var(--color-pink);
	border-radius: min(2vw, 20px) min(2vw, 20px) 0 0;
}
.course-column .item.att .course-item_inner {
	border: 4px solid var(--color-pink);
	border-radius: 0 0 min(2vw, 20px) min(2vw, 20px);
}
.course-column .item.att .box-bg {
	position: absolute;
	top: 0;
	left: -4px;
	z-index: 1;
}
.course-column .check-list {
	padding-left: 0;
}
.course-column .check-list li {
	font-size: min(4.5vw, 22px);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-Gothic);
	letter-spacing: 0.05em;
	line-height: 1.4;
	padding-left: 1.8em;
	margin-bottom: 0.6em;
}
.course-column .check-list li::before {
	top: 0.2em;
	width: 1.3em;
	height: 1.3em;
	background: url(http://flexia.jp/wp-content/uploads/2025/08/check02.webp)
		no-repeat center / contain;
}

/*  TOP ACCESS
------------------------*/
#cta-button.inner {
	padding-top: min(15vw, 40px);
	padding-bottom: min(15vw, 50px);
}
#cta-button .caption {
	font-size: min(5vw, 24px);
	font-weight: var(--font-weight-regular);
	font-family: var(--font-family-main);
	letter-spacing: 0;
	margin-bottom: 10px;
}
#cta-button .swell-block-button__link {
	width: 100%;
	max-width: 724px;
	padding: min(4vw, 22px);
	border-radius: min(2vw, 20px);
}
#cta-button .swell-block-button__link::before,
#cta-button .swell-block-button__link::after {
	content: none;
}
#cta-button .swell-block-button__link span {
	display: inline-block;
	font-size: min(6vw, 36px);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.05em;
	line-height: 1;
	text-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);
}
#cta-button .swell-block-button__link span em {
	display: block;
	font-size: min(4vw, 20px) !important;
	font-weight: var(--font-weight-regular);
	font-style: normal;
	letter-spacing: 0;
	text-shadow: 0px;
	padding-bottom: 8px;
}

/*  TOP ACCESS
------------------------*/
.access-column {
}
.sec-access .access-column .ttl {
	font-size: min(5vw, 24px);
	margin-bottom: min(4vw, 28px);
}

.access-column .wp-block-table,
.access-column table,
.access-column .wp-block-table td,
.access-column .wp-block-table th {
	border: 0;
}
.sec-access .ttl-hukidashi .main {
	font-size: min(4.5vw, 22px);
	font-family: var(--font-family-main);
	font-weight: var(--font-weight-medium);
}
.sec-access .access-column p {
	font-size: min(4vw, 1rem);
}

/*  TOP FLOW
------------------------*/
.sec-flow {
	background: url(http://flexia.jp/wp-content/uploads/2025/08/flow-bg.webp)
		no-repeat center / contain;
}
.sec-flow .flow-grid {
	gap: min(5vw, 100px);
}
.flow-grid .item {
	display: grid;
	grid-row: span 2;
	grid-template-rows: subgrid;
	gap: 0;
	background: #fff;
	border-radius: min(4vw, 24px);
	overflow: hidden;
}
.flow-grid .ttl-head {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: min(4vw, 1.5em);
	padding: 1em 1em 0;
	margin-bottom: 0 !important;
}
.flow-grid .ttl-head .ttl {
	font-size: min(5vw, 2rem);
	font-weight: var(--font-weight-bold);
	font-family: var(--font-family-Gothic);
	letter-spacing: 0.08em;
	color: #fff;
	padding-bottom: min(3vw, 0.5em);
}
.flow-grid .ttl-head .img {
	width: 100%;
	max-width: 80px;
}
.flow-grid .flow-item_inner {
	display: grid;
	padding: min(10vw, 2em) min(4vw, 3em);
}
.flow-grid .swell-block-step__item {
	padding-bottom: 0;
}
.flow-grid .swell-block-step__item .swell-block-step__title {
	font-size: min(4.25vw, 1.5rem);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-Gothic);
	letter-spacing: 0.03em;
	line-height: 1.2;
}
.flow-grid .swell-block-step__number {
	color: var(--color-main);
}
.flow-grid .swell-block-step__item .swell-block-step__body {
	margin: 0;
}
.flow-grid .swell-block-step__item .arrow-img {
	width: 50%;
	max-width: 48px;
	margin: 14px auto !important;
}

.flow-grid .flow-item_inner .message {
	font-size: min(4.25vw, 1.5rem);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-Gothic);
	letter-spacing: 0.08em;
	margin-bottom: min(8vw, 50px);
}
.flow-grid .item .swell-block-button {
	margin-top: min(8vw, 30px) !important;
}
.flow-grid .item:nth-child(1) {
	border: min(1vw, 4px) solid var(--color-turquoise);
}
.flow-grid .item:nth-child(1) .ttl-head {
	background: var(--color-turquoise);
}
.flow-grid .item:nth-child(1) .flow-item_inner {
	max-width: calc(386px + min(4vw, 3em));
	margin: 0 auto;
}
.flow-grid .item:nth-child(2) {
	border: min(1vw, 4px) solid var(--color-point);
}
.flow-grid .item:nth-child(2) .ttl-head {
	background: var(--color-pink);
}

/*  TOP FAQ
------------------------*/

.sec-faq .is-style-simple > .swell-block-accordion__item:first-child {
	border-top: 0;
}
.sec-faq .is-style-simple > .swell-block-accordion__item:last-child {
	border-bottom: 0;
}
.sec-faq .is-style-simple > .swell-block-accordion__item {
	border-bottom: 1px dashed #888888;
}
.sec-faq .is-style-simple .swell-block-accordion__title {
	padding: min(4vw, 26px);
}
.sec-faq .is-style-simple .swell-block-accordion__label {
	font-size: min(4vw, 1.25rem);
	font-weight: var(--font-weight-bold);
	font-family: var(--font-family-main);
	letter-spacing: 0.05em;
}
.sec-faq .is-style-simple .swell-block-accordion__title,
.sec-faq .is-style-simple .swell-block-accordion__body {
	position: relative;
	padding-left: min(13vw, 65px);
}
.sec-faq .is-style-simple .swell-block-accordion__body {
	font-size: min(18px);
	font-weight: var(--font-weight-bold);
	font-family: var(--font-family-main);
	padding-top: 0;
	padding-bottom: 1.5em;
	margin-left: 0;
	border-top: none;
}
.sec-faq .is-style-simple .swell-block-accordion__body p {
	font-size: min(4vw, 1.125rem);
	font-weight: var(--font-weight-medium);
}
.sec-faq .is-style-simple .swell-block-accordion__title::before,
.sec-faq .is-style-simple .swell-block-accordion__body::before {
	width: min(10vw, 40px);
	height: min(10vw, 40px);
	font-family: var(--font-family-en);
	font-size: min(6vw, 28px);
	font-weight: var(--font-weight-regular);
}
.sec-faq .is-style-simple .swell-block-accordion__title::before {
	content: 'Q';
	bottom: unset;
	left: 0;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	position: absolute;
	text-align: center;
	border-radius: 50vh;
	background: var(--color-turquoise);
}
.sec-faq .is-style-simple .swell-block-accordion__body::before {
	content: 'A';
	position: absolute;
	left: 0;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	background: none;
	border: 1px solid var(--color-turquoise);
	border-radius: 50vh;
	color: var(--color-turquoise);
	text-align: center;
}

/*  TOP LINK
------------------------*/
.sec-link {
	background: url(http://flexia.jp/wp-content/uploads/2025/08/link-bg.webp)
		no-repeat top center / cover;
}
.link-column .item {
	background: #fff;
}
.link-column .item figure {
	box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.05), 2px 2px 20px rgba(0, 0, 0, 0.05);
}

@media (max-width: 960px) {
	.c-inner {
		padding-right: 5%;
		padding-left: 5%;
	}
	.p_table-container .table-column p.th {
		min-width: 80px;
		max-width: max-content;
	}
	.p_sec-ttl-container h2.main {
		line-height: 1.4;
	}
	/*  TOP 
  ------------------------*/
	/*  TOP CTA
    ------------------------*/
	#sec-cta .cta-button-grid {
		grid-template-columns: 1fr;
	}
	/*  TOP ABOUT
    ------------------------*/
	/*  TOP REASON
    ------------------------*/
	.reason-column .swell-block-columns__inner {
		gap: 3em;
		justify-content: center;
	}
	/*  TOP VOICE
    ------------------------*/
	.voice-column .swell-block-columns__inner {
		gap: 3em;
		justify-content: center;
	}
	/*  TOP PRICE
    ------------------------*/
	.sec-price .bg-box::before {
		top: 0;
	}
	.sec-price .bg-box::after {
		top: auto;
		bottom: 0;
		height: calc(100% - 247px / 2);
	}
	/*  TOP ACCESS
    ------------------------*/
	.access-column .swell-block-columns__inner {
		gap: 3em;
	}
	.sec-access iframe {
		height: 40vh;
	}
	/*  TOP FLOW
    ------------------------*/
	.sec-flow .flow-grid {
		grid-template-columns: 1fr;
	}
	/*  TOP FAQ
    ------------------------*/
	/*  TOP LINK
    ------------------------*/
}
@media (max-width: 601px) {
	/*  TOP CTA
    ------------------------*/
	/*  TOP ABOUT
    ------------------------*/
	/*  TOP REASON
    ------------------------*/
	/*  TOP VOICE
    ------------------------*/
	/*  TOP PRICE
    ------------------------*/
	/*  TOP ACCESS
    ------------------------*/
	/*  TOP FLOW
    ------------------------*/
	/*  TOP FAQ
    ------------------------*/
	/*  TOP LINK
    ------------------------*/
}
