@charset "UTF-8";
/* CSS Document */

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/
section input,
section textarea{
	width: 100%!important;
    border: 1px solid #9FA0A0;
    padding: 5px;
    border-radius: 0!important;
}

section textarea {
	max-height: 280px;
}

table#mfp_confirm_table tr.mfp_colored {
    background-color: #FFF;
}


/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 641px){
	
	div#page_title {
		background: url("../images/plan_price/page_title_bg_pc.jpg") no-repeat;
		background-size: cover;
		background-position: center;
	}
	
	div#wapper {
		padding-bottom: 0;
	}
	
	section div.section_inner{
		width: 90%;
		max-width: 1080px;
		margin: 0 auto;
	}
	
	section#contact {
		padding-bottom: 85px;
	}
	
	section#contact div.section_inner h3{
		min-height: 32px;
		font-size: 15px;
		font-size: clamp(1.5rem,1.5vw,2.1rem);
		font-weight: 500;
		letter-spacing: 0.24em;
		line-height: 1.6;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		margin: 0 0 20px 0;
	}
	
	section#contact div.section_inner h3::before{
		content: "";
		width: 32px;
		height: 32px;
		background: url("../images/contact/icon_check.svg") no-repeat;
		background-size: contain;
		display: inline-block;
		margin-right: 0.8em;
		margin: -5px 0.8em 0 0;
	}
	
	section#contact div.section_inner span.tel{
		font-family: "Inter", sans-serif;
        font-optical-sizing: auto;
		font-size: 35px;
		font-size: clamp(3.5rem,3.5vw,4.8rem);
        font-weight: 700;
        font-style: normal;
        font-variation-settings:"slnt" 0;
		line-height: 1;
		letter-spacing: 0.08em;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}
	
	section#contact div.section_inner span.tel::before{
		content: "";
		width: 36px;
		height: 37px;
		background: url("../images/common/icon_tel.svg") no-repeat;
		background-size: contain;
		display: inline-block;
		margin-right: 8px;
	}
	
	section#contact div.section_inner span.tel a{
		color: #231815;
	}
	
	section#contact div.box {
		margin: 60px 0 40px;
		border-top: 2px solid #000;
		padding-top: 60px;
		text-align: center;
	}
	
	section#contact div.box p {
		font-size: 14px;
		font-size: clamp(1.4rem,1.4vw,2.0rem);
		line-height: 1.6;
		letter-spacing: 0.2em;
	}
	
	section#contact div.box p.red {
		color: #E83820;
	}
	
	section#contact div.completion {
		margin: 0 0 60px;
		border-bottom: 2px solid #000;
		padding-bottom: 60px;
		text-align: center;
	}
	
	section#contact div.completion p {
		font-size: 14px;
		font-size: clamp(1.4rem,1.4vw,2.0rem);
		line-height: 1.6;
		letter-spacing: 0.2em;
	}
	
	section#contact div.completion p + p {
		margin-top: 0.8em;
	}
	
	section#contact table{
		width: 100%;
		border-top: 1px solid #9FA0A0;
	}
	
	section#contact table tr th{
		width: 22%;
		font-size: 14px;
		font-size: clamp(1.4rem,1.4vw,2.0rem);
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.2em;
		text-align: left;
		vertical-align: middle;
		padding: 28px 2.5% 28px 5%;
		background: #F5EFEA;
		border-bottom: 1px solid #9FA0A0;
	}
	
	section#contact table tr th small {
		font-size: 60%;
		display: inline-block;
		margin-left: 2em;
	}
	
	section#contact table tr th span.req{
		font-size: 12px;
		color: #CF141B;
		display: inline-block;
	}
	
	section#contact table tr td{
		width: 78%;
		padding: 28px 98px 28px 40px;
		border-bottom: 1px solid #9FA0A0;
	}
	
	section#contact table tr.coalescence th{
		padding: 28px 2.5% 0 5%;
		border-bottom: none;
	}
	
	section#contact table tr.coalescence td{
		padding: 28px 98px 0 40px;
		border-bottom: none;
	}
	
	section#contact table tr td p.notes {
		font-size: 10px;
		font-size: clamp(1.0rem,1.0vw,1.3rem);
		line-height: 2.5;
	}
	
	section#contact table tr td p.notes:nth-child(n + 2) {
		margin-top: 10px;
	}
	
	section#contact table tr th dl{
		margin-top: 20px;
	}
	
	section#contact table tr th dl dt{
		width: 100%;
		font-size: 14px;
		font-size: clamp(1.0rem,1.0vw,1.4rem);
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.2em;
		border-bottom: 1px solid #999;
		padding-bottom: 8px;
		margin-bottom: 10px;
	}
	
	section#contact table tr th dl dd{
		width: 100%;
		font-size: 10px;
		font-size: clamp(1.0rem,1.0vw,1.3rem);
		font-weight: 400;
		line-height: 1.6;
		letter-spacing: 0.2em;
	}
	
	div.mfp_buttons {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin-top: 70px;
	}
	
	div.mfp_buttons button {
		width: 230px;
		display: block;
		padding: 15px 15px 17px;;
		background: #E83820;
		border-radius: 25px;
		font-size: 18px;
		font-size: 1.8rem;
		line-height: 1;
		color: #FFF;
		text-align: center;
		margin: 0 15px;
		position: relative;
		border: none;
	}
	
	div.mfp_buttons button:hover {
		opacity: 0.7;
	}
	
	div#mfp_phase_confirm_inner h4 {
		font-size: 15px;
		font-size: clamp(1.5rem,1.5vw,2.1rem);
		font-weight: 500;
		letter-spacing: 0.24em;
		line-height: 1.6;
		margin-bottom: 15px;
	}
	
	div#mfp_phase_confirm_inner table tr th{
		width: 30%!important;
		border-top: none;
		border-bottom: 1px solid #9FA0A0;
	}
	
	div#mfp_phase_confirm_inner table tr td{
		width: 70%!important;
		font-size: 14px;
		font-size: clamp(1.4rem,1.4vw,2.0rem);
		font-weight: 400;
		line-height: 1.6;
		border-top: none;
		border-bottom: 1px solid #9FA0A0;
	}
	
	section#qa {
		max-width: 100%;
		background: #F5EFEA;
		padding: 65px 0 150px;
	}
	
	section#qa div.section_inner{
		width: 95%;
		max-width: 1080px;
		margin: 0 auto;
	}
}

/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 640px){
	
	div#page_title {
		background: url("../images/plan_price/page_title_bg_sp.jpg") no-repeat;
		background-size: cover;
		background-position: center;
	}
	
	div#wapper {
		padding-bottom: 0;
	}
	
	section div.section_inner{
		width: 90%;
		margin: 0 auto;
	}
	
	section#contact {
		padding-bottom: 85px;
	}
	
	section#contact div.section_inner h3{
		min-height: 32px;
		font-size: 17px;
		font-size: clamp(1.7rem,4.72vw,2.0rem);
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1.6;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		margin: 0 0 15px 0;
	}
	
	section#contact div.section_inner h3::before{
		content: "";
		width: 20px;
		height: 20px;
		background: url("../images/contact/icon_check.svg") no-repeat;
		background-size: contain;
		display: inline-block;
		margin: -2px 0.4em 0 0;
	}
	
	section#contact div.section_inner span.tel{
		font-family: "Inter", sans-serif;
        font-optical-sizing: auto;
		font-size: 34px;
		font-size: clamp(3.4rem,9.72vw,4.0rem);
        font-weight: 700;
        font-style: normal;
        font-variation-settings:"slnt" 0;
		line-height: 1;
		letter-spacing: 0.06em;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}
	
	section#contact div.section_inner span.tel::before{
		content: "";
		width: 27px;
		height: 28px;
		background: url("../images/common/icon_tel.svg") no-repeat;
		background-size: contain;
		display: inline-block;
		margin-right: 4px;
	}
	
	section#contact div.section_inner span.tel a{
		color: #231815;
	}
	
	section#contact div.box {
		margin: 40px 0 30px;
		border-top: 2px solid #000;
		padding-top: 40px;
		text-align: center;
	}
	
	section#contact div.box p {
		font-size: 15px;
		font-size: clamp(1.5rem,4.16vw,1.8rem);
		line-height: 1.6;
		letter-spacing: 0.2em;
	}
	
	section#contact div.box p.red {
		color: #E83820;
		margin-top: 0.8em;
	}
	
	section#contact table{
		width: 100%;
	}
	
	section#contact table tr th{
		width: 100%;
		display: block;
		font-size: 19px;
		font-size: clamp(1.9rem,5.27vw,2.2rem);
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.2em;
		text-align: center;
		padding: 8px 0 8px 0;
		background: #F5EFEA;
	}
	
	section#contact table tr th small {
		font-size: 60%;
		display: inline-block;
	}
	
	section#contact table tr th span.req{
		font-size: 80%;
		color: #CF141B;
		display: inline-block;
	}
	
	section#contact table tr.trial th{
		padding: 0;
		background: no-repeat;
	}
	
	section#contact table tr.trial th div.title{
		padding: 8px 0 8px 0;
		background: #F5EFEA;
	}
	
	section#contact table tr td{
		width: 100%;
		padding: 13px 0 0 0;
		display: block;
		margin-bottom: 35px;
	}
	
	section#contact table tr td p.notes {
		font-size: 15px;
		font-size: clamp(1.5rem,4.16vw,1.8rem);
		text-align: center;
		line-height: 2.5;
	}
	
	section#contact table tr td p.notes:nth-child(n + 2) {
		margin-top: 10px;
	}
	
	
	section#contact table tr th dl{
		width: 90%;
		margin: 18px auto 0;
		text-align: left;
	}
	
	section#contact table tr th dl dt{
		width: 100%;
		font-size: 15px;
		font-size: clamp(1.5rem,4.16vw,1.8rem);
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.2em;
		border-bottom: 1px solid #999;
		padding-bottom: 8px;
		margin-bottom: 10px;
	}
	
	section#contact table tr th dl dd{
		width: 100%;
		font-size: 15px;
		font-size: clamp(1.5rem,4.16vw,1.8rem);
		font-weight: 400;
		line-height: 1.6;
		letter-spacing: 0.2em;
	}
	
	div.mfp_buttons {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin-top: 20px;
	}
	
	div.mfp_buttons button {
		width: 90%;
		display: block;
		padding: 15px 15px 17px;;
		background: #E83820;
		border-radius: 25px;
		font-size: 18px;
		font-size: 1.8rem;
		line-height: 1;
		color: #FFF;
		text-align: center;
		margin: 0 15px;
		position: relative;
		border: none;
	}
	
	div.mfp_buttons button + button{
		margin-top: 35px;
	}
	
	div#mfp_phase_confirm_inner h4 {
		font-size: 17px;
		font-size: clamp(1.7rem,4.72vw,2.0rem);
		font-weight: 500;
		letter-spacing: 0.24em;
		line-height: 1.6;
		margin-bottom: 15px;
	}
	
	div#mfp_phase_confirm_inner table tr th{
		width: 100%;
		border-top: none;
		border-bottom: 1px solid #9FA0A0;
	}
	
	div#mfp_phase_confirm_inner table tr td{
		width: 100%;
		font-size: 19px;
		font-size: clamp(1.9rem,5.27vw,2.2rem);
		font-weight: 400;
		line-height: 1.6;
		border-top: none;
		padding: 13px 0 2.5% 0;
		border-bottom: 1px solid #9FA0A0;
	}
	
	section#qa {
		max-width: 100%;
		background: #F5EFEA;
		padding: 65px 0 150px;
	}
	
	section#qa div.section_inner{
		width: 90%;
		margin: 0 auto;
	}
}

	
