:root {
	--font-family-base: Noto Sans JP, sans-serif;
	--font-en: "Goldman", sans-serif;
	--font-secondary: "Roboto", sans-serif;
	--font-weight-base: 400;
	--lineheight-base: 1.5;
	--font-size-base: 1.4rem;
	--color-white: #FFFFFF;
	--color-primary: #0488D7;
	--color-secondary: #203E92;
	--color-yellow: #F5B400;
	--color-danger: #E94744;
	--border-color: #1F2020;
	--input-border-color: var(--border-color);
	--input-border-width: 0px;
	--input-font-size: 1.5rem;
	--input-font-weight: 400;
	--input-background: #EBF1F7;
}

* {
	box-sizing: border-box;
}

html {
	font-size: 2.1276595745vw;
	overflow-x: hidden;
}

html.noscroll {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
}

body {
	background-color: #fff;
	color: #051823;
	margin: 0;
	font-family: var(--font-family-base);
	font-weight: var(--font-weight-base);
	font-size: var(--font-size-base);
	line-height: var(--lineheight-base);
	font-feature-settings: "palt";
	text-align: left;
	position: relative;
	overflow-x: hidden;
	letter-spacing: 0.04em;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
	margin: 0;
}

ol,
ul,
dl {
	list-style-type: none;
	margin: 0;
	padding-left: 0;
}

b,
strong,
.bold {
	font-weight: 700;
}

a {
	background-color: transparent;
	color: inherit;
	text-decoration: none;
}

img {
	vertical-align: middle;
	border-style: none;
	max-width: 100%;
	height: auto;
}

table {
	border-collapse: collapse;
}

th {
	font-weight: 400;
	text-align: inherit;
	text-align: -webkit-match-parent;
}

input,
button,
select,
optgroup,
textarea {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

select {
	word-wrap: normal;
}

button,
[type=button],
[type=reset],
[type=submit] {
	-webkit-appearance: button;
}

textarea {
	overflow: auto;
	resize: vertical;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto;
}

[type=search] {
	outline-offset: -2px;
	-webkit-appearance: none;
}

[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

[hidden] {
	display: none !important;
}

.aligncenter {
	text-align: center;
}

.alignright {
	text-align: right;
}

.alignleft {
	text-align: left;
}

img.aligncenter {
	display: block;
	margin: auto;
}

img.alignright {
	display: block;
	margin-left: auto;
}

img.alignleft {
	display: block;
	margin-right: auto;
}

.inner {
	padding-inline: 2.4rem;
	width: 100%;
}

.d-none {
	display: none !important;
}

.d-block {
	display: block !important;
}

.d-flex {
	display: flex !important;
}

.m-0 {
	margin: 0 !important;
}

.mt-0,
.my-0 {
	margin-top: 0 !important;
}

.mr-0,
.mx-0 {
	margin-right: 0 !important;
}

.mb-0,
.my-0 {
	margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
	margin-left: 0 !important;
}

.m-5 {
	margin: 0.5rem !important;
}

.mt-5,
.my-5 {
	margin-top: 0.5rem !important;
}

.mr-5,
.mx-5 {
	margin-right: 0.5rem !important;
}

.mb-5,
.my-5 {
	margin-bottom: 0.5rem !important;
}

.ml-5,
.mx-5 {
	margin-left: 0.5rem !important;
}

.m-10 {
	margin: 1rem !important;
}

.mt-10,
.my-10 {
	margin-top: 1rem !important;
}

.mr-10,
.mx-10 {
	margin-right: 1rem !important;
}

.mb-10,
.my-10 {
	margin-bottom: 1rem !important;
}

.ml-10,
.mx-10 {
	margin-left: 1rem !important;
}

.m-12 {
	margin: 1.2rem !important;
}

.mt-12,
.my-12 {
	margin-top: 1.2rem !important;
}

.mr-12,
.mx-12 {
	margin-right: 1.2rem !important;
}

.mb-12,
.my-12 {
	margin-bottom: 1.2rem !important;
}

.ml-12,
.mx-12 {
	margin-left: 1.2rem !important;
}

.m-15 {
	margin: 1.5rem !important;
}

.mt-15,
.my-15 {
	margin-top: 1.5rem !important;
}

.mr-15,
.mx-15 {
	margin-right: 1.5rem !important;
}

.mb-15,
.my-15 {
	margin-bottom: 1.5rem !important;
}

.ml-15,
.mx-15 {
	margin-left: 1.5rem !important;
}

.m-20 {
	margin: 2rem !important;
}

.mt-20,
.my-20 {
	margin-top: 2rem !important;
}

.mr-20,
.mx-20 {
	margin-right: 2rem !important;
}

.mb-20,
.my-20 {
	margin-bottom: 2rem !important;
}

.ml-20,
.mx-20 {
	margin-left: 2rem !important;
}

.m-25 {
	margin: 2.5rem !important;
}

.mt-25,
.my-25 {
	margin-top: 2.5rem !important;
}

.mr-25,
.mx-25 {
	margin-right: 2.5rem !important;
}

.mb-25,
.my-25 {
	margin-bottom: 2.5rem !important;
}

.ml-25,
.mx-25 {
	margin-left: 2.5rem !important;
}

.m-60 {
	margin: 6rem !important;
}

.mt-60,
.my-60 {
	margin-top: 6rem !important;
}

.mr-60,
.mx-60 {
	margin-right: 6rem !important;
}

.mb-60,
.my-60 {
	margin-bottom: 6rem !important;
}

.ml-60,
.mx-60 {
	margin-left: 6rem !important;
}

.p-0 {
	padding: 0 !important;
}

.pt-0,
.py-0 {
	padding-top: 0 !important;
}

.pr-0,
.px-0 {
	padding-right: 0 !important;
}

.pb-0,
.py-0 {
	padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
	padding-left: 0 !important;
}

.p-5 {
	padding: 0.5rem !important;
}

.pt-5,
.py-5 {
	padding-top: 0.5rem !important;
}

.pr-5,
.px-5 {
	padding-right: 0.5rem !important;
}

.pb-5,
.py-5 {
	padding-bottom: 0.5rem !important;
}

.pl-5,
.px-5 {
	padding-left: 0.5rem !important;
}

.p-10 {
	padding: 1rem !important;
}

.pt-10,
.py-10 {
	padding-top: 1rem !important;
}

.pr-10,
.px-10 {
	padding-right: 1rem !important;
}

.pb-10,
.py-10 {
	padding-bottom: 1rem !important;
}

.pl-10,
.px-10 {
	padding-left: 1rem !important;
}

.p-12 {
	padding: 1.2rem !important;
}

.pt-12,
.py-12 {
	padding-top: 1.2rem !important;
}

.pr-12,
.px-12 {
	padding-right: 1.2rem !important;
}

.pb-12,
.py-12 {
	padding-bottom: 1.2rem !important;
}

.pl-12,
.px-12 {
	padding-left: 1.2rem !important;
}

.p-15 {
	padding: 1.5rem !important;
}

.pt-15,
.py-15 {
	padding-top: 1.5rem !important;
}

.pr-15,
.px-15 {
	padding-right: 1.5rem !important;
}

.pb-15,
.py-15 {
	padding-bottom: 1.5rem !important;
}

.pl-15,
.px-15 {
	padding-left: 1.5rem !important;
}

.p-20 {
	padding: 2rem !important;
}

.pt-20,
.py-20 {
	padding-top: 2rem !important;
}

.pr-20,
.px-20 {
	padding-right: 2rem !important;
}

.pb-20,
.py-20 {
	padding-bottom: 2rem !important;
}

.pl-20,
.px-20 {
	padding-left: 2rem !important;
}

.p-25 {
	padding: 2.5rem !important;
}

.pt-25,
.py-25 {
	padding-top: 2.5rem !important;
}

.pr-25,
.px-25 {
	padding-right: 2.5rem !important;
}

.pb-25,
.py-25 {
	padding-bottom: 2.5rem !important;
}

.pl-25,
.px-25 {
	padding-left: 2.5rem !important;
}

.p-60 {
	padding: 6rem !important;
}

.pt-60,
.py-60 {
	padding-top: 6rem !important;
}

.pr-60,
.px-60 {
	padding-right: 6rem !important;
}

.pb-60,
.py-60 {
	padding-bottom: 6rem !important;
}

.pl-60,
.px-60 {
	padding-left: 6rem !important;
}

.m-n5 {
	margin: -0.5rem !important;
}

.mt-n5,
.my-n5 {
	margin-top: -0.5rem !important;
}

.mr-n5,
.mx-n5 {
	margin-right: -0.5rem !important;
}

.mb-n5,
.my-n5 {
	margin-bottom: -0.5rem !important;
}

.ml-n5,
.mx-n5 {
	margin-left: -0.5rem !important;
}

.m-n10 {
	margin: -1rem !important;
}

.mt-n10,
.my-n10 {
	margin-top: -1rem !important;
}

.mr-n10,
.mx-n10 {
	margin-right: -1rem !important;
}

.mb-n10,
.my-n10 {
	margin-bottom: -1rem !important;
}

.ml-n10,
.mx-n10 {
	margin-left: -1rem !important;
}

.m-n12 {
	margin: -1.2rem !important;
}

.mt-n12,
.my-n12 {
	margin-top: -1.2rem !important;
}

.mr-n12,
.mx-n12 {
	margin-right: -1.2rem !important;
}

.mb-n12,
.my-n12 {
	margin-bottom: -1.2rem !important;
}

.ml-n12,
.mx-n12 {
	margin-left: -1.2rem !important;
}

.m-n15 {
	margin: -1.5rem !important;
}

.mt-n15,
.my-n15 {
	margin-top: -1.5rem !important;
}

.mr-n15,
.mx-n15 {
	margin-right: -1.5rem !important;
}

.mb-n15,
.my-n15 {
	margin-bottom: -1.5rem !important;
}

.ml-n15,
.mx-n15 {
	margin-left: -1.5rem !important;
}

.m-n20 {
	margin: -2rem !important;
}

.mt-n20,
.my-n20 {
	margin-top: -2rem !important;
}

.mr-n20,
.mx-n20 {
	margin-right: -2rem !important;
}

.mb-n20,
.my-n20 {
	margin-bottom: -2rem !important;
}

.ml-n20,
.mx-n20 {
	margin-left: -2rem !important;
}

.m-n25 {
	margin: -2.5rem !important;
}

.mt-n25,
.my-n25 {
	margin-top: -2.5rem !important;
}

.mr-n25,
.mx-n25 {
	margin-right: -2.5rem !important;
}

.mb-n25,
.my-n25 {
	margin-bottom: -2.5rem !important;
}

.ml-n25,
.mx-n25 {
	margin-left: -2.5rem !important;
}

.m-n60 {
	margin: -6rem !important;
}

.mt-n60,
.my-n60 {
	margin-top: -6rem !important;
}

.mr-n60,
.mx-n60 {
	margin-right: -6rem !important;
}

.mb-n60,
.my-n60 {
	margin-bottom: -6rem !important;
}

.ml-n60,
.mx-n60 {
	margin-left: -6rem !important;
}

.m-auto {
	margin: auto !important;
}

.mt-auto,
.my-auto {
	margin-top: auto !important;
}

.mr-auto,
.mx-auto {
	margin-right: auto !important;
}

.mb-auto,
.my-auto {
	margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
	margin-left: auto !important;
}

.text-justify {
	text-align: justify !important;
}

.text-wrap {
	white-space: normal !important;
}

.text-nowrap {
	white-space: nowrap !important;
}

.text-left {
	text-align: left !important;
}

.text-right {
	text-align: right !important;
}

.text-center {
	text-align: center !important;
}

.text-lowercase {
	text-transform: lowercase !important;
}

.text-uppercase {
	text-transform: uppercase !important;
}

.text-capitalize {
	text-transform: capitalize !important;
}

.text-underline {
	text-decoration: underline;
}

.animate_animated {
	animation-duration: 1.5s;
	animation-fill-mode: both;
	animation-timing-function: ease;
}

.animate__imageScale {
	animation-name: imageScale;
}

.fadeInUp {
	animation-name: fadeInUp;
}

.btn {
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	color: #1E1E1E;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	background-color: transparent;
	border: none;
}

.btn:focus,
.btn.focus {
	outline: 0;
}

.btn:not(:disabled):not(.disabled) {
	cursor: pointer;
}

.btn-primary {
	color: var(--color-white);
	font-size: 1.5rem;
	font-weight: bold;
	letter-spacing: 0.04em;
	line-height: 1;
	display: inline-flex;
	gap: 0.5rem;
	align-items: center;
	justify-content: center;
}

.btn-primary:active {
	transform: none;
	outline: none;
}

.btn-primary__txt {
	display: block;
	height: auto;
	overflow: hidden;
	position: relative;
	width: auto;
}

.btn-primary__txt span {
	display: block;
	width: 100%;
	line-height: 1;
}

.btn-primary__txt span + span {
	left: 0;
	position: absolute;
	top: calc(100% + 1px);
}

.btn-primary__icon {
	background-color: var(--color-secondary);
	border-radius: 0.2rem;
	width: 3.2rem;
	height: 2.1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
}

.btn-primary__icon::before,
.btn-primary__icon::after {
	content: "";
	background: url("../images/ic_arrow_rightwhite.svg") no-repeat center/contain;
	width: 1.167rem;
	height: 1rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	animation-duration: 0.3s;
}

.btn-primary__icon::after {
	left: -100%;
}

.btn-primary.hovered .btn-primary__txt > span {
	animation: textRollOver 1s cubic-bezier(0.19, 1, 0.22, 1) 0s 1 normal none;
}

.btn-primary:hover .btn-primary__icon::before {
	animation-name: circleIconRightLeftButton;
	animation-delay: 0;
}

.btn-primary:hover .btn-primary__icon::after {
	animation-name: circleIconLeftRightButton;
	animation-delay: 0;
}

.btn-outline {
	border: 1px solid rgba(5, 24, 35, 0.1);
	border-radius: 0.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.04em;
	height: 6.8rem;
	width: 100%;
}

.btn-pdf {
	background-color: var(--color-white);
	border-radius: 0.4rem;
	font-size: 1.5rem;
	font-weight: 500;
	display: flex;
	gap: 0.6rem;
	align-items: center;
	justify-content: center;
	padding: 2.2rem 2rem 1.9rem;
}

.btn-pdf::after {
	content: "";
	background: url("../images/ic_pdf.svg") no-repeat center/contain;
	width: 3.2rem;
	height: 1.9rem;
}

.btn-toform {
	border-radius: 0.5rem;
	background: #0F39E2;
	background: linear-gradient(90deg, rgb(15, 57, 226) 0%, rgb(10, 57, 244) 100%);
	box-shadow: 1px 8px 10px 1px rgba(0, 0, 0, 0.12);
	color: var(--color-white);
	display: block;
	text-align: left;
	padding: 1.4rem 2rem 2rem;
	position: relative;
	z-index: 1;
}

.btn-toform__wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding-inline: 0;
	margin-top: 0.5rem;
}

.btn-toform__icon {
	background-color: var(--color-white);
	border-radius: 0.2rem;
	width: 4.8rem;
	height: 2.8rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
}

.btn-toform__icon::before,
.btn-toform__icon::after {
	content: "";
	background: url("../images/ic_arrow_rightblue.svg") no-repeat center/contain;
	width: 1.167rem;
	height: 1rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	animation-duration: 0.3s;
}

.btn-toform__icon::after {
	left: -100%;
}

.btn-toform__txt {
	display: block;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1;
	height: auto;
	overflow: hidden;
	position: relative;
	width: auto;
}

.btn-toform__txt span {
	display: block;
	width: 100%;
	line-height: 1;
}

.btn-toform__txt span + span {
	left: 0;
	position: absolute;
	top: calc(100% + 1px);
}

.btn-toform.hovered:not(:disabled) .btn-toform__txt > span {
	animation: textRollOver 1s cubic-bezier(0.19, 1, 0.22, 1) 0s 1 normal none;
}

.btn-toform:hover:not(:disabled) .btn-toform__icon::before {
	animation-name: circleIconRightLeftButton;
	animation-delay: 0;
}

.btn-toform:hover:not(:disabled) .btn-toform__icon::after {
	animation-name: circleIconLeftRightButton;
	animation-delay: 0;
}

.p-header {
	background-color: var(--color-white);
	display: flex;
	align-items: center;
	padding: 1.6rem 2.4rem;
	position: relative;
	z-index: 200;
}

.openMenu .p-header {
	background-color: #fff;
}

.p-header__site {
	width: 17.797rem;
}

.p-header__site img {
	width: 100%;
}

.p-header .header-backdrop {
	background-color: rgba(0, 0, 0, 0.4);
	opacity: 0;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	transition: opacity 0.15s linear;
	z-index: 1;
}

.p-header .header-backdrop.show {
	opacity: 1;
}

.global-navi {
	border-radius: 0.8rem;
	display: flex;
	flex-direction: column;
	max-width: 32.2rem;
	width: 100%;
	opacity: 0;
	visibility: hidden;
	transition: 0.3s ease;
	background-color: #fff;
	overflow-y: auto;
	margin-left: auto;
	padding: 5.4rem 3rem 3rem;
	position: fixed;
	top: 1rem;
	right: 1rem;
	z-index: 100;
}

.openMenu .global-navi {
	opacity: 1;
	visibility: visible;
}

.global-navi__ttl {
	color: var(--color-primary);
	font-family: var(--font-secondary);
	font-weight: 500;
	margin-bottom: 2rem;
}

.global-navi .navi {
	margin-bottom: 4rem;
}

.global-navi .navi-item:not(:last-child) {
	margin-bottom: 3rem;
}

.global-navi .navi-link {
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 1;
}

.global-navi .btn-toform {
	padding: 2.2rem 1.6rem 2.4rem 2rem;
}

.global-navi .btn-toform__txt {
	font-size: 1.8rem;
}

.global-navi .btn-toform__icon {
	width: 4rem;
	height: 2.4rem;
}

.hamburger-box {
	background-color: var(--color-secondary);
	border-radius: 0.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	margin-left: auto;
	width: 7rem;
	height: 2.8rem;
	z-index: 1100;
	position: fixed;
	top: 2.2rem;
	right: 2.4rem;
}

.hamburger-box.is-active .hamburger-inner {
	transition-delay: 0.12s;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger-box.is-active .hamburger-inner:before {
	top: 0;
	transform: rotate(25deg);
}

.hamburger-box.is-active .hamburger-inner:after {
	transform: rotate(-25deg);
	bottom: -1px;
}

.hamburger-inner:after,
.hamburger-inner:before {
	display: block;
	content: "";
}

.hamburger-inner:after,
.hamburger-inner:before {
	width: 2.6rem;
	height: 0.1rem;
	background-color: var(--color-white);
	border-radius: 1.5px;
}

.hamburger-inner {
	position: relative;
	display: block;
	transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
	display: flex;
	align-items: center;
	justify-content: center;
}

.hamburger-inner:before {
	position: absolute;
	top: -0.3rem;
}

.hamburger-inner:after {
	position: absolute;
	bottom: -0.3rem;
}

.copyright {
	color: rgba(255, 255, 255, 0.5);
	font-family: var(--font-secondary);
	font-size: 1.3rem;
	font-weight: bold;
	letter-spacing: -0.02em;
	padding-bottom: 4rem;
	text-align: center;
}

.l-main--complete .copyright {
	color: rgba(5, 24, 35, 0.5);
	margin-top: auto;
}

.form-control {
	background-color: var(--input-background);
	background-clip: padding-box;
	border: var(--input-border-width) solid var(--input-border-color);
	border-radius: 0.5rem;
	color: #000;
	display: block;
	font-family: var(--font-family-base);
	font-size: var(--input-font-size);
	font-weight: var(--input-font-weight);
	line-height: 1.5;
	outline: none;
	padding: 0 1.6rem;
	width: 100%;
	height: 5.6rem;
}

.form-control::-ms-expand {
	background-color: transparent;
	border: 0;
}

.form-control:-moz-focusring {
	color: transparent;
	text-shadow: 0 0 0 #000;
}

.form-control::-moz-placeholder {
	color: rgba(5, 24, 35, 0.35);
	opacity: 1;
}

.form-control::placeholder {
	color: rgba(5, 24, 35, 0.35);
	opacity: 1;
}

.form-control:disabled {
	background-color: #1E1E1E;
	opacity: 1;
}

.form-control:disabled {
	color: rgba(5, 24, 35, 0.35);
}

input[type=date].form-control,
input[type=time].form-control,
input[type=datetime-local].form-control,
input[type=month].form-control {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

textarea.form-control {
	resize: none;
	height: 16rem;
	padding-top: 1.8rem;
}

.custom-date {
	position: relative;
}

.custom-date::before {
	content: "";
	background-color: rgba(5, 24, 35, 0.1);
	height: 3.2rem;
	width: 1px;
	position: absolute;
	right: 5rem;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}

.custom-date::after {
	content: "";
	background: url("../images/ic_calendar.svg") no-repeat center/contain;
	height: 2.2rem;
	width: 2rem;
	position: absolute;
	right: 1.4rem;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}

.custom-select {
	position: relative;
}

.custom-select::before {
	content: "";
	background-color: rgba(5, 24, 35, 0.1);
	height: 3.2rem;
	width: 1px;
	position: absolute;
	right: 5rem;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}

.custom-select::after {
	content: "";
	background: url("../images/ic_arrow_down.svg") no-repeat center/contain;
	height: 1rem;
	width: 1rem;
	position: absolute;
	right: 2rem;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}

.custom-select.is-active select {
	color: #000;
}

.custom-select select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: rgba(5, 24, 35, 0.35);
}

.custom-select select option {
	color: #051823;
}

.custom-select select::-ms-expand {
	display: none;
}

.custom-radio {
	display: block;
	position: relative;
}

.custom-radio input {
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
}

.custom-radio input:checked ~ .custom-radio__box {
	--opacity-circle: 1;
	background-color: var(--color-secondary);
	color: #fff;
}

.custom-radio input:checked ~ .custom-radio__box span {
	background-color: var(--color-secondary);
	border-color: #fff;
}

.custom-radio__box {
	background-color: #EBF1F7;
	border-radius: 0.5rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 1.2rem;
	color: rgba(5, 24, 35, 0.35);
	height: 6.4rem;
	padding-inline: 1.4rem;
}

.custom-radio__box span {
	background-color: #fff;
	border: 1px solid rgba(5, 24, 35, 0.2);
	border-radius: 50%;
	flex-shrink: 0;
	height: 1.6rem;
	width: 1.6rem;
	position: relative;
}

.custom-radio__box span::after {
	content: "";
	background-color: #fff;
	border-radius: 50%;
	height: 1rem;
	width: 1rem;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	opacity: var(--opacity-circle, 0);
}

.p-form {
	background-color: var(--color-primary);
	padding-block: 3rem;
}

.p-form__ttl {
	border-bottom: 1px solid rgba(5, 24, 35, 0.1);
	color: var(--color-primary);
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: 0.04em;
	margin-bottom: 2.7rem;
	padding-bottom: 2rem;
}

.p-form__txt {
	font-size: 1.8rem;
	letter-spacing: 0.04em;
	line-height: 1.8;
}

.p-form.p-form--complete {
	background-color: #fff;
	padding-top: 6.4rem;
}

.form-box {
	background-color: #fff;
	border-radius: 0.8rem;
	padding: 3rem 2.4rem;
}

.form-list {
	margin-bottom: 1.5rem;
}

.form-list.form-list--confirm > dt {
	color: var(--color-primary);
	font-size: 1.6rem;
	margin-bottom: 1rem;
}

.form-list.form-list--confirm > dd {
	border-bottom: 1px solid rgba(5, 24, 35, 0.1);
	font-size: 1.8rem;
	margin-bottom: 2.5rem;
	padding-bottom: 2.5rem;
}

.form-list > dt {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	margin-bottom: 1.5rem;
}

.form-list > dd {
	margin: 0 0 3.2rem;
}

.form-list > dd:last-child {
	margin-bottom: 0;
}

.form-list .shop-radio {
	display: block;
	position: relative;
}

.form-list .shop-radio input {
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
}

.form-list .shop-radio input:checked ~ .shop-radio__box {
	--color-active: #fff;
	background-color: var(--color-secondary);
}

.form-list .shop-radio input:checked ~ .shop-radio__box .shop-radio__name {
	border-right-color: rgba(255, 255, 255, 0.3);
}

.form-list .shop-radio input:checked ~ .shop-radio__box .shop-radio__info {
	color: rgba(255, 255, 255, 0.6);
}

.form-list .shop-radio__box {
	background-color: var(--input-background);
	border-radius: 0.5rem;
	cursor: pointer;
	display: grid;
	align-items: center;
	grid-template-columns: 10.5rem 1fr;
	gap: 2.6rem;
	min-height: 8rem;
	padding: 1.6rem 1.6rem 1.6rem 0;
}

.form-list .shop-radio__name {
	border-right: 1px solid rgba(5, 24, 35, 0.1);
	color: var(--color-active, #051823);
	display: grid;
	font-size: 1.5rem;
	font-weight: 500;
	text-align: center;
}

.form-list .shop-radio__name small {
	font-size: 1.3rem;
}

.form-list .shop-radio__info {
	color: rgba(5, 24, 35, 0.6);
	display: grid;
	font-size: 1.4rem;
	font-weight: 500;
}

.form-list .shop-radio__info .coming-soon {
	color: var(--color-active, #051823);
	font-size: 1.2rem;
	font-family: var(--font-secondary);
	font-weight: normal;
}

.form-list .shop-radio__grade {
	color: var(--color-active, #051823);
}

.form-list-other {
	--input-background: #fff;
	margin-top: 1rem;
}

.form-list-other > dt {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	margin-bottom: 1rem;
}

.form-list-other > dd {
	margin: 0 0 2.3rem;
}

.form-list-other > dd:last-child {
	margin-bottom: 0;
}

.form-box-confirm {
	background-color: var(--input-background);
	border-radius: 0.5rem;
	margin-top: 1.6rem;
}

.form-box-confirm.--grade {
	color: rgba(5, 24, 35, 0.6);
	font-size: 1.4rem;
}

.form-box-confirm__grade,
.form-box-confirm .coming-soon {
	color: #051823;
}

.form-box-confirm .coming-soon {
	font-size: 1.2rem;
	font-family: var(--font-secondary);
	font-weight: normal;
}

.form-box-confirm li {
	padding: 2rem;
}

.form-box-confirm li:not(:last-child) {
	border-bottom: 1px solid rgba(5, 24, 35, 0.1);
}

.form-box-confirm__ttl {
	color: var(--color-primary);
	font-size: 1.6rem;
	font-weight: 500;
	margin-bottom: 1rem;
}

.form-box-confirm__txt {
	font-size: 1.8rem;
}

.form-label {
	background-color: var(--color-primary);
	border: 1px solid var(--color-primary);
	border-radius: 0.2rem;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 500;
	padding: 0 0.8rem;
}

.form-label.form-label--optional {
	background-color: #fff;
	color: var(--color-primary);
}

.form-list-other {
	background-color: #EBF1F7;
	border-radius: 0.5rem;
	padding: 1.9rem 1.6rem;
}

.form-row {
	display: grid;
	row-gap: 1rem;
}

.form-group {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	-moz-column-gap: 1rem;
	column-gap: 1rem;
}

.form-shop-list {
	display: grid;
	row-gap: 1rem;
}

.form-txt {
	font-size: 1.4rem;
	line-height: 1.5;
}

.form-footer {
	margin-top: 3.5rem;
}

.form-footer:not(.--full) {
	display: flex;
	flex-direction: column;
	gap: 2.4rem;
	text-align: center;
}

.form-footer .btn-toform {
	background-color: var(--color-secondary);
	background: linear-gradient(90deg, var(--color-secondary) 0%, var(--color-secondary) 100%);
	box-shadow: none;
	padding: 2rem 2.4rem;
	width: 100%;
}

.form-footer .btn-toform:disabled {
	background-color: #878B98;
	background: linear-gradient(90deg, #878B98 0%, #878B98 100%);
}

.form-footer .btn-toform:disabled .btn-toform__icon::before {
	background-image: url(../images/ic_arrow_rightgray.svg);
}

.form-footer .btn-toform__wrap {
	margin-top: 0;
}

.form-footer .btn-toform__txt {
	font-size: 1.8rem;
}

.form-footer__back {
	font-size: 1.8rem;
	font-weight: 500;
}

label.error {
	color: var(--color-danger);
	display: block;
	margin-top: 1rem;
}

.table {
	width: 100%;
}

.hline01 {
	color: var(--color-primary);
	font-size: 4.5rem;
	font-weight: bold;
	line-height: 1.1;
	letter-spacing: 0.04em;
}

.hline01.--white {
	color: var(--color-white);
}

.hline02 {
	color: #051823;
	font-size: 3.4rem;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 0.04em;
}

.hsub-item {
	background-color: var(--color-primary);
	color: var(--color-white);
	font-size: 2rem;
	line-height: 1;
	letter-spacing: 0.04em;
	padding: 0.5rem 1.5rem 0.7rem;
}

.hsub.--white .hsub-item {
	background-color: var(--color-white);
	color: var(--color-primary);
}

.hsub.--small {
	font-size: 1.8rem;
}

.htext {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.04em;
}

.htext.--white {
	color: var(--color-white);
}

.hover {
	transition: 0.3s ease;
}

.hover:hover {
	opacity: 0.7;
}

.font-sec {
	font-family: var(--font-secondary);
}

.font-en {
	font-family: var(--font-en);
}

.font-medium {
	font-weight: 500;
}

.cl-white {
	color: var(--color-white);
}

.c-mask__item {
	--mask: 100%;
	clip-path: inset(0 var(--mask) 0 0);
	width: -moz-fit-content;
	width: fit-content;
	display: inline-block;
	white-space: nowrap;
	transition: clip-path 0.8s ease 0.2s;
}

.l-wrapper {
	overflow: hidden;
}

.l-main {
	background-color: var(--color-primary);
	overflow: hidden;
	min-height: 100vh;
	max-width: 47rem;
	position: relative;
	z-index: 2;
}

.l-main.l-main--complete {
	background-color: #fff;
	display: flex;
	flex-direction: column;
}

.l-side {
	position: fixed;
	top: 0;
	overflow: hidden;
}

.l-side--left {
	left: 0;
	width: calc(100vw - 75.2rem);
}

.l-side--left .l-side__wrap {
	background: url("../images/bg01.jpg") no-repeat bottom/cover;
	flex-direction: column;
	justify-content: space-between;
	padding: 4rem 4rem 2rem;
}

.l-side--right {
	background-color: #5C7CA5;
	width: 28.2rem;
	right: 0;
}

.l-side--right img {
	width: 20.2rem;
}

.l-side--right .l-side__wrap {
	align-items: center;
	justify-content: center;
}

.l-side__wrap {
	min-height: 100vh;
	display: flex;
}

.l-side__nav .title {
	color: rgba(255, 255, 255, 0.5);
	font-size: 1.4rem;
	font-family: var(--color-secondary);
	line-height: 1;
	letter-spacing: 0.04em;
	margin-bottom: 1.6rem;
}

.l-side__nav .nav-list {
	display: flex;
	flex-direction: column;
	gap: 1.8rem;
}

.l-side__nav .nav-link {
	color: var(--color-white);
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1;
	transition: opacity 0.3s ease;
}

.l-side__nav .nav-link:hover,
.l-side__nav .nav-link.is-active {
	opacity: 0.7;
}

.l-side__btn {
	margin-bottom: 2.9rem;
}

.l-side__btn .btn-primary {
	border-radius: 0.5rem;
	background: #0F39E2;
	background: linear-gradient(90deg, rgb(15, 57, 226) 0%, rgb(10, 57, 244) 100%);
	box-shadow: 1px 8px 10px 1px rgba(0, 0, 0, 0.12);
	font-size: 1.8rem;
	gap: 1rem;
	justify-content: space-between;
	width: 25rem;
	height: 6.4rem;
	padding: 2.1rem 1.6rem 2.1rem 2rem;
	transition: all 0.3s ease;
}

.l-side__btn .btn-primary__icon {
	background-color: var(--color-white);
	width: 4rem;
	height: 2.4rem;
}

.l-side__btn .btn-primary__icon::before,
.l-side__btn .btn-primary__icon::after {
	background-image: url("../images/ic_arrow_rightblue.svg");
}

.l-side__sl {
	max-width: 89rem;
}

.l-side__sl img {
	width: 100%;
}

.c-link {
	display: inline-flex;
	align-items: center;
	color: var(--color-secondary);
	-moz-column-gap: 0.4rem;
	column-gap: 0.4rem;
	text-decoration: underline;
	text-underline-offset: 0.2rem;
}

.c-link::after {
	content: "";
	background: url("../images/ic_blank.svg") no-repeat center/contain;
	flex-shrink: 0;
	height: 1rem;
	width: 1rem;
}

.c-link:hover {
	text-decoration: none;
}

.c-shadow {
	filter: drop-shadow(0 0.3rem 0 var(--border-color));
}

.c-media {
	aspect-ratio: 470/300;
	position: relative;
	overflow: hidden;
}

.c-media img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transform: scale(1.1, 1.1);
	transition-duration: 3000ms;
}

.c-media .inView {
	animation: none;
}

.c-media .inView img {
	transform: scale(1, 1);
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.c-media__line {
	position: absolute;
	bottom: 0.6rem;
	left: 0;
	width: 100%;
}

.c-media__line .item {
	background-color: var(--color-primary);
	width: 100%;
	display: block;
}

.c-media__line .item:not(:last-child) {
	margin-bottom: 0.6rem;
}

.c-media__line .item:nth-child(1) {
	height: 0.05rem;
}

.c-media__line .item:nth-child(2) {
	height: 0.1rem;
}

.c-media__line .item:nth-child(3) {
	height: 0.2rem;
}

.c-media__line .item:nth-child(4) {
	height: 0.4rem;
}

.c-media__line .item:nth-child(5) {
	height: 0.6rem;
}

.c-media.--big {
	aspect-ratio: 470/360;
}

.c-media.--big .c-media__line .item {
	background-color: var(--color-white);
}

.p-intro {
	margin-top: 4.8rem;
}

.p-intro__ttl {
	color: var(--color-primary);
	font-size: 6rem;
	font-weight: normal;
	font-family: var(--font-en);
	letter-spacing: -0.002em;
	line-height: 1;
}

.p-intro__ttl span {
	background: linear-gradient(#FFF 50%, #FFF 50%);
	display: inline-block;
	line-height: 1;
}

.p-intro__sub {
	color: var(--color-white);
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	margin-top: 1.5rem;
}

.p-mv {
	margin-top: 7rem;
}

.p-mv__media {
	max-width: 49.1rem;
	margin-inline: 2.4rem -4.7rem;
	overflow: hidden;
}

.p-mv__slide {
	overflow: hidden;
	display: flex;
	margin-top: 5rem;
}

.p-mv__slide .js-text-scroll {
	display: flex;
	align-items: center;
	will-change: transform;
	animation: runText 40s linear infinite;
}

.p-mv__slide .js-text-scroll li {
	width: 12rem;
	height: 10rem;
	flex-shrink: 0;
	margin-right: 1rem;
	position: relative;
}

.p-mv__slide .js-text-scroll li img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-mv__bottom {
	padding-inline: 2.4rem;
	display: flex;
	gap: 0.6rem;
	align-items: center;
	justify-content: space-between;
	margin-top: 4rem;
}

.p-mv__bottom .scroll {
	color: var(--color-white);
	font-size: 1.2rem;
	font-family: var(--font-secondary);
	letter-spacing: 0.04em;
	position: relative;
	width: 9.7rem;
	height: 3rem;
	display: inline-flex;
	gap: 0.6rem;
	align-items: center;
	justify-content: center;
}

.p-mv__bottom .scroll::before {
	content: "";
	border-radius: 3rem;
	pointer-events: none;
	border: 1px solid var(--color-white);
	opacity: 0.2;
	position: absolute;
	top: -1px;
	right: 0;
	bottom: 1px;
	left: 0;
}

.p-mv__bottom .scroll::after {
	content: "";
	background: url("../images/ic_scroll_arrow.svg") no-repeat center/cover;
	width: 1.2rem;
	aspect-ratio: 1;
}

.p-about {
	padding-top: 7.5rem;
}

.p-about__ttl {
	color: var(--color-white);
	font-size: 3.4rem;
	line-height: 1.1;
	margin-top: 0.4rem;
}

.p-about__txtintro {
	background: #0488D7;
	background: linear-gradient(to right, #0488D7 5%, #1D9AE6 48%, #0488D7 95%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: 7.2rem;
	font-family: var(--font-en);
	letter-spacing: 0.01em;
	line-height: 0.7222222222;
	margin: 0 -1.3rem -0.8rem auto;
	text-align: right;
	width: -moz-fit-content;
	width: fit-content;
}

.p-about__card .card-item:not(:last-child) {
	margin-bottom: 7.2rem;
}

.p-about__card .card-item__media {
	aspect-ratio: 422/280;
	position: relative;
}

.p-about__card .card-item__media img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-about__card .card-item__media .lbl {
	background-color: var(--color-white);
	border-radius: 1.65rem;
	border-bottom-left-radius: 0;
	color: var(--color-secondary);
	font-size: 1.5rem;
	display: inline-block;
	line-height: 1;
	letter-spacing: 0.04em;
	padding: 0.9rem 2rem;
	position: absolute;
	top: -1.7rem;
	left: 0;
}

.p-about__card .card-item__content {
	padding-left: 10.5rem;
	margin-top: 2rem;
}

.p-about__card .card-item .point {
	color: rgba(255, 255, 255, 0.5);
	font-size: 1.2rem;
	font-family: var(--font-secondary);
	line-height: 1;
	letter-spacing: 0.04em;
}

.p-about__card .card-item .ttl {
	color: var(--color-white);
	font-size: 2.4rem;
	line-height: 1.2916666667;
	font-weight: bold;
	margin-top: 0.4rem;
}

.p-about__btn {
	margin-top: 5.5rem;
}

.p-about__media {
	background: url("../images/type_bg.jpg") no-repeat bottom center/cover;
	height: 88rem;
	margin-top: -23rem;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
}

.p-about__media ul {
	display: flex;
	align-items: center;
	will-change: transform;
	animation: runText 30s linear infinite;
}

.p-about__media ul li {
	color: var(--color-white);
	font-size: 6rem;
	font-family: var(--font-en);
	flex-shrink: 0;
	line-height: 1;
	letter-spacing: -0.02em;
	margin-right: 1rem;
	position: relative;
}

.p-about__media ul li img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-info {
	background-color: var(--color-white);
	padding-top: 6.5rem;
}

.p-info__card {
	background-color: #EBF1F7;
	border-radius: 0.8rem;
	padding: 2.8rem 1.6rem;
	margin-top: 4rem;
}

.p-info__card .card-item {
	position: relative;
}

.p-info__card .card-item:not(:last-child) {
	border-bottom: 1px solid rgba(5, 24, 35, 0.1);
	margin-bottom: 2.4rem;
	padding-bottom: 2.4rem;
}

.p-info__card .card-item__ttl {
	color: var(--color-primary);
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	margin-bottom: 2.4rem;
}

.p-info__card .card-item__media {
	border-radius: 0.5rem;
	aspect-ratio: 390/260;
	position: relative;
	overflow: hidden;
	margin-bottom: 2rem;
}

.p-info__card .card-item__media img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-info__card .card-item__content {
	padding-left: 1.2rem;
}

.p-info__card .card-item__name {
	color: #051823;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
	margin-bottom: 1rem;
}

.p-gift {
	background-color: var(--color-white);
	padding-top: 6.5rem;
}

.p-gift--02 {
	padding-bottom: 5.5rem;
}

.p-gift__card {
	background-color: #EBF1F7;
	border-radius: 0.8rem;
	padding: 4.2rem 1.6rem 1.6rem;
	margin-top: 3.5rem;
}

.p-gift__card .card-item:not(:last-child) {
	margin-bottom: 4.7rem;
}

.p-gift__card .card-item__media {
	aspect-ratio: 422/280;
	position: relative;
}

.p-gift__card .card-item__media img {
	border-radius: 0.5rem;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	will-change: transform;
}

.p-gift__card .card-item__media .lbl {
	background-color: var(--color-white);
	border-radius: 1.65rem;
	border-bottom-left-radius: 0;
	color: var(--color-secondary);
	font-size: 1.5rem;
	display: inline-block;
	line-height: 1;
	letter-spacing: 0.04em;
	padding: 0.9rem 2rem;
	position: absolute;
	top: -1.7rem;
	left: 0;
	z-index: 1;
}

.p-gift__card .card-item__content {
	padding-left: 1.2rem;
	margin-top: 2rem;
}

.p-gift__card .card-item .point {
	color: var(--color-white);
	font-size: 1.5rem;
	line-height: 1;
}

.p-gift__card .card-item .point strong {
	background-color: var(--color-primary);
	padding: 0.15rem 0.45rem 0.4rem;
}

.p-gift__card .card-item .ttl {
	color: var(--color-primary);
	font-weight: bold;
	line-height: 1;
	margin-top: 0.6rem;
}

.p-gift__card .card-item .ttl span.num {
	font-size: 3.4rem;
	font-family: var(--font-secondary);
	letter-spacing: -0.02em;
}

.p-gift__card .card-item .ttl span.unit {
	font-size: 1.8rem;
}

.p-gift__card .card-item .ttl span.unit02 {
	font-size: 2.4rem;
}

.p-gift__card .card-item .ttl span.stt {
	font-size: 2.7rem;
}

.p-gift__card .note {
	background-color: var(--color-white);
	border-radius: 0.5rem;
	margin-top: 3.5rem;
	padding: 2rem 1.6rem;
}

.p-gift__card .note-list {
	margin-top: 1.2rem;
}

.p-gift__card .note-list li {
	display: flex;
	gap: 0.4rem;
	align-items: flex-start;
	line-height: 1.8;
}

.p-gift__card .note-list li::before {
	background-color: var(--color-primary);
	border-radius: 50%;
	content: "";
	flex-shrink: 0;
	width: 0.4rem;
	height: 0.4rem;
	position: relative;
	top: 1.1rem;
}

.p-plan {
	padding-block: 6.5rem 5rem;
}

.p-plan__content {
	border-top: 1px solid rgba(255, 255, 255, 0.3);
	padding-top: 4rem;
	margin-top: 3.5rem;
}

.p-plan .desc-box {
	display: flex;
	gap: 1.5rem;
	align-items: center;
}

.p-plan .desc-box__left {
	border: 0.3rem solid var(--color-white);
	border-radius: 0.5rem;
	width: 16rem;
}

.p-plan .desc-box__left .title {
	background-color: var(--color-white);
	color: var(--color-primary);
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	line-height: 1;
	letter-spacing: 0;
	padding: 0.6rem;
}

.p-plan .desc-box__left .content {
	color: var(--color-white);
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.1875;
	padding: 1rem 1rem;
	letter-spacing: 0.03em;
	text-align: center;
}

.p-plan .desc-box__left .content img {
	width: 5.3rem;
	position: relative;
	top: -0.5rem;
	right: -0.5rem;
}

.p-plan .desc-box__right .title {
	border-bottom: 1px solid var(--color-white);
	color: var(--color-white);
	font-size: 1.8rem;
	line-height: 1;
	letter-spacing: 0.01em;
	padding-bottom: 0.8rem;
}

.p-plan .desc-box__right .detail {
	color: var(--color-white);
}

.p-plan .desc-box__right .detail-month {
	background-color: var(--color-white);
	border-radius: 0.5rem;
	font-size: 2.2rem;
	line-height: 1;
	color: var(--color-primary);
	display: inline-block;
	text-orientation: mixed;
	writing-mode: vertical-rl;
	padding: 0.5rem 0.6rem 0.3rem;
	position: relative;
	top: 0.3rem;
}

.p-plan .desc-box__right .detail-price {
	font-size: 7.1rem;
	letter-spacing: -0.02em;
	line-height: 1;
}

.p-plan .desc-box__right .detail-price span {
	font-size: 6.1rem;
	position: relative;
	top: -0.7rem;
}

.p-plan .desc-box__right .detail-unit {
	font-size: 3.2rem;
	line-height: 1.0625;
	letter-spacing: 0;
}

.p-plan .desc-box__right .text {
	color: var(--color-white);
	font-size: 3.8rem;
	line-height: 1;
	letter-spacing: 0.06em;
}

.p-plan__media {
	aspect-ratio: 422/282;
	border-radius: 0.5rem;
	overflow: hidden;
	margin-top: 2.5rem;
}

.p-plan__media img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-plan__arr {
	background-color: var(--color-white);
	border-radius: 0.5rem;
	margin-top: 2.5rem;
}

.p-plan__arr .head {
	font-size: 2rem;
	font-weight: 500;
	cursor: pointer;
	padding: 1.8rem 0 1.6rem 1.6rem;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.p-plan__arr .head span {
	border-left: 1px solid rgba(5, 24, 35, 0.1);
	width: 6rem;
	height: 4.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.p-plan__arr .head span::before {
	content: "";
	background: url("../images/ic_plus.svg") no-repeat center/contain;
	width: 1.2rem;
	aspect-ratio: 1;
	transition: transform 0.3s ease;
}

.p-plan__arr .head.is-active span::before,
.p-plan__arr .head:hover span::before {
	transform: rotate(135deg);
}

.p-plan__arr .body {
	display: none;
}

.p-plan__arr .content {
	padding: 2rem 1.6rem 1.6rem;
	position: relative;
}

.p-plan__arr .content::before {
	content: "";
	background-color: rgba(5, 24, 35, 0.1);
	height: 0.1rem;
	position: absolute;
	top: 0;
	left: 1.6rem;
	right: 1.6rem;
}

.p-plan__arr .content .lb {
	background-color: var(--color-primary);
	border-radius: 0.4rem;
	color: var(--color-white);
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	padding: 1.1rem 1rem 1.3rem;
}

.p-plan .list-price {
	margin-top: 2.5rem;
}

.p-plan .list-price__item:not(.--full) {
	border-bottom: 1px solid rgba(5, 24, 35, 0.1);
	padding-bottom: 1.5rem;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	align-items: flex-start;
}

.p-plan .list-price__item:not(:last-child) {
	margin-bottom: 2.2rem;
}

.p-plan .list-price__item .title {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
}

.p-plan .list-price__item .title span {
	color: rgba(5, 24, 35, 0.5);
	display: block;
	font-size: 1.4rem;
	font-weight: 500;
	margin-top: 1rem;
}

.p-plan .list-price__item .detail {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 0.8888888889;
}

.p-plan .list-price__item .detail span {
	font-size: 2rem;
	font-weight: normal;
	line-height: 1;
	letter-spacing: -0.02em;
	margin-right: 0.3rem;
}

.p-plan .list-price__item .note {
	background-color: #EBF1F7;
	border-radius: 0.4rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.5;
	padding: 2rem;
	text-align: center;
}

.p-plan .list-price__item.--total .detail span {
	color: var(--color-primary);
	font-size: 2.4rem;
	font-weight: bold;
}

.p-plan .annual-plan {
	margin-top: 3.5rem;
}

.p-plan .annual-plan__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid var(--color-primary);
	padding-bottom: 0.5rem;
	margin-bottom: 1.6rem;
}

.p-plan .annual-plan__head .number {
	color: var(--color-primary);
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1;
}

.p-plan .annual-plan__head .number span {
	font-size: 4.5rem;
	letter-spacing: 0.03em;
}

.p-plan .annual-plan__head .pay {
	background-color: var(--color-primary);
	border-radius: 0.3rem;
	font-weight: bold;
	color: var(--color-white);
	padding: 0.4rem 0.5rem 0.3rem;
}

.p-plan .annual-plan__txt {
	font-size: 1.5rem;
	line-height: 1;
}

.p-plan .annual-plan__media {
	margin-top: 1.6rem;
}

.p-plan .annual-plan__media .payment-includes {
	background-color: var(--color-white);
	border-radius: 0.3rem;
	max-width: 32rem;
	padding: 1.2rem 1rem;
	position: relative;
	z-index: 1;
	margin-top: -10.2rem;
}

.p-plan .annual-plan__media .payment-includes::after {
	content: "";
	border: 4px solid var(--color-primary);
	border-radius: 0.3rem;
	position: absolute;
	top: -0.4rem;
	right: -0.4rem;
	bottom: -0.4rem;
	left: -0.4rem;
	z-index: -1;
}

.p-plan .annual-plan__media .payment-includes p {
	border-bottom: 1px solid rgba(5, 24, 35, 0.1);
	line-height: 1.2;
	margin-bottom: 1.2rem;
	padding-bottom: 1.2rem;
}

.p-plan .annual-plan__media .payment-includes p strong {
	color: var(--color-primary);
}

.p-plan .annual-plan__media .payment-includes .note-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem 1.4rem;
}

.p-plan .annual-plan__media .payment-includes .note-list li {
	display: flex;
	gap: 0.4rem;
	align-items: flex-start;
	line-height: 1.8;
	line-height: 1;
}

.p-plan .annual-plan__media .payment-includes .note-list li::before {
	background-color: var(--color-primary);
	border-radius: 50%;
	content: "";
	flex-shrink: 0;
	width: 0.4rem;
	height: 0.4rem;
	position: relative;
	top: 0.6rem;
}

.p-plan .annual-plan__media .choose-payment {
	background-color: var(--color-white);
	border-radius: 0.3rem;
	max-width: 32rem;
	padding: 1.2rem 1rem 2.8rem;
	position: relative;
	margin-left: auto;
	margin-top: 2rem;
	z-index: 1;
}

.p-plan .annual-plan__media .choose-payment::after {
	content: "";
	border: 4px solid var(--color-yellow);
	border-radius: 0.3rem;
	position: absolute;
	top: -0.4rem;
	right: -0.4rem;
	bottom: -0.4rem;
	left: -0.4rem;
	z-index: -1;
}

.p-plan .annual-plan__media .choose-payment > p {
	border-bottom: 1px solid rgba(5, 24, 35, 0.1);
	line-height: 1.2;
	margin-bottom: 1.2rem;
	padding-bottom: 1.2rem;
}

.p-plan .annual-plan__media .choose-payment > p strong {
	color: var(--color-yellow);
}

.p-plan .annual-plan__media .choose-payment .note-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem 1.4rem;
}

.p-plan .annual-plan__media .choose-payment .note-list li {
	display: flex;
	gap: 0.4rem;
	align-items: flex-start;
	line-height: 1.8;
	line-height: 1;
}

.p-plan .annual-plan__media .choose-payment .note-list li::before {
	background-color: var(--color-primary);
	border-radius: 50%;
	content: "";
	flex-shrink: 0;
	width: 0.4rem;
	height: 0.4rem;
	position: relative;
	top: 0.6rem;
}

.p-plan .annual-plan__media .choose-payment .box-top {
	display: flex;
	gap: 2.2rem;
	align-items: flex-end;
}

.p-plan .annual-plan__media .choose-payment .box-top__left {
	width: 19.3rem;
}

.p-plan .annual-plan__media .choose-payment .box-top__right {
	flex: 1;
	position: relative;
	top: 1.6rem;
	margin-top: -2.5rem;
}

.p-plan .annual-plan__media .choose-payment .box-top__right .num {
	color: var(--color-yellow);
	font-size: 11rem;
	letter-spacing: -0.02em;
	line-height: 1;
}

.p-plan .annual-plan__media .choose-payment .box-top__right .num .unit {
	color: var(--color-yellow);
	font-size: 2rem;
	line-height: 1;
	margin-left: 0.2rem;
}

.p-plan .annual-plan__media .choose-payment .box-top__right .sym {
	top: 5rem;
	right: 0.2rem;
}

.p-plan .annual-plan__media .choose-payment .box-bottom {
	border-top: 1px dotted var(--color-yellow);
	padding-top: 1.2rem;
	margin-top: 1.2rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.p-plan .annual-plan__media .choose-payment .box-item {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	position: relative;
}

.p-plan .annual-plan__media .choose-payment .box-item:not(.--first) {
	border-top: 1px dotted var(--color-yellow);
	padding-top: 1.2rem;
	margin-top: 1.2rem;
}

.p-plan .annual-plan__media .choose-payment .box-item .num {
	border-radius: 50%;
	background-color: var(--color-yellow);
	color: var(--color-white);
	flex-shrink: 0;
	width: 2.5rem;
	aspect-ratio: 1;
	text-align: center;
	line-height: 2.5rem;
}

.p-plan .annual-plan__media .choose-payment .box-item .txt {
	line-height: 1.2;
	width: 12.3rem;
}

.p-plan .annual-plan__media .choose-payment .box-item .ar {
	width: 2.7rem;
}

.p-plan .annual-plan__media .choose-payment .box .sym {
	font-size: 1.5rem;
	line-height: 1;
	position: absolute;
}

.p-plan .annual-plan__media .choose-payment .box .sym span {
	font-size: 1.2rem;
}

.p-plan .annual-plan__media .choose-payment .box .type {
	flex-shrink: 0;
	width: 9.9rem;
	position: relative;
}

.p-plan .annual-plan__media .choose-payment .box .type-item {
	background-color: var(--color-yellow);
	border-radius: 0.3rem;
	color: var(--color-white);
	font-weight: bold;
	padding: 0.5rem 0.4rem;
}

.p-plan .annual-plan__media .choose-payment .box .type-item.--or {
	margin-inline: 0.5rem 0.3rem;
	line-height: 1;
}

.p-plan .annual-plan__media .choose-payment .box .type .sym {
	right: 0;
	bottom: -2rem;
}

.p-plan .box-note {
	background-color: #EBF1F7;
	border-radius: 0.3rem;
	margin-top: 2.3rem;
	padding: 1.6rem;
}

.p-plan .box-note li {
	display: flex;
	gap: 0.3rem;
	line-height: 1.8;
	letter-spacing: 0.03em;
}

.p-plan .box-note li:not(:last-child) {
	margin-bottom: 1rem;
}

.p-product {
	background-color: #EBF1F7;
	padding-block: 6.5rem 0;
}

.p-product__content {
	margin-top: 3rem;
	margin-bottom: 3.5rem;
}

.p-product__item {
	display: none;
}

.p-product__btn {
	margin-block: 4rem 3.5rem;
}

.p-product__btn btn-toform {
	margin-top: 1.6rem;
}

.p-product__fixed {
	overflow: hidden;
	position: relative;
}

.p-product__fixed__wrap {
	background-color: var(--color-white);
	padding: 1rem 1.5rem;
	position: var(--position, absolute);
	transform: translate3d(0, 6.5rem, 0);
	right: 0;
	bottom: 0;
	width: 47rem;
	display: flex;
	gap: 1.5rem;
	align-items: center;
	z-index: 9;
	transition: transform 0.4s cubic-bezier(0.55, 0, 0.1, 1) 0s, position 0.3s ease;
}

.p-product__fixed__wrap.is-fixed {
	--position: fixed;
}

.p-product__fixed__wrap.is-show {
	transform: translate3d(0, 0, 0);
}

.p-product__fixed__wrap p {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1;
}

.p-product__fixed__wrap ul {
	flex: 1;
	display: flex;
	gap: 0.8rem;
	align-items: center;
}

.p-product__fixed__wrap ul li {
	flex: 1;
	max-width: 7.5rem;
}

.p-product__fixed__wrap ul li a {
	background-color: #EBF1F7;
	border-radius: 0.3rem;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: -0.02em;
	display: block;
	text-align: center;
	line-height: 4rem;
}

.p-product__fixed__wrap ul li:hover a,
.p-product__fixed__wrap ul li.is-active a {
	background-color: var(--color-secondary);
	color: var(--color-white);
}

.product-media {
	background-color: var(--color-white);
	border-radius: 0.5rem;
	padding: 1.6rem;
	overflow: hidden;
}

.product-media__top {
	aspect-ratio: 422/281;
	margin: -1.6rem -1.6rem 1rem;
	position: relative;
}

.product-media__top img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.product-media__top strong {
	background-color: #EBF1F7;
	border-radius: 0.3rem;
	color: rgba(5, 24, 35, 0.6);
	font-size: 1.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.4rem;
	height: 2.4rem;
	position: absolute;
	top: 1rem;
	left: 1rem;
}

.product-media__bottom {
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
}

.product-media__bottom div {
	aspect-ratio: 390/160;
	border-radius: 0.5rem;
	overflow: hidden;
}

.product-media__bottom div img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.product-color {
	margin-top: 2.5rem;
}

.product-color__ttl {
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1;
}

.product-color__list {
	display: flex;
	flex-direction: row;
	gap: 0.8rem;
	margin-top: 1.5rem;
}

.product-color__list li {
	width: 2.6rem;
	aspect-ratio: 1;
	border: 1px solid transparent;
}

.product-detail {
	border-top: 1px solid rgba(5, 24, 35, 0.1);
	margin-top: 3.5rem;
	padding-top: 3.5rem;
}

.product-detail p {
	color: var(--color-primary);
	font-size: 1.6rem;
	line-height: 1;
}

.product-detail h3 {
	font-size: 2.6rem;
	font-weight: 500;
	line-height: 1.3;
	margin-top: 1rem;
}

.product-tab {
	background-color: var(--color-white);
	border-radius: 0.8rem;
	margin-top: 3rem;
}

.product-tab__head {
	border-bottom: 1px solid rgb(235, 241, 247);
	padding: 0.7rem 0.6rem 0.8rem;
}

.product-tab__head ul {
	display: flex;
}

.product-tab__head ul li {
	flex: 1;
	position: relative;
}

.product-tab__head ul li::after {
	content: "";
	background: url("../images/ic_polygon.svg") no-repeat center/contain;
	width: 1.085rem;
	height: 0.827rem;
	position: absolute;
	bottom: -0.5rem;
	left: 0;
	right: 0;
	margin: 0 auto;
	opacity: 0;
	visibility: hidden;
}

.product-tab__head ul li:nth-child(1) a {
	border-top-left-radius: 0.4rem;
	border-bottom-left-radius: 0.4rem;
}

.product-tab__head ul li:nth-child(2) a {
	border-top-right-radius: 0.4rem;
	border-bottom-right-radius: 0.4rem;
}

.product-tab__head ul li a {
	background-color: #EBF1F7;
	color: rgba(5, 24, 35, 0.35);
	font-size: 1.6rem;
	font-family: var(--font-secondary);
	font-weight: 500;
	display: block;
	text-align: center;
	line-height: 1;
	letter-spacing: -0.02em;
	padding: 1.5rem 1.5rem;
	overflow: hidden;
}

.product-tab__head ul li.is-active::after {
	opacity: 1;
	visibility: visible;
}

.product-tab__head ul li.is-active a {
	background-color: var(--color-secondary);
	color: var(--color-white);
}

.product-tab__body {
	padding: 2.5rem 1.6rem 2rem;
}

.product-tab__content {
	display: none;
}

.product-plan__item:not(:last-child) {
	border-bottom: 1px solid rgba(5, 24, 35, 0.1);
	padding-bottom: 2.5rem;
	margin-bottom: 2.5rem;
}

.product-plan__item .title {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
}

.product-plan__item .price {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	margin-top: 0.8rem;
}

.product-plan__item .price strong {
	font-size: 3.2rem;
	letter-spacing: -0.02em;
	margin-right: 0.3rem;
}

.product-plan__item .price.--other strong {
	font-size: 4rem;
}

.product-plan__item .note {
	color: rgba(5, 24, 35, 0.5);
	font-size: 1.3rem;
	margin-top: 0.8rem;
}

.product-price__ttl {
	background-color: var(--color-primary);
	color: var(--color-white);
	font-size: 1.5rem;
	text-align: center;
	padding: 1.8rem;
}

.product-price__list {
	background-color: #E8EEF5;
	padding: 3.8rem 2.4rem;
}

.product-price__list .item {
	font-size: 1.5rem;
	line-height: 1;
	display: flex;
	justify-content: space-between;
	gap: 1rem;
}

.product-price__list .item:not(:last-child) {
	border-bottom: 1px solid rgba(5, 24, 35, 0.1);
	margin-bottom: 2.2rem;
	padding-bottom: 2.2rem;
}

.product-price__list .item .title span {
	color: rgba(5, 24, 35, 0.5);
	display: block;
	font-size: 1.3rem;
	font-weight: 500;
	margin-top: 1rem;
}

.product-price__list .item .detail span {
	font-size: 2rem;
	letter-spacing: -0.02em;
	margin-right: 0.3rem;
}

.product-price__list .item.--total .detail span {
	color: var(--color-primary);
	font-size: 2.4rem;
	font-weight: bold;
}

.product-showmodal {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1;
}

.product-showmodal::after {
	content: "";
	background: url("../images/ic_blank.svg") no-repeat center/contain;
	width: 1.167rem;
	height: 1rem;
	display: inline-block;
	vertical-align: middle;
	margin-left: 0.3rem;
}

.p-faq {
	background-color: var(--color-white);
	padding-top: 6.5rem;
}

.p-faq__arr {
	margin-top: 2.5rem;
}

.p-faq__arr .item {
	background-color: #EBF1F7;
	border-radius: 0.5rem;
}

.p-faq__arr .item:not(:last-child) {
	margin-bottom: 1.5rem;
}

.p-faq__arr .head {
	cursor: pointer;
	padding: 1.8rem 0 1.6rem 1.6rem;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.p-faq__arr .head p {
	font-size: 2rem;
	font-weight: 500;
}

.p-faq__arr .head p strong {
	color: var(--color-primary);
	margin-right: 0.5rem;
}

.p-faq__arr .head .ic {
	border-left: 1px solid rgba(5, 24, 35, 0.1);
	width: 6rem;
	height: 4.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.p-faq__arr .head .ic::before {
	content: "";
	background: url("../images/ic_plus.svg") no-repeat center/contain;
	width: 1.2rem;
	aspect-ratio: 1;
	transition: transform 0.3s ease;
}

.p-faq__arr .head.is-active span::before,
.p-faq__arr .head:hover span::before {
	transform: rotate(135deg);
}

.p-faq__arr .body {
	display: none;
}

.p-faq__arr .content {
	padding: 2rem 1.6rem 1.6rem;
	position: relative;
}

.p-faq__arr .content::before {
	content: "";
	background-color: rgba(5, 24, 35, 0.1);
	height: 0.1rem;
	position: absolute;
	top: 0;
	left: 1.6rem;
	right: 1.6rem;
}

.p-faq__arr .content p {
	font-size: 1.6rem;
	line-height: 1.8;
}

.p-faq__arr .content .lb {
	background-color: var(--color-primary);
	border-radius: 0.4rem;
	color: var(--color-white);
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	padding: 1.1rem 1rem 1.3rem;
}

.datepicker-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.4); /* màu nền mờ */
	z-index: 999;
	display: none;
}

.ui-widget.ui-widget-content {
	border: 0;
	border-radius: 0.6rem;
	margin-top: 0.4rem;
	padding: 0;
}

.ui-widget-header {
	background-color: var(--color-secondary);
	border-radius: 0.6rem 0.6rem 0 0;
	border: 0;
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: 0.09em;
}

.ui-widget-header .ui-icon {
	background: url("../images/ic_arrow01.svg") no-repeat center/contain;
	height: 1.2rem;
	width: 1.2rem;
	margin: 0 !important;
	position: static !important;
}

.ui-datepicker {
	width: 21.6rem;
}

.ui-datepicker .ui-datepicker-prev {
	left: 0 !important;
}

.ui-datepicker .ui-datepicker-prev .ui-icon {
	transform: rotate(180deg);
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	right: 0 !important;
	top: 50%;
	transform: translateY(-50%);
}

.ui-datepicker .ui-widget-header .ui-state-hover {
	background: none;
	border: 0;
	right: 0;
}

.ui-datepicker th,
.ui-datepicker td {
	font-size: 1.5rem;
	font-weight: 400;
}

.ui-datepicker th {
	background-color: #EBF1F7;
	padding-block: 0.5rem;
}

.ui-datepicker th.ui-datepicker-week-end {
	color: var(--color-danger);
}

.ui-datepicker th.ui-datepicker-week-end:last-child {
	color: #4470E9;
}

.ui-datepicker td {
	font-family: var(--font-secondary);
}

.ui-datepicker .ui-state-default,
.ui-datepicker .ui-widget-content .ui-state-default,
.ui-datepicker .ui-widget-header .ui-state-default,
.ui-datepicker .ui-button,
.ui-datepicker html .ui-button.ui-state-disabled:hover,
.ui-datepicker html .ui-button.ui-state-disabled:active {
	background: none;
	border: 0;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ui-datepicker .ui-state-hover,
.ui-datepicker .ui-widget-content .ui-state-hover,
.ui-datepicker .ui-state-focus,
.ui-datepicker .ui-widget-content .ui-state-focus,
.ui-datepicker .ui-widget-header .ui-state-focus,
.ui-datepicker .ui-button:hover,
.ui-datepicker .ui-button:focus {
	background-color: var(--color-primary);
	color: #fff;
}

.ui-datepicker .ui-state-highlight,
.ui-datepicker .ui-widget-content .ui-state-highlight,
.ui-datepicker .ui-widget-header .ui-state-highlight,
.ui-datepicker .ui-state-active,
.ui-datepicker .ui-widget-content .ui-state-active,
.ui-datepicker .ui-widget-header .ui-state-active,
.ui-datepicker a.ui-button:active,
.ui-datepicker .ui-button:active,
.ui-datepicker .ui-button.ui-state-active:hover {
	background-color: var(--color-primary);
	color: #fff;
}

.modal {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	display: none;
	width: 100%;
	height: 100%;
	outline: 0;
}

.modal.fade .modal-dialog {
	transition: transform 0.3s ease-out;
	transform: translate(0, 100%);
}

.modal.show .modal-dialog {
	transform: translate(0, 0);
}

.modal-dialog {
	max-width: 47rem;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	position: relative;
	pointer-events: none;
}

.modal-content {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	max-height: 100%;
	height: 60%;
	overflow: hidden;
	pointer-events: auto;
	background-color: var(--color-white);
	background-clip: padding-box;
	border-radius: 0.8rem;
	outline: 0;
}

.modal-header {
	border: 1px solid rgba(5, 24, 35, 0.1);
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	padding: 2.4rem 2.4rem 2.3rem;
	border-top-left-radius: 0.8rem;
	border-top-right-radius: 0.8rem;
}

.modal-close {
	font-weight: 500;
	line-height: 1;
	padding: 2.4rem;
	margin: -2.4rem -2.4rem -2.4rem auto;
}

.modal-close::after {
	content: "";
	background: url("../images/ic_plus.svg") no-repeat center/contain;
	width: 1.2rem;
	aspect-ratio: 1;
	transform: rotate(135deg);
	display: inline-block;
	vertical-align: middle;
	margin-left: 0.2rem;
}

.modal-title {
	color: var(--color-primary);
	font-size: 1.6rem;
	line-height: 1;
}

.modal-body {
	overflow-y: auto;
	position: relative;
	flex: 1 1 auto;
}

.modal .product-plan {
	padding: 3rem 2.4rem 3.5rem;
}

.modal .product-plan__item .price strong {
	font-size: 4.6rem;
	letter-spacing: -0.02em;
	margin-right: 0.3rem;
}

.modal .product-plan__item .price.--other strong {
	font-size: 2.6rem;
}

.modal-backdrop {
	background-color: rgba(0, 0, 0, 0.4);
	opacity: 0;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	transition: opacity 0.15s linear;
	z-index: 1200;
}

.modal-backdrop.show {
	opacity: 1;
}

@media (min-width: 576px) {

.d-sm-none {
	display: none !important;
}

.d-sm-block {
	display: block !important;
}

.d-sm-flex {
	display: flex !important;
}

.m-sm-0 {
	margin: 0 !important;
}

.mt-sm-0,
.my-sm-0 {
	margin-top: 0 !important;
}

.mr-sm-0,
.mx-sm-0 {
	margin-right: 0 !important;
}

.mb-sm-0,
.my-sm-0 {
	margin-bottom: 0 !important;
}

.ml-sm-0,
.mx-sm-0 {
	margin-left: 0 !important;
}

.m-sm-5 {
	margin: 0.5rem !important;
}

.mt-sm-5,
.my-sm-5 {
	margin-top: 0.5rem !important;
}

.mr-sm-5,
.mx-sm-5 {
	margin-right: 0.5rem !important;
}

.mb-sm-5,
.my-sm-5 {
	margin-bottom: 0.5rem !important;
}

.ml-sm-5,
.mx-sm-5 {
	margin-left: 0.5rem !important;
}

.m-sm-10 {
	margin: 1rem !important;
}

.mt-sm-10,
.my-sm-10 {
	margin-top: 1rem !important;
}

.mr-sm-10,
.mx-sm-10 {
	margin-right: 1rem !important;
}

.mb-sm-10,
.my-sm-10 {
	margin-bottom: 1rem !important;
}

.ml-sm-10,
.mx-sm-10 {
	margin-left: 1rem !important;
}

.m-sm-12 {
	margin: 1.2rem !important;
}

.mt-sm-12,
.my-sm-12 {
	margin-top: 1.2rem !important;
}

.mr-sm-12,
.mx-sm-12 {
	margin-right: 1.2rem !important;
}

.mb-sm-12,
.my-sm-12 {
	margin-bottom: 1.2rem !important;
}

.ml-sm-12,
.mx-sm-12 {
	margin-left: 1.2rem !important;
}

.m-sm-15 {
	margin: 1.5rem !important;
}

.mt-sm-15,
.my-sm-15 {
	margin-top: 1.5rem !important;
}

.mr-sm-15,
.mx-sm-15 {
	margin-right: 1.5rem !important;
}

.mb-sm-15,
.my-sm-15 {
	margin-bottom: 1.5rem !important;
}

.ml-sm-15,
.mx-sm-15 {
	margin-left: 1.5rem !important;
}

.m-sm-20 {
	margin: 2rem !important;
}

.mt-sm-20,
.my-sm-20 {
	margin-top: 2rem !important;
}

.mr-sm-20,
.mx-sm-20 {
	margin-right: 2rem !important;
}

.mb-sm-20,
.my-sm-20 {
	margin-bottom: 2rem !important;
}

.ml-sm-20,
.mx-sm-20 {
	margin-left: 2rem !important;
}

.m-sm-25 {
	margin: 2.5rem !important;
}

.mt-sm-25,
.my-sm-25 {
	margin-top: 2.5rem !important;
}

.mr-sm-25,
.mx-sm-25 {
	margin-right: 2.5rem !important;
}

.mb-sm-25,
.my-sm-25 {
	margin-bottom: 2.5rem !important;
}

.ml-sm-25,
.mx-sm-25 {
	margin-left: 2.5rem !important;
}

.m-sm-60 {
	margin: 6rem !important;
}

.mt-sm-60,
.my-sm-60 {
	margin-top: 6rem !important;
}

.mr-sm-60,
.mx-sm-60 {
	margin-right: 6rem !important;
}

.mb-sm-60,
.my-sm-60 {
	margin-bottom: 6rem !important;
}

.ml-sm-60,
.mx-sm-60 {
	margin-left: 6rem !important;
}

.p-sm-0 {
	padding: 0 !important;
}

.pt-sm-0,
.py-sm-0 {
	padding-top: 0 !important;
}

.pr-sm-0,
.px-sm-0 {
	padding-right: 0 !important;
}

.pb-sm-0,
.py-sm-0 {
	padding-bottom: 0 !important;
}

.pl-sm-0,
.px-sm-0 {
	padding-left: 0 !important;
}

.p-sm-5 {
	padding: 0.5rem !important;
}

.pt-sm-5,
.py-sm-5 {
	padding-top: 0.5rem !important;
}

.pr-sm-5,
.px-sm-5 {
	padding-right: 0.5rem !important;
}

.pb-sm-5,
.py-sm-5 {
	padding-bottom: 0.5rem !important;
}

.pl-sm-5,
.px-sm-5 {
	padding-left: 0.5rem !important;
}

.p-sm-10 {
	padding: 1rem !important;
}

.pt-sm-10,
.py-sm-10 {
	padding-top: 1rem !important;
}

.pr-sm-10,
.px-sm-10 {
	padding-right: 1rem !important;
}

.pb-sm-10,
.py-sm-10 {
	padding-bottom: 1rem !important;
}

.pl-sm-10,
.px-sm-10 {
	padding-left: 1rem !important;
}

.p-sm-12 {
	padding: 1.2rem !important;
}

.pt-sm-12,
.py-sm-12 {
	padding-top: 1.2rem !important;
}

.pr-sm-12,
.px-sm-12 {
	padding-right: 1.2rem !important;
}

.pb-sm-12,
.py-sm-12 {
	padding-bottom: 1.2rem !important;
}

.pl-sm-12,
.px-sm-12 {
	padding-left: 1.2rem !important;
}

.p-sm-15 {
	padding: 1.5rem !important;
}

.pt-sm-15,
.py-sm-15 {
	padding-top: 1.5rem !important;
}

.pr-sm-15,
.px-sm-15 {
	padding-right: 1.5rem !important;
}

.pb-sm-15,
.py-sm-15 {
	padding-bottom: 1.5rem !important;
}

.pl-sm-15,
.px-sm-15 {
	padding-left: 1.5rem !important;
}

.p-sm-20 {
	padding: 2rem !important;
}

.pt-sm-20,
.py-sm-20 {
	padding-top: 2rem !important;
}

.pr-sm-20,
.px-sm-20 {
	padding-right: 2rem !important;
}

.pb-sm-20,
.py-sm-20 {
	padding-bottom: 2rem !important;
}

.pl-sm-20,
.px-sm-20 {
	padding-left: 2rem !important;
}

.p-sm-25 {
	padding: 2.5rem !important;
}

.pt-sm-25,
.py-sm-25 {
	padding-top: 2.5rem !important;
}

.pr-sm-25,
.px-sm-25 {
	padding-right: 2.5rem !important;
}

.pb-sm-25,
.py-sm-25 {
	padding-bottom: 2.5rem !important;
}

.pl-sm-25,
.px-sm-25 {
	padding-left: 2.5rem !important;
}

.p-sm-60 {
	padding: 6rem !important;
}

.pt-sm-60,
.py-sm-60 {
	padding-top: 6rem !important;
}

.pr-sm-60,
.px-sm-60 {
	padding-right: 6rem !important;
}

.pb-sm-60,
.py-sm-60 {
	padding-bottom: 6rem !important;
}

.pl-sm-60,
.px-sm-60 {
	padding-left: 6rem !important;
}

.m-sm-n5 {
	margin: -0.5rem !important;
}

.mt-sm-n5,
.my-sm-n5 {
	margin-top: -0.5rem !important;
}

.mr-sm-n5,
.mx-sm-n5 {
	margin-right: -0.5rem !important;
}

.mb-sm-n5,
.my-sm-n5 {
	margin-bottom: -0.5rem !important;
}

.ml-sm-n5,
.mx-sm-n5 {
	margin-left: -0.5rem !important;
}

.m-sm-n10 {
	margin: -1rem !important;
}

.mt-sm-n10,
.my-sm-n10 {
	margin-top: -1rem !important;
}

.mr-sm-n10,
.mx-sm-n10 {
	margin-right: -1rem !important;
}

.mb-sm-n10,
.my-sm-n10 {
	margin-bottom: -1rem !important;
}

.ml-sm-n10,
.mx-sm-n10 {
	margin-left: -1rem !important;
}

.m-sm-n12 {
	margin: -1.2rem !important;
}

.mt-sm-n12,
.my-sm-n12 {
	margin-top: -1.2rem !important;
}

.mr-sm-n12,
.mx-sm-n12 {
	margin-right: -1.2rem !important;
}

.mb-sm-n12,
.my-sm-n12 {
	margin-bottom: -1.2rem !important;
}

.ml-sm-n12,
.mx-sm-n12 {
	margin-left: -1.2rem !important;
}

.m-sm-n15 {
	margin: -1.5rem !important;
}

.mt-sm-n15,
.my-sm-n15 {
	margin-top: -1.5rem !important;
}

.mr-sm-n15,
.mx-sm-n15 {
	margin-right: -1.5rem !important;
}

.mb-sm-n15,
.my-sm-n15 {
	margin-bottom: -1.5rem !important;
}

.ml-sm-n15,
.mx-sm-n15 {
	margin-left: -1.5rem !important;
}

.m-sm-n20 {
	margin: -2rem !important;
}

.mt-sm-n20,
.my-sm-n20 {
	margin-top: -2rem !important;
}

.mr-sm-n20,
.mx-sm-n20 {
	margin-right: -2rem !important;
}

.mb-sm-n20,
.my-sm-n20 {
	margin-bottom: -2rem !important;
}

.ml-sm-n20,
.mx-sm-n20 {
	margin-left: -2rem !important;
}

.m-sm-n25 {
	margin: -2.5rem !important;
}

.mt-sm-n25,
.my-sm-n25 {
	margin-top: -2.5rem !important;
}

.mr-sm-n25,
.mx-sm-n25 {
	margin-right: -2.5rem !important;
}

.mb-sm-n25,
.my-sm-n25 {
	margin-bottom: -2.5rem !important;
}

.ml-sm-n25,
.mx-sm-n25 {
	margin-left: -2.5rem !important;
}

.m-sm-n60 {
	margin: -6rem !important;
}

.mt-sm-n60,
.my-sm-n60 {
	margin-top: -6rem !important;
}

.mr-sm-n60,
.mx-sm-n60 {
	margin-right: -6rem !important;
}

.mb-sm-n60,
.my-sm-n60 {
	margin-bottom: -6rem !important;
}

.ml-sm-n60,
.mx-sm-n60 {
	margin-left: -6rem !important;
}

.m-sm-auto {
	margin: auto !important;
}

.mt-sm-auto,
.my-sm-auto {
	margin-top: auto !important;
}

.mr-sm-auto,
.mx-sm-auto {
	margin-right: auto !important;
}

.mb-sm-auto,
.my-sm-auto {
	margin-bottom: auto !important;
}

.ml-sm-auto,
.mx-sm-auto {
	margin-left: auto !important;
}

.text-sm-left {
	text-align: left !important;
}

.text-sm-right {
	text-align: right !important;
}

.text-sm-center {
	text-align: center !important;
}

}

@media (min-width: 768px) {

html {
	font-size: 10px;
}

html.noscroll {
	overflow-y: scroll;
}

.d-md-none {
	display: none !important;
}

.d-md-block {
	display: block !important;
}

.d-md-flex {
	display: flex !important;
}

.m-md-0 {
	margin: 0 !important;
}

.mt-md-0,
.my-md-0 {
	margin-top: 0 !important;
}

.mr-md-0,
.mx-md-0 {
	margin-right: 0 !important;
}

.mb-md-0,
.my-md-0 {
	margin-bottom: 0 !important;
}

.ml-md-0,
.mx-md-0 {
	margin-left: 0 !important;
}

.m-md-5 {
	margin: 0.5rem !important;
}

.mt-md-5,
.my-md-5 {
	margin-top: 0.5rem !important;
}

.mr-md-5,
.mx-md-5 {
	margin-right: 0.5rem !important;
}

.mb-md-5,
.my-md-5 {
	margin-bottom: 0.5rem !important;
}

.ml-md-5,
.mx-md-5 {
	margin-left: 0.5rem !important;
}

.m-md-10 {
	margin: 1rem !important;
}

.mt-md-10,
.my-md-10 {
	margin-top: 1rem !important;
}

.mr-md-10,
.mx-md-10 {
	margin-right: 1rem !important;
}

.mb-md-10,
.my-md-10 {
	margin-bottom: 1rem !important;
}

.ml-md-10,
.mx-md-10 {
	margin-left: 1rem !important;
}

.m-md-12 {
	margin: 1.2rem !important;
}

.mt-md-12,
.my-md-12 {
	margin-top: 1.2rem !important;
}

.mr-md-12,
.mx-md-12 {
	margin-right: 1.2rem !important;
}

.mb-md-12,
.my-md-12 {
	margin-bottom: 1.2rem !important;
}

.ml-md-12,
.mx-md-12 {
	margin-left: 1.2rem !important;
}

.m-md-15 {
	margin: 1.5rem !important;
}

.mt-md-15,
.my-md-15 {
	margin-top: 1.5rem !important;
}

.mr-md-15,
.mx-md-15 {
	margin-right: 1.5rem !important;
}

.mb-md-15,
.my-md-15 {
	margin-bottom: 1.5rem !important;
}

.ml-md-15,
.mx-md-15 {
	margin-left: 1.5rem !important;
}

.m-md-20 {
	margin: 2rem !important;
}

.mt-md-20,
.my-md-20 {
	margin-top: 2rem !important;
}

.mr-md-20,
.mx-md-20 {
	margin-right: 2rem !important;
}

.mb-md-20,
.my-md-20 {
	margin-bottom: 2rem !important;
}

.ml-md-20,
.mx-md-20 {
	margin-left: 2rem !important;
}

.m-md-25 {
	margin: 2.5rem !important;
}

.mt-md-25,
.my-md-25 {
	margin-top: 2.5rem !important;
}

.mr-md-25,
.mx-md-25 {
	margin-right: 2.5rem !important;
}

.mb-md-25,
.my-md-25 {
	margin-bottom: 2.5rem !important;
}

.ml-md-25,
.mx-md-25 {
	margin-left: 2.5rem !important;
}

.m-md-60 {
	margin: 6rem !important;
}

.mt-md-60,
.my-md-60 {
	margin-top: 6rem !important;
}

.mr-md-60,
.mx-md-60 {
	margin-right: 6rem !important;
}

.mb-md-60,
.my-md-60 {
	margin-bottom: 6rem !important;
}

.ml-md-60,
.mx-md-60 {
	margin-left: 6rem !important;
}

.p-md-0 {
	padding: 0 !important;
}

.pt-md-0,
.py-md-0 {
	padding-top: 0 !important;
}

.pr-md-0,
.px-md-0 {
	padding-right: 0 !important;
}

.pb-md-0,
.py-md-0 {
	padding-bottom: 0 !important;
}

.pl-md-0,
.px-md-0 {
	padding-left: 0 !important;
}

.p-md-5 {
	padding: 0.5rem !important;
}

.pt-md-5,
.py-md-5 {
	padding-top: 0.5rem !important;
}

.pr-md-5,
.px-md-5 {
	padding-right: 0.5rem !important;
}

.pb-md-5,
.py-md-5 {
	padding-bottom: 0.5rem !important;
}

.pl-md-5,
.px-md-5 {
	padding-left: 0.5rem !important;
}

.p-md-10 {
	padding: 1rem !important;
}

.pt-md-10,
.py-md-10 {
	padding-top: 1rem !important;
}

.pr-md-10,
.px-md-10 {
	padding-right: 1rem !important;
}

.pb-md-10,
.py-md-10 {
	padding-bottom: 1rem !important;
}

.pl-md-10,
.px-md-10 {
	padding-left: 1rem !important;
}

.p-md-12 {
	padding: 1.2rem !important;
}

.pt-md-12,
.py-md-12 {
	padding-top: 1.2rem !important;
}

.pr-md-12,
.px-md-12 {
	padding-right: 1.2rem !important;
}

.pb-md-12,
.py-md-12 {
	padding-bottom: 1.2rem !important;
}

.pl-md-12,
.px-md-12 {
	padding-left: 1.2rem !important;
}

.p-md-15 {
	padding: 1.5rem !important;
}

.pt-md-15,
.py-md-15 {
	padding-top: 1.5rem !important;
}

.pr-md-15,
.px-md-15 {
	padding-right: 1.5rem !important;
}

.pb-md-15,
.py-md-15 {
	padding-bottom: 1.5rem !important;
}

.pl-md-15,
.px-md-15 {
	padding-left: 1.5rem !important;
}

.p-md-20 {
	padding: 2rem !important;
}

.pt-md-20,
.py-md-20 {
	padding-top: 2rem !important;
}

.pr-md-20,
.px-md-20 {
	padding-right: 2rem !important;
}

.pb-md-20,
.py-md-20 {
	padding-bottom: 2rem !important;
}

.pl-md-20,
.px-md-20 {
	padding-left: 2rem !important;
}

.p-md-25 {
	padding: 2.5rem !important;
}

.pt-md-25,
.py-md-25 {
	padding-top: 2.5rem !important;
}

.pr-md-25,
.px-md-25 {
	padding-right: 2.5rem !important;
}

.pb-md-25,
.py-md-25 {
	padding-bottom: 2.5rem !important;
}

.pl-md-25,
.px-md-25 {
	padding-left: 2.5rem !important;
}

.p-md-60 {
	padding: 6rem !important;
}

.pt-md-60,
.py-md-60 {
	padding-top: 6rem !important;
}

.pr-md-60,
.px-md-60 {
	padding-right: 6rem !important;
}

.pb-md-60,
.py-md-60 {
	padding-bottom: 6rem !important;
}

.pl-md-60,
.px-md-60 {
	padding-left: 6rem !important;
}

.m-md-n5 {
	margin: -0.5rem !important;
}

.mt-md-n5,
.my-md-n5 {
	margin-top: -0.5rem !important;
}

.mr-md-n5,
.mx-md-n5 {
	margin-right: -0.5rem !important;
}

.mb-md-n5,
.my-md-n5 {
	margin-bottom: -0.5rem !important;
}

.ml-md-n5,
.mx-md-n5 {
	margin-left: -0.5rem !important;
}

.m-md-n10 {
	margin: -1rem !important;
}

.mt-md-n10,
.my-md-n10 {
	margin-top: -1rem !important;
}

.mr-md-n10,
.mx-md-n10 {
	margin-right: -1rem !important;
}

.mb-md-n10,
.my-md-n10 {
	margin-bottom: -1rem !important;
}

.ml-md-n10,
.mx-md-n10 {
	margin-left: -1rem !important;
}

.m-md-n12 {
	margin: -1.2rem !important;
}

.mt-md-n12,
.my-md-n12 {
	margin-top: -1.2rem !important;
}

.mr-md-n12,
.mx-md-n12 {
	margin-right: -1.2rem !important;
}

.mb-md-n12,
.my-md-n12 {
	margin-bottom: -1.2rem !important;
}

.ml-md-n12,
.mx-md-n12 {
	margin-left: -1.2rem !important;
}

.m-md-n15 {
	margin: -1.5rem !important;
}

.mt-md-n15,
.my-md-n15 {
	margin-top: -1.5rem !important;
}

.mr-md-n15,
.mx-md-n15 {
	margin-right: -1.5rem !important;
}

.mb-md-n15,
.my-md-n15 {
	margin-bottom: -1.5rem !important;
}

.ml-md-n15,
.mx-md-n15 {
	margin-left: -1.5rem !important;
}

.m-md-n20 {
	margin: -2rem !important;
}

.mt-md-n20,
.my-md-n20 {
	margin-top: -2rem !important;
}

.mr-md-n20,
.mx-md-n20 {
	margin-right: -2rem !important;
}

.mb-md-n20,
.my-md-n20 {
	margin-bottom: -2rem !important;
}

.ml-md-n20,
.mx-md-n20 {
	margin-left: -2rem !important;
}

.m-md-n25 {
	margin: -2.5rem !important;
}

.mt-md-n25,
.my-md-n25 {
	margin-top: -2.5rem !important;
}

.mr-md-n25,
.mx-md-n25 {
	margin-right: -2.5rem !important;
}

.mb-md-n25,
.my-md-n25 {
	margin-bottom: -2.5rem !important;
}

.ml-md-n25,
.mx-md-n25 {
	margin-left: -2.5rem !important;
}

.m-md-n60 {
	margin: -6rem !important;
}

.mt-md-n60,
.my-md-n60 {
	margin-top: -6rem !important;
}

.mr-md-n60,
.mx-md-n60 {
	margin-right: -6rem !important;
}

.mb-md-n60,
.my-md-n60 {
	margin-bottom: -6rem !important;
}

.ml-md-n60,
.mx-md-n60 {
	margin-left: -6rem !important;
}

.m-md-auto {
	margin: auto !important;
}

.mt-md-auto,
.my-md-auto {
	margin-top: auto !important;
}

.mr-md-auto,
.mx-md-auto {
	margin-right: auto !important;
}

.mb-md-auto,
.my-md-auto {
	margin-bottom: auto !important;
}

.ml-md-auto,
.mx-md-auto {
	margin-left: auto !important;
}

.text-md-left {
	text-align: left !important;
}

.text-md-right {
	text-align: right !important;
}

.text-md-center {
	text-align: center !important;
}

.p-header {
	padding: 1.6rem 2.4rem;
}

.p-header .header-backdrop {
	display: none;
}

.global-navi {
	display: none;
}

.hamburger-box {
	display: none;
}

.l-main {
	margin-left: auto;
	margin-right: 28.2rem;
}

.c-shadow {
	filter: drop-shadow(0 0.3rem 0 var(--border-color));
}

.p-product__fixed__wrap.is-fixed {
	margin-right: 28.2rem;
}

.ui-datepicker th {
	padding-block: 0.5rem;
}

.modal-dialog {
	margin-left: auto;
	margin-right: 28.2rem;
}

}

@media (min-width: 992px) {

.d-lg-none {
	display: none !important;
}

.d-lg-block {
	display: block !important;
}

.d-lg-flex {
	display: flex !important;
}

.m-lg-0 {
	margin: 0 !important;
}

.mt-lg-0,
.my-lg-0 {
	margin-top: 0 !important;
}

.mr-lg-0,
.mx-lg-0 {
	margin-right: 0 !important;
}

.mb-lg-0,
.my-lg-0 {
	margin-bottom: 0 !important;
}

.ml-lg-0,
.mx-lg-0 {
	margin-left: 0 !important;
}

.m-lg-5 {
	margin: 0.5rem !important;
}

.mt-lg-5,
.my-lg-5 {
	margin-top: 0.5rem !important;
}

.mr-lg-5,
.mx-lg-5 {
	margin-right: 0.5rem !important;
}

.mb-lg-5,
.my-lg-5 {
	margin-bottom: 0.5rem !important;
}

.ml-lg-5,
.mx-lg-5 {
	margin-left: 0.5rem !important;
}

.m-lg-10 {
	margin: 1rem !important;
}

.mt-lg-10,
.my-lg-10 {
	margin-top: 1rem !important;
}

.mr-lg-10,
.mx-lg-10 {
	margin-right: 1rem !important;
}

.mb-lg-10,
.my-lg-10 {
	margin-bottom: 1rem !important;
}

.ml-lg-10,
.mx-lg-10 {
	margin-left: 1rem !important;
}

.m-lg-12 {
	margin: 1.2rem !important;
}

.mt-lg-12,
.my-lg-12 {
	margin-top: 1.2rem !important;
}

.mr-lg-12,
.mx-lg-12 {
	margin-right: 1.2rem !important;
}

.mb-lg-12,
.my-lg-12 {
	margin-bottom: 1.2rem !important;
}

.ml-lg-12,
.mx-lg-12 {
	margin-left: 1.2rem !important;
}

.m-lg-15 {
	margin: 1.5rem !important;
}

.mt-lg-15,
.my-lg-15 {
	margin-top: 1.5rem !important;
}

.mr-lg-15,
.mx-lg-15 {
	margin-right: 1.5rem !important;
}

.mb-lg-15,
.my-lg-15 {
	margin-bottom: 1.5rem !important;
}

.ml-lg-15,
.mx-lg-15 {
	margin-left: 1.5rem !important;
}

.m-lg-20 {
	margin: 2rem !important;
}

.mt-lg-20,
.my-lg-20 {
	margin-top: 2rem !important;
}

.mr-lg-20,
.mx-lg-20 {
	margin-right: 2rem !important;
}

.mb-lg-20,
.my-lg-20 {
	margin-bottom: 2rem !important;
}

.ml-lg-20,
.mx-lg-20 {
	margin-left: 2rem !important;
}

.m-lg-25 {
	margin: 2.5rem !important;
}

.mt-lg-25,
.my-lg-25 {
	margin-top: 2.5rem !important;
}

.mr-lg-25,
.mx-lg-25 {
	margin-right: 2.5rem !important;
}

.mb-lg-25,
.my-lg-25 {
	margin-bottom: 2.5rem !important;
}

.ml-lg-25,
.mx-lg-25 {
	margin-left: 2.5rem !important;
}

.m-lg-60 {
	margin: 6rem !important;
}

.mt-lg-60,
.my-lg-60 {
	margin-top: 6rem !important;
}

.mr-lg-60,
.mx-lg-60 {
	margin-right: 6rem !important;
}

.mb-lg-60,
.my-lg-60 {
	margin-bottom: 6rem !important;
}

.ml-lg-60,
.mx-lg-60 {
	margin-left: 6rem !important;
}

.p-lg-0 {
	padding: 0 !important;
}

.pt-lg-0,
.py-lg-0 {
	padding-top: 0 !important;
}

.pr-lg-0,
.px-lg-0 {
	padding-right: 0 !important;
}

.pb-lg-0,
.py-lg-0 {
	padding-bottom: 0 !important;
}

.pl-lg-0,
.px-lg-0 {
	padding-left: 0 !important;
}

.p-lg-5 {
	padding: 0.5rem !important;
}

.pt-lg-5,
.py-lg-5 {
	padding-top: 0.5rem !important;
}

.pr-lg-5,
.px-lg-5 {
	padding-right: 0.5rem !important;
}

.pb-lg-5,
.py-lg-5 {
	padding-bottom: 0.5rem !important;
}

.pl-lg-5,
.px-lg-5 {
	padding-left: 0.5rem !important;
}

.p-lg-10 {
	padding: 1rem !important;
}

.pt-lg-10,
.py-lg-10 {
	padding-top: 1rem !important;
}

.pr-lg-10,
.px-lg-10 {
	padding-right: 1rem !important;
}

.pb-lg-10,
.py-lg-10 {
	padding-bottom: 1rem !important;
}

.pl-lg-10,
.px-lg-10 {
	padding-left: 1rem !important;
}

.p-lg-12 {
	padding: 1.2rem !important;
}

.pt-lg-12,
.py-lg-12 {
	padding-top: 1.2rem !important;
}

.pr-lg-12,
.px-lg-12 {
	padding-right: 1.2rem !important;
}

.pb-lg-12,
.py-lg-12 {
	padding-bottom: 1.2rem !important;
}

.pl-lg-12,
.px-lg-12 {
	padding-left: 1.2rem !important;
}

.p-lg-15 {
	padding: 1.5rem !important;
}

.pt-lg-15,
.py-lg-15 {
	padding-top: 1.5rem !important;
}

.pr-lg-15,
.px-lg-15 {
	padding-right: 1.5rem !important;
}

.pb-lg-15,
.py-lg-15 {
	padding-bottom: 1.5rem !important;
}

.pl-lg-15,
.px-lg-15 {
	padding-left: 1.5rem !important;
}

.p-lg-20 {
	padding: 2rem !important;
}

.pt-lg-20,
.py-lg-20 {
	padding-top: 2rem !important;
}

.pr-lg-20,
.px-lg-20 {
	padding-right: 2rem !important;
}

.pb-lg-20,
.py-lg-20 {
	padding-bottom: 2rem !important;
}

.pl-lg-20,
.px-lg-20 {
	padding-left: 2rem !important;
}

.p-lg-25 {
	padding: 2.5rem !important;
}

.pt-lg-25,
.py-lg-25 {
	padding-top: 2.5rem !important;
}

.pr-lg-25,
.px-lg-25 {
	padding-right: 2.5rem !important;
}

.pb-lg-25,
.py-lg-25 {
	padding-bottom: 2.5rem !important;
}

.pl-lg-25,
.px-lg-25 {
	padding-left: 2.5rem !important;
}

.p-lg-60 {
	padding: 6rem !important;
}

.pt-lg-60,
.py-lg-60 {
	padding-top: 6rem !important;
}

.pr-lg-60,
.px-lg-60 {
	padding-right: 6rem !important;
}

.pb-lg-60,
.py-lg-60 {
	padding-bottom: 6rem !important;
}

.pl-lg-60,
.px-lg-60 {
	padding-left: 6rem !important;
}

.m-lg-n5 {
	margin: -0.5rem !important;
}

.mt-lg-n5,
.my-lg-n5 {
	margin-top: -0.5rem !important;
}

.mr-lg-n5,
.mx-lg-n5 {
	margin-right: -0.5rem !important;
}

.mb-lg-n5,
.my-lg-n5 {
	margin-bottom: -0.5rem !important;
}

.ml-lg-n5,
.mx-lg-n5 {
	margin-left: -0.5rem !important;
}

.m-lg-n10 {
	margin: -1rem !important;
}

.mt-lg-n10,
.my-lg-n10 {
	margin-top: -1rem !important;
}

.mr-lg-n10,
.mx-lg-n10 {
	margin-right: -1rem !important;
}

.mb-lg-n10,
.my-lg-n10 {
	margin-bottom: -1rem !important;
}

.ml-lg-n10,
.mx-lg-n10 {
	margin-left: -1rem !important;
}

.m-lg-n12 {
	margin: -1.2rem !important;
}

.mt-lg-n12,
.my-lg-n12 {
	margin-top: -1.2rem !important;
}

.mr-lg-n12,
.mx-lg-n12 {
	margin-right: -1.2rem !important;
}

.mb-lg-n12,
.my-lg-n12 {
	margin-bottom: -1.2rem !important;
}

.ml-lg-n12,
.mx-lg-n12 {
	margin-left: -1.2rem !important;
}

.m-lg-n15 {
	margin: -1.5rem !important;
}

.mt-lg-n15,
.my-lg-n15 {
	margin-top: -1.5rem !important;
}

.mr-lg-n15,
.mx-lg-n15 {
	margin-right: -1.5rem !important;
}

.mb-lg-n15,
.my-lg-n15 {
	margin-bottom: -1.5rem !important;
}

.ml-lg-n15,
.mx-lg-n15 {
	margin-left: -1.5rem !important;
}

.m-lg-n20 {
	margin: -2rem !important;
}

.mt-lg-n20,
.my-lg-n20 {
	margin-top: -2rem !important;
}

.mr-lg-n20,
.mx-lg-n20 {
	margin-right: -2rem !important;
}

.mb-lg-n20,
.my-lg-n20 {
	margin-bottom: -2rem !important;
}

.ml-lg-n20,
.mx-lg-n20 {
	margin-left: -2rem !important;
}

.m-lg-n25 {
	margin: -2.5rem !important;
}

.mt-lg-n25,
.my-lg-n25 {
	margin-top: -2.5rem !important;
}

.mr-lg-n25,
.mx-lg-n25 {
	margin-right: -2.5rem !important;
}

.mb-lg-n25,
.my-lg-n25 {
	margin-bottom: -2.5rem !important;
}

.ml-lg-n25,
.mx-lg-n25 {
	margin-left: -2.5rem !important;
}

.m-lg-n60 {
	margin: -6rem !important;
}

.mt-lg-n60,
.my-lg-n60 {
	margin-top: -6rem !important;
}

.mr-lg-n60,
.mx-lg-n60 {
	margin-right: -6rem !important;
}

.mb-lg-n60,
.my-lg-n60 {
	margin-bottom: -6rem !important;
}

.ml-lg-n60,
.mx-lg-n60 {
	margin-left: -6rem !important;
}

.m-lg-auto {
	margin: auto !important;
}

.mt-lg-auto,
.my-lg-auto {
	margin-top: auto !important;
}

.mr-lg-auto,
.mx-lg-auto {
	margin-right: auto !important;
}

.mb-lg-auto,
.my-lg-auto {
	margin-bottom: auto !important;
}

.ml-lg-auto,
.mx-lg-auto {
	margin-left: auto !important;
}

.text-lg-left {
	text-align: left !important;
}

.text-lg-right {
	text-align: right !important;
}

.text-lg-center {
	text-align: center !important;
}

}

@media (min-width: 1200px) {

.d-xl-none {
	display: none !important;
}

.d-xl-block {
	display: block !important;
}

.d-xl-flex {
	display: flex !important;
}

.m-xl-0 {
	margin: 0 !important;
}

.mt-xl-0,
.my-xl-0 {
	margin-top: 0 !important;
}

.mr-xl-0,
.mx-xl-0 {
	margin-right: 0 !important;
}

.mb-xl-0,
.my-xl-0 {
	margin-bottom: 0 !important;
}

.ml-xl-0,
.mx-xl-0 {
	margin-left: 0 !important;
}

.m-xl-5 {
	margin: 0.5rem !important;
}

.mt-xl-5,
.my-xl-5 {
	margin-top: 0.5rem !important;
}

.mr-xl-5,
.mx-xl-5 {
	margin-right: 0.5rem !important;
}

.mb-xl-5,
.my-xl-5 {
	margin-bottom: 0.5rem !important;
}

.ml-xl-5,
.mx-xl-5 {
	margin-left: 0.5rem !important;
}

.m-xl-10 {
	margin: 1rem !important;
}

.mt-xl-10,
.my-xl-10 {
	margin-top: 1rem !important;
}

.mr-xl-10,
.mx-xl-10 {
	margin-right: 1rem !important;
}

.mb-xl-10,
.my-xl-10 {
	margin-bottom: 1rem !important;
}

.ml-xl-10,
.mx-xl-10 {
	margin-left: 1rem !important;
}

.m-xl-12 {
	margin: 1.2rem !important;
}

.mt-xl-12,
.my-xl-12 {
	margin-top: 1.2rem !important;
}

.mr-xl-12,
.mx-xl-12 {
	margin-right: 1.2rem !important;
}

.mb-xl-12,
.my-xl-12 {
	margin-bottom: 1.2rem !important;
}

.ml-xl-12,
.mx-xl-12 {
	margin-left: 1.2rem !important;
}

.m-xl-15 {
	margin: 1.5rem !important;
}

.mt-xl-15,
.my-xl-15 {
	margin-top: 1.5rem !important;
}

.mr-xl-15,
.mx-xl-15 {
	margin-right: 1.5rem !important;
}

.mb-xl-15,
.my-xl-15 {
	margin-bottom: 1.5rem !important;
}

.ml-xl-15,
.mx-xl-15 {
	margin-left: 1.5rem !important;
}

.m-xl-20 {
	margin: 2rem !important;
}

.mt-xl-20,
.my-xl-20 {
	margin-top: 2rem !important;
}

.mr-xl-20,
.mx-xl-20 {
	margin-right: 2rem !important;
}

.mb-xl-20,
.my-xl-20 {
	margin-bottom: 2rem !important;
}

.ml-xl-20,
.mx-xl-20 {
	margin-left: 2rem !important;
}

.m-xl-25 {
	margin: 2.5rem !important;
}

.mt-xl-25,
.my-xl-25 {
	margin-top: 2.5rem !important;
}

.mr-xl-25,
.mx-xl-25 {
	margin-right: 2.5rem !important;
}

.mb-xl-25,
.my-xl-25 {
	margin-bottom: 2.5rem !important;
}

.ml-xl-25,
.mx-xl-25 {
	margin-left: 2.5rem !important;
}

.m-xl-60 {
	margin: 6rem !important;
}

.mt-xl-60,
.my-xl-60 {
	margin-top: 6rem !important;
}

.mr-xl-60,
.mx-xl-60 {
	margin-right: 6rem !important;
}

.mb-xl-60,
.my-xl-60 {
	margin-bottom: 6rem !important;
}

.ml-xl-60,
.mx-xl-60 {
	margin-left: 6rem !important;
}

.p-xl-0 {
	padding: 0 !important;
}

.pt-xl-0,
.py-xl-0 {
	padding-top: 0 !important;
}

.pr-xl-0,
.px-xl-0 {
	padding-right: 0 !important;
}

.pb-xl-0,
.py-xl-0 {
	padding-bottom: 0 !important;
}

.pl-xl-0,
.px-xl-0 {
	padding-left: 0 !important;
}

.p-xl-5 {
	padding: 0.5rem !important;
}

.pt-xl-5,
.py-xl-5 {
	padding-top: 0.5rem !important;
}

.pr-xl-5,
.px-xl-5 {
	padding-right: 0.5rem !important;
}

.pb-xl-5,
.py-xl-5 {
	padding-bottom: 0.5rem !important;
}

.pl-xl-5,
.px-xl-5 {
	padding-left: 0.5rem !important;
}

.p-xl-10 {
	padding: 1rem !important;
}

.pt-xl-10,
.py-xl-10 {
	padding-top: 1rem !important;
}

.pr-xl-10,
.px-xl-10 {
	padding-right: 1rem !important;
}

.pb-xl-10,
.py-xl-10 {
	padding-bottom: 1rem !important;
}

.pl-xl-10,
.px-xl-10 {
	padding-left: 1rem !important;
}

.p-xl-12 {
	padding: 1.2rem !important;
}

.pt-xl-12,
.py-xl-12 {
	padding-top: 1.2rem !important;
}

.pr-xl-12,
.px-xl-12 {
	padding-right: 1.2rem !important;
}

.pb-xl-12,
.py-xl-12 {
	padding-bottom: 1.2rem !important;
}

.pl-xl-12,
.px-xl-12 {
	padding-left: 1.2rem !important;
}

.p-xl-15 {
	padding: 1.5rem !important;
}

.pt-xl-15,
.py-xl-15 {
	padding-top: 1.5rem !important;
}

.pr-xl-15,
.px-xl-15 {
	padding-right: 1.5rem !important;
}

.pb-xl-15,
.py-xl-15 {
	padding-bottom: 1.5rem !important;
}

.pl-xl-15,
.px-xl-15 {
	padding-left: 1.5rem !important;
}

.p-xl-20 {
	padding: 2rem !important;
}

.pt-xl-20,
.py-xl-20 {
	padding-top: 2rem !important;
}

.pr-xl-20,
.px-xl-20 {
	padding-right: 2rem !important;
}

.pb-xl-20,
.py-xl-20 {
	padding-bottom: 2rem !important;
}

.pl-xl-20,
.px-xl-20 {
	padding-left: 2rem !important;
}

.p-xl-25 {
	padding: 2.5rem !important;
}

.pt-xl-25,
.py-xl-25 {
	padding-top: 2.5rem !important;
}

.pr-xl-25,
.px-xl-25 {
	padding-right: 2.5rem !important;
}

.pb-xl-25,
.py-xl-25 {
	padding-bottom: 2.5rem !important;
}

.pl-xl-25,
.px-xl-25 {
	padding-left: 2.5rem !important;
}

.p-xl-60 {
	padding: 6rem !important;
}

.pt-xl-60,
.py-xl-60 {
	padding-top: 6rem !important;
}

.pr-xl-60,
.px-xl-60 {
	padding-right: 6rem !important;
}

.pb-xl-60,
.py-xl-60 {
	padding-bottom: 6rem !important;
}

.pl-xl-60,
.px-xl-60 {
	padding-left: 6rem !important;
}

.m-xl-n5 {
	margin: -0.5rem !important;
}

.mt-xl-n5,
.my-xl-n5 {
	margin-top: -0.5rem !important;
}

.mr-xl-n5,
.mx-xl-n5 {
	margin-right: -0.5rem !important;
}

.mb-xl-n5,
.my-xl-n5 {
	margin-bottom: -0.5rem !important;
}

.ml-xl-n5,
.mx-xl-n5 {
	margin-left: -0.5rem !important;
}

.m-xl-n10 {
	margin: -1rem !important;
}

.mt-xl-n10,
.my-xl-n10 {
	margin-top: -1rem !important;
}

.mr-xl-n10,
.mx-xl-n10 {
	margin-right: -1rem !important;
}

.mb-xl-n10,
.my-xl-n10 {
	margin-bottom: -1rem !important;
}

.ml-xl-n10,
.mx-xl-n10 {
	margin-left: -1rem !important;
}

.m-xl-n12 {
	margin: -1.2rem !important;
}

.mt-xl-n12,
.my-xl-n12 {
	margin-top: -1.2rem !important;
}

.mr-xl-n12,
.mx-xl-n12 {
	margin-right: -1.2rem !important;
}

.mb-xl-n12,
.my-xl-n12 {
	margin-bottom: -1.2rem !important;
}

.ml-xl-n12,
.mx-xl-n12 {
	margin-left: -1.2rem !important;
}

.m-xl-n15 {
	margin: -1.5rem !important;
}

.mt-xl-n15,
.my-xl-n15 {
	margin-top: -1.5rem !important;
}

.mr-xl-n15,
.mx-xl-n15 {
	margin-right: -1.5rem !important;
}

.mb-xl-n15,
.my-xl-n15 {
	margin-bottom: -1.5rem !important;
}

.ml-xl-n15,
.mx-xl-n15 {
	margin-left: -1.5rem !important;
}

.m-xl-n20 {
	margin: -2rem !important;
}

.mt-xl-n20,
.my-xl-n20 {
	margin-top: -2rem !important;
}

.mr-xl-n20,
.mx-xl-n20 {
	margin-right: -2rem !important;
}

.mb-xl-n20,
.my-xl-n20 {
	margin-bottom: -2rem !important;
}

.ml-xl-n20,
.mx-xl-n20 {
	margin-left: -2rem !important;
}

.m-xl-n25 {
	margin: -2.5rem !important;
}

.mt-xl-n25,
.my-xl-n25 {
	margin-top: -2.5rem !important;
}

.mr-xl-n25,
.mx-xl-n25 {
	margin-right: -2.5rem !important;
}

.mb-xl-n25,
.my-xl-n25 {
	margin-bottom: -2.5rem !important;
}

.ml-xl-n25,
.mx-xl-n25 {
	margin-left: -2.5rem !important;
}

.m-xl-n60 {
	margin: -6rem !important;
}

.mt-xl-n60,
.my-xl-n60 {
	margin-top: -6rem !important;
}

.mr-xl-n60,
.mx-xl-n60 {
	margin-right: -6rem !important;
}

.mb-xl-n60,
.my-xl-n60 {
	margin-bottom: -6rem !important;
}

.ml-xl-n60,
.mx-xl-n60 {
	margin-left: -6rem !important;
}

.m-xl-auto {
	margin: auto !important;
}

.mt-xl-auto,
.my-xl-auto {
	margin-top: auto !important;
}

.mr-xl-auto,
.mx-xl-auto {
	margin-right: auto !important;
}

.mb-xl-auto,
.my-xl-auto {
	margin-bottom: auto !important;
}

.ml-xl-auto,
.mx-xl-auto {
	margin-left: auto !important;
}

.text-xl-left {
	text-align: left !important;
}

.text-xl-right {
	text-align: right !important;
}

.text-xl-center {
	text-align: center !important;
}

}

@media (min-width: 1400px) {

.d-xl2-none {
	display: none !important;
}

.d-xl2-block {
	display: block !important;
}

.d-xl2-flex {
	display: flex !important;
}

.m-xl2-0 {
	margin: 0 !important;
}

.mt-xl2-0,
.my-xl2-0 {
	margin-top: 0 !important;
}

.mr-xl2-0,
.mx-xl2-0 {
	margin-right: 0 !important;
}

.mb-xl2-0,
.my-xl2-0 {
	margin-bottom: 0 !important;
}

.ml-xl2-0,
.mx-xl2-0 {
	margin-left: 0 !important;
}

.m-xl2-5 {
	margin: 0.5rem !important;
}

.mt-xl2-5,
.my-xl2-5 {
	margin-top: 0.5rem !important;
}

.mr-xl2-5,
.mx-xl2-5 {
	margin-right: 0.5rem !important;
}

.mb-xl2-5,
.my-xl2-5 {
	margin-bottom: 0.5rem !important;
}

.ml-xl2-5,
.mx-xl2-5 {
	margin-left: 0.5rem !important;
}

.m-xl2-10 {
	margin: 1rem !important;
}

.mt-xl2-10,
.my-xl2-10 {
	margin-top: 1rem !important;
}

.mr-xl2-10,
.mx-xl2-10 {
	margin-right: 1rem !important;
}

.mb-xl2-10,
.my-xl2-10 {
	margin-bottom: 1rem !important;
}

.ml-xl2-10,
.mx-xl2-10 {
	margin-left: 1rem !important;
}

.m-xl2-12 {
	margin: 1.2rem !important;
}

.mt-xl2-12,
.my-xl2-12 {
	margin-top: 1.2rem !important;
}

.mr-xl2-12,
.mx-xl2-12 {
	margin-right: 1.2rem !important;
}

.mb-xl2-12,
.my-xl2-12 {
	margin-bottom: 1.2rem !important;
}

.ml-xl2-12,
.mx-xl2-12 {
	margin-left: 1.2rem !important;
}

.m-xl2-15 {
	margin: 1.5rem !important;
}

.mt-xl2-15,
.my-xl2-15 {
	margin-top: 1.5rem !important;
}

.mr-xl2-15,
.mx-xl2-15 {
	margin-right: 1.5rem !important;
}

.mb-xl2-15,
.my-xl2-15 {
	margin-bottom: 1.5rem !important;
}

.ml-xl2-15,
.mx-xl2-15 {
	margin-left: 1.5rem !important;
}

.m-xl2-20 {
	margin: 2rem !important;
}

.mt-xl2-20,
.my-xl2-20 {
	margin-top: 2rem !important;
}

.mr-xl2-20,
.mx-xl2-20 {
	margin-right: 2rem !important;
}

.mb-xl2-20,
.my-xl2-20 {
	margin-bottom: 2rem !important;
}

.ml-xl2-20,
.mx-xl2-20 {
	margin-left: 2rem !important;
}

.m-xl2-25 {
	margin: 2.5rem !important;
}

.mt-xl2-25,
.my-xl2-25 {
	margin-top: 2.5rem !important;
}

.mr-xl2-25,
.mx-xl2-25 {
	margin-right: 2.5rem !important;
}

.mb-xl2-25,
.my-xl2-25 {
	margin-bottom: 2.5rem !important;
}

.ml-xl2-25,
.mx-xl2-25 {
	margin-left: 2.5rem !important;
}

.m-xl2-60 {
	margin: 6rem !important;
}

.mt-xl2-60,
.my-xl2-60 {
	margin-top: 6rem !important;
}

.mr-xl2-60,
.mx-xl2-60 {
	margin-right: 6rem !important;
}

.mb-xl2-60,
.my-xl2-60 {
	margin-bottom: 6rem !important;
}

.ml-xl2-60,
.mx-xl2-60 {
	margin-left: 6rem !important;
}

.p-xl2-0 {
	padding: 0 !important;
}

.pt-xl2-0,
.py-xl2-0 {
	padding-top: 0 !important;
}

.pr-xl2-0,
.px-xl2-0 {
	padding-right: 0 !important;
}

.pb-xl2-0,
.py-xl2-0 {
	padding-bottom: 0 !important;
}

.pl-xl2-0,
.px-xl2-0 {
	padding-left: 0 !important;
}

.p-xl2-5 {
	padding: 0.5rem !important;
}

.pt-xl2-5,
.py-xl2-5 {
	padding-top: 0.5rem !important;
}

.pr-xl2-5,
.px-xl2-5 {
	padding-right: 0.5rem !important;
}

.pb-xl2-5,
.py-xl2-5 {
	padding-bottom: 0.5rem !important;
}

.pl-xl2-5,
.px-xl2-5 {
	padding-left: 0.5rem !important;
}

.p-xl2-10 {
	padding: 1rem !important;
}

.pt-xl2-10,
.py-xl2-10 {
	padding-top: 1rem !important;
}

.pr-xl2-10,
.px-xl2-10 {
	padding-right: 1rem !important;
}

.pb-xl2-10,
.py-xl2-10 {
	padding-bottom: 1rem !important;
}

.pl-xl2-10,
.px-xl2-10 {
	padding-left: 1rem !important;
}

.p-xl2-12 {
	padding: 1.2rem !important;
}

.pt-xl2-12,
.py-xl2-12 {
	padding-top: 1.2rem !important;
}

.pr-xl2-12,
.px-xl2-12 {
	padding-right: 1.2rem !important;
}

.pb-xl2-12,
.py-xl2-12 {
	padding-bottom: 1.2rem !important;
}

.pl-xl2-12,
.px-xl2-12 {
	padding-left: 1.2rem !important;
}

.p-xl2-15 {
	padding: 1.5rem !important;
}

.pt-xl2-15,
.py-xl2-15 {
	padding-top: 1.5rem !important;
}

.pr-xl2-15,
.px-xl2-15 {
	padding-right: 1.5rem !important;
}

.pb-xl2-15,
.py-xl2-15 {
	padding-bottom: 1.5rem !important;
}

.pl-xl2-15,
.px-xl2-15 {
	padding-left: 1.5rem !important;
}

.p-xl2-20 {
	padding: 2rem !important;
}

.pt-xl2-20,
.py-xl2-20 {
	padding-top: 2rem !important;
}

.pr-xl2-20,
.px-xl2-20 {
	padding-right: 2rem !important;
}

.pb-xl2-20,
.py-xl2-20 {
	padding-bottom: 2rem !important;
}

.pl-xl2-20,
.px-xl2-20 {
	padding-left: 2rem !important;
}

.p-xl2-25 {
	padding: 2.5rem !important;
}

.pt-xl2-25,
.py-xl2-25 {
	padding-top: 2.5rem !important;
}

.pr-xl2-25,
.px-xl2-25 {
	padding-right: 2.5rem !important;
}

.pb-xl2-25,
.py-xl2-25 {
	padding-bottom: 2.5rem !important;
}

.pl-xl2-25,
.px-xl2-25 {
	padding-left: 2.5rem !important;
}

.p-xl2-60 {
	padding: 6rem !important;
}

.pt-xl2-60,
.py-xl2-60 {
	padding-top: 6rem !important;
}

.pr-xl2-60,
.px-xl2-60 {
	padding-right: 6rem !important;
}

.pb-xl2-60,
.py-xl2-60 {
	padding-bottom: 6rem !important;
}

.pl-xl2-60,
.px-xl2-60 {
	padding-left: 6rem !important;
}

.m-xl2-n5 {
	margin: -0.5rem !important;
}

.mt-xl2-n5,
.my-xl2-n5 {
	margin-top: -0.5rem !important;
}

.mr-xl2-n5,
.mx-xl2-n5 {
	margin-right: -0.5rem !important;
}

.mb-xl2-n5,
.my-xl2-n5 {
	margin-bottom: -0.5rem !important;
}

.ml-xl2-n5,
.mx-xl2-n5 {
	margin-left: -0.5rem !important;
}

.m-xl2-n10 {
	margin: -1rem !important;
}

.mt-xl2-n10,
.my-xl2-n10 {
	margin-top: -1rem !important;
}

.mr-xl2-n10,
.mx-xl2-n10 {
	margin-right: -1rem !important;
}

.mb-xl2-n10,
.my-xl2-n10 {
	margin-bottom: -1rem !important;
}

.ml-xl2-n10,
.mx-xl2-n10 {
	margin-left: -1rem !important;
}

.m-xl2-n12 {
	margin: -1.2rem !important;
}

.mt-xl2-n12,
.my-xl2-n12 {
	margin-top: -1.2rem !important;
}

.mr-xl2-n12,
.mx-xl2-n12 {
	margin-right: -1.2rem !important;
}

.mb-xl2-n12,
.my-xl2-n12 {
	margin-bottom: -1.2rem !important;
}

.ml-xl2-n12,
.mx-xl2-n12 {
	margin-left: -1.2rem !important;
}

.m-xl2-n15 {
	margin: -1.5rem !important;
}

.mt-xl2-n15,
.my-xl2-n15 {
	margin-top: -1.5rem !important;
}

.mr-xl2-n15,
.mx-xl2-n15 {
	margin-right: -1.5rem !important;
}

.mb-xl2-n15,
.my-xl2-n15 {
	margin-bottom: -1.5rem !important;
}

.ml-xl2-n15,
.mx-xl2-n15 {
	margin-left: -1.5rem !important;
}

.m-xl2-n20 {
	margin: -2rem !important;
}

.mt-xl2-n20,
.my-xl2-n20 {
	margin-top: -2rem !important;
}

.mr-xl2-n20,
.mx-xl2-n20 {
	margin-right: -2rem !important;
}

.mb-xl2-n20,
.my-xl2-n20 {
	margin-bottom: -2rem !important;
}

.ml-xl2-n20,
.mx-xl2-n20 {
	margin-left: -2rem !important;
}

.m-xl2-n25 {
	margin: -2.5rem !important;
}

.mt-xl2-n25,
.my-xl2-n25 {
	margin-top: -2.5rem !important;
}

.mr-xl2-n25,
.mx-xl2-n25 {
	margin-right: -2.5rem !important;
}

.mb-xl2-n25,
.my-xl2-n25 {
	margin-bottom: -2.5rem !important;
}

.ml-xl2-n25,
.mx-xl2-n25 {
	margin-left: -2.5rem !important;
}

.m-xl2-n60 {
	margin: -6rem !important;
}

.mt-xl2-n60,
.my-xl2-n60 {
	margin-top: -6rem !important;
}

.mr-xl2-n60,
.mx-xl2-n60 {
	margin-right: -6rem !important;
}

.mb-xl2-n60,
.my-xl2-n60 {
	margin-bottom: -6rem !important;
}

.ml-xl2-n60,
.mx-xl2-n60 {
	margin-left: -6rem !important;
}

.m-xl2-auto {
	margin: auto !important;
}

.mt-xl2-auto,
.my-xl2-auto {
	margin-top: auto !important;
}

.mr-xl2-auto,
.mx-xl2-auto {
	margin-right: auto !important;
}

.mb-xl2-auto,
.my-xl2-auto {
	margin-bottom: auto !important;
}

.ml-xl2-auto,
.mx-xl2-auto {
	margin-left: auto !important;
}

.text-xl2-left {
	text-align: left !important;
}

.text-xl2-right {
	text-align: right !important;
}

.text-xl2-center {
	text-align: center !important;
}

}

@media (min-width: 1920px) {

.d-bg-none {
	display: none !important;
}

.d-bg-block {
	display: block !important;
}

.d-bg-flex {
	display: flex !important;
}

.m-bg-0 {
	margin: 0 !important;
}

.mt-bg-0,
.my-bg-0 {
	margin-top: 0 !important;
}

.mr-bg-0,
.mx-bg-0 {
	margin-right: 0 !important;
}

.mb-bg-0,
.my-bg-0 {
	margin-bottom: 0 !important;
}

.ml-bg-0,
.mx-bg-0 {
	margin-left: 0 !important;
}

.m-bg-5 {
	margin: 0.5rem !important;
}

.mt-bg-5,
.my-bg-5 {
	margin-top: 0.5rem !important;
}

.mr-bg-5,
.mx-bg-5 {
	margin-right: 0.5rem !important;
}

.mb-bg-5,
.my-bg-5 {
	margin-bottom: 0.5rem !important;
}

.ml-bg-5,
.mx-bg-5 {
	margin-left: 0.5rem !important;
}

.m-bg-10 {
	margin: 1rem !important;
}

.mt-bg-10,
.my-bg-10 {
	margin-top: 1rem !important;
}

.mr-bg-10,
.mx-bg-10 {
	margin-right: 1rem !important;
}

.mb-bg-10,
.my-bg-10 {
	margin-bottom: 1rem !important;
}

.ml-bg-10,
.mx-bg-10 {
	margin-left: 1rem !important;
}

.m-bg-12 {
	margin: 1.2rem !important;
}

.mt-bg-12,
.my-bg-12 {
	margin-top: 1.2rem !important;
}

.mr-bg-12,
.mx-bg-12 {
	margin-right: 1.2rem !important;
}

.mb-bg-12,
.my-bg-12 {
	margin-bottom: 1.2rem !important;
}

.ml-bg-12,
.mx-bg-12 {
	margin-left: 1.2rem !important;
}

.m-bg-15 {
	margin: 1.5rem !important;
}

.mt-bg-15,
.my-bg-15 {
	margin-top: 1.5rem !important;
}

.mr-bg-15,
.mx-bg-15 {
	margin-right: 1.5rem !important;
}

.mb-bg-15,
.my-bg-15 {
	margin-bottom: 1.5rem !important;
}

.ml-bg-15,
.mx-bg-15 {
	margin-left: 1.5rem !important;
}

.m-bg-20 {
	margin: 2rem !important;
}

.mt-bg-20,
.my-bg-20 {
	margin-top: 2rem !important;
}

.mr-bg-20,
.mx-bg-20 {
	margin-right: 2rem !important;
}

.mb-bg-20,
.my-bg-20 {
	margin-bottom: 2rem !important;
}

.ml-bg-20,
.mx-bg-20 {
	margin-left: 2rem !important;
}

.m-bg-25 {
	margin: 2.5rem !important;
}

.mt-bg-25,
.my-bg-25 {
	margin-top: 2.5rem !important;
}

.mr-bg-25,
.mx-bg-25 {
	margin-right: 2.5rem !important;
}

.mb-bg-25,
.my-bg-25 {
	margin-bottom: 2.5rem !important;
}

.ml-bg-25,
.mx-bg-25 {
	margin-left: 2.5rem !important;
}

.m-bg-60 {
	margin: 6rem !important;
}

.mt-bg-60,
.my-bg-60 {
	margin-top: 6rem !important;
}

.mr-bg-60,
.mx-bg-60 {
	margin-right: 6rem !important;
}

.mb-bg-60,
.my-bg-60 {
	margin-bottom: 6rem !important;
}

.ml-bg-60,
.mx-bg-60 {
	margin-left: 6rem !important;
}

.p-bg-0 {
	padding: 0 !important;
}

.pt-bg-0,
.py-bg-0 {
	padding-top: 0 !important;
}

.pr-bg-0,
.px-bg-0 {
	padding-right: 0 !important;
}

.pb-bg-0,
.py-bg-0 {
	padding-bottom: 0 !important;
}

.pl-bg-0,
.px-bg-0 {
	padding-left: 0 !important;
}

.p-bg-5 {
	padding: 0.5rem !important;
}

.pt-bg-5,
.py-bg-5 {
	padding-top: 0.5rem !important;
}

.pr-bg-5,
.px-bg-5 {
	padding-right: 0.5rem !important;
}

.pb-bg-5,
.py-bg-5 {
	padding-bottom: 0.5rem !important;
}

.pl-bg-5,
.px-bg-5 {
	padding-left: 0.5rem !important;
}

.p-bg-10 {
	padding: 1rem !important;
}

.pt-bg-10,
.py-bg-10 {
	padding-top: 1rem !important;
}

.pr-bg-10,
.px-bg-10 {
	padding-right: 1rem !important;
}

.pb-bg-10,
.py-bg-10 {
	padding-bottom: 1rem !important;
}

.pl-bg-10,
.px-bg-10 {
	padding-left: 1rem !important;
}

.p-bg-12 {
	padding: 1.2rem !important;
}

.pt-bg-12,
.py-bg-12 {
	padding-top: 1.2rem !important;
}

.pr-bg-12,
.px-bg-12 {
	padding-right: 1.2rem !important;
}

.pb-bg-12,
.py-bg-12 {
	padding-bottom: 1.2rem !important;
}

.pl-bg-12,
.px-bg-12 {
	padding-left: 1.2rem !important;
}

.p-bg-15 {
	padding: 1.5rem !important;
}

.pt-bg-15,
.py-bg-15 {
	padding-top: 1.5rem !important;
}

.pr-bg-15,
.px-bg-15 {
	padding-right: 1.5rem !important;
}

.pb-bg-15,
.py-bg-15 {
	padding-bottom: 1.5rem !important;
}

.pl-bg-15,
.px-bg-15 {
	padding-left: 1.5rem !important;
}

.p-bg-20 {
	padding: 2rem !important;
}

.pt-bg-20,
.py-bg-20 {
	padding-top: 2rem !important;
}

.pr-bg-20,
.px-bg-20 {
	padding-right: 2rem !important;
}

.pb-bg-20,
.py-bg-20 {
	padding-bottom: 2rem !important;
}

.pl-bg-20,
.px-bg-20 {
	padding-left: 2rem !important;
}

.p-bg-25 {
	padding: 2.5rem !important;
}

.pt-bg-25,
.py-bg-25 {
	padding-top: 2.5rem !important;
}

.pr-bg-25,
.px-bg-25 {
	padding-right: 2.5rem !important;
}

.pb-bg-25,
.py-bg-25 {
	padding-bottom: 2.5rem !important;
}

.pl-bg-25,
.px-bg-25 {
	padding-left: 2.5rem !important;
}

.p-bg-60 {
	padding: 6rem !important;
}

.pt-bg-60,
.py-bg-60 {
	padding-top: 6rem !important;
}

.pr-bg-60,
.px-bg-60 {
	padding-right: 6rem !important;
}

.pb-bg-60,
.py-bg-60 {
	padding-bottom: 6rem !important;
}

.pl-bg-60,
.px-bg-60 {
	padding-left: 6rem !important;
}

.m-bg-n5 {
	margin: -0.5rem !important;
}

.mt-bg-n5,
.my-bg-n5 {
	margin-top: -0.5rem !important;
}

.mr-bg-n5,
.mx-bg-n5 {
	margin-right: -0.5rem !important;
}

.mb-bg-n5,
.my-bg-n5 {
	margin-bottom: -0.5rem !important;
}

.ml-bg-n5,
.mx-bg-n5 {
	margin-left: -0.5rem !important;
}

.m-bg-n10 {
	margin: -1rem !important;
}

.mt-bg-n10,
.my-bg-n10 {
	margin-top: -1rem !important;
}

.mr-bg-n10,
.mx-bg-n10 {
	margin-right: -1rem !important;
}

.mb-bg-n10,
.my-bg-n10 {
	margin-bottom: -1rem !important;
}

.ml-bg-n10,
.mx-bg-n10 {
	margin-left: -1rem !important;
}

.m-bg-n12 {
	margin: -1.2rem !important;
}

.mt-bg-n12,
.my-bg-n12 {
	margin-top: -1.2rem !important;
}

.mr-bg-n12,
.mx-bg-n12 {
	margin-right: -1.2rem !important;
}

.mb-bg-n12,
.my-bg-n12 {
	margin-bottom: -1.2rem !important;
}

.ml-bg-n12,
.mx-bg-n12 {
	margin-left: -1.2rem !important;
}

.m-bg-n15 {
	margin: -1.5rem !important;
}

.mt-bg-n15,
.my-bg-n15 {
	margin-top: -1.5rem !important;
}

.mr-bg-n15,
.mx-bg-n15 {
	margin-right: -1.5rem !important;
}

.mb-bg-n15,
.my-bg-n15 {
	margin-bottom: -1.5rem !important;
}

.ml-bg-n15,
.mx-bg-n15 {
	margin-left: -1.5rem !important;
}

.m-bg-n20 {
	margin: -2rem !important;
}

.mt-bg-n20,
.my-bg-n20 {
	margin-top: -2rem !important;
}

.mr-bg-n20,
.mx-bg-n20 {
	margin-right: -2rem !important;
}

.mb-bg-n20,
.my-bg-n20 {
	margin-bottom: -2rem !important;
}

.ml-bg-n20,
.mx-bg-n20 {
	margin-left: -2rem !important;
}

.m-bg-n25 {
	margin: -2.5rem !important;
}

.mt-bg-n25,
.my-bg-n25 {
	margin-top: -2.5rem !important;
}

.mr-bg-n25,
.mx-bg-n25 {
	margin-right: -2.5rem !important;
}

.mb-bg-n25,
.my-bg-n25 {
	margin-bottom: -2.5rem !important;
}

.ml-bg-n25,
.mx-bg-n25 {
	margin-left: -2.5rem !important;
}

.m-bg-n60 {
	margin: -6rem !important;
}

.mt-bg-n60,
.my-bg-n60 {
	margin-top: -6rem !important;
}

.mr-bg-n60,
.mx-bg-n60 {
	margin-right: -6rem !important;
}

.mb-bg-n60,
.my-bg-n60 {
	margin-bottom: -6rem !important;
}

.ml-bg-n60,
.mx-bg-n60 {
	margin-left: -6rem !important;
}

.m-bg-auto {
	margin: auto !important;
}

.mt-bg-auto,
.my-bg-auto {
	margin-top: auto !important;
}

.mr-bg-auto,
.mx-bg-auto {
	margin-right: auto !important;
}

.mb-bg-auto,
.my-bg-auto {
	margin-bottom: auto !important;
}

.ml-bg-auto,
.mx-bg-auto {
	margin-left: auto !important;
}

.text-bg-left {
	text-align: left !important;
}

.text-bg-right {
	text-align: right !important;
}

.text-bg-center {
	text-align: center !important;
}

}

@media (max-width: 767px) {

.l-side.l-side--left,
.l-side.l-side--right {
	display: none;
}

}

@keyframes fadeInUp {

0% {
	opacity: 0;
	transform: translate3d(0, 20px, 0);
}

100% {
	opacity: 1;
	transform: none;
}

}

@keyframes imageScale {

0% {
	transform: scale(1.1);
}

100% {
	transform: scale(1);
}

}

@keyframes textRollOver {

0% {
	transform: translateY(0);
}

to {
	transform: translateY(calc(-100% - 1px));
}

}

@keyframes rectbtnArrowHover {

0% {
	transform: translate(0);
}

0.01% {
	transform: translate(0.6rem);
}

75% {
	transform: translate(0);
}

to {
	transform: translate(0);
}

}

@keyframes runText {

0% {
	transform: translateX(0);
}

100% {
	transform: translateX(-50%);
}

}

@keyframes circleIconRightLeftButton {

0% {
	left: 50%;
}

100% {
	left: 120%;
}

}

@keyframes circleIconLeftRightButton {

0% {
	left: -100%;
	opacity: 0;
}

100% {
	left: 50%;
	opacity: 1;
}

}

