@charset "UTF-8";
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

body {
	line-height: 1;
}

ol,
ul {
	list-style: none;
}

a {
	text-decoration: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/*--- iosのスタイルリセット  ---*/
input[type="submit"],
input[type="button"] {
	border-radius: 10px;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	-moz-appearance: button;
	appearance: button;
	border: none;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}

input[type="submit"]:focus,
input[type="button"]:focus {
	outline-offset: -2px;
}

a:hover {
	opacity: 0.8;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.wrapper {
	position: relative;
}

/* =============================================================================
Image
========================================================================== */
a {
	display: block;
	cursor: pointer;
}

picture,
figure {
	display: block;
}

img {
	width: 100%;
	height: 100%;
}

/* =============================================================================
Basic style
========================================================================== */
html {
	overflow-x: hidden;
	scroll-behavior: smooth;
}

body {
	position: relative;
	overflow-x: hidden;
	word-break: break-all;
	font-family: "Noto Sans JP", sans-serif !important;
	color: #00345d !important;
}

.oswald {
	font-family: "Oswald", sans-serif;
}

/*==============================================================================
Media
============================================================================= */
/*
  sp
----------------------------------------------- */
/*
  pc
----------------------------------------------- */
/*
  xl-pc
----------------------------------------------- */
/*==============================================================================
Accessibility
============================================================================= */
.screen-reader-text {
	position: absolute;
	overflow: hidden;
	width: 1px;
	height: 1px;
	clip: rect(1px, 1px, 1px, 1px);
}

/*==============================================================================
font-size
============================================================================= */
/*
	  mobile
  ----------------------------------------------- */
@media screen and (max-width: 767px) {
	html {
		font-size: 2.1333333333vw;
	}
	p {
		font-size: 1rem;
	}
}
/*
  PC
  ----------------------------------------------- */
@media screen and (min-width: 768px) {
	html {
		font-size: 1.1111111111vw;
	}
	p {
		font-size: 1rem;
	}
}
/*
  xl-PC
  ----------------------------------------------- */
@media screen and (min-width: 2001px) {
	html {
		font-size: 1rem;
	}
	p {
		font-size: 1rem;
	}
}
/*==============================================================================
Responsive
============================================================================= */
@media screen and (max-width: 767px) {
	.inner {
		width: 41.875rem;
		margin: 0 auto;
		position: relative;
	}
	.pc-only {
		display: none;
	}
	.sp-only {
		display: block;
	}
}
@media screen and (min-width: 768px) {
	.inner {
		width: 68.75rem;
		margin: 0 auto;
		position: relative;
	}
	.pc-only {
		display: block;
	}
	.sp-only {
		display: none;
	}
}
/*==============================================================================
Header
============================================================================= */
@media screen and (max-width: 767px) {
	.header-bg {
		background: #fff;
		padding: 1.125rem 0;
	}
	.header-inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		width: 41.875rem;
		margin: 0 auto;
	}
	.header-logo {
		width: 13.75rem;
	}
	.header-txt {
		font-size: 1.75rem;
		letter-spacing: 0.08em;
		font-weight: 500;
		margin-right: -0.9375rem;
	}
	.header-txt .color {
		color: #ed5e01;
		font-weight: 600;
	}
	.header-txt .num {
		font-size: 2.75rem;
	}
	.header-txt .alert {
		font-size: 1rem;
		font-weight: 400;
		vertical-align: text-top;
	}
}
@media screen and (min-width: 768px) {
	.header-bg {
		background: #fff;
		padding: 1.0625rem 0;
	}
	.header-inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		gap: 0 2.5rem;
		width: 75rem;
		margin: 0 auto;
	}
	.header-logo {
		width: 11.375rem;
		margin-left: 2.1875rem;
	}
	.header-txt {
		font-size: 1.375rem;
		letter-spacing: 0.08em;
		font-weight: 500;
	}
	.header-txt .color {
		color: #ed5e01;
		font-weight: 600;
	}
	.header-txt .num {
		font-size: 2.125rem;
	}
	.header-txt .alert {
		font-size: 0.625rem;
		font-weight: 400;
		vertical-align: text-top;
	}
}
/*==============================================================================
fv
============================================================================= */
@media screen and (max-width: 767px) {
	.fv-bg {
		background: url(../images/fv-bg.webp) no-repeat top center / cover;
		padding: 1.8125rem 0 7.3125rem;
	}
	.fv-inner {
		position: relative;
	}
	.fv .swiper-container01 {
		width: 46.875rem;
		margin: 0 auto;
		overflow-x: hidden;
		overflow-y: hidden;
	}
	.fv-slide-img01 {
		width: 44.375rem;
		margin: 0 0 0 auto;
	}
	.fv-slide-img02 {
		width: 45.3125rem;
		margin: 0.75rem 0 0 auto;
	}
	.fv-slide-img03 {
		width: 43.75rem;
		margin: 0.75rem auto 0;
	}
	.fv-slide-img04 {
		width: 43.75rem;
		margin: 0.75rem auto 0;
	}
	.fv .swiper-pagination01 {
		left: 0;
		right: 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		margin: 0 auto;
		bottom: -8.7%;
		gap: 0 1.875rem;
	}
	.fv .swiper-button-prev::after,
	.fv .swiper-button-next::after {
		bottom: 0;
		content: "";
		height: 0;
		margin: auto;
		position: absolute;
		top: 0;
		width: 0;
	}
	.fv .swiper-pagination-bullet {
		border-radius: 50%;
		display: block;
		width: 1.25rem;
		height: 1.25rem;
		background-color: #fff;
		opacity: 1;
	}
	.fv .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
	.fv
		.swiper-pagination-horizontal.swiper-pagination-bullets
		.swiper-pagination-bullet {
		margin: 0;
	}
	.fv .swiper-pagination-bullet-active {
		background-color: #00345d;
	}
	.fv .swiper-autoheight,
	.fv .swiper-autoheight .swiper-slide {
		overflow-x: hidden;
		overflow-y: hidden;
	}
}
@media screen and (min-width: 768px) {
	.fv-bg {
		background: url(../images/fv-bg_pc.webp) no-repeat top center / cover;
		padding: 1.3125rem 0 24rem;
	}
	.fv-inner {
		width: 75rem;
		position: relative;
		margin: 0 auto;
	}
	.fv .swiper-container01 {
		width: 75rem;
		margin: 0 auto;
		overflow-x: hidden;
		overflow-y: hidden;
	}
	.fv-slide-img01 {
		width: 68.75rem;
		margin: 1.6875rem 0 0 auto;
	}
	.fv-slide-img02 {
		width: 72.625rem;
		margin: 0 -3.4375rem 0 auto;
	}
	.fv-slide-img03 {
		width: 64.125rem;
		margin: 0.75rem auto 0;
	}
	.fv-slide-img04 {
		width: 64.1875rem;
		margin: 0.75rem auto 0;
	}
	.fv .swiper-pagination01 {
		left: 0;
		right: 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		margin: 0 auto;
		bottom: -9.7%;
		gap: 0 1.5625rem;
	}
	.fv .swiper-button-prev::after,
	.fv .swiper-button-next::after {
		bottom: 0;
		content: "";
		height: 0;
		margin: auto;
		position: absolute;
		top: 0;
		width: 0;
	}
	.fv .swiper-pagination-bullet {
		border-radius: 50%;
		display: block;
		width: 0.75rem;
		height: 0.75rem;
		background-color: #fff;
		opacity: 1;
	}
	.fv .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
	.fv
		.swiper-pagination-horizontal.swiper-pagination-bullets
		.swiper-pagination-bullet {
		margin: 0;
	}
	.fv .swiper-pagination-bullet-active {
		background-color: #00345d;
	}
	.fv .swiper-autoheight,
	.fv .swiper-autoheight .swiper-slide {
		overflow-x: hidden;
		overflow-y: hidden;
	}
}
/*==============================================================================
form
============================================================================= */
@media screen and (max-width: 767px) {
	.pre-form-wrapper {
		padding: 2.5rem 0 4.9375rem;
		background: #00345d;
	}
	.pre-form-wrapper__band {
		position: absolute;
		top: -2.5rem;
		left: -0.9375rem;
		width: 9.375rem;
	}
	.pre-form-wrapper__header {
		position: relative;
		z-index: 1;
		display: inline-block;
		color: #fff;
		font-size: 2.25rem;
		letter-spacing: 0.04em;
		font-weight: 900;
		line-height: 1.49;
		padding-left: 10.3125rem;
		margin-right: -1.875rem;
	}
	.pre-form-wrapper__header .color {
		color: #fff000;
		font-size: 2.875rem;
	}
	.pre-form-wrapper__header-note {
		color: #fff;
		font-size: 1rem;
		letter-spacing: 0.08em;
		font-weight: 300;
		text-align: right;
		margin: 0.5625rem 0 1.3125rem;
	}
	.pre-form-wrapper__mansion {
		position: absolute;
		top: -4rem;
		left: 10rem;
		width: 22rem;
		z-index: 0;
	}
	.pre-form-wrapper__glass {
		position: absolute;
		top: -5.625rem;
		right: -2.5rem;
		width: 15.625rem;
		z-index: 0;
	}
	.pre-form__step-label {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		gap: 0 1.4375rem;
		margin-bottom: 1.5625rem;
	}
	.pre-form__step-number {
		font-size: 1.5rem;
		letter-spacing: 0.08em;
		font-weight: 200;
		color: #fff;
		background: url(../images/form-border.webp) no-repeat center / cover;
		padding: 0.375rem 0 0.375rem 1.875rem;
		width: 9.1875rem;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	.pre-form__step-number .num {
		font-weight: 600;
	}
	.pre-form__label--dark {
		font-size: 1.875rem;
		letter-spacing: 0.08em;
		font-weight: 500;
		color: #fff;
	}
	.pre-form__structure-types {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		gap: 0 1.125rem;
	}
	.pre-form__radio-btn {
		width: 100%;
		position: relative;
	}
	.pre-form__radio-btn input[type="radio"] {
		position: absolute;
		opacity: 0;
		width: 0;
		height: 0;
	}
	.pre-form__radio-btn input[type="radio"]:checked + label {
		color: #ed9d01;
		background-color: #fff;
		outline: 0.3125rem solid #ed9d01;
		-webkit-transition: all 0.3s ease;
		transition: all 0.3s ease;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	.pre-form__radio-btn label {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		width: 100%;
		height: 3.875rem;
		border-radius: 0.25rem;
		outline: 0.125rem solid #fff;
		background-color: #fff;
		font-size: 1.75rem;
		letter-spacing: 0.08em;
		font-weight: 500;
		cursor: pointer;
		-webkit-transition: all 0.2s ease;
		transition: all 0.2s ease;
		text-align: center;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	.pre-form__radio-btn label:hover {
		background-color: #fdf5e5;
	}
	.pre-form__step:not(:first-child) {
		margin-top: 2.0625rem;
	}
	.pre-form__inputs {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		gap: 1.25rem;
	}
	.pre-form__inputs {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.pre-form__input-wrap {
		position: relative;
		width: 100%;
	}
	.pre-form__input-wrap:not(.with-autocomplete):before {
		content: "";
		position: absolute;
		right: 1.25rem;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0.625rem 0.625rem 0 0.625rem;
		border-color: #a0a0a0 transparent transparent transparent;
		pointer-events: none;
	}
	.pre-form__input {
		width: 100%;
		height: 4.4375rem;
		padding-inline: 0;
		padding-block: 0;
		border-radius: 0.3125rem;
		background-color: #fff;
		font-size: 1rem;
		-webkit-transition: all 0.2s ease;
		transition: all 0.2s ease;
		cursor: pointer;
		border: none;
		font-size: 1.75rem;
		letter-spacing: 0.08em;
		padding: 0 1.875rem;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		margin: -0.25rem auto 0;
	}
	.pre-form__input.with_dropdown {
		padding: 0 3.75rem 0 1.875rem;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
	}
	.pre-form__input::-webkit-input-placeholder {
		color: #999999;
	}
	.pre-form__input::-moz-placeholder {
		color: #999999;
	}
	.pre-form__input::-ms-input-placeholder {
		color: #999999;
	}
	.pre-form__input::placeholder {
		color: #999999;
	}
	.pre-form__submit {
		width: 100%;
		margin-top: 2.4375rem;
	}
	.pre-form__btn-wrapper {
		position: relative;
		width: 100%;
	}
	.pre-form__btn {
		width: 100%;
		cursor: pointer;
		padding-block: 0;
		padding-inline: 0;
		border-width: 0;
		background: no-repeat;
	}
}
@media screen and (min-width: 768px) {
	.pre-form-wrapper {
		padding: 1.8125rem 0 2.125rem;
		background: #00345d;
	}
	.fv-form-wrapper {
		width: 75rem;
		margin: -20.5625rem auto 0;
		padding: 1.875rem 0 2.1875rem;
		background: #00345d;
		border-radius: 0.625rem;
	}
	.fv-form-wrapper-b {
		width: 75rem;
		margin: -13.75rem auto 0;
		padding: 1.875rem 0 2.1875rem;
		background: #00345d;
		border-radius: 0.625rem;
	}
	.pre-form-wrapper__inner {
		width: 62.5rem;
		margin: 0 auto;
	}
	.pre-form-wrapper__band {
		position: absolute;
		top: -2.5625rem;
		left: -5.625rem;
		width: 7.5rem;
	}
	.pre-form-wrapper__header {
		position: relative;
		z-index: 1;
		color: #fff;
		font-size: 2rem;
		letter-spacing: 0.06em;
		font-weight: 900;
		line-height: 1.49;
		text-align: right;
		margin-right: 1.25rem;
	}
	.pre-form-wrapper__header .color {
		color: #fff000;
		font-size: 2.625rem;
	}
	.pre-form-wrapper__header .oswald {
		font-size: 2.25rem;
	}
	.pre-form-wrapper__header-note {
		position: relative;
		z-index: 5;
		font-size: 0.75rem;
		letter-spacing: 0.08em;
		text-align: right;
		color: #fff;
		margin: 0.125rem 0 1.375rem;
	}
	.pre-form-wrapper__mansion {
		position: absolute;
		top: -2.8125rem;
		left: 4.5rem;
		width: 19rem;
		z-index: 0;
	}
	.pre-form-wrapper__glass {
		position: absolute;
		top: -2.8125rem;
		right: -4.0625rem;
		width: 12.1875rem;
		z-index: 0;
	}
	.pre-form__step {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	.pre-form__structure-types {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		gap: 0 0.9375rem;
		width: 30.3125rem;
	}
	.pre-form__radio-btn {
		width: 100%;
		position: relative;
	}
	.pre-form__radio-btn input[type="radio"] {
		position: absolute;
		opacity: 0;
		width: 0;
		height: 0;
	}
	.pre-form__radio-btn input[type="radio"]:checked + label {
		color: #ed9d01;
		background-color: #fff;
		border: 0.1875rem solid #ed9d01;
		-webkit-transition: all 0.3s ease;
		transition: all 0.3s ease;
	}
	.pre-form__radio-btn label {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		width: 100%;
		height: 3.125rem;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		border-radius: 0.3125rem;
		border: 1px solid #e0e0e0;
		background-color: #fff;
		color: #00345d;
		font-size: 1.125rem;
		font-weight: 600;
		cursor: pointer;
		-webkit-transition: all 0.2s ease;
		transition: all 0.2s ease;
		text-align: center;
	}
	.pre-form__radio-btn label:hover {
		background-color: #fdf5e5;
	}
	.pre-form__step:not(:first-child) {
		margin-top: 16px;
	}
	.pre-form__step-labels {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	.pre-form__step-label {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
	}
	.pre-form__step-number {
		font-size: 1.125rem;
		letter-spacing: 0.08em;
		font-weight: 200;
		color: #fff;
		background: url(../images/form-border_pc.webp) no-repeat center / cover;
		padding: 0.25rem 0 0.25rem 1.25rem;
		width: 6.4375rem;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		margin-right: 0.9375rem;
	}
	.pre-form__step-number .num {
		font-weight: 600;
	}
	.pre-form__label--dark {
		color: #fff;
		font-size: 1.25rem;
		letter-spacing: 0.08em;
		font-weight: 500;
	}
	.pre-form__label--light {
		color: #262626;
	}
	.pre-form__inputs {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		gap: 0 0.9375rem;
		width: 30.3125rem;
	}
	.pre-form__input-wrap {
		position: relative;
		width: 100%;
	}
	.pre-form__input-wrap:not(.with-autocomplete):before {
		content: "";
		position: absolute;
		right: 20px;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 6px 6px 0 6px;
		border-color: #a0a0a0 transparent transparent transparent;
		pointer-events: none;
	}
	.pre-form__input {
		width: 30.3125rem;
		height: 3.125rem;
		padding: 0 3.125rem;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		border-radius: 0.3125rem;
		background-color: #fff;
		border: none;
		color: #333;
		font-size: 1.125rem;
		font-weight: 500;
		-webkit-transition: all 0.2s ease;
		transition: all 0.2s ease;
		cursor: pointer;
	}
	.pre-form__input.with_dropdown {
		width: 100%;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		padding: 0 2.5rem 0 1rem;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
	}
	.pre-form__input::-webkit-input-placeholder {
		color: #999999;
	}
	.pre-form__input::-moz-placeholder {
		color: #999999;
	}
	.pre-form__input::-ms-input-placeholder {
		color: #999999;
	}
	.pre-form__input::placeholder {
		color: #999999;
	}
	.pre-form__submit {
		width: 100%;
		margin-top: 1.8125rem;
	}
	.pre-form__btn-wrapper {
		position: relative;
		width: 100%;
	}
	.pre-form__btn {
		display: block;
		width: 31.4375rem;
		margin: 0 auto;
		cursor: pointer;
		padding-block: 0;
		padding-inline: 0;
		border-width: 0;
		background: no-repeat;
	}
	.pre-form__btn:hover {
		opacity: 0.8;
		-webkit-transition: 0.3s;
		transition: 0.3s;
	}
}
/*==============================================================================
campaign
============================================================================= */
@media screen and (max-width: 767px) {
	.campaign-bg {
		background: #fff;
		padding: 2.0625rem 0 0.125rem;
	}
	.campaign-txt01 {
		font-size: 1.25rem;
		letter-spacing: 0.08em;
		text-align: center;
		font-weight: 500;
		margin: 1.6875rem auto 0;
		color: #000000;
	}
	.campaign-txt01 a {
		display: inline-block;
		color: #009eca;
		border-bottom: 1px solid #009eca;
		padding-bottom: 0.5625rem;
	}
	.modal {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1050;
		display: none;
		width: 100%;
		height: 100%;
		overflow: hidden;
		outline: 0;
	}
	.modal-dialog {
		position: relative;
		width: auto;
		margin: 0 auto;
		pointer-events: none;
		width: 44.375rem;
	}
	.modal.fade .modal-dialog {
		-webkit-transition: -webkit-transform 0.3s ease-out;
		transition: -webkit-transform 0.3s ease-out;
		transition: transform 0.3s ease-out;
		transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
		-webkit-transform: translate(0, -50px);
		transform: translate(0, -50px);
	}
	.modal.show .modal-dialog {
		-webkit-transform: none;
		transform: none;
	}
	.modal.modal-static .modal-dialog {
		-webkit-transform: scale(1.02);
		transform: scale(1.02);
	}
	.modal-dialog-scrollable {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		max-height: calc(100% - 1rem);
	}
	.modal-dialog-scrollable .modal-content {
		max-height: calc(100vh - 1rem);
		overflow: hidden;
	}
	.modal-dialog-scrollable .modal-header,
	.modal-dialog-scrollable .modal-footer {
		-ms-flex-negative: 0;
		flex-shrink: 0;
	}
	.modal-dialog-scrollable .modal-body {
		overflow-y: auto;
		padding: 2rem;
	}
	.modal-dialog-scrollable .modal-body p {
		line-height: 1.5;
		font-size: 1.8125rem;
	}
	.modal-dialog-scrollable .modal-body ul {
		margin-top: 1.25rem;
	}
	.modal-dialog-scrollable .modal-body li {
		line-height: 1.75;
		padding-left: 1em;
		text-indent: -1em;
		font-size: 1.8125rem;
	}
	.modal-dialog-centered {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		min-height: calc(100% - 1rem);
	}
	.modal-dialog-centered::before {
		display: block;
		height: calc(100vh - 1rem);
		height: -webkit-min-content;
		height: -moz-min-content;
		height: min-content;
		content: "";
	}
	.modal-dialog-centered.modal-dialog-scrollable {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		height: 100%;
	}
	.modal-dialog-centered.modal-dialog-scrollable .modal-content {
		max-height: none;
	}
	.modal-dialog-centered.modal-dialog-scrollable::before {
		content: none;
	}
	.modal-content {
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		width: 100%;
		pointer-events: auto;
		background-color: #fff;
		background-clip: padding-box;
		border: 1px solid rgba(0, 0, 0, 0.2);
		border-radius: 0.3rem;
		outline: 0;
	}
	.modal-header {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		padding: 2rem 2rem;
		border-bottom: 1px solid #dee2e6;
		border-top-left-radius: calc(0.3rem - 1px);
		border-top-right-radius: calc(0.3rem - 1px);
		font-weight: 600;
		font-size: 2rem;
	}
	.modal-header .close {
		padding: 1rem 1rem;
		margin: -1rem -1rem -1rem auto;
		background: #fff;
		border: none;
	}
	.modal-header .close span[aria-hidden="true"] {
		font-size: 3.125rem;
		line-height: 1;
	}
	.modal-title {
		margin-bottom: 0;
		line-height: 1.5;
	}
	.modal-body {
		position: relative;
		-webkit-box-flex: 1;
		-ms-flex: 1 1 auto;
		flex: 1 1 auto;
		padding: 1rem;
	}
	.modal-footer {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: end;
		-ms-flex-pack: end;
		justify-content: flex-end;
		padding: 0.75rem;
		border-top: 1px solid #dee2e6;
		border-bottom-right-radius: calc(0.3rem - 1px);
		border-bottom-left-radius: calc(0.3rem - 1px);
	}
	.modal-footer > * {
		margin: 0.25rem;
	}
	.modal-overlay {
		display: none;
		position: fixed;
		inset: 0;
		z-index: 1000;
		background: rgba(0, 0, 0, 0.5);
	}
	.body-lock {
		position: fixed;
		width: 100%;
		overflow: hidden;
	}
	.body-lock {
		position: fixed;
		left: 0;
		right: 0;
		width: 100%;
		overflow: hidden;
		scroll-behavior: auto !important;
	}
	.body-lock-fixed {
		scroll-behavior: auto !important;
	}
	.body-lock-fixed {
		position: fixed;
		overflow: hidden;
	}
}
@media screen and (min-width: 768px) {
	.campaign-bg {
		background: #fff;
		padding: 3.6rem 0 0.4rem;
	}
	.campaign-bnr {
		width: 62.5rem;
		margin: 0 auto;
	}
	.campaign-txt01 {
		font-size: 1rem;
		letter-spacing: 0.08em;
		text-align: center;
		font-weight: 500;
		margin: 1rem auto 0;
		color: #000000;
	}
	.campaign-txt01 a {
		display: inline-block;
		color: #009eca;
		border-bottom: 1px solid #009eca;
		padding-bottom: 0.5625rem;
	}
	.modal {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1050;
		display: none;
		width: 100%;
		height: 100%;
		overflow: hidden;
		outline: 0;
	}
	.modal-dialog {
		position: relative;
		width: auto;
		margin: 0 auto;
		pointer-events: none;
		width: 34.375rem;
	}
	.modal.fade .modal-dialog {
		-webkit-transition: -webkit-transform 0.3s ease-out;
		transition: -webkit-transform 0.3s ease-out;
		transition: transform 0.3s ease-out;
		transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
		-webkit-transform: translate(0, -50px);
		transform: translate(0, -50px);
	}
	.modal.show .modal-dialog {
		-webkit-transform: none;
		transform: none;
	}
	.modal.modal-static .modal-dialog {
		-webkit-transform: scale(1.02);
		transform: scale(1.02);
	}
	.modal-dialog-scrollable {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		max-height: calc(100% - 1rem);
	}
	.modal-dialog-scrollable .modal-content {
		max-height: calc(100vh - 1rem);
		overflow: hidden;
	}
	.modal-dialog-scrollable .modal-header,
	.modal-dialog-scrollable .modal-footer {
		-ms-flex-negative: 0;
		flex-shrink: 0;
	}
	.modal-dialog-scrollable .modal-body {
		overflow-y: auto;
	}
	.modal-dialog-scrollable .modal-body p {
		line-height: 1.75;
	}
	.modal-dialog-scrollable .modal-body ul {
		margin-top: 1.25rem;
	}
	.modal-dialog-scrollable .modal-body li {
		line-height: 1.75;
		padding-left: 1em;
		text-indent: -1em;
	}
	.modal-dialog-centered {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		min-height: calc(100% - 1rem);
	}
	.modal-dialog-centered::before {
		display: block;
		height: calc(100vh - 1rem);
		height: -webkit-min-content;
		height: -moz-min-content;
		height: min-content;
		content: "";
	}
	.modal-dialog-centered.modal-dialog-scrollable {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		height: 100%;
	}
	.modal-dialog-centered.modal-dialog-scrollable .modal-content {
		max-height: none;
	}
	.modal-dialog-centered.modal-dialog-scrollable::before {
		content: none;
	}
	.modal-content {
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		width: 100%;
		pointer-events: auto;
		background-color: #fff;
		background-clip: padding-box;
		border: 1px solid rgba(0, 0, 0, 0.2);
		border-radius: 0.3rem;
		outline: 0;
	}
	.modal-header {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		padding: 1rem 1rem;
		border-bottom: 1px solid #dee2e6;
		border-top-left-radius: calc(0.3rem - 1px);
		border-top-right-radius: calc(0.3rem - 1px);
		font-weight: 600;
	}
	.modal-header .close {
		padding: 1rem 1rem;
		margin: -1rem -1rem -1rem auto;
		background: #fff;
		border: none;
	}
	.modal-header .close span[aria-hidden="true"] {
		font-size: 2rem;
		line-height: 1;
	}
	.modal-title {
		margin-bottom: 0;
		line-height: 1.5;
	}
	.modal-body {
		position: relative;
		-webkit-box-flex: 1;
		-ms-flex: 1 1 auto;
		flex: 1 1 auto;
		padding: 1rem;
	}
	.modal-footer {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: end;
		-ms-flex-pack: end;
		justify-content: flex-end;
		padding: 0.75rem;
		border-top: 1px solid #dee2e6;
		border-bottom-right-radius: calc(0.3rem - 1px);
		border-bottom-left-radius: calc(0.3rem - 1px);
	}
	.modal-footer > * {
		margin: 0.25rem;
	}
	.modal-overlay {
		display: none;
		position: fixed;
		inset: 0;
		z-index: 1000;
		background: rgba(0, 0, 0, 0.5);
	}
	.body-lock {
		position: fixed;
		left: 0;
		right: 0;
		width: 100%;
		overflow: hidden;
		scroll-behavior: auto !important;
	}
	.body-lock-fixed {
		scroll-behavior: auto !important;
	}
	.body-lock-fixed {
		position: fixed;
		overflow: hidden;
	}
}
html.modal-open,
body.modal-open {
	position: static !important;
	overflow: visible !important;
}

/*==============================================================================
case
============================================================================= */
@media screen and (max-width: 767px) {
	.case-bg {
		background: url(../images/case-bg.webp) no-repeat top center / cover;
		padding: 6.8rem 0 9.9375rem;
	}
	.case-txt01 {
		position: relative;
		font-size: 2.1rem;
		letter-spacing: 0.08em;
		line-height: 1.46;
		font-weight: 500;
		background: #fff;
		width: 29rem;
		border-radius: 2.5rem;
		margin: 0 auto 0 0;
		padding: 0.95rem 0;
		text-align: center;
	}
	.case-txt01::before {
		content: "";
		position: absolute;
		bottom: -1.0625rem;
		left: 6.5rem;
		width: 1.125rem;
		height: 1.125rem;
		background: #fff;
		-webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
		clip-path: polygon(0 0, 100% 0, 0 100%);
	}
	.case-txt01.diff {
		width: 36rem;
		margin: 1.6rem 0 0 auto;
	}
	.case-txt01.diff::before {
		content: "";
		position: absolute;
		bottom: -1.0625rem;
		left: 26.5rem;
		width: 1.125rem;
		height: 1.125rem;
		background: #fff;
		-webkit-clip-path: polygon(100% 0, 100% 100%, 0 0);
		clip-path: polygon(100% 0, 100% 100%, 0 0);
	}
	.case-ttl01 {
		width: 43.125rem;
		margin: 3.2rem -1.4375rem 0 auto;
	}
	.case .swiper-container02 {
		position: relative;
	}
	.case-tabs {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: end;
		-ms-flex-align: end;
		align-items: end;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		gap: 0 0.0625rem;
		margin: 2.7rem auto 0;
		height: 4.625rem;
	}
	.case-tab {
		cursor: pointer;
		padding: 0.9375rem 0;
		background: -webkit-gradient(
			linear,
			left top,
			right top,
			from(#728e9d),
			to(#aab9c5)
		);
		background: linear-gradient(90deg, #728e9d, #aab9c5);
		-webkit-transition: all 0.3s ease;
		transition: all 0.3s ease;
		color: #fff;
		border-radius: 0 0.625rem 0 0;
		width: 100%;
	}
	.case-tab .txt {
		font-size: 1.875rem;
		font-weight: 200;
		text-align: center;
	}
	.case-tab .txt .num {
		font-weight: 600;
	}
	.case-tab.active {
		background: -webkit-gradient(
			linear,
			left top,
			right top,
			from(#007fa2),
			to(#00345d)
		);
		background: linear-gradient(90deg, #007fa2, #00345d);
		padding: 1.3125rem 0 1.25rem;
	}
	.case-slide {
		background: #fff;
		-webkit-box-shadow: -8px 6px 16px rgba(0, 65, 83, 0.09);
		box-shadow: -8px 6px 16px rgba(0, 65, 83, 0.09);
		border-radius: 0 0 0.625rem 0.625rem;
		padding: 2.5rem 0 3.4375rem;
	}
	.case-slide-head {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		gap: 0 2rem;
		padding: 0 2.5rem 1.8125rem;
	}
	.case-slide-head .img01 {
		width: 11.5625rem;
	}
	.case-slide-head .right {
		width: 23.875rem;
	}
	.case-slide-head .num {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		font-size: 1.875rem;
		font-weight: 200;
		margin: 0.4375rem 0 0;
	}
	.case-slide-head .num .bold {
		font-weight: 600;
	}
	.case-slide-head .type {
		font-size: 2rem;
		letter-spacing: 0.04em;
		font-weight: 900;
		line-height: 1;
		background: #d0d5d9;
		padding: 0.5625rem 0 0.5625rem 1.5625rem;
		width: 23.75rem;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		margin: 1.25rem 0 0;
	}
	.case-slide-head .txt {
		font-size: 1.625rem;
		letter-spacing: 0.04em;
		font-weight: 500;
		line-height: 1.15;
		margin: 0.9375rem -2rem 0 1rem;
	}
	.case-slide-ttl01 {
		font-size: 2.875rem;
		letter-spacing: 0.04em;
		text-align: center;
		color: #fff;
		font-weight: 900;
		background: #00345d;
		padding: 0.75rem 0;
		line-height: 1.3;
	}
	.case-slide-ttl01 .color {
		color: #fff000;
	}
	.case-slide-ttl01 .num {
		font-size: 3.25rem;
	}
	.case-slide-price {
		width: 37.1875rem;
		margin: 2.4375rem auto 0;
	}
	.case-slide-txt01 {
		font-size: 1.75rem;
		letter-spacing: 0.04em;
		font-weight: 500;
		line-height: 1.57;
		width: 37.1875rem;
		margin: 1.4375rem auto 0;
	}
	.case .prev-btn,
	.case .next-btn {
		width: 5.3125rem;
		height: 5.3125rem;
		background: url(../images/arrow.webp) no-repeat center / cover;
		position: absolute;
		top: 52.4%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		z-index: 10;
		cursor: pointer;
	}
	.case .prev-btn {
		-webkit-transform: translateY(-50%) scaleX(-1);
		transform: translateY(-50%) scaleX(-1);
	}
	.case .prev-btn {
		left: -2.5rem;
	}
	.case .next-btn {
		right: -2.5rem;
	}
	.case .prev-btn::after,
	.case .next-btn::after {
		display: none;
	}
	.case .swiper-pagination02 {
		left: 0;
		right: 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		margin: 0 auto;
		bottom: -5.2%;
		gap: 0 1.875rem;
	}
	.case .swiper-pagination-bullet {
		border-radius: 50%;
		display: block;
		width: 1.25rem;
		height: 1.25rem;
		background-color: #fff;
		opacity: 1;
	}
	.case
		.swiper-horizontal
		> .swiper-pagination-bullets
		.swiper-pagination-bullet,
	.case
		.swiper-pagination-horizontal.swiper-pagination-bullets
		.swiper-pagination-bullet {
		margin: 0;
	}
	.case .swiper-pagination-bullet-active {
		background-color: #00345d;
	}
	.case .swiper-autoheight,
	.case .swiper-autoheight .swiper-slide {
		overflow-x: hidden;
		overflow-y: hidden;
	}
}
@media screen and (min-width: 768px) {
	.case-bg {
		background: url(../images/case-bg_pc.webp) no-repeat top center / cover;
		padding: 4.7rem 0 8.1875rem;
	}
	.case-inner {
		width: 62.5rem;
		margin: 0 auto;
	}
	.case-txt01-box {
		margin-left: 3rem;
	}
	.case-txt01 {
		display: inline-block;
		position: relative;
		font-size: 1.25rem;
		line-height: 1.6;
		letter-spacing: 0.08em;
		font-weight: 500;
		background: #fff;
		width: 20rem;
		border-radius: 1.5rem;
		padding: 0.6rem 0;
		text-align: center;
		margin: 0 0.5rem;
	}
	.case-txt01::before {
		content: "";
		position: absolute;
		bottom: -0.625rem;
		left: 5.3125rem;
		width: 0.6875rem;
		height: 0.6875rem;
		background: #fff;
		-webkit-clip-path: polygon(100% 0, 100% 100%, 0 0);
		clip-path: polygon(100% 0, 100% 100%, 0 0);
	}
	.case-txt01.diff {
		width: 22.25rem;
	}
	.case-txt01.diff::before {
		content: "";
		position: absolute;
		bottom: -0.625rem;
		left: 16.625rem;
		width: 0.6875rem;
		height: 0.6875rem;
		background: #fff;
		-webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
		clip-path: polygon(0 0, 100% 0, 0 100%);
	}
	.case-ttl01 {
		width: 38.375rem;
		margin: 1.6rem 0 0 4rem;
	}
	.case .swiper-wrapper {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		-webkit-box-align: stretch;
		-ms-flex-align: stretch;
		align-items: stretch;
		gap: 0 1.25rem;
		width: 62.5rem;
		margin: 2.9rem auto 0;
	}
	.case .swiper-slide {
		background: #fff;
		-webkit-box-shadow: -8px 6px 16px rgba(0, 65, 83, 0.09);
		box-shadow: -8px 6px 16px rgba(0, 65, 83, 0.09);
		border-radius: 0.625rem;
		padding: 1.5rem 0 0.375rem;
	}
	.case-slide-head {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		gap: 0 1.125rem;
		padding: 0 0.9375rem 1rem 0.9375rem;
	}
	.case-slide-head .img01 {
		width: 6.75rem;
	}
	.case-slide-head .right {
		width: 10.3125rem;
	}
	.case-slide-head .num {
		position: absolute;
		top: -0.75rem;
		left: 0;
		right: 0;
		margin: 0 auto;
		font-size: 1.3125rem;
		font-weight: 200;
		text-align: center;
	}
	.case-slide-head .num .bold {
		font-weight: 600;
	}
	.case-slide-head .type {
		font-size: 0.875rem;
		letter-spacing: 0.04em;
		font-weight: 900;
		line-height: 1;
		background: #d0d5d9;
		padding: 0.25rem 0 0.25rem 0.5rem;
		width: 10.1875rem;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		margin: 0.75rem 0 0;
	}
	.case-slide-head .txt {
		font-size: 1rem;
		letter-spacing: 0.04em;
		font-weight: 500;
		line-height: 1.56;
		margin: 0.375rem 0 0 0;
	}
	.case-slide-ttl01 {
		font-size: 1.375rem;
		letter-spacing: 0.04em;
		text-align: center;
		color: #fff;
		font-weight: 900;
		background: #00345d;
		padding: 0.5625rem 0;
		line-height: 1.3;
	}
	.case-slide-ttl01 .color {
		color: #fff000;
	}
	.case-slide-ttl01 .num {
		font-size: 1.625rem;
	}
	.case-slide-price {
		width: 18.5rem;
		margin: 1rem auto 0;
	}
	.case-slide-txt01 {
		font-size: 1rem;
		letter-spacing: 0.04em;
		font-weight: 500;
		line-height: 1.66;
		width: 18.125rem;
		margin: 0.6875rem auto 0;
	}
	.case .swiper-button-prev,
	.case .swiper-rtl .swiper-button-next {
		display: none;
	}
	.case .swiper-button-next,
	.case .swiper-rtl .swiper-button-prev {
		display: none;
	}
	.case .prev-btn::after,
	.case .next-btn::after {
		display: none;
	}
	.case .swiper-pagination {
		display: none;
	}
}

/*==============================================================================
now
============================================================================= */
@media screen and (max-width: 767px) {
	.now-bg {
		background: url(../images/mansion/now-bg_pc.webp) no-repeat top center /
			cover;
		padding: 5.3rem 0 6.7rem;
	}
	.now-ttl01 {
		font-size: 2.7rem;
		color: #00345d;
		text-align: center;
		font-weight: 900;
		line-height: 1.53;
	}
	.now-ttl01 .color {
		font-size: 3.9rem;
		color: #ed5e01;
	}
	.now-glaph {
		width: 43.3rem;
		margin: 2rem 0 1rem -0.5rem;
	}
	.now-txt01 {
		font-size: 1.8rem;
		color: #00345d;
		text-align: center;
		font-weight: 500;
		line-height: 2.26;
		letter-spacing: .04em;
	}
	.now-txt01 .inline {
		display: inline-block;
		color: #fff;
		background: #00345d;
		line-height: 1;
		padding: 0.5rem 0.5rem;
	}
	.now-txt01 .color {
		color: #fff000;
	}
}
@media screen and (min-width: 768px) {
	.now-bg {
		background: url(../images/mansion/now-bg_pc.webp) no-repeat top center /
			cover;
		padding: 4.3rem 0 6.3rem;
	}
	.now-ttl01 {
		font-size: 2.3rem;
		color: #00345d;
		text-align: center;
		font-weight: 900;
		line-height: 1.57;
	}
	.now-ttl01 .color {
		font-size: 3rem;
		color: #ed5e01;
	}
	.now-glaph {
		width: 43.6rem;
		margin: 1.2rem auto 1.5rem;
	}
	.now-txt01 {
		font-size: 1.2rem;
		color: #00345d;
		text-align: center;
		font-weight: 500;
		line-height: 2.2;
	}
	.now-txt01 .inline {
		display: inline-block;
		color: #fff;
		background: #00345d;
		line-height: 1;
		padding: 0.3rem;
	}
	.now-txt01 .color {
		color: #fff000;
	}
}
/*==============================================================================
env
============================================================================= */
@media screen and (max-width: 767px) {
	.env-bg {
		background: #e3f3f7;
		padding: 6.25rem 0 9.875rem;
	}
	.env-head {
		font-size: 1.8125rem;
		letter-spacing: 0.04em;
		text-align: center;
		color: #fff;
		font-weight: 500;
		background: #00345d;
		border-radius: 100vmax;
		padding: 1.25rem 0;
		width: 41.875rem;
		margin: 0 auto;
	}
	.env-ttl01 {
		position: relative;
		width: 39.5rem;
		margin: 2.5rem auto 0;
	}
	.env-img01 {
		width: 46.875rem;
		margin: -3.5625rem auto 0;
	}
	.env-ttl02 {
		font-size: 2.5rem;
		letter-spacing: 0.04em;
		text-align: center;
		line-height: 1.3;
		margin: -0.75rem auto 0;
	}
	.env-ttl02 .small {
		font-size: 2.25rem;
	}
	.env-ttl02 .bold {
		font-weight: bold;
		line-height: 1.65;
	}
	.env-ttl02 .color {
		color: #009eca;
		font-weight: 900;
		border-bottom: 0.0625rem solid #009eca;
	}
	.env-ttl02 .big {
		font-size: 3.125rem;
	}
	.env-img02 {
		width: 41.875rem;
		margin: 2.9375rem auto 0;
	}
}
@media screen and (min-width: 768px) {
	.env-bg {
		background: url(../images/env-bg_pc.webp) no-repeat top center / cover;
		padding: 4.5rem 0 8.25rem;
	}
	.env-inner {
		width: 62.5rem;
		margin: 0 auto;
	}
	.env-head {
		font-size: 1.25rem;
		letter-spacing: 0.08em;
		text-align: center;
		color: #fff;
		font-weight: 500;
		background: #00345d;
		border-radius: 100vmax;
		padding: 0.9375rem 0;
		width: 31.25rem;
		margin: 0 0 0 auto;
	}
	.env-ttl01 {
		position: relative;
		width: 31.5625rem;
		margin: 1.875rem 0 0 auto;
	}
	.env-content {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		background: #fff;
		padding: 0 2.5rem 0.75rem 2.5rem;
		border-radius: 2.4375rem;
		margin: 4.0625rem auto 0;
	}
	.env-txt01 {
		width: 9.5rem;
		margin-top: -1.1875rem;
	}
	.env-ttl02 {
		font-size: 2rem;
		letter-spacing: 0.04em;
		line-height: 1.28;
		width: 22.5rem;
		margin: 0.6875rem 0 0;
	}
	.env-ttl02 .small {
		font-size: 1.875rem;
	}
	.env-ttl02 .bold {
		font-size: 2.125rem;
		font-weight: bold;
		line-height: 2.2;
	}
	.env-ttl02 .color {
		color: #009eca;
		font-weight: 900;
		border-bottom: 0.0625rem solid #009eca;
		padding-bottom: 0.3125rem;
	}
	.env-ttl02 .big {
		font-size: 2.625rem;
	}
	.env-img02 {
		width: 32.5rem;
		margin: 0;
	}
}
/*==============================================================================
support
============================================================================= */
@media screen and (max-width: 767px) {
	.support-bg {
		background: #009eca;
		padding: 8.625rem 0 6.875rem;
	}
	.support-ttl02 {
		position: absolute;
		top: -19.5625rem;
		font-size: 1.875rem;
		letter-spacing: 0.04em;
		text-align: center;
		line-height: 1.86;
		background: #e3f3f7;
		border-radius: 100vmax;
		width: 41.875rem;
		margin: 0 auto;
		padding: 2.5rem 0;
		font-weight: 400;
	}
	.support-ttl02 .bold {
		font-weight: 900;
	}
	.support-ttl02::before {
		content: "";
		position: absolute;
		bottom: -1.1875rem;
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 0;
		height: 0;
		border-left: 1.25rem solid transparent;
		border-right: 1.25rem solid transparent;
		border-top: 1.25rem solid #e3f3f7;
	}
	.support-ttl01 {
		width: 41.875rem;
		margin: 0 auto;
	}
	.support-box {
		background: url(../images/support-bg.webp) no-repeat top center / cover;
		padding: 3.5625rem 0 3rem;
		margin: 1.8125rem auto 0;
	}
	.support-txt01 {
		font-size: 1.75rem;
		letter-spacing: 0.04em;
		line-height: 1.64;
		font-weight: 400;
		margin-left: 2.5rem;
	}
	.support-icon01 {
		width: 3.875rem;
		margin: 3.4375rem auto 0;
	}
	.support-txt02 {
		position: relative;
		font-size: 1.75rem;
		letter-spacing: 0.04em;
		line-height: 1.78;
		text-align: center;
		margin: -0.375rem auto 0;
		font-weight: 400;
	}
	.support-txt02 .bold {
		font-weight: 900;
	}
	.support-txt02::before {
		content: "";
		position: absolute;
		top: -2.1875rem;
		left: 1.25rem;
		background: url(../images/support-laurel.webp) no-repeat center / cover;
		width: 2.9375rem;
		height: 9.375rem;
		-webkit-transform: scaleX(-1);
		transform: scaleX(-1);
	}
	.support-txt02::after {
		content: "";
		position: absolute;
		top: -2.1875rem;
		right: 1.25rem;
		background: url(../images/support-laurel.webp) no-repeat center / cover;
		width: 2.9375rem;
		height: 9.375rem;
	}
}
@media screen and (min-width: 768px) {
	.support-bg {
		background: #009eca;
		padding: 5.875rem 0 5.375rem;
	}
	.support-ttl02 {
		position: absolute;
		top: -12.1875rem;
		left: 0;
		right: 0;
		font-size: 1.5625rem;
		letter-spacing: 0.04em;
		text-align: center;
		line-height: 1.58;
		background: #e3f3f7;
		border-radius: 100vmax;
		width: 62.5rem;
		margin: 0 auto;
		padding: 2.125rem 0;
		font-weight: 400;
	}
	.support-ttl02 .bold {
		font-weight: 900;
	}
	.support-ttl02::before {
		content: "";
		position: absolute;
		bottom: -0.5625rem;
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 0;
		height: 0;
		border-left: 0.625rem solid transparent;
		border-right: 0.625rem solid transparent;
		border-top: 0.625rem solid #e3f3f7;
	}
	.support-ttl01 {
		width: 31.9375rem;
		margin: 2.8125rem auto 0;
	}
	.support-box {
		background: url(../images/support-bg_pc.webp) no-repeat top center / cover;
		padding: 4.875rem 0 2.3125rem;
		margin: -0.5rem auto;
		width: 51.25rem;
	}
	.support-txt01 {
		font-size: 1.125rem;
		letter-spacing: 0.04em;
		line-height: 1.81;
		font-weight: 400;
		margin-left: 5.625rem;
	}
	.support-btm {
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		gap: 0 0.9375rem;
		margin: 4.25rem auto 0;
	}
	.support-btm::before {
		content: "";
		position: absolute;
		top: -1.25rem;
		left: 7.5rem;
		background: url(../images/support-laurel.webp) no-repeat center / cover;
		width: 2.0625rem;
		height: 6.375rem;
		-webkit-transform: scaleX(-1);
		transform: scaleX(-1);
	}
	.support-btm::after {
		content: "";
		position: absolute;
		top: -1.25rem;
		right: 7.5rem;
		background: url(../images/support-laurel.webp) no-repeat center / cover;
		width: 2.0625rem;
		height: 6.375rem;
	}
	.support-icon01 {
		width: 3.75rem;
	}
	.support-txt02 {
		font-size: 1.25rem;
		letter-spacing: 0.04em;
		line-height: 1.52;
		text-align: center;
		font-weight: 400;
	}
	.support-txt02 .bold {
		font-weight: 900;
	}
}
/*==============================================================================
Footer
============================================================================= */
@media screen and (max-width: 767px) {
	.footer-bg {
		background: #fff;
		padding: 2.5625rem 0;
	}
	.footer-copy {
		font-size: 1.5rem;
		letter-spacing: 0.04em;
		text-align: center;
	}
}
@media screen and (min-width: 768px) {
	.footer-bg {
		background: #fff;
		padding: 1.875rem 0;
	}
	.footer-copy {
		font-size: 0.75rem;
		letter-spacing: 0.04em;
		text-align: center;
		font-weight: 500;
	}
}
