@charset "utf-8";

/*=================================================================================================================================*/
/** 個別指定 for スマートフォン
/*=================================================================================================================================*/

/*---------------------------------------------
 ** 600px
---------------------------------------------*/
@media screen and (max-width: 600px) {
	/*---------------------------------------------
	body
---------------------------------------------*/

	body {
		font-size: 1.5rem;
	}
	img {
		max-width: 100%;
		height: auto;
	}
	.only_pc{
		display: none;
	}
	.only_sp{
		display: block;
	}
	header {
		padding: 0% 0 5%;
		background: url(../img/main_sp.jpg) no-repeat center bottom;
		background-size: cover;
	}
	header > div {
		justify-content: center;
	}
	header::after {
		width: 100%;
		height: 70%;
		background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 90%);
		position: absolute;
		top: auto;
		bottom: 0;
	}
	header > div > div {
		margin-top: 80%;
	}
	h1{
		font-size:170%;
	}
	h1 em {
		filter: drop-shadow(0px 0px 2px rgba(255, 255, 255, 1)) drop-shadow(0px 0px 2px rgba(255, 255, 255, 1)) drop-shadow(0px 0px 2px rgba(255, 255, 255, 1));
	}
	.entry_btn {
		padding: 5% 13% 5% 11%;
	}
	header .entry_btn {
		padding: 6% 15% 6% 12%;
	}
	.entry_btn::after {
		width: 10px;
		height: 10px;
		right: 25px;
	}
	header .entry_btn::after {
		width: 10px;
		height: 10px;
		right: 15px;
	}
	main::after {
		bottom: -38px;
		border-top: 40px solid #d4a5a5;
		border-right: 50px solid transparent;
		border-left: 50px solid transparent;
	}
	.img_link{
		pointer-events:auto;
	}
	.img_link+p{
		display: block;
		font-size:90%;
		text-align: center;
	}

	#sec01 li {
		font-size: 160%;
		margin-bottom: 55px;
	}
	#sec01 ul li::after {
		content: "";
		width: 35px;
		height: 50px;
		bottom: -55px;
	}

	section h2 {
		font-size: 6vw;
		background: url(../img/icon_check_black.png) no-repeat top 5px left;
		background-size: 11vw auto;
		padding: 0 30px 10px 10.5vw;
	}
	#sec03 .img_link img.only_sp{
		mix-blend-mode: multiply;
	}
	#sec03 > div > h2:nth-of-type(1) {
		margin-bottom: 0;
		padding-bottom: 5px;
	}
	#sec03 > div > h2,
	#sec03 > div > h2:nth-of-type(2) {
		font-size: 5.6vw;
	}
	#sec01 h2 {
		background: url(../img/icon_check_pink.png) no-repeat top 5px left;
		background-size: 50px auto;
	}

	#sec04 .graph_img > img {
		width: 90%;
		max-width: 420px;
		margin: 0 auto;
	}
	#sec04 .graph_img > img:nth-of-type(2n) {
		width: 88%;
		max-width: 410px;
	}
	#sec05 p {
		margin-bottom: 5%;
	}

	#pagetop {
		bottom: 1rem;
		right: 1rem;
		width: 5rem;
		height: 5rem;
	}

	@media screen and (max-width: 480px) {
		body {
			font-size: 1.4rem;
		}
		h1 {
			font-size: 5.4vw;
		}
		.entry_btn,
		header .entry_btn {
			font-size: 4.5vw;
		}
		.entry_btn::after {
			right: 15px;
		}
		main {
			padding: 10% 0;
		}
		main p {
			text-align: left;
			font-size: 120%;
		}
		section {
			padding: 12% 0;
		}
		section h2 {
			background: url(../img/icon_check_black.png) no-repeat top 0 left;
			background-size: 11vw auto;
		}

		#sec01 h2 {
			background: url(../img/icon_check_pink.png) no-repeat top 0px left;
			background-size: 11vw auto;
		}
		#sec01 p {
			margin-bottom: 5%;
		}
		#sec01 li {
			font-size: 130%;
			margin-bottom: 40px;
			line-height: 1.5;
		}
		#sec01 ul li::after {
			content: "";
			width: 29px;
			height: 40px;
			bottom: -43px;
		}
		#sec06 > div > p {
			font-size: 120%;
		}
		#sec06 > div > p {
			text-align: left;
			margin-bottom: 10%;
		}
		#sec06 > div > p br {
			display: none;
		}
		.seminar {
			margin-bottom: 12%;
		}
		#h3_01 {
			background: url(../img/text_price.png) no-repeat top center;
			background-size: 130px auto;
			padding: 35px 0 0 0;
		}
		#h3_02 {
			background: url(../img/text_summary.png) no-repeat top center;
			background-size: 130px auto;
			padding: 35px 0 0 0;
		}
		#sec05 .graph_img {
			margin-bottom: 8%;
		}

		#sec06 {
			padding-bottom: 80px;
			padding-top:0;
		}
		.seminar p br {
			display: inline;
		}
		.seminar p {
			padding: 10px 3% 15px;
		}
		.seminar #h3_02 + p {
			padding: 20px 3%;
		}
	}

	@media screen and (max-width: 380px) {
		body {
			font-size: 1.2rem;
		}
		#sec03 > div > h2:nth-of-type(2) {
			padding: 0 0px 15px 0px;
		}
	}
}
