@charset "UTF-8";
.-noBg .topicPathWrap + .offerContents {
	margin-top: 0;
}

.offerContents {
	color: #1A1A1A;
	font-size: 1.8rem;
	letter-spacing: 0.07em;
	line-height: 1.8;
}

@media screen and (max-width: 767px) {
	.offerContents {
		display: block;
		font-size: 1.6rem;
		line-height: 1.6;
	}
}
.offerContents img {
	max-width: 100% !important;
}

.content__inner {
	display: block;
	margin-inline: auto;
	max-width: 1024px;
	width: 89.3333333333%;
}

@media screen and (max-width: 767px) {
	.content__inner.-spNarrow {
		width: 94.6666666667%;
	}
}
.pcOnly {
	display: block;
}

@media screen and (max-width: 767px) {
	.pcOnly {
		display: none;
	}
}
.spOnly {
	display: none;
}

@media screen and (max-width: 767px) {
	.spOnly {
		display: block;
	}
}
@media screen and (max-width: 767px) {
	.-spFull {
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.-spCenter {
		text-align: center;
	}
}
/* セクション */
* + .content {
	margin-top: 9.6rem;
}

@media screen and (max-width: 767px) {
	* + .content {
		margin-top: 4.2rem;
	}
	* + .content.-spNarrow {
		margin-top: 3.2rem;
	}
}
@media screen and (max-width: 767px) {
	* + .content.-inner-level2 {
		margin-top: 4rem;
	}
}
.content__box + * {
	margin-top: 4rem;
}

@media screen and (max-width: 767px) {
	.content__box.-spNarrow {
		margin-top: 2.4rem;
	}
}
/* 注意ボックス */
.attentionBox {
	align-items: center;
	border: 1px solid #DF1F1C;
	display: flex;
	justify-content: space-between;
	padding-block: 1.6rem;
	padding-inline: 2.4rem;
	min-height: 8.4rem;
}

@media screen and (max-width: 767px) {
	.attentionBox {
		display: block;
		padding-block: 2rem;
		padding-inline: 2rem;
		min-height: inherit;
	}
}
.attentionBox.-textTop {
	align-items: inherit;
}

.attentionBox__title {
	color: #DF1F1C;
	font-size: 2.4rem;
	font-weight: 900;
	width: 12.5256673511%;
}

@media screen and (max-width: 767px) {
	.attentionBox__title {
		font-size: 2rem;
		margin-inline: auto;
		width: 32.0102432778%;
	}
	.attentionBox__title + * {
		margin-top: 1rem;
	}
}
.attentionBox__text {
	font-size: 2rem;
	width: 85.4209445585%;
}

@media screen and (max-width: 767px) {
	.attentionBox__text {
		font-size: 1.6rem;
		width: 100%;
	}
}
/* 汎用的画像梱包用 */
.imageBox {
	text-align: center;
}

.imageBox + * {
	margin-top: 3.2rem;
}

.imageBox.-mrAuto img {
	display: block;
	margin-right: auto;
}

/* ロゴが横にあるボックス */
.logoSideBox {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

@media screen and (max-width: 767px) {
	.logoSideBox {
		display: block;
	}
}
.logoSideBox__image {
	width: 130px;
}

@media screen and (max-width: 767px) {
	.logoSideBox__image {
		margin-inline: auto;
		width: 80px;
	}
	.logoSideBox__image + * {
		margin-top: 1rem;
	}
}
.logoSideBox__text {
	width: calc(100% - 154px);
}

@media screen and (max-width: 767px) {
	.logoSideBox__text {
		width: 100%;
	}
}
.textBox {
	font-size: 1.6rem;
	margin-top: 1.1rem;
	font-weight: 700;
}

.textBox__title {
	color: #E7428D;
	border: 1px solid #E7428D;
	padding-inline: 0.8rem;
	display: inline-block;
}

.dotList + .textBox {
	margin-top: 1.6rem;
}

/* 線つきボックス */
/* 薄い紫色の背景ボックス */
/* 白い背景ボックス */
/* ネイビーorオレンジボックス */
/* 交通機関のエリア */
#set .box {
	display: flex;
	-moz-column-gap: 2.4rem;
	column-gap: 2.4rem;
	justify-content: space-between;
}

@media screen and (max-width: 767px) {
	#set .box {
		display: block;
	}
}
#set .box__text {
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.4;
}

#set .box__text .-small {
	font-size: 1.9rem;
}

@media screen and (max-width: 767px) {
	#set .box__text {
		width: 100%;
	}
}
#set .box__text p + p {
	margin-top: 1rem;
}

#set .box__image {
	width: 15rem;
	flex-shrink: 0;
}

@media screen and (max-width: 767px) {
	#set .box__image {
		width: 100%;
		margin-top: 1.6rem;
	}
	#set .box__image img {
		width: 100%;
	}
}
/* 3つ並びレイアウト */
/* 2つ並びレイアウト */
.twoColumn {
	display: flex;
	justify-content: space-between;
}

@media screen and (max-width: 767px) {
	.twoColumn {
		flex-direction: column;
		row-gap: 24px;
	}
	#set .twoColumn {
		row-gap: 30px;
	}
}
.twoColumn.-columnGapNone .twoColumn__item {
	width: 50%;
}

@media screen and (max-width: 767px) {
	.twoColumn.-columnGapNone {
		row-gap: 16px;
	}
	.twoColumn.-columnGapNone .twoColumn__item {
		width: 100%;
	}
}
.twoColumn.-columnGapWide .twoColumn__item {
	width: 46.875%;
}

@media screen and (max-width: 767px) {
	.twoColumn.-columnGapWide .twoColumn__item {
		width: 100%;
	}
}
.twoColumn.-hasBorder .twoColumn__item:nth-child(odd) {
	border-right: 2px solid #00A291;
	padding-right: 2.5rem;
	padding-bottom: 4rem;
}

@media screen and (max-width: 767px) {
	.twoColumn.-hasBorder .twoColumn__item:nth-child(odd) {
		padding-bottom: 0;
	}
}
.twoColumn.-hasBorder .twoColumn__item:nth-child(even) {
	padding-left: 2.5rem;
	padding-bottom: 4rem;
}

@media screen and (max-width: 767px) {
	.twoColumn.-hasBorder .twoColumn__item:nth-child(even) {
		padding-bottom: 0;
	}
}
.twoColumn.-hasBorder + .twoColumn.-hasBorder.-hasBorder {
	margin-top: 0;
}

.twoColumn.-hasBorder + .twoColumn.-hasBorder.-hasBorder .twoColumn__item {
	border-top: 2px solid #00A291;
	padding-top: 4rem;
	padding-bottom: 4rem;
}

.twoColumn.-hasBorder:has(+ .attentionBox) .twoColumn__item {
	padding-bottom: 0 !important;
}

@media screen and (max-width: 767px) {
	.twoColumn.-hasBorder .twoColumn__item:nth-child(odd) {
		border-right: none;
		padding-right: 0;
	}
	.twoColumn.-hasBorder .twoColumn__item:nth-child(even) {
		padding-left: 0;
	}
	.twoColumn.-hasBorder .twoColumn__item + .twoColumn__item {
		border-top: 2px solid #00A291;
		padding-top: 3.6rem;
	}
	.twoColumn.-hasBorder + .twoColumn.-hasBorder.-hasBorder {
		margin-top: 3.6rem;
	}
	.twoColumn.-hasBorder + .twoColumn.-hasBorder.-hasBorder .twoColumn__item {
		padding-top: 3.6rem;
		padding-bottom: 0;
	}
}
.twoColumn__item {
	display: flex;
	flex-direction: column;
	width: 47.55859375%;
}

.twoColumn__item.-mr {
	margin-right: 1.6rem;
}

@media screen and (max-width: 767px) {
	.twoColumn__item.-mr {
		margin-right: 0;
	}
}
.twoColumn__item.-mt {
	margin-top: 4rem;
}

@media screen and (max-width: 767px) {
	.twoColumn__item {
		width: 100%;
	}
}
.twoColumn + * {
	margin-top: 6.4rem;
}

@media screen and (max-width: 767px) {
	.twoColumn + * {
		margin-top: 3.6rem;
	}
}
.twoColumn + .attentionBox {
	margin-top: 4.5rem;
}

.column {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	-webkit-column-gap: 5.0420168067%;
	-moz-column-gap: 5.0420168067%;
	grid-column-gap: 5.0420168067%;
	column-gap: 5.0420168067%;
	max-width: 952px;
	grid-row-gap: 32px;
	row-gap: 32px;
	justify-content: flex-start;
}

@media screen and (max-width: 767px) {
	.column {
		grid-template-columns: repeat(2, 1fr);
		-moz-column-gap: 5.8666666667%;
		column-gap: 5.8666666667%;
		row-gap: 24px;
	}
}
.column__item {
	position: relative;
	max-width: 150px;
}

@media screen and (max-width: 767px) {
	.column__item {
		max-width: 100%;
	}
}
.column__item::before {
	position: absolute;
	content: "";
	box-sizing: border-box;
	border-top: 12.5px solid transparent;
	border-bottom: 12.5px solid transparent;
	border-left: 22px solid #3CA3DD;
	top: 35%;
	left: -11%;
}

@media screen and (max-width: 767px) {
	.column__item::before {
		border-top: 10px solid transparent;
		border-bottom: 10px solid transparent;
		border-left: 17px solid #3CA3DD;
		top: 37%;
		left: 0%;
	}
}
.column__item:first-child::before {
	border: none;
}

.column__item .number {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	width: 50px;
	height: 50px;
	background-color: #3CA3DD;
	border-radius: 50%;
}

@media screen and (max-width: 767px) {
	.column__item .number {
		width: 31.25%;
		height: auto;
		aspect-ratio: 1/1;
	}
}
.column__item figure {
	width: 77.3333333333%;
	margin-top: 9%;
	margin-left: 22%;
}

@media screen and (max-width: 767px) {
	.column__item figure {
		width: 75%;
		margin-top: 7%;
	}
}
.column__item figcaption {
	margin-top: 0.8rem;
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.6;
	color: #3CA3DD;
}

/* QRチケットの利用方法 */
* + .contentBox {
	margin-top: 4rem;
}

.useHeading {
	position: relative;
	padding-left: 4.6rem;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.2;
	color: #00A0E9;
}
.useHeading::before {
	position: absolute;
	top: 10%;
	left: 0;
	width: 3.2rem;
	height: 3.2rem;
	border-radius: 50%;
	background-color: #00A0E9;
	content: "";
}
.useHeading + * {
	margin-top: 24px;
}

.column.-four {
	grid-template-columns: repeat(4, 1fr);
	-moz-column-gap: 6.4%;
	     column-gap: 6.4%;
	max-width: 750px;
}

.imageContent {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.imageContent__content {
	width: 73.2421875%;
}
.imageContent__image {
	width: auto;
}

@media screen and (max-width: 767px) {
	* + .contentBox {
		margin-top: 3.2rem;
	}
	.useHeading {
		padding-left: 2.8rem;
		font-size: 2rem;
	}
	.useHeading::before {
		width: 2rem;
		height: 2rem;
	}
	.useHeading + * {
		margin-top: 16px;
	}
	.column.-four {
		grid-template-columns: repeat(2, 1fr);
		-moz-column-gap: 5.8666666667%;
		     column-gap: 5.8666666667%;
		row-gap: 24px;
	}
	.imageContent {
		row-gap: 16px;
	}
	.imageContent__content, .imageContent__image {
		width: 100%;
	}
	.imageContent__image {
		padding-inline: 47px;
		max-width: 70%;
		margin-inline: auto;
	}
}
/* テキストリンク */
.textLink.-iconBlank {
	display: inline-block;
	position: relative;
}

.textLink.-iconBlank::after {
	background: url("../img/icon-blank.svg") center bottom no-repeat;
	background-size: 11px auto;
	content: "";
	display: inline-block;
	width: 19px;
	height: 18px;
}

/* ボタン */
.basicButton {
	background: url("../img/arrow-right_white.svg") right 2.4rem center no-repeat;
	background-size: 1.1rem auto;
	background-color: #E7428D;
	box-shadow: 0 5px 0 #005714;
	border-radius: 5px;
	color: #FFF;
	display: block;
	line-height: 1.4;
	font-size: 2.4rem;
	font-weight: 900;
	margin-inline: auto;
	max-width: 700px;
	padding-block: 2.3rem;
	padding-inline: 3.8rem;
	text-align: center;
	text-decoration: none;
	transition: 0.5s;
}

@media screen and (max-width: 767px) {
	.basicButton {
		background-position: right 1.8rem center;
		background-size: 1rem auto;
		font-size: 1.6rem;
		padding-block: 1.7rem;
		padding-left: 1.9rem;
		padding-right: 2em;
		text-align: left;
	}
}
.basicButton.-teal {
	background-color: #0091BF;
	box-shadow: 0 5px 0 #006889;
}

.basicButton:hover {
	box-shadow: none;
	transform: translateY(5px);
}

.basicButton.-small {
	font-size: 1.8rem;
	padding-block: 1.2rem;
	max-width: 480px;
}

@media screen and (max-width: 767px) {
	.basicButton.-small {
		font-size: 1.6rem;
	}
}
.basicButton + * {
	margin-top: 4rem;
}

.basicButton + .basicButton {
	margin-top: 2rem;
}

#set .basicButton {
	font-size: 1.8rem;
	padding-block: 1.2rem;
}

@media screen and (max-width: 767px) {
	#set .basicButton {
		padding-block: 2.4rem;
	}
	#set .basicButton.-small {
		font-size: 1.6rem;
	}
}
.buttonWrap {
	margin-top: 4.8rem;
}

@media screen and (max-width: 767px) {
	.buttonWrap {
		margin-top: 2.4rem;
	}
}
#set .buttonWrap {
	margin-top: 2.4rem;
}

@media screen and (max-width: 767px) {
	#set .buttonWrap {
		margin-top: 1.6rem;
	}
}
.buttonWrap.-mtAuto, #set .buttonWrap.-mtAuto {
	margin-top: auto;
}

@media screen and (max-width: 767px) {
	.buttonWrap.-mtAuto, #set .buttonWrap.-mtAuto {
		margin-top: 1.6rem;
	}
}
/* --- 追従リンク --- */
.fixed-link {
	position: fixed;
	right: 0;
	opacity: 0;
	top: 50%;
	transform: translateY(-50%);
	transform: translateX(141px);
	z-index: 99;
	transition: all 0.3s;
}

.fixed-link.is-show {
	transform: translateX(0);
	opacity: 1;
}

.fixed-link a {
	background-color: #00A291;
	border-radius: 10px 0 0 10px;
	color: #fff;
	display: block;
	font-size: 1.8rem;
	line-height: 1.3;
	font-weight: 700;
	padding-block: 30px;
	padding-left: 16px;
	padding-right: 48px;
	position: relative;
	text-decoration: none;
	transition: 0.3s;
}

.fixed-link a:hover {
	opacity: 0.7;
}

@media screen and (max-width: 767px) {
	.fixed-link a {
		font-size: 1.2rem;
		padding-block: 20px;
		padding-left: 8px;
		padding-right: 20px;
	}
}
.fixed-link a::after {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	content: "";
	display: block;
	width: 12px;
	height: 14px;
	-webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	background-color: #fff;
}

@media screen and (max-width: 767px) {
	.fixed-link a::after {
		width: 7px;
		height: 8px;
	}
}
.navLink {
	display: flex;
	-moz-column-gap: 1.953125%;
	column-gap: 1.953125%;
	margin-block-start: 36px;
}

@media screen and (max-width: 767px) {
	.navLink {
		flex-direction: column;
		row-gap: 20px;
	}
}
.navLink li {
	width: 31.8359375%;
}

.navLink li .basicButton {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	background: #0091BF url("../img/arrow-bottom_white.svg") center bottom 8px no-repeat;
	background-size: 11px 14px;
	box-shadow: 0 5px 0 #006889;
	font-size: 1.6rem;
	padding-block: 2.2rem;
	padding-inline: 12px;
}

@media screen and (max-width: 767px) {
	.navLink li {
		width: 100%;
	}
	.navLink li .basicButton {
		background: #0091BF url("../img/arrow-bottom_white.svg") center bottom 10px no-repeat;
		text-align: center;
		padding-block: 28px;
	}
}
/* 見出しレベル3 */
.headingLevel3 {
	background-color: #00A0E9;
	color: #FFF;
	font-size: 3.4rem;
	font-weight: 900;
	padding-block: 2.65rem;
	text-align: center;
}

.headingLevel3.-red {
	background-color: #DF1F1C;
}

@media screen and (max-width: 767px) {
	.headingLevel3 {
		font-size: 2rem;
		padding-block: 2.4rem;
		text-align: left;
	}
}
.headingLevel3 + * {
	margin-top: 4.8rem;
}

@media screen and (max-width: 767px) {
	.headingLevel3 + * {
		margin-top: 2.4rem;
	}
}
/* 見出しレベル4 */
.headingLevel4 {
	font-size: 2.8rem;
	font-weight: 900;
	line-height: 1.7;
}

@media screen and (max-width: 767px) {
	.headingLevel4 {
		font-size: 1.8rem;
	}
}
.headingLevel4 + * {
	margin-top: 1.7rem;
}

@media screen and (max-width: 767px) {
	.headingLevel4 + * {
		margin-top: 1.3rem;
	}
}
.headingLevel4.-lineHeightNarrow {
	line-height: 1.4;
}

.headingLevel4.-lineHeightNarrow + * {
	margin-top: 1.7rem;
}

/* 見出しレベル5 */
.headingLevel5 {
	font-size: 2rem;
	line-height: 1.6;
}

@media screen and (max-width: 767px) {
	.headingLevel5 {
		font-size: 1.8rem;
	}
}
.headingLevel5 + * {
	margin-top: 16px !important;
}

.modelCourseHeading {
	font-size: 3rem;
	line-height: 1.4;
	letter-spacing: 0;
	color: #3CA3DD;
	border-bottom: 4px solid #3CA3DD;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 1.2rem;
}

@media screen and (max-width: 767px) {
	.modelCourseHeading {
		font-size: 2rem;
		margin-bottom: 0.8rem;
	}
}
.modelCourseHeading.-teal {
	color: #00A291;
	border-bottom: 4px solid #00A291;
}

#set .heading {
	margin-bottom: 1.6rem;
}

@media screen and (max-width: 767px) {
	#set .heading img {
		width: auto;
		height: 2rem;
	}
}
@media screen and (max-width: 767px) {
	#set .heading.-spFull img {
		width: 100%;
		height: auto;
	}
}
#set .heading.-mbWide {
	margin-bottom: 3.2rem;
}

@media screen and (max-width: 767px) {
	#set .heading.-mbWide {
		margin-bottom: 1.6rem;
	}
}
.momotetsuCampaign {
	margin-top: 9.6rem;
	margin-bottom: 4rem;
	overflow: hidden;
	border: 2px solid #E83B38;
	border-radius: 1.2rem;
}
.momotetsuCampaign__title {
	margin: 0;
	padding: 20px 24px;
	background-color: #E83B38;
	color: #fff;
	font-size: 2.2rem;
	font-weight: 900;
	line-height: 1.35;
}
.momotetsuCampaign__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(24rem, 40%);
	grid-gap: 24px 40px;
	gap: 24px 40px;
	align-items: center;
	padding: 32px;
}
.momotetsuCampaign__content {
	min-width: 0;
}
.momotetsuCampaign__period {
	margin: 0 0 16px;
	color: #E83B38;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.4;
}
.momotetsuCampaign__period span {
	display: inline-block;
	margin-right: 1.6rem;
	padding: 0.2rem 0.8rem;
	border: 1px solid currentColor;
	border-radius: 0.4rem;
}
.momotetsuCampaign__text {
	margin: 0;
	font-size: 1.4rem;
	line-height: 1.6;
}
.momotetsuCampaign__logo {
	margin: 0;
	text-align: center;
}
.momotetsuCampaign__logo img {
	width: 100%;
	height: auto;
}
.momotetsuCampaign .buttonWrap {
	grid-column: 1/-1;
	justify-self: center;
	margin-top: 0;
}

@media screen and (max-width: 767px) {
	.momotetsuCampaign {
		margin-top: 4rem;
		margin-bottom: 2.4rem;
		border-radius: 0.8rem;
	}
	.momotetsuCampaign__title {
		padding: 1.2rem 1.6rem;
		font-size: 1.8rem;
	}
	.momotetsuCampaign__body {
		grid-template-columns: 1fr;
		gap: 1.6rem;
		padding: 1.6rem;
	}
	.momotetsuCampaign__period {
		margin-bottom: 0.8rem;
		font-size: 1.8rem;
	}
	.momotetsuCampaign__period span {
		margin-right: 0;
		margin-bottom: 0.8rem;
		padding: 0.1rem 0.6rem;
	}
	.momotetsuCampaign__text {
		font-size: 1.2rem;
		line-height: 1.6;
	}
	.momotetsuCampaign__logo {
		order: -1;
	}
	.momotetsuCampaign__logo img {
		width: 100%;
		height: auto;
	}
	.momotetsuCampaign .buttonWrap {
		grid-column: auto;
	}
}
.headingImage {
	margin-bottom: 6rem;
}

@media screen and (max-width: 767px) {
	.headingImage {
		margin-bottom: 2.4rem;
	}
}
.headingImage.-mbNarrow {
	margin-bottom: 2rem;
}

@media screen and (max-width: 767px) {
	.headingImage.-mbNarrow {
		margin-bottom: 2.4rem;
	}
}
/* 注意アイコン */
.attentionIcon {
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 3.2rem auto;
	display: inline-block;
	padding-left: 4.4rem;
}

@media screen and (max-width: 767px) {
	.attentionIcon {
		background-size: 2.4rem auto;
		padding-left: 3.4rem;
	}
}
.attentionIcon.-red {
	background-image: url("../img/icon-attention_red.svg");
}

/* 外窓アイコン */
.blankIcon {
	background: url("../img/icon-blank_white.svg") right center no-repeat;
	background-size: 1.1rem auto;
	padding-right: 1.9rem;
}

/* pdfアイコン */
/* ※印つきリスト */
*:not(.dotList *) + .attentionList:not(.attentionList) {
	margin-top: 4rem;
}

@media screen and (max-width: 767px) {
	*:not(.dotList *) + .attentionList:not(.attentionList) {
		margin-top: 2.3rem;
	}
}
.column + .attentionList {
	margin-top: 0.8rem;
}

.attentionList.-marginTopWide {
	margin-top: 4rem;
}

@media screen and (max-width: 767px) {
	.attentionList.-marginTopWide {
		margin-top: 3.2rem;
	}
}
.attentionList > li {
	font-size: 1.6rem;
	padding-left: 1.6rem;
	text-indent: -1.6rem;
}

/* ●印つきリスト */
*:not(p) + .dotList {
	margin-top: 3.2rem;
}

@media screen and (max-width: 767px) {
	*:not(p) + .dotList {
		margin-top: 1.6rem;
	}
}
.attentionList + .dotList {
	margin-top: 1.6rem;
}

.dotList.-fontSizeBig > li {
	font-size: 2rem;
}

@media screen and (max-width: 767px) {
	.dotList.-fontSizeBig > li {
		font-size: 1.6rem;
	}
}
.dotList.-fontSizeBig > li::before {
	width: 1.6rem;
	height: 1.6rem;
	top: 1rem;
}

@media screen and (max-width: 767px) {
	.dotList.-fontSizeBig > li::before {
		top: 0.6rem;
	}
}
.dotList.-fontSizeBig > li > .-small {
	font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
	.dotList.-fontSizeBig > li > .-small {
		font-size: 1.4rem;
	}
}
.dotList > li {
	font-size: 1.6rem;
	padding-left: 2.2rem;
	position: relative;
}

.dotList > li::before {
	content: "";
	background-color: currentColor;
	border-radius: 50%;
	width: 1.6rem;
	height: 1.6rem;
	top: 0.7rem;
	position: absolute;
	left: 0;
}

.dotList > li .-small {
	font-size: 1.4rem;
	letter-spacing: 0;
}

#set .dotList:not(.-fontSizeBig) {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
}

#set .dotList:not(.-fontSizeBig) > li:not(:first-child) {
	margin-top: 1.6rem;
}

#set .dotList__title {
	font-size: 2rem;
}

.heading + .dotList {
	margin-top: 0;
}

/* ちいさな●印つきリスト */
.normalDotList > li {
	font-size: 1.6rem;
	padding-left: 1.6rem;
	position: relative;
}

.normalDotList > li::before {
	content: "";
	background-color: currentColor;
	border-radius: 50%;
	width: 0.3rem;
	height: 0.3rem;
	position: absolute;
	top: 1.3rem;
	left: 0.6rem;
}

/* おすすめスポットの■つきリスト */
/* 横並びリスト */
/* ダウンロードアイコンリスト */
/* リンクボタンリスト */
.modelCourseList {
	font-size: 1.6rem;
	margin-top: 2rem;
}

@media screen and (max-width: 767px) {
	.modelCourseList {
		margin-top: 1.6rem;
	}
}
.modelCourseList dt {
	color: #3CA3DD;
	font-weight: 700;
	position: relative;
	padding-left: 2rem;
	line-height: 1.6;
}

.modelCourseList dt::before {
	content: "";
	background-color: currentColor;
	width: 1.4rem;
	height: 1.4rem;
	position: absolute;
	top: 52%;
	transform: translateY(-50%);
	left: 0;
}

.modelCourseList.-teal dt {
	color: #00A291;
}

.bonusList {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.6;
	background-color: #00A291;
	border-radius: 8px;
	border: 3px solid #00A291;
	display: flex;
	margin-top: 2rem;
}

@media screen and (max-width: 767px) {
	.bonusList {
		font-size: 1.6rem;
	}
}
.bonusList dt {
	color: #fff;
	text-align: center;
	padding-block: 0.7rem;
	padding-inline: 0.5rem;
	display: flex;
	vertical-align: middle;
	align-items: center;
}

.bonusList dd {
	color: #00A291;
	background-color: #fff;
	border-radius: 0 8px 8px 0;
	width: 100%;
	padding-block: 0.8rem;
	padding-inline: 1.2rem;
	display: flex;
	flex-wrap: wrap;
	vertical-align: middle;
	align-items: center;
}

.bonusList dd .colorRed {
	font-size: 1.4rem;
	font-weight: 500;
}

@media screen and (max-width: 767px) {
	.bonusList dd .colorRed {
		font-size: 1.3rem;
	}
}
/* 右寄せ */
.textRight {
	text-align: right;
}

/* 赤色テキスト */
.colorRed {
	color: #DF1F1C;
}

/* ピンクテキスト */
.colorPink {
	color: #E7428D;
}

/* 説明文 */
.caption {
	font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
	.caption {
		font-size: 1.2rem;
	}
}
* + .caption {
	margin-top: 0.4rem;
}

/* 注釈 */
.attentionText {
	font-size: 1.2rem;
}

.attentionText.-fontSizeBig {
	font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
	.attentionText.-fontSizeBig {
		font-size: 1.4rem;
	}
}
* + .attentionText {
	margin-top: 0.8rem;
}

.imageBox + .attentionText {
	margin-top: 1.2rem;
}

.attentionText + * {
	margin-top: 4.9rem;
}

@media screen and (max-width: 767px) {
	.attentionText + * {
		margin-top: 2.4rem;
	}
}
@media screen and (max-width: 767px) {
	.mv .attentionText {
		width: 89.3333333333%;
		margin-inline: auto;
	}
}
@media screen and (max-width: 767px) {
	img:not(.number img) {
		width: 100%;
		height: auto;
	}
}
.imageBorder {
	outline: #3CA3DD 4px solid;
	outline-offset: -4px;
}

.imageBorder.-teal {
	outline-color: #00A291;
}

.modelCourseImage {
	margin-bottom: 0.8rem;
}

.modelCourseImage img {
	width: 100%;
}

@media screen and (max-width: 767px) {
	#set .image {
		margin-inline: auto;
	}
}
#set .image__large {
	margin-bottom: 1.6rem;
	margin-right: -1.6rem;
}

@media screen and (max-width: 767px) {
	#set .image__large {
		margin-bottom: 0;
		margin-inline: auto;
	}
	#set .image__large.-spMb {
		margin-bottom: 1.6rem;
	}
}