.animate_animated {
	animation-duration: 1s;
	animation-fill-mode: both;
	animation-timing-function: ease;
}

.animate__fade {
	animation-name: fade;
	opacity: 0;
}

.cl-pri {
	color: #192E86;
}

.cl-pri.--bold {
	font-weight: 600;
}

.cl-bl-2 {
	color: #556FD8;
}

.fnt-en {
	font-family: "Montserrat", sans-serif;
}

.txt-line {
	position: relative;
	display: inline-block;
	z-index: 1;
}

.txt-line:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: -0.3rem;
	background: #ffde67;
	width: 100%;
	height: 0.8rem;
	border-radius: 0.2rem;
	z-index: -1;
}

.txt-line.--plan:after {
	bottom: 0;
}

.p-header {
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 4;
	box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.05);
}

.p-header-content {
	height: 6.6rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.p-header .ic-menu {
	text-align: right;
	width: 5rem;
}

.p-mv {
	background: #E4E9FF;
	padding-top: 8.7rem;
	overflow: hidden;
}

.p-mv__wrap {
	position: relative;
}

.p-mv__content {
	background: #fff;
	position: relative;
	border-radius: 1.2rem;
	overflow: hidden;
	padding-bottom: 24.5rem;
}

.p-mv__img {
	position: absolute;
}

.p-mv__meta {
	padding: 2.4rem 2rem;
	position: relative;
	z-index: 1;
}

.p-mv__sub {
	font-size: 1.3rem;
	font-weight: 600;
	position: relative;
	margin-bottom: 1rem;
}

.p-mv__sub .txt-line {
	display: inline-block;
	position: relative;
	z-index: 1;
}

.p-mv .ttl01 {
	font-weight: 700;
	font-size: 3.7rem;
	line-height: 1.3;
	font-style: italic;
	margin-bottom: 0.5rem;
}

.p-mv__inner .mv-ck {
	background: #E4E9FF;
	color: #192E86;
	text-align: center;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	letter-spacing: -0.02em;
}

.p-mv__per {
	position: relative;
	margin-bottom: 1.2rem;
}

.p-mv__per img {
	position: absolute;
	left: 0;
	width: 12rem;
}

.p-mv__per img img {
	width: 100%;
	height: 100%;
	-o-object-fit: scale-down;
	object-fit: scale-down;
}

.p-mv__num {
	color: #192E86;
	font-weight: bold;
	font-size: 7.3rem;
	font-style: italic;
	font-family: "Montserrat", sans-serif;
	line-height: 1;
	display: flex;
	align-items: baseline;
	letter-spacing: -0.05em;
	text-shadow: 0.4rem 0.4rem 0.4rem #f0e961;
}

.p-mv__num small {
	font-size: 3.2rem;
	font-family: "Noto Sans JP", sans-serif;
}

.p-mv__txt {
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.02em;
}

.p-mv__txt.--bold {
	font-weight: bold;
}

.p-mv__btn {
	display: flex;
	gap: 0.761rem;
	width: 100%;
	position: relative;
	z-index: 1;
}

.shalom-btn {
	height: 4.8rem;
	border-radius: 0.6rem;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 600;
	letter-spacing: 0em;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50%;
	cursor: pointer;
}

.shalom-btn:hover {
	opacity: 0.7;
}

.shalom-btn.--width-400 {
	border-radius: 3.2rem;
	width: 40%;
	max-width: 40rem;
}

.shalom-btn.--pick {
	background: #fff;
	color: #556FD8;
	margin: auto;
	border: 0.2rem solid #556FD8;
	box-shadow: 0 0.4rem 1.6rem #E4E9FF;
}

.shalom-btn.--pick span {
	padding-left: 0;
	padding-right: 2.6rem;
}

.shalom-btn.--pick span:before {
	background-image: url(../images/ic_paper.svg);
	width: 1.7rem;
	height: 1.7rem;
	right: 0;
	left: auto;
	top: 53%;
}

.shalom-btn span {
	position: relative;
	display: inline-block;
	padding-left: 3.2rem;
}

.shalom-btn span:before {
	position: absolute;
	content: "";
	left: 0;
	top: 57%;
	transform: translateY(-50%);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: left center;
	width: 2.2rem;
	height: 2.2rem;
}

.shalom-btn.--orange {
	background: linear-gradient(to right, #c79a51, #ab7a3b);
	box-shadow: 0 0.4rem 1.6rem rgba(171, 122, 59, 0.3215686275);
}

.shalom-btn.--orange span:before {
	background-image: url(../images/ic_mail.svg);
}

.shalom-btn.--blue {
	background: linear-gradient(to right, #0b549a, #192e86);
	box-shadow: 0 0.4rem 1.6rem rgba(0, 74, 145, 0.32);
}

.shalom-btn.--blue span:before {
	background-image: url(../images/ic_comp.svg);
}

.p-necess {
	position: relative;
	margin-top: 6rem;
	padding-left: 1.7rem;
	padding-right: 1.7rem;
}

.p-necess__ttl {
	font-size: 2.6rem;
	font-weight: 700;
	margin-bottom: 2.4rem;
}

.p-necess__sub {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 1.6rem;
}

.p-necess__img {
	width: 31.4rem;
	margin: auto;
	margin-top: 4rem;
}

.p-necess__txt {
	font-size: 1.3rem;
	line-height: 2;
	letter-spacing: 0.03em;
	font-weight: 700;
	margin-bottom: 2.4rem;
	text-align: justify;
}

.p-merit {
	background: #192E86;
	padding: 4rem 0 4.8rem;
}

.p-merit__flex {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 1.6rem;
	margin-top: 2.4rem;
}

.p-merit__flex .merit-item {
	background: #fff;
	border-radius: 1rem;
	text-align: center;
	padding: 2.7rem 1.6rem 3rem;
}

.p-merit__flex .merit-item__img {
	margin: auto;
	height: 6.4rem;
}

.p-merit__flex .merit-item__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}

.p-merit__flex .merit-item__small {
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: #556FD8;
	margin-top: 2rem;
}

.p-merit__flex .merit-item__ttl {
	font-weight: 600;
	font-size: 2rem;
	margin-bottom: 1.6rem;
	margin-top: 0.7rem;
}

.p-merit__flex .merit-item__txt {
	font-size: 1.3rem;
	line-height: 2;
	text-align: left;
	letter-spacing: 0.05em;
}

.shalom-ttl {
	font-weight: 600;
	text-align: center;
	position: relative;
	padding-top: 1.9rem;
}

.shalom-ttl.--site {
	padding-top: 2rem;
}

.shalom-ttl__trans {
	font-size: 5.1rem;
	font-weight: 600;
	text-transform: uppercase;
	color: #3c4f9f;
	display: block;
	line-height: 1;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	margin: auto;
}

.shalom-ttl__trans.--worry {
	color: rgba(76, 96, 180, 0.15);
}

.shalom-ttl__trans.--sol {
	color: #e4e9ff;
}

.shalom-ttl__sub {
	font-size: 1.4rem;
	position: relative;
	z-index: 1;
	line-height: 1;
}

.shalom-ttl__pri {
	display: block;
	color: #fff;
	font-size: 2.6rem;
	position: relative;
}

.shalom-ttl__pri.--black {
	color: #353639;
	line-height: 1.4;
}

.shalom-ttl__pri .cl-pri {
	font-size: 2.6rem;
}

.p-worry {
	background: #E4E9FF;
	text-align: center;
	padding-top: 4rem;
	position: relative;
	overflow: hidden;
}

.p-worry:after,
.p-worry:before {
	position: absolute;
	bottom: 0;
	bottom: 4rem;
	content: "";
	width: 6rem;
	height: 3.7rem;
	background-position: top center;
	background-repeat: no-repeat;
	background-size: contain;
}

.p-worry:after {
	left: 0;
	background-image: url(../images/ic_left_sp.svg);
}

.p-worry:before {
	right: 0;
	background-image: url(../images/ic_right_sp.svg);
}

.p-worry__img {
	margin: auto;
	margin-top: 3rem;
	width: 34.7rem;
	position: relative;
	z-index: 1;
}

.p-solution {
	padding-top: 2.8rem;
	position: relative;
	z-index: 1;
}

.p-solution__top {
	display: flex;
	position: absolute;
	top: -4rem;
	left: 0;
	width: 100%;
	z-index: 1;
}

.p-solution__wrap {
	position: relative;
	padding-bottom: 8rem;
}

.p-solution:before,
.p-solution:after {
	width: 50%;
	height: 4rem;
	background: #fff;
	position: absolute;
	content: "";
	top: -4rem;
}

.p-solution:before {
	border-radius: 0 4.2rem 0 0;
	left: 0;
}

.p-solution:after {
	border-radius: 4.2rem 0 0 0;
	right: 0;
}

.p-solution__flex {
	display: grid;
	margin: 2.4rem auto;
	grid-template-columns: repeat(1, 1fr);
	gap: 1.6rem;
	position: relative;
}

.p-solution__flex:before {
	position: absolute;
	content: "";
	background: url(../images/ic_shadow.png) no-repeat top center;
	background-size: contain;
	top: -9rem;
	left: -14.3rem;
	width: 34.6rem;
	height: 34.6rem;
}

.p-solution__flex .sol-item {
	border: 0.4rem solid #E4E9FF;
	border-radius: 0.8rem;
	background: #fff;
	position: relative;
	padding: 3.2rem 2rem 2.8rem;
}

.p-solution__flex .sol-item__small {
	font-size: 1rem;
	color: #556FD8;
	font-weight: 600;
	text-transform: uppercase;
}

.p-solution__flex .sol-item__ttl {
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	font-weight: 600;
	margin-top: 0.6rem;
	line-height: 1.4;
	margin-bottom: 1.5rem;
}

.p-solution__flex .sol-item__txt {
	font-size: 1.3rem;
	line-height: 2;
	letter-spacing: 0.05em;
}

.p-solution__btn {
	text-align: center;
}

.p-solution__btn .shalom-btn {
	margin: auto;
	border-radius: 3.2rem;
}

.p-solution__img02 {
	position: absolute;
	bottom: -2rem;
	left: -1rem;
	width: 6.8rem;
}

.p-solution__img02 img {
	width: 100%;
}

.p-solution__img03 {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 11.6rem;
}

.p-solution__img03 img {
	width: 100%;
}

.p-strength {
	background: #192E86;
	position: relative;
	z-index: 2;
	padding: 4rem 0 10rem;
}

.p-strength__sub {
	color: #fff;
	font-size: 1.3rem;
	letter-spacing: 0.03em;
	line-height: 2;
	margin: 2.4rem 0 4.8rem;
	padding: 0 3.4rem;
}

.p-strength__wrap {
	margin: auto;
}

.p-strength__scroll {
	position: relative;
}

.p-strength-col-meta {
	position: relative;
	overflow: hidden;
	width: 57rem;
}

.p-strength-col-image {
	overflow: hidden;
	width: 40rem;
	position: relative;
	padding-bottom: 100%;
}

.p-strength-col-pos {
	position: sticky;
	top: 0;
}

.p-strength__lst {
	position: relative;
}

.p-strength .strength-item {
	display: flex;
	gap: 2.4rem;
	flex-wrap: wrap;
	color: #fff;
	margin-bottom: 4rem;
}

.p-strength .strength-item__img {
	width: 30.7rem;
	border-radius: 1rem;
	overflow: hidden;
}

.p-strength .strength-item__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-strength .strength-item__num {
	color: #1d359c;
	font-size: 4rem;
	font-weight: 600;
	letter-spacing: 0.012em;
	line-height: 1;
	margin-bottom: 1.2rem;
}

.p-strength .strength-item__ttl {
	font-size: 2rem;
	letter-spacing: 0.05em;
	font-weight: 600;
	margin-bottom: 1.6rem;
}

.p-strength .strength-item__txt {
	font-size: 1.3rem;
	line-height: 2;
	letter-spacing: 0.05em;
}

.p-strength .strengths_image {
	position: sticky;
	top: calc((100vh - 40rem) / 2);
	left: 0;
	width: 40rem;
	height: 40rem;
}

.p-strength [data-index="0"] .strengths_img-01 {
	opacity: 1;
	pointer-events: auto;
}

.p-strength [data-index="1"] .strengths_img-02 {
	opacity: 1;
	pointer-events: auto;
}

.p-strength [data-index="2"] .strengths_img-03 {
	opacity: 1;
	pointer-events: auto;
}

.p-strength-progess {
	position: sticky;
	right: 0;
	top: 2rem;
}

.p-strength-progess .lineup__progess {
	position: sticky;
	top: calc((100vh - 32rem) / 2);
	display: none;
	align-items: center;
	justify-content: space-between;
	row-gap: 0.8rem;
	flex-flow: column;
}

.p-strength-progess .lineup__progess.active {
	display: flex;
}

.p-strength-progess .lineup__progess .num {
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: 0.012em;
	color: #054d93;
}

.p-strength-progess .lineup__progess .num:first-child {
	color: #fff;
}

.p-strength-progess .lineup__progess .progress-bar {
	width: 1px;
	height: 26rem;
	background: #1d359c;
	position: relative;
}

.p-strength-progess .lineup__progess .progress-bar span {
	background-color: #fff;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	max-height: 100%;
}

.p-plan {
	padding: 4rem 0 6rem;
	margin-top: -9.6rem;
	position: relative;
	z-index: 2;
	overflow: hidden;
}

.p-plan:after {
	width: calc(100% - 1.4rem);
	height: 100%;
	border-radius: 1rem 0 0 1rem;
	background: #E4E9FF;
	position: absolute;
	content: "";
	top: 0;
	right: -100%;
	z-index: -1;
	transition: all 0.4s;
}

.p-plan.animate_animated:after {
	right: 0;
}

.p-plan__wrap {
	background: #fff;
	border-radius: 0.8rem;
	padding: 1.4rem 1.4rem 3.3rem;
	margin: auto;
}

.p-plan__wrap.--01 {
	margin-top: 2.4rem;
	margin-bottom: 3.2rem;
	padding-bottom: 3.3rem;
}

.p-plan-top {
	position: relative;
}

.p-plan-top__img {
	position: absolute;
	right: -3rem;
	width: 15.6rem;
	top: -2rem;
}

.p-plan-top__meta__sub {
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: 0.05em;
}

.p-plan-top__meta__unit {
	font-weight: 600;
	line-height: 1;
}

.p-plan-top__meta__unit .mes {
	color: #556FD8;
	font-size: 2.8rem;
}

.p-plan-top__meta__unit .num {
	font-size: 4rem;
	font-weight: 600;
}

.p-plan-top__meta__unit .sec {
	font-style: normal;
	font-size: 1.6rem;
	margin-top: 1.5rem;
}

.p-plan-top__meta__des {
	font-size: 1.4rem;
	font-weight: 600;
	letter-spacing: 0.05em;
}

.p-plan-top__meta__des .num {
	font-size: 2.6rem;
}

.p-plan-top__meta__small {
	background: #E4E9FF;
	width: 100%;
	height: 2.8rem;
	border-radius: 0.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #192E86;
	font-weight: 600;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	margin-top: 1rem;
}

.p-plan-top__meta__note {
	margin-top: 2.3rem;
	line-height: 1.8125;
	letter-spacing: 0.05em;
}

.p-plan-top__meta__note li span {
	color: #192E86;
}

.p-plan-top__ttl {
	font-size: 1.6rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	margin: 2.4rem 0 1.6rem;
}

.p-plan-top__txt {
	font-size: 1.3rem;
	line-height: 2;
	margin-bottom: 2.4rem;
}

.p-plan-top__btn {
	display: flex;
	justify-content: center;
	gap: 1.9rem;
}

.p-plan-sec__ttl {
	text-align: center;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: 0.05em;
}

.p-plan-sec__txt {
	font-size: 1.3rem;
	line-height: 1.6;
	letter-spacing: 0.05em;
	text-align: center;
	margin-top: 1.6rem;
}

.p-plan-sec__lst {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 1rem;
	margin: 2.2rem 0 2.4rem;
}

.p-plan-sec__lst .sec-item {
	background: #E4E9FF;
	border-radius: 0.4rem;
	height: 4.8rem;
	display: flex;
	align-items: center;
	font-weight: 600;
	font-size: 1.6rem;
	position: relative;
	padding-left: 3.7rem;
}

.p-plan-sec__lst .sec-item:before {
	position: absolute;
	content: "";
	top: 53%;
	left: 1.6rem;
	transform: translateY(-50%);
	width: 1.3rem;
	height: 1.3rem;
	background: url(../images/ic_check.svg) no-repeat top center;
	background-size: contain;
}

.p-plan-sec__btn {
	text-align: center;
	display: flex;
	justify-content: center;
}

.p-flow {
	padding: 4.9rem 0 4.8rem;
	overflow: hidden;
}

.p-flow__grid {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 1.2rem;
	margin: 2.8rem auto 2.4rem;
	position: relative;
}

.p-flow__grid:after {
	position: absolute;
	content: "";
	background-image: url(../images/ic_shadow_sp.png);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: contain;
	top: -19.3rem;
	right: -15.3rem;
	width: 35.1rem;
	height: 35.1rem;
	z-index: -1;
}

.p-flow__grid .flow-item {
	border: 0.2rem solid #E4E9FF;
	border-radius: 0.8rem;
	padding: 3.4rem 2rem 3.2rem;
	position: relative;
	background: #fff;
}

.p-flow__grid .flow-item:not(:last-child):after {
	position: absolute;
	content: "";
	transform: translateY(-50%);
	width: 4rem;
	height: 4rem;
	background: url(../images/ic_right_2.svg) no-repeat top center;
	background-size: contain;
	z-index: 1;
}

.p-flow__grid .flow-item__step {
	color: #556FD8;
	font-weight: 600;
	font-size: 1rem;
	letter-spacing: 0.05em;
}

.p-flow__grid .flow-item__ttl {
	font-weight: 600;
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	margin: 0.8rem 0 1.6rem;
}

.p-flow__grid .flow-item__txt {
	font-size: 1.3rem;
	line-height: 2;
}

.p-site {
	padding: 4rem 0 6rem;
	position: relative;
	overflow: hidden;
}

.p-site:after {
	width: calc(100% - 1.4rem);
	height: 100%;
	border-radius: 0 1rem 1rem 0;
	background: #E4E9FF;
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	z-index: -1;
	transition: all 0.4s;
}

.p-site.animate_animated:after {
	left: 0;
}

.p-site__wrap {
	max-width: 112rem;
	margin: auto;
}

.p-site__content {
	position: relative;
}

.p-site__img {
	margin-bottom: 2.4rem;
}

.p-site__img img {
	border-radius: 1rem;
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
}

.p-site__txt {
	margin-top: 2.4rem;
	font-size: 1.3rem;
	line-height: 2;
	margin-bottom: 3.2rem;
}

.p-contact {
	overflow: hidden;
	padding: 6rem 0 4rem;
}

.p-contact__txt {
	margin: 2.4rem 0;
	font-size: 1.3rem;
	line-height: 2;
	letter-spacing: 0.05em;
}

.p-contact__form {
	max-width: 71.5rem;
	margin: auto;
	position: relative;
}

.p-contact__form:before {
	position: absolute;
	content: "";
	background: url(../images/ic_shadow.png) no-repeat top center;
	background-size: contain;
	top: -28.3rem;
	left: -16.3rem;
	width: 38.5rem;
	height: 38.5rem;
	z-index: -1;
}

.p-contact__form:after {
	position: absolute;
	content: "";
	background: url(../images/ic_shadow.png) no-repeat top center;
	background-size: contain;
	bottom: -2.3rem;
	right: -42.3rem;
	width: 38.5rem;
	height: 38.5rem;
	z-index: -1;
}

.p-contact__form .error-wrap {
	text-align: center;
}

.p-contact__form .error {
	color: #e63737;
	display: block;
	margin-top: 1rem;
	font-size: 1.4rem;
}

.p-contact__form .tbl-contact {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.p-contact__form .tbl-contact__row {
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
}

.p-contact__form .tbl-contact__zipcode {
	display: flex;
	gap: 1.4rem;
	align-items: center;
}

.p-contact__form .tbl-contact__zipcode span {
	font-weight: 600;
}

.p-contact__form .tbl-contact__head {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	font-weight: 600;
	font-size: 1.4rem;
}

.p-contact__form .tbl-contact__col {
	font-size: 1.4rem;
}

.p-contact__form .tbl-contact__col.--flex {
	display: flex;
	gap: 1.2rem;
}

.p-contact__form .tbl-contact__col.--flex p {
	width: 50%;
}

.p-contact__form .tbl-contact__col .f-required {
	color: #fff;
	background: #e63737;
	width: 4rem;
	height: 2rem;
	font-size: 1rem;
	border-radius: 0.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.p-contact__form .tbl-contact__col .f-optional {
	width: 4rem;
	height: 2rem;
	font-size: 1rem;
	border-radius: 0.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0.2rem solid #e6eef4;
}

.p-contact__form .tbl-contact__col input {
	border: 0.2rem solid #e2edf5;
	border-radius: 0.8rem;
	font-size: 1.4rem;
	color: #353639;
	background: #fffeea;
}

.p-contact__form .tbl-contact__col input::-moz-placeholder {
	color: #8a8c90;
	opacity: 1;
}

.p-contact__form .tbl-contact__col input::placeholder {
	color: #8a8c90;
	opacity: 1;
}

.p-contact__form .tbl-contact__col input:focus {
	background: #fff;
	outline: none;
	border: 0.2rem solid #556fd8;
}

.p-contact__form .tbl-contact__col textarea {
	background: #fffeea;
	border: 0.2rem solid #e2edf5;
	border-radius: 0.8rem;
	min-height: 12rem;
	padding: 1rem;
}

.p-contact__form .tbl-contact__col textarea::-moz-placeholder {
	color: #8a8c90;
	opacity: 1;
}

.p-contact__form .tbl-contact__col textarea::placeholder {
	color: #8a8c90;
	opacity: 1;
}

.p-contact__form .tbl-contact__col textarea:focus {
	background: #fff;
	outline: none;
	border: 0.2rem solid #556fd8;
}

.p-contact__form .checkbox-custom {
	display: flex;
	align-items: center;
	gap: 1rem;
	justify-content: center;
}

.p-contact__form .checkbox-custom .c-checkbox {
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	font-size: 15px;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	position: relative;
	gap: 6px;
}

.p-contact__form .checkbox-custom .c-checkbox input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
}

.p-contact__form .checkbox-custom .c-checkbox input:checked ~ .checkmark {
	background-color: #192E86;
	border-color: #192E86;
}

.p-contact__form .checkbox-custom .c-checkbox input:checked ~ .checkmark::after {
	content: "";
	position: absolute;
	left: 0.6rem;
	top: 0px;
	width: 0.5rem;
	height: 1.2rem;
	border: solid #fff;
	border-width: 0 0.2rem 0.2rem 0;
	transform: rotate(45deg);
}

.p-contact__form .checkbox-custom .c-checkbox .checkmark {
	width: 2.2rem;
	height: 2.2rem;
	border: 2px solid #192E86;
	border-radius: 0.4rem;
	display: inline-block;
	position: relative;
	transition: all 0.2s ease;
}

.p-contact__form .checkbox-custom p {
	font-size: 1.4rem;
	font-weight: 600;
}

.p-contact__form .checkbox-custom p a {
	color: #192E86;
	border-bottom: 1px solid #192E86;
}

.p-contact__form .c-form-btn {
	text-align: center;
	margin-top: 2rem;
}

.p-contact__form .c-form-btn .c-btn {
	border: none;
	margin: 0 auto 2rem;
}

.p-contact__form .c-form-btn .c-btn:last-child {
	margin-bottom: 0;
}

.p-contact__center {
	text-align: center;
	margin-top: 2rem;
}

.p-contact__center .link-top {
	display: block;
	color: #192e86;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 0.4rem;
}

@media (min-width: 768px) {

.txt-line:after {
	bottom: -0.4rem;
	height: 2rem;
	border-radius: 0.3rem;
}

.txt-line.--plan:after {
	bottom: 0.6rem;
}

.p-mv {
	padding-top: 12.7rem;
}

.p-mv__content {
	display: flex;
	padding-bottom: 0;
	border-radius: 2rem;
}

.p-mv__content:after {
	position: absolute;
	content: "";
	background: #192E86;
	top: 0;
	height: 100%;
	width: 54%;
	transform: skewX(-7deg);
	right: -4%;
}

.p-mv__img {
	width: 91rem;
	top: 2rem;
	right: -6rem;
}

.p-mv__meta {
	padding: 4rem 4rem;
	width: 48%;
}

.p-mv__sub {
	letter-spacing: 0.05em;
	font-size: 2.2rem;
	margin-bottom: 2rem;
}

.p-mv .ttl01 {
	letter-spacing: -0.01em;
	font-size: 6.7rem;
	margin-bottom: 1.2rem;
	line-height: 1.0746268657;
}

.p-mv__inner {
	gap: 1.2rem;
	margin-top: 1.5rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.p-mv__inner .mv-ck {
	font-size: 2rem;
	height: 4.8rem;
	padding: 0 1.2rem;
	border-radius: 0.8rem;
}

.p-mv__info {
	margin-left: 14rem;
}

.p-mv__per {
	margin-bottom: 1.6rem;
}

.p-mv__per img {
	width: 13.1rem;
	height: 12.5rem;
	top: 1rem;
}

.p-mv__num {
	font-size: 9.4rem;
}

.p-mv__num small {
	font-size: 4.5rem;
}

.p-mv__txt {
	font-size: 1.6rem;
	line-height: 1.361875;
}

.p-mv__btn {
	gap: 1.348rem;
	margin-top: 1.3rem;
}

.shalom-btn {
	height: 6.4rem;
	border-radius: 1.2rem;
	font-size: 1.8rem;
}

.shalom-btn.--btn-01 {
	width: 27.6rem;
}

.shalom-btn.--site {
	max-width: 40rem;
	border-radius: 3.2rem;
	width: 100%;
}

.shalom-btn.--pick {
	border: 0.3rem solid #556FD8;
	max-width: 40rem;
	border-radius: 3.2rem;
}

.p-necess {
	display: flex;
	gap: 6.5rem;
	flex-direction: row-reverse;
	padding-left: 5.9rem;
	padding-right: 0;
	margin-top: 11.8rem;
}

.p-necess__ttl {
	font-size: 4rem;
	margin-bottom: 5rem;
}

.p-necess__sub {
	font-size: 2.4rem;
	line-height: 1.3333333333;
	margin-bottom: 3.2rem;
}

.p-necess__img {
	margin-top: 0;
	width: 48.2%;
}

.p-necess__meta {
	padding-top: 1.8rem;
	width: 66.5%;
}

.p-necess__txt {
	font-size: 1.6rem;
}

.p-merit {
	padding: 5.9rem 0 6.7rem;
}

.p-merit__flex {
	margin-top: 3.3rem;
	grid-template-columns: repeat(3, 1fr);
	gap: 4rem;
}

.p-merit__flex .merit-item {
	border-radius: 2rem;
	padding: 5.4rem 4rem 3.5rem;
}

.p-merit__flex .merit-item__img {
	height: 8.4rem;
}

.p-merit__flex .merit-item__small {
	font-size: 1.2rem;
	margin-top: 1rem;
}

.p-merit__flex .merit-item__ttl {
	letter-spacing: 0.05em;
	font-size: 2.4rem;
}

.p-merit__flex .merit-item__txt {
	font-size: 1.6rem;
}

.shalom-ttl {
	letter-spacing: 0.05em;
	padding-top: 3.9rem;
}

.shalom-ttl.--site {
	text-align: left;
	padding-top: 5rem;
}

.shalom-ttl__trans {
	font-size: 10.4rem;
	letter-spacing: 0.05em;
}

.shalom-ttl__sub {
	font-size: 2.4rem;
}

.shalom-ttl__pri {
	font-size: 4.8rem;
}

.shalom-ttl__pri .cl-pri {
	font-size: 5.6rem;
}

.p-worry {
	padding-top: 7.1rem;
}

.p-worry:after,
.p-worry:before {
	bottom: 5.18rem;
	width: 6rem;
	height: 5.2rem;
}

.p-worry:after {
	background-image: url(../images/ic_left.svg);
}

.p-worry:before {
	background-image: url(../images/ic_right.svg);
}

.p-worry__img {
	width: 103.7rem;
	margin-top: 3rem;
}

.p-solution {
	padding-top: 4.4rem;
}

.p-solution__top {
	top: -5rem;
}

.p-solution__wrap {
	padding-bottom: 20rem;
}

.p-solution:before,
.p-solution:after {
	top: -5.2rem;
	height: 5.2rem;
}

.p-solution:before {
	border-radius: 0 5.2rem 0 0;
}

.p-solution:after {
	border-radius: 5.2rem 0 0 0;
}

.p-solution__flex {
	grid-template-columns: repeat(2, 1fr);
	gap: 2.8rem 2.3rem;
	max-width: 112rem;
	margin: 4rem auto 4.8rem;
}

.p-solution__flex:before {
	left: -22.3rem;
	top: -22.3rem;
	width: 48.6rem;
	height: 48.6rem;
}

.p-solution__flex .sol-item {
	border-radius: 1.6rem;
	padding: 3.2rem 3.5rem;
}

.p-solution__flex .sol-item__small {
	font-size: 1.2rem;
}

.p-solution__flex .sol-item__ttl {
	font-size: 2.4rem;
}

.p-solution__flex .sol-item__ttl.--ttl-02 {
	height: 6.6rem;
}

.p-solution__flex .sol-item__txt {
	font-size: 1.6rem;
}

.p-solution__btn .shalom-btn {
	min-width: 40rem;
}

.p-solution__img02 {
	width: 20.4rem;
	bottom: -6rem;
	left: 0;
}

.p-solution__img03 {
	width: 34.4rem;
}

.p-strength {
	padding: 5rem 0 10rem;
}

.p-strength__sub {
	padding: 0;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	line-height: 1.7777777778;
	margin: 3.2rem 0 17.6rem;
}

.p-strength__wrap {
	max-width: 112rem;
	padding: 0;
}

.p-strength__scroll {
	display: flex;
	gap: 7.6rem;
	padding-bottom: 30rem;
}

.p-strength__lst li {
	position: relative;
	z-index: 3;
}

.p-strength__lst li + li {
	position: absolute;
	right: 0;
	top: 0;
	left: 0;
	margin-top: 0;
}

.p-strength__lst li:nth-child(2) {
	z-index: 2;
}

.p-strength__lst li:nth-child(3) {
	z-index: 1;
}

.p-strength__lst li:nth-child(3) .strength-item__img {
	display: block;
	opacity: 1 !important;
	visibility: visible !important;
}

.p-strength .strength-item {
	gap: 7.6rem;
	flex-wrap: nowrap;
	margin-bottom: 23.5rem;
}

.p-strength .strength-item__img {
	opacity: 0;
	transition-duration: 0.4s;
	transition-property: opacity;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	border-radius: 2rem;
}

.p-strength .strength-item__meta,
.p-strength .strength-item__des {
	margin-bottom: 23.5rem;
	padding-bottom: 20vh;
	color: #fff;
}

.p-strength .strength-item__meta:nth-child(2),
.p-strength .strength-item__meta:nth-child(3),
.p-strength .strength-item__des:nth-child(2),
.p-strength .strength-item__des:nth-child(3) {
	margin-top: 16rem;
}

.p-strength .strength-item__meta:nth-child(3),
.p-strength .strength-item__des:nth-child(3) {
	margin-bottom: 8rem;
	padding-bottom: 0;
}

.p-strength .strength-item__num {
	font-size: 8rem;
	margin-top: -1.1rem;
	margin-bottom: 1.5rem;
}

.p-strength .strength-item__ttl {
	font-size: 3.2rem;
	margin-bottom: 4rem;
}

.p-strength .strength-item__txt {
	font-size: 1.8rem;
	line-height: 1.7777777778;
}

.p-plan {
	padding: 5rem 0 12rem;
	margin-top: -17.7rem;
}

.p-plan:after {
	width: calc(100% - var(--cs));
	border-radius: 2rem 0 0 2rem;
}

.p-plan__wrap {
	border-radius: 1.6rem;
	padding: 6rem 6rem 6.2rem;
	max-width: 112rem;
}

.p-plan__wrap.--sec {
	padding-top: 4.8rem;
}

.p-plan__wrap.--01 {
	margin-top: 5rem;
	margin-bottom: 8rem;
	padding-bottom: 5.6rem;
}

.p-plan-top {
	display: flex;
	gap: 4rem;
	padding-bottom: 4rem;
}

.p-plan-top__img {
	right: -8rem;
	width: 54.9rem;
	top: -5rem;
}

.p-plan-top__meta {
	width: 51%;
}

.p-plan-top__meta__sub {
	font-size: 3.7rem;
}

.p-plan-top__meta__unit .mes {
	font-size: 6.4rem;
	letter-spacing: 0.1em;
}

.p-plan-top__meta__unit .num {
	font-size: 11.6rem;
}

.p-plan-top__meta__unit .sec {
	font-size: 4.8rem;
	margin-top: 0;
}

.p-plan-top__meta__des {
	font-size: 3rem;
}

.p-plan-top__meta__des .num {
	font-size: 5.6rem;
	margin: 0 0.5rem 0 1.7rem;
}

.p-plan-top__meta__small {
	min-width: 50.4rem;
	height: 4rem;
	border-radius: 0.8rem;
	font-size: 2rem;
	margin-top: 0.2rem;
}

.p-plan-top__ttl {
	font-size: 2.4rem;
	margin: 0 0 2rem;
}

.p-plan-top__txt {
	font-size: 1.8rem;
	line-height: 1.7777777778;
	margin-bottom: 3rem;
}

.p-plan-sec__ttl {
	font-size: 4rem;
}

.p-plan-sec__txt {
	font-size: 1.8rem;
	line-height: 1.7777777778;
	margin-top: 1rem;
}

.p-plan-sec__lst {
	grid-template-columns: repeat(2, 1fr);
	gap: 1.8rem;
	margin: 3rem 0 4rem;
}

.p-plan-sec__lst .sec-item {
	border-radius: 0.8rem;
	padding-left: 5rem;
	height: 5.6rem;
	font-size: 1.8rem;
}

.p-plan-sec__lst .sec-item:before {
	width: 1.7rem;
	height: 1.8rem;
	left: 2rem;
}

.p-flow {
	padding: 10.4rem 0;
}

.p-flow__grid {
	grid-template-columns: repeat(4, 1fr);
	gap: 1.6rem;
	max-width: 112rem;
	margin: 4rem auto 5.6rem;
}

.p-flow__grid:after {
	background-image: url(../images/ic_shadow.png);
	top: -22.3rem;
	right: -22.3rem;
	width: 48.6rem;
	height: 48.6rem;
}

.p-flow__grid .flow-item {
	border: 0.4rem solid #E4E9FF;
	border-radius: 1.6rem;
	padding: 2.5rem 4rem 4rem 4rem;
}

.p-flow__grid .flow-item:not(:last-child):after {
	width: 4rem;
	height: 4rem;
	right: -3.3rem;
	top: 50%;
}

.p-flow__grid .flow-item__step {
	font-size: 1.2rem;
}

.p-flow__grid .flow-item__ttl {
	font-size: 2.4rem;
	margin: 0.6rem 0 1.5rem;
}

.p-flow__grid .flow-item__txt {
	font-size: 1.8rem;
	line-height: 1.7777777778;
}

.p-site {
	padding: 7rem 0 14rem;
}

.p-site:after {
	width: calc(100% - var(--cs));
	border-radius: 0 2rem 2rem 0;
}

.p-site__content {
	display: flex;
	gap: 6.5rem;
	align-items: center;
	justify-content: space-between;
	margin-top: -6.8rem;
}

.p-site__meta {
	width: 53.5rem;
}

.p-site__img img {
	border-radius: 2rem;
}

.p-site__img {
	margin-bottom: 0;
	width: 52rem;
	margin-right: -1.5rem;
}

.p-site__txt {
	margin-top: 3rem;
	font-size: 1.8rem;
	line-height: 1.7777777778;
	margin-bottom: 5.7rem;
}

.p-contact {
	padding: 12rem 0 4rem;
}

.p-contact__txt {
	margin: 4rem 0;
	text-align: center;
	line-height: 1.7777777778;
	font-size: 1.8rem;
}

.p-contact__form:before {
	left: -44.3rem;
	width: 48.6rem;
	height: 48.6rem;
}

.p-contact__form:after {
	width: 48.6rem;
	height: 48.6rem;
}

.p-contact__form .tbl-contact {
	gap: 3.6rem;
}

.p-contact__form .tbl-contact__row {
	gap: 1.1rem;
}

.p-contact__form .tbl-contact__head {
	font-size: 1.6rem;
}

.p-contact__form .tbl-contact__col {
	font-size: 1.6rem;
}

.p-contact__form .tbl-contact__col .f-required {
	font-size: 1.2rem;
	width: 5rem;
	height: 2.5rem;
}

.p-contact__form .tbl-contact__col .f-optional {
	font-size: 1.2rem;
	width: 5rem;
	height: 2.5rem;
	border: 0.3rem solid #e6eef4;
}

.p-contact__form .tbl-contact__col input:focus {
	border: 0.3rem solid #556fd8;
}

.p-contact__form .tbl-contact__col input {
	border: 0.3rem solid #e2edf5;
	font-size: 1.8rem;
}

.p-contact__form .tbl-contact__col input.address {
	max-width: 39.5rem;
}

.p-contact__form .tbl-contact__col textarea {
	min-height: 20rem;
	border: 0.3rem solid #e2edf5;
	padding: 1.2rem 1.6rem;
	font-size: 1.8rem;
}

.p-contact__form .tbl-contact__col textarea:focus {
	border: 0.3rem solid #556fd8;
}

.p-contact__form .checkbox-custom p {
	font-size: 1.6rem;
}

.p-contact__form .c-form-btn {
	margin-top: 6rem;
}

.p-contact__form .c-form-btn .c-btn {
	width: 40rem;
}

}

@media (max-width: 767px) {

.p-mv__content:after {
	position: absolute;
	content: "";
	background: #192E86;
	bottom: -6rem;
	height: 28rem;
	width: 100%;
	transform: skewY(-7deg);
	left: 0;
}

.p-mv__img {
	bottom: -3rem;
	left: -2rem;
	width: 38rem;
}

.p-mv__inner {
	gap: 0.5rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-left: 11.5rem;
	margin-top: 1rem;
}

.p-mv__inner .mv-ck {
	width: 9.2rem;
	height: 3.3rem;
	border-radius: 0.4rem;
	font-size: 1.2rem;
}

.p-mv__per img {
	bottom: -1.4rem;
	z-index: 1;
}

.p-mv__num {
	margin-bottom: 0.7rem;
}

.p-mv__txt.--bold {
	font-size: 1.6rem;
	text-align: right;
	margin-right: -1rem;
}

.shalom-btn.--no-ic.--orange {
	width: 15.8rem;
}

.shalom-btn.--no-ic.--blue {
	width: 14rem;
}

.shalom-btn.--no-ic span {
	padding-left: 0;
}

.shalom-btn.--no-ic span:before {
	display: none;
}

.shalom-btn.--width-400 {
	width: 100%;
	height: 5.6rem;
	border-radius: 2.8rem;
	font-size: 1.5rem;
}

.shalom-btn.--site {
	max-width: 29.2rem;
	margin: auto;
}

.p-necess__ttl {
	line-height: 1.2307692308;
}

.shalom-ttl__trans.--sol {
	font-size: 5.6rem;
}

.shalom-ttl__pri.--plan {
	font-size: 2.2rem;
}

.p-strength .container {
	padding: 0;
}

.p-strength .strength-item {
	padding: 0 3.4rem;
}

.p-strength .strength-item:not(:last-child) {
	padding-bottom: 4rem;
	border-bottom: 1px solid #003b74;
	position: relative;
}

.p-strength .strength-item:not(:last-child):after {
	position: absolute;
	content: "";
	bottom: -2px;
	left: 0;
	width: 100%;
	border-bottom: 1px solid #1573cd;
}

.p-plan .shalom-ttl {
	padding-left: 2rem;
}

.p-plan__wrap {
	margin-left: 1.5rem;
}

.p-plan-top__meta__unit {
	margin-top: 1rem;
	display: flex;
}

.p-plan-top__meta__unit .mes {
	display: block;
	line-height: 1.2;
}

.p-plan-top__btn {
	flex-direction: column;
	gap: 1rem;
	margin: 0 0.6rem;
}

.p-plan-sec {
	padding-top: 0.8rem;
}

.p-plan-sec__btn {
	margin: 0 0.6rem;
}

.p-flow__grid .flow-item:not(:last-child):after {
	width: 3.2rem;
	height: 3.2rem;
	bottom: -2.3rem;
	left: 50%;
	transform: translateX(-50%) rotate(90deg);
}

.p-site__content {
	padding-right: 1.4rem;
}

.p-contact__form .tbl-contact__zipcode {
	font-size: 1.2rem;
}

.p-contact__form .tbl-contact__col input {
	height: 4.6rem;
}

}

@keyframes fade {

from {
	opacity: 0;
}

to {
	opacity: 1;
}

}

