/* ====== ベース ====== */
body{
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans", "Noto Sans JP", sans-serif;
  font-weight: 600;
  line-height: 1.6;
}
a{ transition:.3s; }
a:hover{ opacity:.7; }


a {
	transition: 0.3s;
}

a:hover {
	opacity: 0.7;
}

.c-wrap {
	margin: 0 auto;
	padding-inline: 10px;
	width: 100%;
}

.c-title {
	font-size: 32px;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
}

.c-title.--28 {
	font-size: 28px;
}

.c-title.--25 {
	font-size: 25px;
	letter-spacing: -0.05em;
}

.c-title.--24 {
	font-size: 24px;
}

.cta-buttons {
	bottom: 0;
	left: 0;
	position: fixed;
	width: 100%;
	z-index: 999;
}

.cta-buttons.--sp {
	display: flex;
}

.cta-buttons.--pc {
	display: none;
}

.cta-buttons__button {
	align-items: center;
	color: #fff;
	display: flex;
	font-size: 16px;
	font-weight: 600;
	height: 57px;
	justify-content: center;
	width: 50%;
	letter-spacing: 0.02em;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
}

.cta-buttons__button.--orange {
	background: linear-gradient(180deg, #ffbf70 0%, #f47e00 80%);
	border: 1px solid #d86200;
}

.cta-buttons__button.--green {
	background: linear-gradient(180deg, #55e6a9 0%, #06b056 80%);
	border: 1px solid #038a45;
}

.header {
	background: #fff;
	box-shadow: 0 1px 2px rgba(220, 220, 220, 0.5);
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 9999;
}

.header__wrap {
	margin: 0 auto;
	max-width: 1280px;
	padding-inline: 10px;
}

.header__inner {
	padding-block: 9px;
	width: 100%;
}

.header__logo {
	display: block;
	width: 180px;
}

/* cta */

.cta {
	background-color: rgb(8, 86, 161);
}

.cta__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	padding-block: 20px 22px;
	text-align: center;
}

.cta__head {
	align-items: center;
	background: #fff7ce;
	border: 1px solid #fbe59c;
	border-radius: 14px;
	color: #6b4d00;
	display: inline-flex;
	font-size: 22px;
	font-weight: 700;
	gap: 10px;
	letter-spacing: 0.06em;
	padding: 10px 28px;
	text-align: center;
}

.cta__title {
	color: #ffffff;
	margin-top: 40px;
}

.cta__title-head {
	color: #ffe169;
	font-size: 28px;
}

.cta__title-main {
	font-size: 28px;
}

.cta__title-sub {
	font-size: 16px;
	margin-top: 9px;
}

.cta__button {
	background: linear-gradient(180deg, #ffe169 0%, #f7c90f 60%, #f0a500 100%);
	border: none;
	color: #083b75;
	display: flex;
	font-size: 28px;
	font-weight: 600;
	justify-content: center;
	letter-spacing: 0.03em;
	margin-top: 64px;
	padding: 13px 45px;
	text-shadow: 0 1px 1px rgba(255, 255, 255, 0.6);
}

.cta-buttons__button,
.cta__button {
	border-radius: 999px;
	box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 4px 12px rgba(0, 0, 0, 0.2);
	transform: translateY(0);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.cta-buttons__button:hover,
.cta__button:hover {
	box-shadow: 0 18px 34px rgba(0, 0, 0, 0.28), 0 8px 18px rgba(0, 0, 0, 0.22);
	transform: translateY(-3px);
}

.cta-buttons__button:active,
.cta__button:active {
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.25), 0 3px 8px rgba(0, 0, 0, 0.2);
	transform: translateY(-1px);
}

/* fv */
	.fv__banner-text{
		background:#ffeb3b; color:#333; font-size:18px; font-weight:bold;
		line-height:1.5; padding:10px 8px; text-align:center;
	}
	.fv__banner--repeat{
		background:#ffeb3b;
		margin:40px auto 60px;
		padding-inline:0;
	}
	.fv__banner--repeat .fv__banner-text{ margin:0 auto; max-width:560px; }
	.fv__banner-text-highlight{
		background:#fffbe6;
		border-radius:999px;
		box-shadow:0 6px 12px rgba(0,0,0,0.15);
		color:#c62828;
		display:inline-block;
		font-size:16px;
		font-weight:800;
		letter-spacing:0.08em;
		margin-top:6px;
		padding:4px 16px;
	}
	.fv__banner-text-highlight--sway{
		animation:fvsway 2.8s ease-in-out infinite;
		display:inline-block;
		transform-origin:center;
	}
	.fv__img{ display:block; width:100%; }
	.fv__img img{ height:100%; width:100%; }
	@keyframes fvsway{
		0%{ transform:translateY(0) rotate(0deg); }
		20%{ transform:translateY(-2px) rotate(-1.2deg); }
		40%{ transform:translateY(1px) rotate(1.2deg); }
		60%{ transform:translateY(-1px) rotate(-0.8deg); }
		80%{ transform:translateY(2px) rotate(0.8deg); }
		100%{ transform:translateY(0) rotate(0deg); }
	}
	@media (prefers-reduced-motion: reduce){
		.fv__banner-text-highlight--sway{ animation:none; }
	}

/* sec01 */

.sec01 {
	background-color: #ffffff;
	padding-block: 55px 86px;
}

.sec01__container {
	display: flex;
	flex-direction: column;
	gap: 87px;
	margin-top: 61px;
}

.sec01__content {
	display: flex;
	flex-direction: column;
	gap: 61px;
	text-align: center;
}

.sec01__text01 {
	font-size: 28px;
	text-align: center;
}

.sec01__text02 {
	display: inline-block;
	font-size: 22px;
	line-height: 34.2px;
}

.sec01__body {
	display: flex;
	flex-direction: column;
	gap: 31px;
}

.sec01__text03 {
	font-size: 18px;
	text-align: center;
}

/* sec02 */

.sec02 {
	padding-block: 76px 85px;
}

.sec02__container {
	display: flex;
	flex-direction: column;
	gap: 21px;
	margin-top: 22px;
}

.sec02__content {
	text-align: center;
}

.sec02__text {
	font-size: 20px;
}

/* sec03 */

.sec03 {
	background-color: rgb(228, 242, 255);
	padding-block: 55px 21px;
}

.sec03__items {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: 67px;
}

.sec03__item {
	box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.1490196078);
	line-height: 1.3;
	padding: 36px 20px 42px;
}

.sec03__item-title {
	font-size: 28px;
	text-align: center;
}

.sec03__item-subtitle {
	text-align: center;
}

.sec03__content {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin-top: 24px;
}

.sec03__text {
	font-size: 14px;
	line-height: 1.6;
}

/* sec04 */

.sec04 {
	background-color: rgb(228, 242, 255);
	font-weight: 400;
	padding-block: 16px 103px;
}

.sec04__container {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin-top: 24px;
}

.sec04__body {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.sec04__text {
	font-size: 16px;
}

/* sec05 */

.sec05 {
	padding-block: 15px 141px;
}

.sec05__title {
	align-items: center;
	display: flex;
	gap: 20px;
}

.sec05__title span {
	background-color: #0856A1;
	display: block;
	flex: 1px;
	height: 1px;
	width: 100%;
}

.sec05__items {
	display: flex;
	flex-direction: column;
	gap: 81px;
	margin-top: 30px;
}

.sec05__item {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.sec05__body {
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 10px 25px 0 rgba(218, 218, 218, 0.5);
	display: flex;
	flex-direction: column;
	gap: 22px;
	margin-top: -61px;
	padding: 18px 20px 43px;
	width: 87%;
}

.sec05__name {
	font-size: 20px;
	line-height: 1.3;
}

.sec05__text {
	font-size: 16px;
	font-weight: 400;
}

/* sec06 */

.sec06 {
	background-color: rgb(228, 242, 255);
	padding-block: 97px 60px;
}

.sec06__img {
	margin-top: 44px;
}

/* sec07 */

.sec07 {
	background: linear-gradient(180deg, #e9f3ff 0%, #f6fbff 70%, #ffffff 100%);
	margin-top: 80px;
	padding-block: 40px 70px;
}

.sec07__inner {
	background: #ffffff;
	border-radius: 28px;
	box-shadow: 0 30px 60px rgba(8, 86, 161, 0.08), 0 6px 18px rgba(8, 86, 161, 0.12);
	overflow: hidden;
	padding: 32px 24px 36px;
	position: relative;
}

.sec07__inner::before {
	background: radial-gradient(circle at -10% -40%, rgba(8, 86, 161, 0.25), transparent 60%);
	content: "";
	height: 200px;
	inset: 0;
	position: absolute;
	width: 200px;
	z-index: 0;
}

.sec07__inner > .c-title {
	margin-top: 0;
	position: relative;
	z-index: 1;
}

.sec07__panel {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: 30px;
	position: relative;
	z-index: 1;
}

.sec07__price-card,
.sec07__payment-card {
	background: #f9fbff;
	border: 1px solid rgba(8, 59, 117, 0.08);
	border-radius: 22px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
	padding: 26px 22px 28px;
}

.sec07__price-card {
	background: linear-gradient(180deg, #ffffff 0%, #f8fbff 65%, #eef5ff 100%);
}

.sec07__price-label {
	color: #083b75;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.sec07__price-value {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	font-weight: 800;
	gap: 6px;
	margin-top: 6px;
}

.sec07__price-number {
	color: #f58400;
	font-size: 40px;
	letter-spacing: 0.04em;
}

.sec07__price-unit {
	color: #f58400;
	font-size: 22px;
}

.sec07__price-note {
	color: #5f6b7c;
	font-size: 13px;
	margin-top: 4px;
}

.sec07__price-desc {
	font-size: 15px;
	line-height: 1.7;
	margin-top: 16px;
}

.sec07__price-desc-highlight {
	font-weight: 600;
	padding-left: 5px;
}

.sec07__payment-title {
	color: #083b75;
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 14px;
}

.sec07__payment-methods {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
}

.sec07__payment-method {
	align-items: center;
	display: flex;
	gap: 12px;
}

.sec07__payment-method p {
	color: #333;
	font-size: 18px;
	font-weight: 700;
	margin: 0;
}

.sec07__payment-method img {
	display: block;
	height: var(--sec07-payment-icon-size, 48px);
	max-width: 72px;
	width: auto;
}

.sec07__payment-note {
	color: #333;
	font-size: 18px;
	font-weight: 700;
	margin: 18px 0 12px;
}

.sec07__card-logos {
	display: flex;
	justify-content: flex-start;
	padding-top: 6px;
}

.sec07__card-logos img {
	display: block;
	height: auto;
	max-width: min(360px, 60vw);
	width: 100%;
}

@media (min-width: 768px) {
	.sec07__payment-card {
		text-align: center;
	}
	.sec07__payment-methods {
		justify-content: center;
	}
	.sec07__payment-method {
		flex-direction: column-reverse;
		align-items: center;
		text-align: center;
		gap: 8px;
	}
	.sec07__payment-method img {
		margin: 0 auto;
	}
	.sec07__payment-note {
		text-align: center;
	}
	.sec07__card-logos {
		justify-content: center;
	}
}


/* sec08 */

.sec08 {
	padding-block: 16px 90px;
}

.sec08__container {
	display: flex;
	flex-direction: column;
	gap: 61px;
	margin-top: 24px;
}

.sec08__thumb {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.sec08__note {
	color: #4d4d4d;
	font-size: 16px;
	text-align: center;
}

.sec08__content {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.sec08__text {
	font-size: 13px;
	font-weight: 400;
	line-height: 1.7;
}

/* sec09 */

.sec09 {
	padding-block: 76px 90px;
}

.sec09__items {
	display: flex;
	flex-direction: column;
	gap: 40px;
	margin-top: 51px;
}

.sec09__item {
	border: 3px solid #0856A1;
	display: flex;
	flex-direction: column;
	gap: 17px;
	padding: 16px 20px 24px;
	position: relative;
}

.sec09__item::before {
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-top: 20px solid #0856A1;
	bottom: -20px;
	content: "";
	height: 0;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0;
	z-index: 1;
}

.sec09__item::after {
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-top: 20px solid #fff;
	bottom: -16px;
	content: "";
	height: 0;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0;
	z-index: 2;
}

.sec09__item:last-of-type::before,
.sec09__item:last-of-type::after {
	display: none;
}

.sec09__head {
	align-items: center;
	border-bottom: 2px solid #0856A1;
	display: flex;
	gap: 8px;
	padding-bottom: 12px;
}

.sec09__head-text {
	font-size: 20px;
}

.sec09__num {
	align-items: center;
	aspect-ratio: 1/1;
	background: #0856A1;
	border-radius: 50%;
	display: flex;
	flex-shrink: 0;
	justify-content: center;
	width: 30px;
}

.sec09__num-text {
	color: #fff;
	font-size: 14px;
}

.sec09__text {
	font-size: 16px;
	font-weight: 400;
}

/* sec10 */

.sec10 {
	padding-block: 37px;
}

.sec10__items {
	display: flex;
	flex-direction: column;
	gap: 38px;
	margin-top: 71px;
}

.sec10__head {
	align-items: stretch;
	display: flex;
	gap: 10px;
}

.sec10__head-label {
	align-items: center;
	background-color: #ccc;
	display: flex;
	flex-shrink: 0;
	justify-content: center;
	padding: 10px;
	width: 40px;
}

.sec10__head-label-text {
	font-size: 14px;
	font-weight: 400;
}

.sec10__head-text {
	font-size: 18px;
	padding: 7px 10px 19px 0;
}

.sec10__head-text.--lg {
	font-size: 24px;
}

.sec10__head-text.--md {
	font-size: 22px;
}

.sec10__body {
	align-items: stretch;
	display: flex;
	gap: 10px;
}

.sec10__body-label {
	align-items: center;
	background-color: #0856A1;
	display: flex;
	flex-shrink: 0;
	justify-content: center;
	padding: 10px;
	width: 40px;
}

.sec10__body-label-text {
	color: #fff;
	font-size: 14px;
	font-weight: 400;
}

.sec10__body-text {
	font-size: 14px;
	font-weight: 400;
	padding: 7px 11px 19px 0;
}

/* sec11 */

.sec11 {
	letter-spacing: -0.05em;
	padding-block: 14px 114px;
}

.sec11__desc {
	font-size: 12px;
	font-weight: 400;
	margin-top: 23px;
	text-align: center;
}

.sec11__fields {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin-top: 5px;
	padding: 11px 7px;
}

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

.sec11__field.error {
	background-color: #fff3f3;
}

.sec11__field.error .sec11__text-error {
	display: block;
}

.sec11__label {
	font-size: 12px;
}

.sec11__req {
	background-color: #e31f1f;
	border-radius: 3px;
	color: #fff;
	font-size: 80%;
	font-weight: normal;
	margin: 0 0 0 5px;
	padding: 2px 3px;
}

.sec11__control {
	background: #fff;
	box-shadow: inset 0 -1px 0 0 #bbb;
	font-size: 14px;
	font-weight: 400;
	outline: none;
	padding: 4px 5px 6px;
	transition: 0.3s;
}

.sec11__control:focus {
	background-color: #a3d0fa;
	box-shadow: inset 0 -2px 0 0 #0856A1;
}

.sec11__control.--select {
	border: 1px solid #ccc;
	box-shadow: none;
}

.sec11__control.--select:focus {
	border-color: #0856A1;
	box-shadow: 0 0 6px 0 #4ca3f6;
}

.sec11__control.--textarea {
	border: 1px solid #ccc;
	box-shadow: none;
	height: 79px;
}

.sec11__text-error {
	color: #e62c2c;
	display: none;
	font-size: 12px;
	font-weight: 400;
}

.sec11__radios {
	display: flex;
	gap: 12px;
	padding-left: 3px;
}

.sec11__radio {
	align-items: center;
	display: flex;
	gap: 7px;
}

.sec11__radio-input {
	scale: 1.2;
}

.sec11__radio-label {
	font-size: 16px;
	font-weight: 400;
}

.sec11__actions {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 10px;
	justify-content: center;
	margin-top: 27px;
}

.sec11__actions.error .sec11__text-error {
	display: block;
}

.sec11__submit {
	align-items: center;
	background: #0856A1;
	color: #fff;
	display: flex;
	font-size: 16px;
	font-weight: 400;
	height: 44px;
	justify-content: center;
	width: 109px;
}

.footer {
	background-color: rgb(8, 86, 161);
	margin-top: -2px;
	padding-block: 63px 65px;
}

.footer__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.footer__text {
	color: #fff;
	font-size: 12px;
	font-weight: 400;
}

.footer a {
	text-decoration: underline;
}

.s-sp {
	display: block;
}

.s-pc {
	display: none;
}

.s-of-hidden {
	overflow: hidden;
}

.u-tx-red {
	color: #e53935;
}

.u-line-yellow {
	background-color: #ffe169;
}

@media screen and (min-width: 600px) {

.c-wrap {
	max-width: 600px;
}

.c-wrap.--1280 {
	max-width: 100%;
}

.c-title.--pc28 {
	font-size: 28px;
}

.c-title.--pc36 {
	font-size: 36px;
}

.cta-buttons {
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
}

.cta-buttons.--sp {
	display: none;
}

.cta-buttons.--pc {
	display: flex;
}

.cta-buttons__button {
	font-size: 14px;
	height: 39px;
	width: 162px;
}

.header__inner {
	align-items: center;
	display: flex;
	justify-content: space-between;
	padding-block: 7px;
}

.cta__inner {
	padding-block: 35px 41px;
}

.cta__head {
	font-size: 36px;
}

.cta__title {
	margin-top: 63px;
}

.cta__title-main {
	line-height: 2;
}

.cta__title-main.--pc {
	line-height: 1.6;
	margin-top: 10px;
}

.cta__title-sub {
	margin-top: 24px;
}

.fv__banner-text-highlight {
	font-size: 16px;
	padding: 4px 16px;
}

.cta__title-sub.--pc {
	font-size: 36px;
	margin-top: 5px;
}

.cta__button {
	margin-top: 90px;
	padding: 17px 105px;
}

.sec01 {
	padding-block: 76px 100px;
}

.sec01__container {
	flex-direction: row;
	justify-content: space-between;
}

.sec01__img {
	max-width: 368px;
}

.sec01__content {
	flex-shrink: 0;
	margin-top: 60px;
}

.sec01__text01 {
	font-size: 20px;
}

.sec01__text01.--pc {
	font-size: 20px;
}

.sec01__text02 {
	font-size: 20px;
}

.sec01__text03 {
	font-size: 14px;
}

.sec02 {
	padding-block: 76px 85px;
}

.sec02__container {
	flex-direction: row-reverse;
	justify-content: space-between;
}

.sec02__img {
	max-width: 363px;
}

.sec02__content {
	flex-shrink: 0;
}

.sec03 {
	padding-block: 75px 40px;
}

.sec03__items {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 40px;
	justify-content: center;
}

.sec03__item {
	height: -moz-fit-content;
	height: fit-content;
	min-width: 400px;
	width: calc((100% - 80px) / 3);
}

.sec03__item-subtitle {
	font-size: 20px;
}

.sec04 {
	font-weight: bold;
	padding-block: 35px 119px;
}

.sec04__container {
	flex-direction: row-reverse;
	font-weight: 400;
	gap: 45px;
}

.sec04__img {
	flex-shrink: 0;
	width: 40%;
}

.sec04__text {
	font-size: 14px;
}

.sec05 {
	padding-block: 38px 178px;
}

.sec06 {
	padding-block: 117px 60px;
}

.sec06__img {
	margin-top: 64px;
}

.sec07 {
	padding-block: 60px 90px;
}

.sec07__inner {
	padding: 48px 48px 52px;
}

.sec07__panel {
	flex-direction: row;
	gap: 28px;
}

.sec07__price-card,
.sec07__payment-card {
	padding: 32px;
}

.sec07__price-number {
	font-size: 56px;
}

.sec07__price-unit {
	font-size: 28px;
}

.sec07__payment-methods {
	gap: 24px;
}

.sec07__payment-icon {
	height: 48px;
	width: 48px;
}

.sec07__foot-text {
	font-size: 16px;
}

.sec08 {
	padding-block: 36px 107px;
}

.sec08__container {
	flex-direction: row;
	gap: 41px;
}

.sec08__thumb {
	flex-shrink: 0;
	width: 45%;
}

.sec08__note {
	font-size: 14px;
}

.sec08__content {
	gap: 10px;
}

.sec08__text {
	font-size: 14px;
}

.sec09 {
	padding-block: 107px 90px;
}

.sec09__items {
	gap: 37px;
	margin-top: 92px;
}

.sec09__head {
	gap: 13px;
}

.sec09__head-text {
	font-size: 28px;
}

.sec09__text {
	font-size: 14px;
}

.sec09__text.--pc {
	font-size: 18px;
}

.sec10 {
	padding-block: 71px;
}

.sec11 {
	padding-block: 19px 142px;
}

.sec11__label {
	font-size: 14px;
}

.sec11__control {
	font-size: 16px;
}

.sec11__text-error {
	font-size: 14px;
}

.sec11__actions {
	margin-top: 32px;
}

.sec11__submit {
	width: 274px;
}

.footer {
	padding-block: 77px 84p;
}

.footer__text {
	font-size: 14px;
}

}

@media screen and (min-width: 1080px) {

.c-wrap {
	max-width: 960px;
}

.c-wrap.--1280 {
	max-width: 1280px;
}

.sec01__content {
	margin-right: 147px;
}

.sec02__container {
	padding-left: 117px;
}

.sec03__item {
	min-width: 1px;
	width: calc((100% - 80px) / 3);
}

.sec04__img {
	width: 368px;
}

.sec05__items {
	gap: 55px;
	margin-top: 44px;
}

.sec05__item {
	flex-direction: row-reverse;
	margin: 0 auto;
	max-width: 810px;
}

.sec05__img {
	flex-shrink: 0;
	width: 405px;
}

.sec05__body {
	left: 40px;
	margin-top: 0;
	padding: 20px 20px 45px;
	position: relative;
}

.sec05__name {
	font-size: 28px;
}

.sec05__text {
	font-size: 14px;
}

.sec07__panel {
	align-items: stretch;
}

.sec07__payment-card {
	max-width: 360px;
}

.sec08__thumb {
	width: 368px;
}

.s-sp {
	display: none;
}

.s-pc {
	display: block;
}

}

/* FVの比率予約（CLSゼロ化 & 高さ確保） */
.fv__media{ position:relative; width:100%; aspect-ratio:1500/1677; } /* SP実比率 */
@media (min-width:768px){ .fv__media{ aspect-ratio:1414/517; } }   /* PC実比率 */
.fv__media picture, .fv__media img{ position:absolute; inset:0; width:100%; height:100%; }
.fv__media img{ object-fit:cover; }


/* FVのテキスト高さ確保（再掲） */
.fv__banner-text{ line-height:1.4; min-height:calc(1em * 4.6); }

/* CSS: fold下の大きなセクションに付ける */
.sec01,.sec02,.sec03,.sec04,.sec05,.sec06,.sec07,.sec08,.sec09,.sec10,.sec11{
  content-visibility:auto;
  contain-intrinsic-size:1px 1200px; /* だいたいの高さの当て木 */
}
