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

/*--------------------------------------------------------------

# 料金プラン

--------------------------------------------------------------*/


/*--------------------------------------------------------------
# article-header
--------------------------------------------------------------*/

/*.lower.price .lead {
	margin-bottom: 2em;
}*/

.page-nav {
	justify-content: center;
	margin-top: 30px;
	padding-left: 0;
}
.page-nav li {
	display: flex;
    margin-bottom: 1em;
}
.page-nav a:link,
.page-nav a:visited {
	display: block;
	width: 100%;
	border: 1px solid #8f8f8f;
	position: relative;
	color: #070707;
	text-decoration: none;
	padding: 1.5em 1em;
	/*border-radius: 8px;
	box-shadow: 5px 5px 0 #e3e2e2;*/
}

.page-nav a:hover,
.page-nav a:focus {
	/*background: #86c14b;*/
    opacity: .8;
}

.page-nav a.alt:link,
.page-nav a.alt:visited {
	background: #cae1d4;
}
.page-nav dl {
    margin-bottom: 0;
}
.page-nav dt {
	font-weight: bold;
	text-align: center;
	margin-bottom: 1em;
	font-size: 1rem;
	line-height: 1.4;
	/*color: #4D2F15;*/
	
	
}

.page-nav dt::after {
	/*content: "";
    width: 1.5em;
    height: 2px;
    background: #48904e;
    display: block;
    margin: 1em auto 0;*/
}
.page-nav dd {
    padding-left: 15px;
    font-size: 12px;
    line-height: 1.5;
    margin-bottom: 5px;
	text-indent: -1em;
}
.page-nav dd::before {
	/*content: ">";
	font-size: 70%;
    font-weight: bold;*/
	font-family: "Font Awesome 5 Free";
	content: "\f111";
	font-weight: 900;
	margin-right: .5rem;
	position: relative;
	top: -3px;

	color: #48904e;
	font-size: 40%;
}

@media screen and (max-width: 767px) {
	
	.page-nav li {
		width: 80%;
		margin-bottom: 1em;
	}
	
	
} /* end media query */

/*--------------------------------------------------------------
# contents section
--------------------------------------------------------------*/

.price-category h2 small {
	display: block;
}


.price-sub-category h3 {
   /* font-size: 20px;*/
	font-size: 1.5rem;
    margin-top: 0;
    /*color: #006E32;*/
    margin-bottom: -15px;
    /*padding-left: 1.3em;
    text-indent: -1.3em;*/
}
.price-sub-category h3::before {
	/*font-family: "Font Awesome 5 Free";
	content: "\f06a";
	font-weight: 900;
	color: #006E32;
	margin-right: .3em;*/
    
	/*display: inline-block;
    content: '';
    width: .6em;
    height: .6em;
    border: 3px solid #48904e;
    border-radius: 50px;
	margin-right: 5px;*/
}
.price-sub-category h4 {
    margin-top: 25px;
    font-size: 16px;
    color: #00757f;
    margin-bottom: -15px;
}

@media screen and (max-width: 575px) {
    .price-sub-category h3 {
		font-size: 1.3rem;
        margin-bottom: 0;
    }
    
    .price-sub-category h4 {
        margin-bottom: 0;
    }
	
} /* end media query */

/*--------------------------------------------------------------
# 料金表
--------------------------------------------------------------*/

.price table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	padding: 0; 
	margin-bottom: 40px;
	font-size: 14px;
}

.price-table {
	table-layout: fixed;
}

.price-table caption {
    font-size: 12px;
    text-align: right;
	caption-side: top;
    padding-bottom: 0;
	padding-top: 0;
}
.price-table th,
.price-table td {
    padding: 10px 10px;
    border-right: 1px solid white;
	border-bottom: 1px solid white;
    text-align: center;
    vertical-align: middle;
	line-height: 1.5;
}
.price-table thead tr {
    background: #48904e;
    color: white;
    font-weight: bold;
}
.price-table thead th {
	text-align: center;
}
.price-table thead th:first-child {
	width: 32%;
}

.price-table tbody {
    background: #e8e8e8;
    border-bottom: 15px solid white;
}
.price-table th[scope="row"] {
    font-weight: normal;
	text-align: left;
	/*padding: 0 0 10px;*/
}
.price-table th[scope="row"] dl {
	margin-bottom: 0;
}
.price-table th[scope="row"] dt {
	/*padding: 10px 15px 0px;
	color: #006E32;*/
	/*margin-bottom: 0px;
	font-weight: bold;*/
    font-family: "Roboto", "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}
.price-table .main-row th[scope="row"] dt { 
	/*font-size: 18px;*/
	font-size: 20px;
}
.price-table .main-row th[scope="row"] dt em {
	font-size: 28px;
	font-style: normal;
	color: #48904e;
	position: relative;
	top: 2px;
	margin-right: 2px;
}
.price-table .option-row th[scope="row"] dt { 
	font-size: 15px;
	margin-bottom: 4px;
}
.price-table .option-row th[scope="row"] dt small {
	display: block;
	background: #f59100;
	color: white;
	padding: 2px 6px;
	border-radius: 5px;
	width: 62px;
	text-align: center;
	font-size: 10px;
	margin-left: -10px;
	margin-bottom: 4px;
}
.price-table th[scope="row"] dd {
	/*padding-left: 30px;*/
	font-size: 13px;
	line-height: 1.5;
	margin-bottom: 0;
}
.price-table th[scope="row"] dd > ul {
    padding-left: 0;
	margin-bottom: 0;
}
.price-table th[scope="row"] dd > ul li {
	text-indent: -1em;
    padding-left: 1em;
	margin-bottom: 4px;
}
.price-table th[scope="row"] dd > ul li::before {
	content: "・";
}

/*.price-table th[scope="row"] dd::before {
	content: "・";
}*/
	
.price-table .option-row th[scope="row"] dl {
	margin-left: 15px;
}

.price-table td em {
    font-size: 20px;
    font-style: normal;
    font-weight: bold;
    color: #48904e;
    margin-right: 2px;
}
.price-table td small {
	display: block;
}


@media screen and (max-width: 575px) {
	
	.price table {
    	margin-bottom: 20px;
	}
	
	.price-table thead {
		border: none;
		clip: rect(0 0 0 0);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		width: 1px;
	}
	.price-table tr {
		display: block;
	}
	.price-table tbody {
    	border-bottom: 30px solid white;
	}
	.price-table th[scope="row"] {
		display: block;
		text-align: left;
		
		padding: 10px;
	}
	
	.price-table th[scope="row"] > dl {
		display: flex;
	}
	.price-table th[scope="row"] dt {
		color: #fff;
		width: 45%;
	}
	.price-table td {
		display: block;
		text-align: right;
		padding: 7px 20px;
	}
	.price-table td::before {
		content: attr(data-label);
		float: left;
		font-weight: normal;
		font-size: 14px;
		color: #343434;
		padding-top: 4px;
	}
	
	.price-table .main-row th[scope="row"] {
		color: white;
		background: #48904e;
		/*border-radius: 10px 10px 0 0;*/
		padding-top: 18px;
	}
	.price-table .main-row th[scope="row"] dt em {
    	color: #cae1d4;
 }

	.price-table .option-row th[scope="row"] {
	    background-image: url(../images/bg_dot_blue.png);
	    background-size: 6px 6px;
	    border-top: 2px solid #049e80;
	    border-bottom: 2px solid #049e80;
	}
	
	.price-table .option-row th[scope="row"] dt {
		color: #049e80;
	}

	.price-table tbody tr:last-child td:last-child {
		border-bottom: 3px solid #48904e;
	}
    .border-row {
        border-bottom: 3px solid #afd43d;
    }

} /* end media query */


/*--------------------------------------------------------------
# 随時オプション
--------------------------------------------------------------*/

.one-time-options {
	margin-top: -20px;
	margin-bottom: 30px;
}
.one-time-options h3 {
	font-size: 16px;
	background: none;
	color: #48904e;
    border: 1px solid #48904e;
	display: inline-block;
	margin-bottom: 10px;
	float: left;
	margin-right: 10px;
	padding: 5px 15px;
	border-radius: 15px;
}
.one-time-options p {
	font-size: 13px;
	padding-top: 6px;
}
.one-time-options ul {
	display: flex;
	justify-content: space-around;
	padding-left: 0;
	margin-bottom: 3em;
	width: 100%;
}
.one-time-options li {
	
	width: 40%;
	font-size: 14px;
	line-height: 1.2;
	
	text-align: center;
	padding: 1.5em 1em 1em;
	border: 1px solid #8f8f8f;
}
.one-time-options li em {
	display: block;
	font-size: 18px;
	/*color: #006E32;*/
	font-weight: bold;
	font-style: normal;
}
.one-time-options .caution {
    font-size: 11.2px;
    color: #ed8494;
    margin-left: .5em;
}
.one-time-options li strong {
	font-size: 28px;
	font-weight: bold;
	color: #48904e;
	position: relative;
	top: 2px;
	margin-right: 3px;
}

@media screen and (max-width: 575px) {
	
	.one-time-options ul {
		flex-direction: column;
		align-items: center;
		width: 100%;
	}
	.one-time-options li {
		width: 80%;
		margin: 0.5em 1em;
	}
	
} /* end media query */


/*------------ remarks(特記事項) -------------*/

.remarks h3 {
	font-size: 18px;
	color: #48904e;
}
.remarks h3::before {
	font-family: "Font Awesome 5 Free";
	content: "\f06a";
	font-weight: 900;
	margin-right: .3em;
	font-size: 120%;
	color: #48904e;
	position: relative;
	bottom: -1px;
}
