@charset "UTF-8";

/* ▼ スマホ(767px以下)の場合 */
@media screen and (max-width: 767px) {

	/* リセット
================================================== */
	.pc_no {
		display: block !important;
	}

	.sp_no {
		display: none !important;
	}

	/* リンク・文字色・マージン
================================================== */
	.ptb30 {
		padding: 20px 0 8px
	}

	/* メイン
================================================== */
	body {
		font-size: 15px;
	}

	.endMessage {
		background: #fb638f;
		color: #FFF;
		text-align: center;
		padding: 20px 0;
	}

	.endMessage p {
		font-size: 14px;
		font-family: "Noto Sans JP", sans-serif;
		font-weight: 700;
		line-height: 1.4;
	}

	#main_wp {
		box-shadow: none;
	}

	.header_text {
		padding: 20px 0 15px;
	}

	@media screen and (max-width: 598px) {
		#header_wp img.topbtn {
			position: absolute;
			width: 90%;
			/* max-width: 600px; */
			height: auto;
			bottom: 3.5%;
			left: 5%;
			/* transform: translateX(-50%);
    		-webkit-transform: translateX(-50%);
    		-ms-transform: translateX(-50%); */
			animation: bururi 1s infinite;
		}

		img.text-01 {
			width: 70%;
			max-width: 370px;
			height: auto;
		}
	}

	@keyframes bururi {
		50% {
			transform: scale(1, 1);
		}

		52% {
			transform: scale(0.98, 0.95)
		}

		54% {
			transform: scale(1, 1);
		}

		56% {
			transform: scale(0.98, 0.95)
		}

		58% {
			transform: scale(1, 1);
		}

		60% {
			transform: scale(0.98, 0.95)
		}
	}

	.ctaHead {
		font-size: 20px;
	}



	img.text-02 {
		width: 100%;
		max-width: 500px;
		height: auto;
	}

	.page_wp {
		width: 100%;
		margin: 30px auto 10px;
	}

	@media screen and (max-width: 498px) {

		.contents_85,
		.contents_80,
		.contents_70,
		.contents_65 {
			width: 90%;
			margin: 0 auto;
		}
	}

	img.program_tl {
		position: absolute;
		width: 270px;
		height: auto;
		top: -20px;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}

	ul.program_list {
		padding-top: 65px;
		margin-bottom: 30px;
	}

	ul.program_list li {
		font-size: 16px;
		line-height: 1.6em;
		padding: 0.5em;
	}

	.formlink {
		padding-bottom: 20px;
	}

	img.linkbtn {
		width: 100%;
		max-width: 500px;
		height: auto;
		animation: bururi 1s infinite;
	}

	.btnmt {
		margin-top: 20px;
	}

	img.text-04 {
		display: block;
		height: auto;
		width: 100%;
		max-width: 450px;
		margin: 0 auto 15px;
	}

	img.text-05 {
		width: 70%;
		max-width: 300px;
		height: auto;
	}

	img.text-06 {
		width: 95%;
		max-width: 450px;
		height: auto;
		margin-top: 70px;
	}

	img.text-07 {
		width: 90%;
		max-width: 420px;
		height: auto;
		margin: 10px auto 0;
	}

	img.text-08 {
		width: 90%;
		max-width: 180px;
		height: auto;
		margin: 10px auto 15px;
	}

	img.sub-tl {
		display: block;
		margin: 10px auto 0;
		height: 45px;
		width: auto;
	}

	img.photo_w {
		width: 100%;
		max-width: 550px;
		height: auto;
		margin: 15px auto 20px;
	}

	.voice_box {
		padding: 1.3em;
		margin: 0 auto 15px;
	}

	.voice_box p {
		font-weight: 500;
		font-size: 15px;
		line-height: 1.7em;
	}

	.fbInner {
		width: 90%;
		margin: 0 auto;
	}

	.voiceInner {
		width: 90%;
	}

	.voiceHead {
		font-size: 24px;
	}

	.voiceBox {
		width: 100%;

	}


	@media screen and (max-width: 598px) {
		.rcmd_box {
			margin: 30px auto 35px;
			display: block;
		}

		.rcmd_img {
			display: none;
		}

		.rcmd_txt {
			width: 97%;
			max-width: 600px;
			margin: 0 auto;
		}

		.rcmd_txt img {
			width: 100%;
			max-width: 100%;
			height: auto;
			margin-bottom: 0.5em
		}

		.prf_img {
			width: 100%;
			max-width: 230px;
			margin: 0 auto;
		}

		.prf_txt {
			width: 95%;
			max-width: 600px;
			margin: 0 auto;
		}

		.prf_txt h3 img {
			width: 65%;
			max-width: 230px;
			height: auto;
			display: block;
			margin: 0.7em auto 1em
		}
	}

	.rcmd_txt p,
	.prf_txt p {
		font-weight: 500;
		font-size: 15px;
		line-height: 1.7em;
	}

	.youtube {
		width: 100%;
		max-width: 630px;
		margin: 8px auto 20px;
		aspect-ratio: 16 / 9;
	}

	.submit input[type="submit"] {
		width: 90%;
		background: #000;
		color: #FFF;
		background: rgb(63, 94, 251);
		background: linear-gradient(0deg, rgba(153, 118, 195, 1) 0%, rgba(231, 118, 218, 1) 100%);
		padding: 5%;
		font-size: 17px;
		font-weight: bold;
		border-radius: 20px;
		border: 3px solid #FFF;
		filter: drop-shadow(0px 0px 7px rgba(0, 0, 0, 0.2));
		animation: bururi 1s infinite;

	}

	/* 矢印
================================================== */
	.triangle {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		width: 0;
		height: 0;
		border-left: 15px solid transparent;
		border-right: 15px solid transparent;
		border-top: 15px solid #9a76c4;
	}

	/* フッター
================================================== */
	.footer_wp {
		width: 100%;
		text-align: center;
	}

	.footer_link {
		text-align: center;
		width: 100%;
		margin: 40px auto 15px;
		font-weight: 500;
	}

	.footer_link ul li {
		margin: 0 0.3em;
		font-size: 13px;
	}

	.footer_link ul li:first-child {
		padding-right: 1em;
	}

	.footer_copy {
		padding: 10px 0 20px;
		font-size: 13px;
	}

}