/* CSS Document */

/* ----------------------------------------------------------------------------------------------------
*  下層
* --------------------------------------------------------------------------------------------------*/

/* 共通　*/

#page img {
	max-width: 100%;
}
#page {
	background: url("../images/bg_page.png") center;
	padding-top: 82px;
}
#page .pagettl {
	background: #fff;
	border-radius: 30px;
	padding: 45px 0 30px;
	position: relative;
	text-align: center;
	max-width: 900px;
	width: 90%;
	margin: 0 auto;
}
#page .pagettl .ico {
	margin: 0 auto;
	position: absolute;
	left: 0;
	right: 0;
	top: -40px;
	width: 90px;
}

#page .pagettl .ico.appearance {
	width: 70px;
}
#page .pagettl .ico.document {
	width: 70px;
}
#page .pagettl .ico.price02 {
	width: 110px;
}

#page .pagettl .title {
	font-size: 4rem;
	font-weight: 900;
	text-align: center;
}

@media screen and (max-width: 767px) {
	#page {
		background: url("../images/bg_page_sp.png") center;
		padding-top: 40px;
	}
	#page .pagettl {
		border-radius: 15px;
		padding: 34px 0 18px;
		min-height: 122px;
	}	
	
	#page .pagettl.single {
		padding-top: 46px;
	}
	
	#page .pagettl .ico {
		width: 65px;
		top: -30px;
	}
	#page .pagettl .ico.appearance {
		width: 47px;
	}
	#page .pagettl .ico.nationwide {
		width: 55px;
	}
	#page .pagettl .ico.price {
		width: 54px;
		top: -25px;
	}
	#page .pagettl .ico.price02 {
		width: 84px;
		top: -25px;
	}
	#page .pagettl .ico.privacy {
		width: 47px;
		top: -25px;
	}
	#page .pagettl .ico.document {
		width: 42px;
		top: -25px;
	}
	#page .pagettl .ico.contact {
			width: 50px;
			top: -20px;
	}
	#page .pagettl .title {
		font-size: 3.2rem;
		font-weight: 700;
		line-height: 1.1;
	}
}



/*基本コンテンツ*/
.content_basic {
	margin: 0 auto;
	width: 900px;
	padding: 40px 0;
}
.content_basic .unit {
	align-items: flex-start;
	background: #fff;
	border: 5px solid #15adf2;
	border-radius: 30px;
	box-shadow: 2px 2px 5px 2px rgba(0, 0, 0, 0.3);
	margin-bottom: 20px;
	padding: 30px 20px;	
}
.content_basic .unit .img {
	width: 415px;
}
.content_basic .unit .txt {
	flex: 1;
	margin: 5px 0 0 20px;
}
.content_basic .unit .txt .ttl {
	border-bottom: 1px solid #999;
	color: #15adf2;
	font-size: 2.1rem;
	font-weight: 700;
	margin-bottom: 20px;
	padding-bottom: 16px;
}
.content_basic .unit .txt p {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.7;
}

@media screen and (max-width: 767px) {
	.content_basic {
		padding: 30px 0;
		width: 100%;
	}
	.content_basic .unit {
		border: 3px solid #15adf2;
		box-shadow: 2px 2px 3px 0 rgba(0,0,0,0.3);
		border-radius: 15px;
		padding: 15px 5% 15px;		
		margin-bottom: 10px;
	}
	.content_basic .unit .img {
		width: 100%;
	}
	.content_basic .unit .txt {
		margin-left: 0;
	}
	.content_basic .unit .txt .ttl {
		line-height: 1;
		margin: 20px 0 10px 0;
		text-align: center;
	}
	.content_basic .unit .txt p {
		font-size: 1.5rem;
		line-height: 1.4;
	}
}

/*料金表*/

.content_basic.pricelist .unit:last-of-type {
	margin-bottom: 25px;
}
.content_basic.pricelist .unit .head {
	align-items: center;
	border-bottom: 1px solid #999;
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
	padding-bottom: 16px;
}
.content_basic.pricelist .unit.nobody .head {
	border-bottom: 0;
	padding-bottom: 0;
	margin-bottom: 0;
}
.content_basic.pricelist .unit .head .ttl {	
	font-size: 2.2rem;
	letter-spacing: 1px;
	line-height: 1.2;
	font-weight: 900;
}
.content_basic.pricelist .unit .head .price {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.3;
	text-align: right;
}
.content_basic.pricelist .unit .head .price .num {
	color: #fd5d09;
	font-size: 2.2rem;
	font-weight: 900;
}
.content_basic.pricelist .unit .head .price .tax {
	font-size: 1rem;
	text-align: right;
	display: block;
}
.content_basic.pricelist .unit .txt {
	margin-left: 0;
}

.content_basic .note {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -0.5px;
	margin-top: 20px;
}
.content_basic .btnwrap {
	margin: 40px 0;
	text-align: center;
}
.content_basic .btnwrap a {
	background: url("../images/pricelist/btn_detail.png") no-repeat left top / cover;
	box-shadow: 0 0 3px 0 rgba(0,0,0,0.3);
	border: 3px solid #fff;
	border-radius: 10px;
	color: #fff;
	font-weight: 700;
	height: 71px;
	padding-top: 18px;
	text-decoration: none;
	width: 336px;
	display: inline-block;
}

@media screen and (max-width: 767px) {
	.content_basic.pricelist .unit .head {
		margin-bottom: 10px;
		padding: 0 0 5px;
	}
	.content_basic.pricelist .unit .head .ttl {	
		font-size: 1.8rem;
	}
	.content_basic.pricelist .unit .head .price .num {
		font-size: 1.8rem;
	}
	.content_basic.pricelist .unit .txt p {
		font-size: 1.3rem;
		line-height: 1.2;
	}
	.content_basic .note {
		font-size: 1.3rem;
		margin-top: 10px;
	}
	.content_basic .btnwrap {
		margin: 20px 0 0;
	}
}

/*プライバシーポリシー*/
.content_privacy {
	padding: 50px 0;
}
.content_privacy .box {
	background: #fff;
	padding: 30px;
	max-width: 900px;
	margin: 0 auto;
}
.content_privacy .box .headline {
	font-size: 3rem;
	font-weight: 900;
	margin-bottom: 20px;
}

.content_privacy .box p {
	font-size: 1.5rem;
	margin-bottom: 30px;
}

.content_privacy .box .ttl {
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
	.content_privacy {
		padding: 30px 0;
	}
	.content_privacy .box {
		padding: 20px 5%;
	}
	.content_privacy .box .headline {
		font-size: 2rem;
	}
	.content_privacy .box p {
		font-size: 1.2rem;
	}
	.content_privacy .box .ttl {
		font-size: 1.6rem;
		margin-bottom: 5px;
	}
}

/*table*/
.content_document {
	padding: 30px 0;
}
.content_document table {
	border-collapse: separate;
	border-spacing: 0 3px;
	width: 100%;
}
.content_document table th, .content_document table td {
	vertical-align: top;
	padding: 20px;
}
.content_document table th {
	background: #15adf2;	
	color: #fff;
	font-size: 1.6rem;
	width: 40%;
}
.content_document table td {
	background: #fff;
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.4;
	word-break: break-all;
}
.content_document table td p {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;	
}
.content_document table td p + p {
	margin-top: 15px;
}
.content_document table td a {
	color: #fd5d09;
}
.content_document table td a.tel {
	color: #000;
	text-decoration: none;
}
.content_document table td .note {
	font-size: 1.3rem;
}

@media screen and (max-width: 767px) {
	.content_document table th, .content_document table td {
		padding: 10px;
	}
	.content_document table th {		
		font-size: 1.2rem;
		width: 40%;
	}
	.content_document table td, .content_document table td p {	
		font-size: 1.3rem;
		line-height: 1.2;
	}
	.content_document table td p:last-of-type {
		margin-bottom: 10px;
	}
	
	.content_document table td .note {
		font-size: 1.0rem;
	}
}


/*お問い合わせ*/
.content_contact .lead {
	margin: 30px 0;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
}
.content_contact .box {
	background: #fff;
	padding: 30px;
	max-width: 900px;
	margin: 0 auto;
}
.form_item {
	margin-bottom: 20px;
}
.form_item .ttl {
	font-size: 1.5rem;
	font-weight: bold;
	border-left: 5px solid #15adf2;
	margin-bottom: 10px;
	padding: 2px 0 2px 8px;
}
.form_item.required .ttl span {
	position: relative;
}
.form_item.required .ttl span:after {
	background: #ed1c24;
	content: '必須';
	color: #fff;
	display: inline-block;
	padding: 2px 15px;
	margin-left: 10px;
	vertical-align: bottom;
}

.form_item .subttl {
	font-size: 1.5rem;
	font-weight: bold;
	margin-bottom: 2px;
}
.form_item .col2 {
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
}
.form_item .col2 .col {
	width: 48%;
}
.form_item .agree_txt {
	border: 1px solid #b3b3b3;
	border-radius: 3px;
	font-size: 1.2rem;
	font-weight: bold;
	margin-bottom: 20px;
	padding: 10px;	
	height: 100px;
	overflow-y: scroll;
}
.form_item .agree_btn {
	display: flex;
	align-items: flex-start;
}
.form_item .agree_btn .required {
	background: #ed1c24;
	color: #fff;
	display: inline-block;
	font-size: 1.1rem;
	font-weight: bold;
	padding: 1px 10px 3px;
	margin: 1px 0 0 10px;
	text-align: center;
	width: 48px;
}
.form_item .agree_btn .checkarea {
	flex: 1;
	margin-left: 20px;
}

/*ios reset*/
input[type="text"], input[type="email"], input[type="tel"], button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input[type="checkbox"], input[type="radio"] {
	visibility: hidden;
	width: 1px;
	position: absolute;
}

input[type="submit"], input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration {
 display: none;
}
input[type="submit"]::focus, input[type="button"]::focus {
 outline-offset: -2px;
}

/*original*/
input[type="text"], input[type="email"], input[type="tel"], button, textarea{
	border: 1px solid #b3b3b3;
	border-radius: 3px;
	font-size: 1.3rem;
	padding: 10px;
	width: 100%;
}
textarea {
	height: 100px;
}
.form_item .agree_btn .checkarea label {
	cursor: pointer;
}
.form_item .agree_btn .checkarea span {
	display: block;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1.3;
	padding: 2px 0 0 22px;
	position: relative;
}

.form_item .agree_btn .checkarea span:before {	
	border: 1px solid #b3b3b3;
	content: '';
	display: block;
	background: #fff;
	height: 16px;
	width: 16px;
	position: absolute;
	left: 0;
	top: 3px;
}
.form_item .agree_btn .checkarea span:after {
	border-top: 1px solid #333;
	border-right: 1px solid #333;
	content: '';
	display: none;
	height: 5px;
	width: 10px;
	position: absolute;
	left: 3px;
	top: 7px;
	transform: rotate(125deg);
		
}
.form_item .agree_btn .checkarea input:checked + span:after {
	display: block;
}

.content_contact .btnwrap {
	padding: 30px 0;
	text-align: center;
}
.content_contact .btnwrap .submit {
	color: #fff;
	display: block;
	font-size: 3rem;
	line-height: 1;
	font-weight: bold;
	background: url(../images/contact/btn_form.png);
	background-size:100% 100%;
	margin: 0 auto;
	padding: 8px 0 10px;
	height: 74px;
	width: 100%;
	max-width: 337px;
	transition: 0.3s;
}
.content_contact .btnwrap .submit:hover {
	opacity: 0.7;
}

@media screen and (max-width: 767px) {
	.content_contact .lead {
		margin: 20px 0;
		font-size: 1.4rem;
	}
	.content_contact .box {
		padding: 20px 5% 1px;
	}
	.form_item.required .ttl span:after {
		font-size: 1.1rem;
		padding: 2px 12px 3px;
	}	
}

/*確認画面*/
.content_contact.confirm {
	margin: 30px 0 0;
}
.content_contact.confirm .btnwrap .revise {
	border: none;
	color: #fff;
	display: block;
	font-size: 3rem;
	line-height: 1;
	font-weight: bold;
	background: url(../images/contact/btn_revice.png);
	background-size:100% 100%;
	margin: 0 auto 10px;
	padding: 4px 0 10px;
	height: 74px;
	text-decoration: none;
	width: 100%;
	max-width: 337px;
	transition: 0.3s;
}

/*完了画面*/
.content_contact.thanks .lead{
	font-size: 1.6rem;	
}
.content_contact.thanks .btnwrap {
	padding-top: 10px;
}
.content_contact.thanks .btnwrap .back {
	color: #fff;
	display: block;
	font-size: 3rem;
	line-height: 1;
	font-weight: bold;
	background: url(../images/contact/btn_back.png);
	background-size:100% 100%;
	margin: 0 auto;
	padding: 18px 0 10px;
	height: 74px;
	text-decoration: none;
	width: 100%;
	max-width: 337px;
	transition: 0.3s;
}
.content_contact.thanks .btnwrap .back:hover {
	opacity: 0.7;
}
@media screen and (max-width: 767px) {
	.content_contact.thanks .lead{
		font-size: 1.3rem;
	}
}
