@charset "UTF-8";

:root {
	--color-body-1: #333;
	--color-theme-1: #0079BF;
	--color-theme-1-1: #0058A5;
	--color-theme-1-2: #DCF3FF;
	--color-theme-1-3: #3EAFF0;
	--color-theme-2: #E7AA02;
	--color-theme-2-1: #FFDD72;
	--color-theme-3: #FBF9DD;
	--color-theme-4: #DD434B;
	--color-theme-5: #959595;
	--font-family: "Noto Sans JP", sans-serif;
	--padding: 20px;
	--container: 1100px;
	--stack: 100px;
	--section: 70px;
	--h2: 36;
	--p: 16;

	--bs-border-radius: 10px;
}

::after,
::before,
* {
	--font-size: calc((var(--fs) / 16) * 1rem);
	font-size: var(--font-size);
}

html {
	scroll-behavior: smooth;
}

body {
	color: var(--color-body-1);
	font-family: var(--font-family);
	letter-spacing: 0.1em;
	line-height: 1.6;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration: none;
	transition: 0.2s;
}

a img {
	transition: 0.2s;
}

a:hover img {
	opacity: 0.6;
}

.scroll-hint-text {
	white-space: nowrap;
}

.is-scrollable {
	margin-right: calc(var(--padding) * -1);
	padding-right: var(--padding);
	table {
		margin-right: 0;
		margin-left: 0;
	}
}

.container {
	padding-right: var(--padding);
	padding-left: var(--padding);
	max-width: calc(var(--container) + var(--padding) + var(--padding));
}

.container-sm {
	--container: 880px;
}

.stack {
	padding-top: var(--stack);
	padding-bottom: var(--stack);
}

.icon {
	aspect-ratio: 1;
	background-color: currentColor;
	-webkit-mask: no-repeat center center/contain;
	mask: no-repeat center center/contain;
	display: inline-block;
	height: auto;
	width: 1em;
}

.text-theme-1 {
	color: var(--color-theme-1) !important;
}

.text-theme-1-1 {
	color: var(--color-theme-1-1) !important;
}

.text-theme-2 {
	color: var(--color-theme-2) !important;
}

.text-theme-3 {
	color: var(--color-theme-3) !important;
}

.text-theme-4 {
	color: var(--color-theme-4) !important;
}

.text-theme-5 {
	color: var(--color-theme-5) !important
}

.bg-theme-1 {
	background-color: var(--color-theme-1) !important;
}

.bg-theme-1-1 {
	background-color: var(--color-theme-1-1) !important;
}

.bg-theme-1-2 {
	background-color: var(--color-theme-1-2) !important;
}

.bg-theme-1-3 {
	background-color: var(--color-theme-1-3) !important;
}

.bg-theme-2 {
	background-color: var(--color-theme-2) !important;
}

.bg-theme-2-1 {
	background-color: var(--color-theme-2-1) !important;
}

.bg-theme-3 {
	background-color: var(--color-theme-3) !important;
}

.bg-theme-4 {
	background-color: var(--color-theme-4) !important;
}

.bg-theme-5 {
	background-color: var(--color-theme-5) !important
}

.header {
	position: relative;
	--container: 1100px;
	padding: 10px 0;
}

.header-nav {
	display: flex;
	align-items: center;
	gap: 25px;
}

.header-loan {
	display: flex;
	align-items: center;
	min-height: 58px;
	gap: 10px;
	font-weight: 600;
	background: var(--color-theme-1-2);
	border-radius: 5px;
	padding: 5px 15px;
}

.header-loan a {
	position: relative;
	display: grid;
	align-items: center;
	justify-content: center;
	min-width: 140px;
	min-height: 40px;
	color: #FFF;
	background: var(--color-theme-1);
	border-radius: 7px;
}

.header-loan a::before {
	content: "";
	width: 10px;
	height: 10px;
	border-top: 1.5px solid #FFF;
	border-right: 1.5px solid #FFF;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%) rotate(45deg);
}

.header-menu {
	--fs: 15;
	a:hover {
		text-decoration: underline;
	}
}

.header-dropdown-toggle {
	aspect-ratio: 1;
	align-items: center;
	background: no-repeat center/40px auto;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2224%22%20height%3D%2218%22%20viewBox%3D%220%200%2024%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M0%200H24V3H0V0ZM0%207.5H24V10.5H0V7.5ZM0%2015H24V18H0V15Z%22%20fill%3D%22%230079BF%22%2F%3E%3C%2Fsvg%3E");
	border: 0;
	display: flex;
	height: auto;
	justify-content: center;
	padding: 0;
	width: 50px;
	margin-right: -5px;
}

.header-dropdown {
	background-color: #fff;
	bottom: 0;
	left: 0;
	overflow: auto;
	padding: 52px 0 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 10;
	transition: opacity 0.2s, visibility 0.2s;
}

.header-menu {
	li {
		border-bottom: 1px solid #d9d9d9;
	}
	a {
		display: block;
		padding: 15px 30px;
	}
}

body.noscroll {
	overflow: hidden;
	touch-action: pinch-zoom;
	.header-dropdown-toggle {
		background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2222%22%20height%3D%2222%22%20viewBox%3D%220%200%2022%2022%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M21.5127%200.503977C21.3583%200.349284%2021.175%200.226556%2020.9731%200.142819C20.7712%200.0590823%2020.5548%200.0159799%2020.3363%200.0159799C20.1177%200.0159799%2019.9013%200.0590823%2019.6995%200.142819C19.4976%200.226556%2019.3142%200.349284%2019.1599%200.503977L11%208.64716L2.84014%200.48729C2.68565%200.3328%202.50224%200.210252%202.30039%200.126642C2.09854%200.0430327%201.88219%201.62782e-09%201.66371%200C1.44523%20-1.62782e-09%201.22889%200.0430327%201.02704%200.126642C0.825186%200.210251%200.64178%200.3328%200.48729%200.48729C0.3328%200.64178%200.210251%200.825186%200.126642%201.02704C0.0430327%201.22889%20-1.62782e-09%201.44523%200%201.66371C1.62782e-09%201.88219%200.0430327%202.09854%200.126642%202.30039C0.210252%202.50224%200.3328%202.68565%200.48729%202.84014L8.64716%2011L0.48729%2019.1599C0.3328%2019.3144%200.210251%2019.4978%200.126642%2019.6996C0.0430327%2019.9015%200%2020.1178%200%2020.3363C0%2020.5548%200.0430327%2020.7711%200.126642%2020.973C0.210251%2021.1748%200.3328%2021.3582%200.48729%2021.5127C0.64178%2021.6672%200.825186%2021.7897%201.02704%2021.8734C1.22889%2021.957%201.44523%2022%201.66371%2022C1.88219%2022%202.09854%2021.957%202.30039%2021.8734C2.50224%2021.7897%202.68565%2021.6672%202.84014%2021.5127L11%2013.3528L19.1599%2021.5127C19.3144%2021.6672%2019.4978%2021.7897%2019.6996%2021.8734C19.9015%2021.957%2020.1178%2022%2020.3363%2022C20.5548%2022%2020.7711%2021.957%2020.973%2021.8734C21.1748%2021.7897%2021.3582%2021.6672%2021.5127%2021.5127C21.6672%2021.3582%2021.7897%2021.1748%2021.8734%2020.973C21.957%2020.7711%2022%2020.5548%2022%2020.3363C22%2020.1178%2021.957%2019.9015%2021.8734%2019.6996C21.7897%2019.4978%2021.6672%2019.3144%2021.5127%2019.1599L13.3528%2011L21.5127%202.84014C22.1468%202.20604%2022.1468%201.13808%2021.5127%200.503977Z%22%20fill%3D%22%230079BF%22%2F%3E%3C%2Fsvg%3E");
		background-size: 22px auto;
		position: fixed;
		right: var(--padding);
		top: 8px;
		z-index: 11;
	}
}

body:not(.noscroll) .header-dropdown {
	opacity: 0;
	visibility: hidden;
	transition: 0s;
}

@media(max-width: 991px) {
	.header {
		margin-bottom: 58px;
	}
	.header-loan {
		width: 100%;
		justify-content: center;
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		border-radius: 0;
		transform: translateY(100%);
	}
}

@media(max-width: 767px) {
	.header {
		padding: 5px 0;
		margin-bottom: 45px;
	}
	.header-logo img {
		width: 198px;
	}
	.header-dropdown-toggle {
		width: 35px;
		background-size: 24px;
	}
	.header-loan {
		--fs: 12;
		min-height: 45px;
	}
	.header-loan a::before {
		width: 6px;
		height: 6px;
		border-top: 1px solid #FFF;
		border-right: 1px solid #FFF;
		right: 10px;
	}
	.header-loan a {
		min-width: 90px;
		min-height: 34px;
		border-radius: 7px;
		padding: 2px 15px;
	}
}

.button-01 {
	align-items: center;
	justify-content: center;
	background-color: var(--color-theme-4);
	border-radius: 10px;
	color: #fff;
	display: inline-flex;
	min-width: 380px;
	min-height: 60px;
	--fs: 28;
	font-weight: 700;
	gap: 15px;
	padding: 6px 20px;
	border: 3px solid #B5161F;
	box-shadow: 0 4px 0 0 #B5161F;
	transition: 0.2s;
	&::after {
		aspect-ratio: 11/19;
		background: no-repeat center/contain;
		background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2210%22%20height%3D%2216%22%20viewBox%3D%220%200%2010%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9.63386%207.19313C10.122%207.63941%2010.122%208.36416%209.63386%208.81044L2.13532%2015.6653C1.64714%2016.1116%200.854325%2016.1116%200.366139%2015.6653C-0.122046%2015.219%20-0.122046%2014.4943%200.366139%2014.048L6.98203%208L0.370045%201.95202C-0.118141%201.50575%20-0.118141%200.780988%200.370045%200.334709C0.858231%20-0.11157%201.65104%20-0.11157%202.13923%200.334709L9.63777%207.18956L9.63386%207.19313Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
		content: "";
		display: inline-block;
		height: 100%;
		width: 11px;
	}
	&:hover {
		background-color: #E56067;
	}
	&.bg-theme-2-1 {
		color: var(--color-body-1);
		border-color: #F2C22C;
		box-shadow: 0 4px 0 0 #F2C22C;
		&::after {
			background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2210%22%20height%3D%2216%22%20viewBox%3D%220%200%2010%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9.63386%207.19313C10.122%207.63941%2010.122%208.36416%209.63386%208.81044L2.13532%2015.6653C1.64714%2016.1116%200.854325%2016.1116%200.366139%2015.6653C-0.122046%2015.219%20-0.122046%2014.4943%200.366139%2014.048L6.98203%208L0.370045%201.95202C-0.118141%201.50575%20-0.118141%200.780988%200.370045%200.334709C0.858231%20-0.11157%201.65104%20-0.11157%202.13923%200.334709L9.63777%207.18956L9.63386%207.19313Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E");
		}
		&:hover {
			background-color: #FCE7A5!important;
		}
	}
	&.bg-white {
		color: var(--color-body-1);
		border-color: #BABABA;
		box-shadow: 0 4px 0 0 #BABABA;
		&::after {
			background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2210%22%20height%3D%2216%22%20viewBox%3D%220%200%2010%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9.63386%207.19313C10.122%207.63941%2010.122%208.36416%209.63386%208.81044L2.13532%2015.6653C1.64714%2016.1116%200.854325%2016.1116%200.366139%2015.6653C-0.122046%2015.219%20-0.122046%2014.4943%200.366139%2014.048L6.98203%208L0.370045%201.95202C-0.118141%201.50575%20-0.118141%200.780988%200.370045%200.334709C0.858231%20-0.11157%201.65104%20-0.11157%202.13923%200.334709L9.63777%207.18956L9.63386%207.19313Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E");
		}
	}
}

.button-02 {
	align-items: center;
	background-color: var(--color-body-1);
	border-radius: 5px;
	color: #fff;
	display: inline-flex;
	font-weight: 700;
	gap: 10px;
	padding: 10px 15px;
	transition: 0.2s;
	&::after {
		aspect-ratio: 10/16;
		background: no-repeat center/contain;
		background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2210%22%20height%3D%2216%22%20viewBox%3D%220%200%2010%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9.63386%207.19313C10.122%207.63941%2010.122%208.36416%209.63386%208.81044L2.13532%2015.6653C1.64714%2016.1116%200.854325%2016.1116%200.366139%2015.6653C-0.122046%2015.219%20-0.122046%2014.4943%200.366139%2014.048L6.98203%208L0.370045%201.95202C-0.118141%201.50575%20-0.118141%200.780988%200.370045%200.334709C0.858231%20-0.11157%201.65104%20-0.11157%202.13923%200.334709L9.63777%207.18956L9.63386%207.19313Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
		content: "";
		display: inline-block;
		height: 100%;
		width: 10px;
	}
	&:hover {
		background-color: #606060;
	}
	&.bg-theme-3:hover {
		background-color: #ff8439 !important;
	}
}

.button-02-large {
	--fs: 30;
	border-radius: 15px;
	gap: 30px;
	line-height: 1.3;
	padding: 20px 30px;
	&::after {
		width: 14px;
	}
}

.buttons {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: center;
}

.mv {
	background: url(../img/mv-bg.png) no-repeat center/cover;
	padding: 60px 0 60px;
}

.top-cta {
	--top: 40px;
	background: linear-gradient(to bottom, transparent var(--top), var(--color-theme-1-1) var(--top));
	margin-top: calc(var(--top) * -1);
}

:where(.top-cta, .fixed-cta) .button {
	box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.25);
}

.fixed-cta {
	display: flex;
	justify-content: center;
	gap: 30px;
	bottom: 0;
	left: 0;
	padding: 35px var(--padding);
	position: fixed;
	right: 0;
	z-index: 5;
	transition: 0.2s;
	&:not(.show) {
		bottom: -140px;
	}
	.button-01 {
		min-width: 350px;
	}
}

h2 {
	--fs: var(--h2);
	font-size: var(--font-size);
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 50px;
}

h3 {
	--fs: 30;
	font-size: var(--font-size);
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 30px;
}

h4 {
	--fs: 22;
	font-size: var(--font-size);
	font-weight: 700;
	margin-bottom: 15px;
}

.columns {
	display: grid;
	align-items: center;
	/* grid-template-columns: repeat(2, 1fr); */
	grid-template-columns: 1fr;
	gap: 30px;
}

.section + .section {
	margin-top: var(--section);
}

.intro {
	p {
		--fs: 18;
		font-weight: 700;
		margin-bottom: 30px;
	}
	.card {
		display: grid;
		height: 100%;
		align-items: center;
	}

	.card-body {
		padding: 20px 15px 40px;
	}

	.card-title {
		--fs: 22;
		line-height: 1.6;
		font-weight: 700;
	}

	.card-title span {
		--fs: 26;
		color: #DE0000;
	}
}

.merit {
	h2 {
		display: grid;
		justify-content: center;
		gap: 15px;
		&::before {
			content: "";
			width: 50px;
			height: 5px;
			background: var(--color-theme-4);
			margin-inline: auto;
			order: 2;
		}
	}
	.merit-content {
		display: grid;
		grid-template-columns: repeat(2,1fr);
		gap: 60px 40px;
	}
	.merit-item {
		.row {
			--bs-gutter-x: 40px;
		}
		figure {
			margin-bottom: 0;
		}
		img {
			border-radius: 10px;
			margin-bottom: 15px;
		}
		figcaption {
			--fs: 18;
			font-weight: 700;
		}
		p {
			letter-spacing: 0.05em;
		}
	}
	.merit-item:nth-child(1) {
		grid-column: 1 / 3;
	}
	.merit-number {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
		--fs: 20;
		line-height: 1.2;
		font-weight: 700;
		color: #FFF;
		width: 110px;
		aspect-ratio: 1 / 1;
		background: var(--color-theme-2);
		border-radius: 50%;
		margin-inline: auto;
		span {
			--fs: 30;
		}
	}
}

@media(max-width: 991px) {
	.merit {
		.merit-content {
			grid-template-columns: 1fr;
		}
		.merit-item:nth-child(1) {
			grid-column: auto;
		}
	}
}

.choice {
	h2 {
		display: grid;
		justify-content: center;
		gap: 15px;
		&::before {
			content: "";
			width: 50px;
			height: 5px;
			background: var(--color-theme-4);
			margin-inline: auto;
			order: 2;
		}
		span {
			position: relative;
			--fs: 22;
			color: var(--color-theme-4);
			padding-right: 35px;
			padding-left: 35px;
			&::before {
				content: "";
				width: 30px;
				height: 3px;
				background: var(--color-theme-4);
				position: absolute;
				top: 50%;
				left: 0;
				transform: rotate(63.43deg);
			}
			&::after {
				content: "";
				width: 30px;
				height: 3px;
				background: var(--color-theme-4);
				position: absolute;
				top: 50%;
				right: 0;
				transform: rotate(-63.43deg);
			}
		}
	}
	.choice-table {
		position: relative;
		overflow-x: scroll;
	}
	table {
		display: block;
		background: linear-gradient(to right, #FFFFEB 50%, #FFFFFF 50%);;
		max-width: 910px;
		width: 100%;
		min-width: 800px;
		border-radius: 10px;
		margin-inline: auto;
		tbody,
		td,
		tfoot,
		th,
		thead,
		tr {
			display: block;
		}
		thead {
			margin-bottom: 30px;
		}
		thead tr {
			display: grid;
			grid-template-columns: repeat(2,1fr);
		}
		thead th {
			--fs: 30;
			font-weight: 700;
			padding: 5px 30px;
			&:first-child {
				border-radius: 10px 0 0 0;
			}
			&:last-child {
				border-radius: 0 10px 0 0;
			}
		}
		tbody tr {
			display: grid;
			grid-template-columns: repeat(2,1fr);
		}
		tbody th {
			grid-column: 1 / 3;
			display: block;
			--fs: 22;
			font-weight: 700;
			width: calc(100% - 60px);
			margin-inline: auto;
		}
		tbody td {
			display: flex;
			flex-direction: column;
			padding: 30px 30px;
			img {
				margin-bottom: 5px;
			}
			span {
				display: block;
				--fs: 22;
				font-weight: 700;
				margin-bottom: 20px;
			}
		}
	}
}

.js-scroll:not(:last-child) {
	margin-bottom: 50px;
}

.product {
	--container: 910px;
}

.description {
	table {
		--fs: var(--p);
		background-color: #fff;
		border-collapse: collapse;
		caption-side: top;
		width: 100%;
		border-radius: 0 0 10px 10px;
		overflow: hidden;
		margin: 0 0 30px;
		a {
			color: #0066CC;
			text-decoration: underline;
		}
	}
	caption {
		--fs: var(--h2);
		font-size: var(--font-size);
		font-weight: 700;
		text-align: center;
		border-radius: 10px 10px 0 0;
	}
	tr:nth-of-type(even) {
		background-color: #f3f3f3;
	}
	:where(th, td) {
		padding: 15px 25px;
	}
	th {
		white-space: nowrap;
	}
	ul {
		list-style: none;
		padding: 0;
		margin-bottom: 0;
	}
	ul li {
		text-indent: -1em;
		margin-left: 1em;
	}
	ul li::before {
		content: "・";
	}
}

.application {
	h2 {
		--fs: var(--h2);
		font-size: var(--font-size);
		padding: 20px 0;
	}
	h3 {
		--fs: 30;
		font-size: var(--font-size);
		font-weight: 700;
		line-height: 1.6;
		margin-bottom: 30px;
	}
	h4 {
		--fs: 24;
		font-size: var(--font-size);
		margin-bottom: 30px;
	}
	h5 {
		--fs: 18;
		font-size: var(--font-size);
		font-weight: 700;
		margin-bottom: 10px;
	}
	p {
		margin-bottom: 0;
	}
	.application-flow {
		display: grid;
		grid-template-columns: repeat(4,1fr);
		gap: 40px;
	}
	.application-flow-item {
		position: relative;
	}
	.application-flow-item:not(:last-child)::before {
		content: "";
		height: 35px;
		aspect-ratio: cos(45deg);
		clip-path: polygon(0 0,100% 50%,0 100%);
		background: linear-gradient(45deg,#96D2E6,#96D2E6);
		position: absolute;
		top: calc(200px / 2);
		right: calc(40px / -2);
		transform: translate(50%,-50%);
	}
	.application-flow-image {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 200px;
		text-align: center;
		border: 2px solid var(--color-theme-1);
		border-radius: 10px;
		padding: 15px;
		margin-bottom: 20px;
	}
	.application-please {
		background: #FFF7E7;
		max-width: 850px;
		padding: 40px;
		margin-inline: auto;
	}
}

#faq {
	--container: 990px;
	padding-top: 60px;
	h2 {
		display: grid;
		justify-content: center;
		gap: 10px;
		margin-bottom: 40px;
		span {
			--fs: 60;
		}
		&::before {
			content: none;
		}
	}
	.accordion-item {
		border: 0;
		border-radius: 0;
		+ .accordion-item {
			margin-top: 30px;
		}
	}
	.accordion-button {
		--fs: 16;
		border-radius: 0;
		box-shadow: none;
		font-size: var(--font-size);
		font-weight: 700;
		gap: 1.5rem;
		line-height: 1.6;
		letter-spacing: 0.1em;
		padding: 10px 20px;
		&::after {
			aspect-ratio: 1;
			background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2216%22%20r%3D%2216%22%20fill%3D%22white%22%2F%3E%3Cpath%20d%3D%22M24.5714%2017.4286H17.4286V24.5714C17.4286%2024.9503%2017.2781%2025.3137%2017.0102%2025.5816C16.7422%2025.8495%2016.3789%2026%2016%2026C15.6211%2026%2015.2578%2025.8495%2014.9898%2025.5816C14.7219%2025.3137%2014.5714%2024.9503%2014.5714%2024.5714V17.4286H7.42857C7.04969%2017.4286%206.68633%2017.2781%206.41842%2017.0102C6.15051%2016.7422%206%2016.3789%206%2016C6%2015.6211%206.15051%2015.2578%206.41842%2014.9898C6.68633%2014.7219%207.04969%2014.5714%207.42857%2014.5714H14.5714V7.42857C14.5714%207.04969%2014.7219%206.68633%2014.9898%206.41842C15.2578%206.15051%2015.6211%206%2016%206C16.3789%206%2016.7422%206.15051%2017.0102%206.41842C17.2781%206.68633%2017.4286%207.04969%2017.4286%207.42857V14.5714H24.5714C24.9503%2014.5714%2025.3137%2014.7219%2025.5816%2014.9898C25.8495%2015.2578%2026%2015.6211%2026%2016C26%2016.3789%2025.8495%2016.7422%2025.5816%2017.0102C25.3137%2017.2781%2024.9503%2017.4286%2024.5714%2017.4286Z%22%20fill%3D%22%230079BF%22%2F%3E%3C%2Fsvg%3E");
			background-size: contain;
			height: auto;
			width: 32px;
		}
		&:not(.collapsed)::after {
			background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2216%22%20r%3D%2216%22%20fill%3D%22white%22%2F%3E%3Cpath%20d%3D%22M24.5714%2017.8571H7.42857C7.04969%2017.8571%206.68633%2017.7066%206.41842%2017.4387C6.15051%2017.1708%206%2016.8075%206%2016.4286C6%2016.0497%206.15051%2015.6863%206.41842%2015.4184C6.68633%2015.1505%207.04969%2015%207.42857%2015H24.5714C24.9503%2015%2025.3137%2015.1505%2025.5816%2015.4184C25.8495%2015.6863%2026%2016.0497%2026%2016.4286C26%2016.8075%2025.8495%2017.1708%2025.5816%2017.4387C25.3137%2017.7066%2024.9503%2017.8571%2024.5714%2017.8571Z%22%20fill%3D%22%230079BF%22%2F%3E%3C%2Fsvg%3E");
		}
	}
	.accordion-body {
		--fs: var(--p);
		padding: 20px;
		:last-child {
			margin-bottom: 0;
		}
	}
}

#about {
	padding-bottom: 80px;
	table {
		--fs: var(--p);
		border-collapse: collapse;
		margin: 0 auto 15px;
	}
	:where(th, td) {
		padding: 20px 30px;
	}
	tr:not(:last-child) {
		border-bottom: 1px dashed #d1d1d1;
	}
	a:hover {
		text-decoration: underline;
	}
}

.footer {
	padding: 15px 0;
}

.footer-copyright {
	--fs: 14;
}

@media(max-width: 991px) {
	.columns {
		grid-template-columns: 1fr;
	}
	.fixed-cta {
		gap: 10px;
	}
}

@media (max-width: 767px) {
	:root {
		--stack: 50px;
		--section: 50px;
		--h2: 28;
		--p: 16;
	}
	.button-01 {
		--fs: 22;
		min-width: 0;
		max-width: 350px;
		width: 100%;
		min-height: 54px;
		padding: 5px 15px;
	}
	.button-02 {
		--fs: 14;
	}
	.columns {
		gap: 20px;
	}
	h2 {
		margin-bottom: 30px;
	}
	h3 {
		--fs: 24;
	}
	h4 {
		--fs: 16;
		letter-spacing: 0.08em;
		margin-bottom: 10px;
	}
	.mv {
		background: url(../img/mv-bg_sp.png) no-repeat center/cover;
		padding: 35px 0 35px;
	}
	.intro {
		p {
			--fs: 16;
			margin-bottom: 20px;
		}
		.card-body {
			padding: 25px 20px;
		}
	}
	.merit {
		.merit-number {
			--fs: 16;
			width: 90px;
			span {
				--fs: 32;
			}
		}
		& .merit-item {
			.row {
				--bs-gutter-x: 20px;
			}
			img {
				margin-bottom: 20px;
			}
			figcaption {
				--fs: 16;
			}
		}
	}
	.choice {
		h2 {
			span::before,
			span::after {
				content: none;
			}
		}
		table {
			thead th {
				--fs: 22;
				padding: 10px 20px;
			}
			tbody th {
				width: calc(100% - 40px);
			}
			tbody td {
				padding: 20px;
				span {
					--fs: 18;
					margin-bottom: 10px;
				}
			}
		}
	}
	.description {
		caption {
			padding: 5px 10px;
		}
		:where(th, td) {
			display: block;
			width: 100%;
			padding: 20px;
		}
		th {
			padding-bottom: 5px;
		}
		td {
			padding-top: 5px;
		}
	}
	.application {
		padding-bottom: 0;
		h2 {
			padding: 15px 0;
			margin-bottom: 40px;
		}
		h3 {
			--fs: 24;
		}
		h4 {
			--fs: 22;
		}
		.application-flow {
			grid-template-columns: 1fr;
			gap: 90px;
		}
		.application-flow-item:not(:last-child)::before {
			height: 30px;
			aspect-ratio: 1/cos(70deg);
			clip-path: polygon(50% 100%,100% 0,0 0);
			top: auto;
			bottom: calc(90px / -2);
			left: 50%;
			right: auto;
			transform: translate(-50%,50%);
		}
		.application-please {
			padding: 50px var(--padding);
			margin-left: calc(var(--padding) * -1);
			margin-right: calc(var(--padding) * -1);
		}
	}
	#faq {
		h2 {
			span {
				line-height: 1;
			}
		}
	}
	#about {
		padding-bottom: 0;
		table {
			margin: 0 0 40px;
			width: 100%;
		}
		:where(th, td) {
			display: block;
			padding: 0;
		}
		th {
			margin-bottom: 10px;
		}
		tr:not(:last-child) {
			display: block;
			margin: 0 0 20px;
			padding: 0 0 20px;
		}
	}
	.footer {
		padding: 15px 0;
	}
	.footer-copyright {
		--fs: 12;
	}
	.fixed-cta {
		padding: 15px var(--padding);
		.button-01 {
			--fs: 15;
			letter-spacing: 0.05em;
			min-width: 0;
			min-height: 48px;
			padding: 5px 0;
			&::after {
				content: none;
			}
		}
	}
}

@media (max-width: 575px) {
}
