@charset "UTF-8";
/* sp(320px) */

/* カリキュラム全体像 */
#curriculum {
	margin-top: 10px;
	padding-block-end: 1em;
}
/* #crr_1 */
#curriculum #crr_1 {
	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: auto auto auto;
	column-gap: 0;
	row-gap: 1em;
}

#curriculum #crr_1 .enc {
	border: 2px solid #088eff;
	border-radius: .8em;
}
#curriculum #crr_1 .enc .ttl {
	font-size: 17px;
	font-weight: bold;
	line-height: 1.4;
	color: #fff;
	text-align: center;
	background-color: #088eff;
	padding: .5em;
}
#curriculum #crr_1 .enc .in {
	padding: 1.0em 1.5em;
}
#curriculum #crr_1 .enc .in.in_col {
	display: grid;
	grid-template-columns: 50% 50%;
}

#curriculum #crr_1 .enc ul li {
	display: grid;
	grid-template-columns: 16px auto;
	column-gap: .5em;
	align-items: start;
	font-size: 14px;
	line-height: 1.4;
	padding-block: .2em;
}
#curriculum #crr_1 .enc ul li .icn img {
	position: relative;
	vertical-align: middle;
	top: -.1em;
}
/* #crr_2 */
#curriculum #crr_2 {
	border: 1px solid #b9dbf8;
}
#curriculum #crr_2 .ttl {
	font-size: 17px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	background-color: #b9dbf8;
	padding: .3em;
}
#curriculum #crr_2 .in {
	padding: 1.0em 1.5em;
}
#curriculum #kakeru {
	inline-size: 27px;
	margin-inline: auto;
}
/* #crr_3 */
#curriculum #crr_3 {
	border: 2px solid #f92b48;
	border-radius: .8em;
}
#curriculum #crr_3 .ttl {
	font-size: 17px;
	font-weight: bold;
	line-height: 1.4;
	color: #fff;
	text-align: center;
	background-color: #f92b48;
	padding: .5em;
}
#curriculum #crr_3 .in {
	padding: 1.0em 1.5em;
}
#curriculum #crr_3 ul {
	display: grid;
	grid-template-columns: auto;
}
#curriculum #crr_3 ul li {
	display: grid;
	grid-template-columns: 16px auto;
	font-size: 14px;
	line-height: 1.4;
	column-gap: .5em;
	align-items: start;
	padding-block: .2em;
}
#curriculum #crr_3 ul li .icn img {
	position: relative;
	vertical-align: middle;
	top: -.1em;
}
/* #crr_4 */
#curriculum #crr_4 {
	border: 1px solid #ffdbe0;
}
#curriculum #crr_4 .ttl {
	font-size: 17px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	background-color: #ffdbe0;
	padding: .3em;
}
#curriculum #crr_4 .in {
	padding: 1.0em 1.5em;
}

/* 料金 */
#price {
	padding-block-start: 40px;
}
#price .in {
	background-color: #fdfdc0;
	border-radius: 1em;
	inline-size: 100%;
	margin-inline: auto;
	padding: 2em 1em;
	text-align: center;
}
#price .in .ribbon {
	display: inline-block;
	position: relative;
	block-size: 40px;/*リボンの高さ*/
	line-height: 40px;/*リボンの高さ*/
	text-align: center;
	padding: 0 2.4em;/*横の大きさ*/
	font-size: 17px;/*文字の大きさ*/
	font-weight: bold;
	background: #f92b48;/*塗りつぶし色*/
	color: #FFF;/*文字色*/
	box-sizing: border-box;
	align-self: unset;
}
#price .in .ribbon:before, 
#price .in .ribbon:after {
	position: absolute;
	content: '';
	inline-size: 0px;
	block-size: 0px;
	z-index: 1;
}
#price .in .ribbon:before {
	inset: 0 auto auto 0;
	border-width: 20px 0px 20px 10px;
	border-color: transparent transparent transparent #fdfdc0;
	border-style: solid;
}
#price .in .ribbon:after {
	inset: 0 0 auto auto;
	border-width: 20px 10px 20px 0px;
	border-color: transparent #fdfdc0 transparent transparent;
	border-style: solid;
}
#price .in .msg {
	font-size: 25px;
	font-weight: bold;
	line-height: 1.4;
	margin-top: .3em;
}
#price .in .msg span.b {
	font-family: "Manrope", sans-serif;
	font-size: 150%;
	line-height: 1;
}

/* 導入までの流れ */
#flow {
	background-color: #f7f7f7;
}
#flow .grid {
	display: grid;
	grid-template-columns: auto;
	grid-template-rows: auto  auto auto auto auto auto;
}
#flow .grid div.arrow {
	inline-size: 100%;
	padding-block: .5em;	
}
#flow .grid figure {
	max-inline-size: auto;
	block-size: auto;
	inline-size: 11px;
	margin-inline: auto;
	display: grid;
	place-items: center;
	transform: rotate(90deg);
	
}
#flow .grid figure img {
	display: block;
}

/* 特典 */
#ban_area figure {
	max-inline-size: 813px;
	margin-inline: auto;
}


/* よくある質問 */
#faq {
	background-color: #f7f7f7;
}
#faq dt {
	font-size: 15px;
	font-weight: bold;
	line-height: 1.4;
	color: #0a8fff;
	margin-block-end: 1.2em;
	position: relative;
	padding-inline-start: 38px;
}
#faq dd {
	margin-left: 0;
	position: relative;
	padding-inline-start: 38px;
}
#faq dd:not(:last-of-type) {
	padding-block-end: 3em;
	border-block-end: 1px dotted #b0b0b0;
	margin-block-end: 3em;
}

#faq dt::before,
#faq dd::before {
	font-family: "Manrope", sans-serif;
	font-size: 15px;
	font-weight: bold;
	text-align: center;
	border-radius: 50%;
	width: 1.8em;
	height: 1.8em;
	line-height: 1.8em;
	position: absolute;
	inset: 0em auto auto 0; 	
}
#faq dt::before {
	content:'Q';
	color: #fff;
	background-color: #0a8fff;
}
#faq dd::before {
	content:'A';
	color: #f92b48;
	background-color: #fff;
	border: 1px solid #f92b48;
}






@container (min-width: 480px) {
/* tablet_s */
#curriculum #crr_1 .enc {
	border: 3px solid #088eff;
}
#curriculum #crr_1 .enc .ttl {
	font-size: 18px;
}
#curriculum #crr_1 .enc ul li {
	grid-template-columns: 17px auto;
	font-size: 15px;
}
#curriculum #kakeru {
	inline-size: 32px;
}
#curriculum #crr_3 .ttl {
	font-size: 18px;
}
#curriculum #crr_3 ul li {
	grid-template-columns: 17px auto;
	font-size: 15px;
}

/* 料金 */
#price {
	padding-block-start: 40px;
}
#price .in {
	inline-size: 80%;
	padding: 2em 1em;
}
#price .in .ribbon {
	block-size: 40px;/*リボンの高さ*/
	line-height: 40px;/*リボンの高さ*/
	padding: 0 2.4em;/*横の大きさ*/
	font-size: 20px;/*文字の大きさ*/
}
#price .in .ribbon:before {
	border-width: 20px 0px 20px 10px;
}
#price .in .ribbon:after {
	border-width: 20px 10px 20px 0px;
}
#price .in .msg {
	font-size: 30px;
}

/* よくある質問 */
#faq dt {
	font-size: 17px;
	padding-inline-start: 50px;
}
#faq dd {
	padding-inline-start: 50px;
}
#faq dt::before,
#faq dd::before {
	font-size: 19px;
	inset: -.2em auto auto 0; 	
}


/* end of media query(tablet_s) */	
}

@container (min-width: 620px) {
/* tablet */

/* カリキュラム全体像 */
#curriculum {
	margin-top: 20px;
}
#curriculum #crr_1 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: auto;
	column-gap: 2.4%;
	row-gap: 0;
}
#curriculum #crr_1 .enc {
	border: 3px solid #088eff;
}
#curriculum #crr_1 .enc .ttl {
	font-size: 20px;
}
#curriculum #crr_1 .enc .in {
	padding: 1.0em 1.5em;
}
#curriculum #crr_1 .enc .in.in_col {
	display: block;
}

#curriculum #crr_1 .enc ul li {
	grid-template-columns: 20px auto;
	font-size: 16px;
}
#curriculum #crr_1 .enc ul li .icn img {
	top: -.1em;
}
#curriculum #kakeru {
	inline-size: 36px;
}
/* #crr_3 */
#curriculum #crr_3 {
	border: 3px solid #f92b48;
}
#curriculum #crr_3 .ttl {
	font-size: 20px;
}
#curriculum #crr_3 .in {
	padding: 1.2em 2em;
}
#curriculum #crr_3 ul {
	display: grid;
	grid-template-columns: auto auto auto;
}
#curriculum #crr_3 ul li {
	grid-template-columns: 20px auto;
	font-size: 16px;
}
#curriculum #crr_3 ul li .icn img {
	top: -.1em;
}

/* 料金 */
#price {
	padding-block-start: 60px;
}
#price .in {
	inline-size: 80%;
	padding: 2em 1em;
}
#price .in .ribbon {
	block-size: 50px;/*リボンの高さ*/
	line-height: 50px;/*リボンの高さ*/
	padding: 0 2.4em;/*横の大きさ*/
	font-size: 22px;/*文字の大きさ*/
}
#price .in .ribbon:before {
	border-width: 25px 0px 25px 15px;
}
#price .in .ribbon:after {
	border-width: 25px 15px 25px 0px;
}
#price .in .msg {
	font-size: 36px;
}

/* 導入までの流れ */
#flow .grid {
	grid-template-columns: 21.74% 4.35% 21.74% 4.35% 21.74% 4.35% 21.74%;
	grid-template-rows: auto;
}
#flow .grid div.arrow {
	inline-size: auto;
	padding-block: 0;	
}
#flow .grid figure {
	max-inline-size: 43%;
	block-size: 100%;
	display: grid;
	align-items: center;
	justify-items: center;
	transform: rotate(0deg);
}

/* よくある質問 */
#faq dt {
	font-size: 18px;
	padding-inline-start: 50px;
}
#faq dd {
	padding-inline-start: 50px;
}
#faq dt::before,
#faq dd::before {
	font-size: 20px;
	inset: -.2em auto auto 0; 	
}

/* end of media query(tablet) */	
}



@container (min-width: 835px) {
/* pc */

/* カリキュラム全体像 */
#curriculum {
	margin-top: 20px;
}
#curriculum #crr_1 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: auto;
	column-gap: 2.4%;
	row-gap: 0;
}
#curriculum #crr_1 .enc {
	border: 3px solid #088eff;
}
#curriculum #crr_1 .enc .ttl {
	font-size: 22px;
}
#curriculum #crr_1 .enc .in {
	padding: 1.2em 2em;
}
#curriculum #crr_1 .enc .in.in_col {
	display: block;
}

#curriculum #crr_1 .enc ul li {
	grid-template-columns: 20px auto;
	font-size: 18px;
}
#curriculum #crr_1 .enc ul li .icn img {
	top: -.1em;
}

#curriculum #crr_2 .ttl {
	font-size: 20px;
	padding: .3em;
}
#curriculum #crr_2 .in {
	padding: 1.2em 2em;
}
#curriculum #kakeru {
	inline-size: 40px;
}
/* #crr_3 */
#curriculum #crr_3 {
	border: 3px solid #f92b48;
}
#curriculum #crr_3 .ttl {
	font-size: 22px;
}
#curriculum #crr_3 .in {
	padding: 1.2em 2em;
}
#curriculum #crr_3 ul {
	display: grid;
	grid-template-columns: auto auto auto;
}
#curriculum #crr_3 ul li {
	grid-template-columns: 20px auto;
	font-size: 18px;
}
#curriculum #crr_4 ul li .icn img {
	top: -.1em;
}
#curriculum #crr_4 .ttl {
	font-size: 20px;
	padding: .3em;
}
#curriculum #crr_4 .in {
	padding: 1.2em 2em;
}

/* 料金 */
#price {
	padding-block-start: 60px;
}
#price .in {
	inline-size: 80%;
	padding: 2em 1em;
}
#price .in .ribbon {
	block-size: 50px;/*リボンの高さ*/
	line-height: 50px;/*リボンの高さ*/
	padding: 0 2.4em;/*横の大きさ*/
	font-size: 24px;/*文字の大きさ*/
}
#price .in .ribbon:before {
	border-width: 25px 0px 25px 15px;
}
#price .in .ribbon:after {
	border-width: 25px 15px 25px 0px;
}

#price .in .msg {
	font-size: 40px;
}

/* よくある質問 */
#faq dt {
	font-size: 20px;
	padding-inline-start: 54px;
}
#faq dd {
	padding-inline-start: 54px;
}
#faq dt::before,
#faq dd::before {
	font-size: 22px;
	inset: -.2em auto auto 0; 	
}


/* end of media query(pc) */
}