:root {
	--white: #FFFFFF;
	--black: #605752;
	--orange-2: #FF8A05;
	--orange: #FFAA21;
	--yellow: #FFCD0F;
	--light-yellow: #FFF478;
	--light-orange: #FFF7D9;
	--cream: #F8F7F2;
	--blue: #2DA7E0;
	--dark-blue: #3464BE;
	--dark-blue1: #2C63CA;
	--dark-blue2: #0084FF;
	--blue-grad: linear-gradient(#2DA7E0 0%, #006ACE 100%);
	--navy: #204F7B;
	--lighter-blue: #1FB8FF;
	--light-blue: #EBF9FF;
	--purple: #8E5EE0;
	--green: #21A631;
	--light-green: #30BA24;
	--lighter-green: #F0FFF2;
	--red: #FF6666;
	--gray: #9B9B9B;
	--light-gray: #D3D3D3;
	--lighter-gray: #D9D9D9;

	--gradation: linear-gradient(#54CEFD 0%, #D5E0C0 50%, #FFC25F 100%);
}

/* ==================================== */

.w-100 {
	width: 100%;
}

/* ==================================== */

.border-radius {
	border-radius: .5em;
	overflow: hidden;
}

.border-round {
	border-radius: 999px;
	overflow: hidden;
}

.border-radius--right {
	border-radius: 0 .5em .5em 0;
}

/* ==================================== */

.hr--blue {
	border-color: var(--blue);
	width: 100%;
	/* background: var(--dark-blue); */
	border-style: solid;
}

.hr--orange {
	border-color: var(--orange);
	width: 100%;
	/* background: var(--dark-blue); */
	border-style: solid;
}

.hr--gray {
	background-color: var(--gray);
}

/* ==================================== */

.textbox {
	padding: .5em;
	width: 100%;
}

.textbox--fit {
	width: fit-content;
	margin: auto;
}

.text {
	font-size: 1em;
	line-height: 1.7;
}

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

.text--xs {
	font-size: max(12px, .65em);
}

.text--sm {
	font-size: max(12px, .875em);
}

.text--lg {
	font-size: 1.5em;
}

.text--xl {
	font-size: 2em;
	line-height: 1.2;
}

.text--md {
	font-size: 1.125em;
}

.text--md-plus {
	font-size: 1.25em;
}

.text--light {
	font-weight: 200;
}

.text--bold {
	font-weight: 500;
}

.text--bolder {
	font-weight: 600;
}

.text--strong {
	font-weight: 800;
}

.text--white {
	color: var(--white);
}

.text--blue {
	color: var(--blue);
}

.text--red {
	color: var(--red);
}

.text--orange {
	color: var(--orange);
}

.text--dark-blue {
	color: var(--dark-blue1);
}

@media(max-width: 600px) {
	.text--sp-sm {
		font-size: .875em;
	}

	.text--sp-md {
		font-size: 1.125em;
	}
}

/* ==================================== */

.badge {
	padding: .25em .5em;
	width: fit-content;
}

.badge--radius {
	border-radius: .25em;
	overflow: hidden;
}

.badge--radius-top {
	border-radius: .25em .25em 0 0;
	overflow: hidden;
}

.badge--circle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5em;
	height: 2.5em;
	border-radius: 999px;
	overflow: hidden;
}

.badge--abs-top-center {
	position: absolute;
	top: -.5em;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}

.badge--abs-top-left {
	position: absolute;
	top: -.5em;
	left: 1em;
	transform: translate(0, -50%);
	z-index: 1;
}

.badge--red {
	background: var(--red);
	color: var(--white);
}

.badge--purple {
	background: var(--purple);
	color: var(--white);
}

.badge--white {
	background: var(--white);
	color: var(--black);
}

.badge--light-blue {
	background: var(--light-blue);
	color: var(--black);
}

.badge--blue {
	background: var(--blue);
	color: var(--white);
}

.badge--blue1 {
	background: var(--dark-blue1);
	color: var(--white);
}

.badge--blue2 {
	background: var(--dark-blue2);
	color: var(--white);
}

.badge--green {
	background: var(--green);
	color: var(--white);
}

.badge--orange {
	background: var(--orange-2);
	color: var(--white);
}

/* ==================================== */

.icon {
	width: 1.5em;
	height: 1.5em;
	object-fit: contain;
}

.icon--sm {
	width: 1.25em;
	height: 1.25em;
}

.icon--md {
	width: 2em;
	height: 2em;
}

/* ==================================== */

.flex {
	display: flex;
}

.flex--wrap {
	flex-wrap: wrap;
}

.flex__item {}

.flex__item--1 {
	flex: 1;
}

.flex__item--2 {
	flex: 2;
}

.flex__item--3 {
	flex: 3;
}

.flex__item--4 {
	flex: 4;
}

.flex__item--5 {
	flex: 5;
}

.flex__item--6 {
	flex: 6;
}

.flex__item--7 {
	flex: 7;
}

.flex__item--8 {
	flex: 8;
}

.flex__item--9 {
	flex: 9;
}

.flex__item--10 {
	flex: 10;
}

.flex__item--30 {
	flex: 0 0 calc(33.3% - 2em/3);
}

.flex__item--50 {
	flex: 0 0 calc(50% - 1em/2);
}

.flex__item--100 {
	flex: 100%;
}

@media(max-width: 600px) {
	.flex__item--50 {
		flex: 1 0 calc(50% - 1em/2);
	}

	.flex__item--sp-50 {
		flex: 1 0 calc(50% - 1em/2);
	}

	.flex__item--sp-100 {
		flex: 0 0 100%;
	}
}


.flex--align-center {
	align-items: center;
}

.flex--justify-end {
	justify-content: flex-end;
}

.flex--justify-center {
	justify-content: center;
}

.flex--justify-between {
	justify-content: space-between;
}

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

@media(max-width: 600px) {

	.flex--sp-wrap {
		flex-wrap: wrap;
	}

	.flex--sp-column {
		flex-direction: column;
	}

	.flex--sp-column-r {
		flex-direction: column-reverse;
	}

	.flex--sp-row {
		flex-direction: row;
	}
}

.gap-1_5 {
	gap: 1.5em;
}

.gap-0_5 {
	gap: .5em;
}

.gap-1 {
	gap: 1em;
}

.gap-2 {
	gap: 2em;
}

@media(max-width: 600px) {
	.gap-sp-1 {
		gap: 1em;
	}

	.gap-sp-2 {
		gap: 2em;
	}
}

/* ==================================== */

button {
	outline: unset;
	border: unset;
}

.btn {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: .25em .5em;
	font-weight: 500;
	gap: .5em;
	height: 3em;
}

.btn__icon {
	width: 2em;
	height: 2em;
	object-fit: contain;
	fill: var(--cream);
}

.btn--prev {
	margin-right: auto;
}

.btn--next {
	margin-left: auto;
}

.btn--round {
	border-radius: 999px;
	overflow: hidden;
}

.btn--radius {
	border-radius: .5em;
}

.btn--radius-top {
	border-radius: .5em .5em 0 0;
}

.btn--primary {
	background: var(--dark-blue);
	color: white;
}

.btn--white {
	background: var(--white);
}

.btn--purple {
	background: var(--purple);
}

.btn--orange {
	background: var(--orange);
	color: var(--white);
}

.btn--outline {
	border: 2px solid var(--black);
}

.btn--shadow {
	box-shadow: 0 .25em 0 var(--yellow);
}


/* ==================================== */

.media {
	background: var(--white);
}

.media--row {
	display: flex;
}

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

.media--radius {
	border-radius: .5em;
	overflow: hidden;
}

.media--shadow {
	box-shadow: .5em .5em 0 var(--light-pink);
}

.media__img {
	width: 100%;
	height: calc(min(330px, 33vw) * 2/3);
}

.media__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.media__content {
	padding: 1em;
	flex: 10;
}

@media (max-width:600px) {
	.media__img {
		width: 100%;
		height: auto;
	}
}

/* ==================================== */

.card-box {
	width: 90%;
	max-width: 500px;
	margin: auto;
}

.card {
	position: relative;
}

.card__inner {
	padding: 1em;
}

.card__ttl {
	font-size: 1.125em;
	font-weight: 600;
}

.card__image {
	width: 60%;
	height: calc(min(660px, 100vw) * 9/16);
}

.card__abs-image {
	position: absolute;
	height: min(280px, 20vw);
	width: 25%;
	z-index: 1;
	bottom: 40%;
	right: 4em;
	object-fit: contain;
}

.card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width:600px) {
	.card__abs-image {
		top: -10%;
		right: 2em;
	}
}

.card__ul {
	padding-left: 2em;
}

.card__ul li {
	list-style: disc;
	line-height: 1.7;
}


.card--round {
	border-radius: .5em;
	/* overflow: hidden; */
}

.card--shadow {
	box-shadow: .5em .5em 0 var(--yellow);
}

.card__icon {
	width: 3em;
	height: 3em;
	width: fit-content;
}

.card--white {
	background: var(--white);
	color: var(--black);
}

.card--navy {
	background: var(--navy);
	color: var(--white);
}

.card--light-orange {
	background: var(--light-orange);
	color: var(--black);
}

.card--orange {
	background: var(--orange);
	color: var(--white);
}

.card--blue {
	background: var(--blue);
	color: var(--white);
}

.card--blue-grad {
	background: var(--blue-grad);
	color: var(--white);
}

.card--light-blue {
	background: var(--light-blue);
}

.card--light-green {
	background: var(--lighter-green);
	color: var(--black);
}

.card--outline {
	border: 10px solid var(--black);
}

.card--outline-left {
	border-left: 10px solid var(--black);
}

.card--outline-orange {
	border-color: var(--orange);
}

.card--outline-blue {
	border-color: var(--blue);
}

.card--outline-green {
	border-color: var(--green);
}

@media (max-width:600px) {
	.card__image {
		width: 100%;
		height: calc(min(512px, 100vw) * 9/16);
	}
}

/* ==================================== */

.list-box {}

.list-box ul {}

.list-box li {
	line-height: 2;
	padding-left: 1.5em;
	background: url(./../img/icon/check.png)no-repeat left;
	background-size: 1.25em 1.25em;
}

/* ======================================== */

.table-wrapper {
	border: 4px solid var(--black);
	border-radius: .5em;
}

.table-wrapper table {
	width: 100%;
}

.table-wrapper tr {}

.table-wrapper th,
.table-wrapper td {
	padding: 1em;
}

.table-wrapper th {
	text-align: center;
	background: var(--black);
	color: var(--white);
	border-bottom: 1px solid var(--cream);
}

.table-wrapper td {
	background: var(--white);
	border-bottom: 1px solid var(--lighter-gray);
}

.table-wrapper tr:last-child th,
.table-wrapper tr:last-child td {
	border-bottom: unset;
}

@media (max-width:600px) {

	.table-wrapper th,
	.table-wrapper td {
		display: block;
	}
}

/* ======================================== */

.text-abs-box {
	position: relative;
	max-height: min(280px, 23vw);
}

.text-abs-box img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.text-abs-box__text {
	position: absolute;
	inset: 0;
	margin: auto;
	height: fit-content;
}

@media (max-width:600px) {
	.text-abs-box {
		height: 37vw;
		max-height: unset;
	}
}

/* ======================================== */

.step__wrapper {
	position: relative;
}

.step__head {
	padding: 1em;
	background: var(--white);
}

.step__head--orange {
	border: 4px solid var(--orange);
}

.step__head--green {
	border: 4px solid var(--green);
}

.step__circle {
	height: 2em;
	width: 2em;
	border-radius: 999px;
}

.step__circle--blue {
	background: var(--blue);
}

.step__circle--orange {
	background: var(--orange);
}

.step__circle--green {
	background: var(--green);
}

.step__content {
	flex: 0 0 60%;
	border-width: 4px;
}

.step__line {
	position: absolute;
	width: 8px;
	height: 100%;
	background: var(--gradation);
	right: calc(60% + 1.8em);
	z-index: -1;
	border-radius: 999px;
}

@media (max-width:600px) {
	.step__line {
		left: 0;
		right: 0;
		margin: auto;
	}
}

/* small */

small {
	font-size: .875em;
}

/* wordpress Pager==================================== */

.pager-container {
	margin: 1em auto;
}

.navigation {}

.pagination {}

.screen-reader-text {}

.nav-links {}

.page-numbers {
	padding: .25em .5em;
	background: var(--white);
	border-radius: .5em;
	border: 2px solid var(--black);
}

.current {
	background: var(--purple);
	color: var(--white);
	border-color: var(--white);
}

.next {}