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

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

# 料金プラン

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


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

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

ul.page-nav {
	justify-content: center;
	margin-top: 30px;
	padding-left: 0;
}
.page-nav li {
	display: flex;
    margin-bottom: 1em;
}
.page-nav li a:link,
.page-nav li a:visited {
	display: block;
	width: 100%;
	/*background: #f15a24;
	background-image: radial-gradient(#e77574 32%, rgba(255,255,255,0) 32%), radial-gradient(#e77574 32%, rgba(255,255,255,0) 32%);
	background-size: 20px 20px;
	background-position: 0 0, 10px 10px;*/
	background: linear-gradient(to bottom, #00b0cc 30%, #15ad7f);
	text-decoration: none;
	color: white;
	border-radius: 10px;
	padding: 10px 8px;
}
.page-nav li a:hover,
.page-nav li a:focus {
	/*background: #86c14b;*/
    opacity: .8;
}

.page-nav li a.alt:link,
.page-nav li a.alt:visited {
	background: #17a2b8;
}

.page-nav li dt {
	font-weight: bold;
	text-align: center;
	margin-bottom: 8px;
	font-size: 14px;
	line-height: 1.4;
}
.page-nav li dd {
    padding-left: 25px;
    font-size: 12px;
    line-height: 1.5;
    margin-bottom: 5px;
	text-indent: -1em;
}
.page-nav li dd::before {
	content: ">";
	font-size: 70%;
    font-weight: bold;
    margin-right: 5px;
    position: relative;
    top: -2px;
}

@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;
    margin-top: 40px;
    color: #f15a24;
    margin-bottom: -15px;
}
.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 {
        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: #3aa801;
    color: white;
    font-weight: bold;
}
.price-table thead th {
	text-align: center;
}
.price-table thead th:first-child {
	width: 32%;
}

.price-table tbody {
    background: #ebf9fb;
    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: #3aa801;
	margin-bottom: 0px;
	font-weight: bold;
}
.price-table .main-row th[scope="row"] dt { 
	font-size: 18px;
}
.price-table .main-row th[scope="row"] dt em {
	font-size: 28px;
	font-style: normal;
	color: #f15a24;
	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: #f15a24;
    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: #3aa801;
		border-radius: 10px 10px 0 0;
		padding-top: 18px;
	}
	.price-table .main-row th[scope="row"] dt em {
    	color: var(--yellow);
	}

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

	.price-table tbody tr:last-child td:last-child {
		border-bottom: 4px solid #669900;
	}
    .border-row {
        border-bottom: 3px solid #17a2b8;
    }

} /* end media query */


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

.one-time-options {
	margin-top: -20px;
	margin-bottom: 30px;
}
.one-time-options h3 {
	font-size: 16px;
	background: #f15a24;
	color: #fff;
	display: inline-block;
	padding: 5px 12px 2px;
	border-radius: 8px;
	margin-bottom: 10px;
	float: left;
	margin-right: 10px;
}
.one-time-options p {
	font-size: 13px;
	padding-top: 6px;
}
.one-time-options ul {
	display: flex;
	justify-content: space-around;
	/*clear: both;*/
	padding-left: 0;
}
.one-time-options li {
	border: 1px solid #f15a24;
	border-radius: 10px;
	padding: 15px;
	width: 45%;
	font-size: 14px;
	line-height: 1.2;
}
.one-time-options li em {
	display: block;
	font-size: 18px;
	color: #3aa801;
	font-weight: bold;
	font-style: normal;
}
.one-time-options .caution {
    font-size: 11.2px;
    color: #343434;
    margin-left: .5em;
}
.one-time-options li strong {
	font-size: 28px;
	font-weight: bold;
	color: #f15a24;
	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: #17a2b8;
}
.remarks h3::before {
	font-family: "Font Awesome 5 Free";
	content: "\f06a";
	font-weight: 900;
	margin-right: .3em;
	font-size: 120%;
	color: #67b519;
	position: relative;
	bottom: -1px;
}
