@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */	
* html .clearfix {zoom: 1;}
*+html .clearfix {zoom: 1;}
.clearfix:after {height: 0;visibility: hidden;content: ".";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
.pageTitle {
	margin-bottom: 63px;
	padding-top: 25px;
	height: 158px;
	text-align: center;
	background: url(../../img/common/page_bg.png) no-repeat center bottom;
	background-size: 100% 158px;
	box-sizing: border-box;
	position: relative;
}
.pageTitle h2 {
	color: #4D4D4D;
	font-size: 2.3rem;
}
.pageTitle h2 span {
	margin-top: 9px;
	display: block;
}
.pageTitle::after {
	width: 23px;
	height: 33px;
	position: absolute;
	bottom: -37px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
	background: url(../../img/common/page_icon.png) no-repeat left top;
	background-size: 23px auto;
	content: "";
}
@media all and (max-width: 896px) {
	.pageTitle {
		margin-bottom: 63px !important;
		background-size: 900px 158px;
	}
	.pageTitle h2 {
		font-size: 1.8rem;
	}
	.pageTitle h2 img {
		width: 54px;
	}
}
/* comBox */
.comBox {
	margin: 0 auto;
	max-width: 1030px;
}
@media all and (max-width: 896px) {
	.comBox {
		margin: 0 15px !important;
	}
}
/* headLine02 */
.headLine02 {
	margin-bottom: 29px;
	font-weight: bold;
	font-size: 2.3rem;
	text-align: center;
}
@media all and (max-width: 896px) {
	.headLine02 {
		font-size: 2rem;
	}
}
/* centerTxt */
.centerTxt {
	margin-bottom: 133px;
	font-size: 1.6rem;
	text-align: center;
	line-height: 1.75;
	font-weight: bold;
}
@media all and (max-width: 896px) {
	.centerTxt {
		margin-bottom: 30px;
		font-size: 1.35rem;
	}
}
/* comBtn01 */
.comBtn01 a {
	padding: 7px 23px 5px;
	margin: 0 auto;
	width: 172px;
	color: #fff;
	font-weight: bold;
	display: block;
	background-color: #30A1D2;
	position: relative;
	text-align: center;
	box-sizing: border-box;
}
.comBtn01 a:after {
	margin-top: -4px;
	width: 6px;
	height: 6px;
	border: 2px solid;
	border-color: #fff #fff transparent transparent;
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 15px;
	content: "";
}
@media all and (-ms-high-contrast:none) {
	.comBtn01 a {
		padding: 9px 23px 4px;
	}
}
@media all and (min-width: 897px) {
	.comBtn01 a:hover {
		opacity: 0.7;
	}
}
/* comBtn02 */
#main .comBtn02 a {
	padding: 4px 23px;
	color: #4D4D4D;
	background-color: #FFF;
	border: 3px solid #2ca2d4;
}
#main .comBtn02 a:after {
	border-right-color: #2ca2d4;
	border-top-color: #2ca2d4;
}
@media all and (-ms-high-contrast:none) {
	#main .comBtn02 a {
		padding: 8px 23px 2px;
	}
}
/* comTable */
.comTable {
	width: 100%;
	border-collapse: collapse;
}
.comTable th,
.comTable td {
	padding: 10px 0;
	font-weight: bold;
	text-align: left;
	box-sizing: border-box;
	vertical-align: middle;
}
.comTable th {
	width: 133px;
}
.comTable input[type="text"],
.comTable input[type="email"],
.comTable input[type="number"],
.comTable textarea,
.comTable select {
	padding-left: 7px;
	width: 100%;
	height: 39px;
	color: #666;
	font-size: 1.6rem;
	font-weight: bold;
	background-color: #fff;
	border: none;
	appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-webkit-appearance: none; 
	box-sizing: border-box;
	border-radius: 0;
}
.comTable textarea {
	padding: 7px;
	height: 172px;
}
.comTable select {
	padding: 3px 30px 0 7px;
	width: 151px;
	background: #fff url(../../img/contact/select_bg.jpg) no-repeat right top;
	background-size: auto 39px;
}
select::-ms-expand {
	display: none;
}
.comTable .thStyle {
	padding-top: 14px;
	vertical-align: top;
}
.comTable .thStyle02 {
	vertical-align: top;
}
input[type="radio"] {
    display: none;
	padding: 0;
	height: 14px;
	width: 14px;
	vertical-align: middle;
}
input[type="radio"] + label {
	background: url(../../img/contact/radio_bg01.jpg) no-repeat left top 4px;
	background-size: 25px 25px;
    display: inline-block;
    line-height: 25px;
    padding: 4px 0 4px 41px;
}
input[type="radio"]:checked + label {
	background-image: url(../../img/contact/radio_bg02.jpg);
}
.radioUl li {
	margin-bottom: 4px;
}
.radioUl li:last-child {
	margin-bottom: 0;
}
.submitUl {
	margin: 39px 0 0 133px;
	text-align: center;
}
.submitUl li {
	margin: 0 15px;
	display: inline-block;
	position: relative;
}
.submitUl li:after {
	margin-top: -4px;
	width: 6px;
	height: 6px;
	border: 2px solid;
	border-color: #fff #fff transparent transparent;
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 15px;
	content: "";
}
.submitUl input {
	padding: 6px 5px 5px;
	color: #fff;
	width: 172px;
	font-weight: bold;
	text-align: center;
	background-color: #30A1D2;
	border: none;
	border-radius: 0;
	appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}
.errorMsg {
	margin-bottom: 5px;
	color: #FF0004;
	font-size: 1.3rem;
	font-weight: 500
}
.errorMsg li {
	margin-bottom: 5px;
}
.errorMsg li:last-child {
	margin-bottom: 0;
}
.comfirmTable td {
	font-weight: normal
}
@media all and (-ms-high-contrast:none) {
	.comTable select {
		padding-top: 7px;
	}
	input[type='radio'] + label {
		padding-top: 7px;
	}
	.submitUl input {
		padding: 10px 5px 5px;
	}
}
@media all and (min-width: 897px) {
	.submitUl li:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comTable th, .comTable td {
		width: 100%;
		float: left;
	}
	.comTable select {
		width: 100%;
	}
	.comTable input[type="text"],
	.comTable input[type="email"],
	.comTable input[type="number"],
	.comTable textarea,
	.comTable select {
		font-size: 1.4rem;
	}
	.submitUl {
		margin: 39px 0 0 0;
	}
	input[type="radio"] + label {
		background-size: 23px 23px;
		padding: 4px 0 4px 34px;
	}
	.submitUl li {
		margin: 0 0 20px;
		display: block;
	}
	.submitUl li:last-child {
		margin-bottom: 0;
	}
	.comfirmTable td {
		padding-top: 0;
	}
}
/* headLine03 */
.headLine03 {
	margin-bottom: 30px;
	color: #4D4D4D;
	text-align: center;
	font-size: 2.7rem;
}
.headLine03 span {
	padding-bottom: 4px;
	display: inline-block;
	position: relative;
	background: url(../../img/common/line02.png) repeat-x left bottom;
	background-size: 29px auto;
}
@media all and (max-width: 896px) {
	.headLine03 {
		margin-bottom: 20px;
		font-size: 2.1rem;
	}
	.headLine03 span {
		padding-bottom: 6px;
		background-size: 24px auto;
	}
}
/* comListUl */
.comListUl {
	font-size: 1.5rem;
}
.comListUl li {
	margin-bottom: 21px;
	padding: 4px 0 0 34px;
	line-height: 1.66;
	background: url(../../img/common/icon01.jpg) no-repeat left top;
	background-size: 29px auto;
}
.comListUl li:last-child {
	margin-bottom: 0;
}
.comListUl .ttl {
	margin-bottom: 1px;
	font-weight: bold;
	display: block;
	line-height: 1.4;
}
@media all and (max-width: 896px) {
	.comListUl li {
		padding: 0 0 0 31px;
		background-size: 24px auto;
	}
	.comListUl {
		font-size: 1.4rem;
	}
}
/* headLine04 */
.headLine04 {
	margin-bottom: 19px;
	font-size: 1.7rem;
}
.headLine04 span {
	display: inline-block;
	border-bottom: 5px solid #C7E5D5;
	line-height: 1.2;
}
/* comListUl02 */
.comListUl02 {
	margin-top: -17px;
	display: flex;
	flex-wrap: wrap;
}
.comListUl02 li {
	margin: 17px 17px 0 0;
	width: 261px;
}
.comListUl02 li img {
	width: 100%;
}
.comListUl02 li:nth-child(3n) {
	margin-right: 0;
}
@media all and (max-width: 896px) {
	.comListUl02 li {
		margin: 0 0 20px 0;
		width: auto;
	}
	.comListUl02 {
		margin-top: 0;
		display: block;
	}
}
/* comBg */
.comBg {
	background: url(../../img/common/com_bg01.jpg) repeat left top;
	background-size: 250px auto;
	position: relative;
}
.comBg::before {
	width: 100%;
	height: 34px;
	position: absolute;
	bottom: 100%;
	left: 0;
	background: url(../../img/common/com_bg02.jpg) no-repeat center top;
	background-size: 100% 34px;
	content: "";
}
@media all and (max-width: 896px) {
	.comBg::before {
		background-size: 900px 34px;
	}
}
/* comPriceBox */
.comPriceBox h2 {
	padding: 3px 5px 2px;
	margin-bottom: 44px;
	color: #FFF100;
	font-size: 2.8rem;
	background-color: #72C7CD;
	text-align: center;
}
.comPriceBox .tableBox {
	margin: 0 6px 0 4px;
}
.comPriceBox .comTable {
	margin-bottom: 110px;
}
.comPriceBox .comTable:last-child {
	margin-bottom: 0 !important;
}
.comPriceBox .comTable th,
.comPriceBox .comTable td {
	padding: 9px 19px;
	font-size: 1.5rem;
	font-weight: normal;
	vertical-align: top;
	font-weight: 500;
	background-color: #fff;
	letter-spacing: -0.5px;
}
.comPriceBox .comTable th {
	width: 385px;
	font-size: 1.4rem;
}
.comPriceBox .comTable .space,
.comPriceBox .comTable .space02 {
	padding: 0 !important;
	width: 5px !important;
	min-height: 0 !important;
	background-color: transparent !important;
}
.comPriceBox .comTable .space02 {
	width: 100% !important;
	height: 5px !important;
}
.comPriceBox .comTable .space03 {
	height: 9px !important;
}
.comPriceBox .comTable td {
	color: #DF5D70;
	text-align: right;
}
.comPriceBox .comTable .ttl {
	margin-bottom: 0;
	display: block;
	font-size: 1.7rem;
}
.comPriceBox .comTable td .ttl {
	margin-bottom: -2px;
}
.comPriceBox .headLine06 {
	margin-bottom: 25px;
	color: #666666;
	font-size: 2.1rem;
	text-align: center;
}
.comPriceBox .headLine06 span {
	padding: 0 17px 3px;
	background-size: 2px 10px;
}
.comPriceBox .comTable thead td {
	padding: 6px 19px 7px;
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size: 2.1rem;
	background-color: #e05c71;
}
@media all and (-ms-high-contrast:none) {
	.comPriceBox h2 {
		padding: 8px 5px 0;
	}
	.comPriceBox .comTable th, .comPriceBox .comTable td {
		padding: 11px 19px 6px;
	}
	.comPriceBox .headLine06 span {
		padding-bottom: 0;
	}
	.comPriceBox .comTable thead td {
		padding: 9px 19px 5px;
	}
}
@media all and (max-width: 896px) {
	.comPriceBox h2 {
		margin-bottom: 23px;
		padding: 3px 10px 2px;
		font-size: 2rem;
	}
	.comPriceBox .comTable th,
	.comPriceBox .comTable td {
		min-height: 42px;
		width: 100% !important;
		float: left;
		font-size: 1.4rem;
	}
	.comPriceBox .comTable .space {
		width: 100%;
		height: 5px;
	}
	.comPriceBox .comTable th {
		font-size: 1.3rem;
	}
	.comPriceBox .comTable td {
		text-align: left;
	}
	.comPriceBox .comTable {
		margin-bottom: 50px;
	}
}
/* headLine01 */
.headLine01 {
	margin-bottom: 80px;
	font-size: 2.3rem;
	text-align: center;
}
/* headLine05 */
.headLine05 {
	padding-left: 22px;
	position: relative;
	font-size: 1.9rem;
	font-weight: bold;
}
.headLine05::after {
	width: 15px;
	height: 15px;
	position: absolute;
	top: 6px;
	left: 4px;
	background-color: #ee8f23;
	content: "";
}
@media all and (-ms-high-contrast:none) {
	.headLine05::after {
		top: 3px;
	}
}
@media all and (max-width: 896px) {
	.headLine01 {
		margin-bottom: 30px;
		font-size: 1.9rem;
	}
	.headLine05 {
		font-size: 1.75rem;
	}
	.headLine05::after {
		width: 14px;
		height: 14px;
	}
}
/* comShowBox */
.comShowBox {
	margin-bottom: 10px;
	padding: 65px 63px 36px;
	background-color: #fff;
	position: relative;
}
.comShowBox h3 {
	width: 100%;
	color: #fff;
	font-size: 2.1rem;
	text-align: center;
	position: absolute;
	top: -35px;
	left: 0;
}
.comShowBox h3 > span {
	padding: 0 19px 4px;
	display: inline-block;
	border-radius: 8px;
	background-color: #65C2BC;
	position: relative;
}
.comShowBox h3 > span::after {
	width: 92px;
	height: 29px;
	position: absolute;
	bottom: -19px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
	background: url(../../img/common/icon02.jpg) no-repeat left top;
	background-size: 92px 29px;
	content: "";
}
.comShowBox h3 .size {
	margin-bottom: 6px;
	padding-bottom: 3px;
	position: relative;
	font-size: 1.7rem;
	display: inline-block;
	position: relative;
	line-height: 1;
}
.comShowBox h3 .size::after {
	width: 100%;
	height: 6px;
	background-color: #00AAB3;
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
}
.comShowBox h3 .size span {
	display: inline-block;
	position: relative;
	z-index: 10;
}
@media all and (-ms-high-contrast:none) {
	.comShowBox h3 > span {
		padding: 4px 19px 4px;
	}
}
@media all and (max-width: 896px) {
	.comShowBox h3 {
		width: 92%;
		left: 50%;
		-webkit-transform: translateX(-50%);
		-moz-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		-o-transform: translateX(-50%);
		transform: translateX(-50%);
		font-size: 1.6rem;
	}
	.comShowBox h3 .size {
		font-size: 1.4rem;
	}
	.comShowBox h3 > span {
		padding: 3px 19px 4px;
	}
	.comShowBox {
		margin-bottom: 38px;
		padding: 82px 15px 36px;
	}
}
/* comLink */
.comLink {
	margin-bottom: 31px;
	display: flex;
	justify-content: center;
}
.comLink li {
	margin: 0 28px;
	width: 139px;
}
.comLink li a {
	padding: 14px 5px 11px;
	width: 100%;
	height: 100%;
	color: #fff;
	font-size: 1.5rem;
	background: url(../../img/common/link_bg.jpg) repeat left top;
	background-size: 100px auto;
	text-align: center;
	display: block;
	font-weight: bold;
	border-radius: 15px;
	line-height: 1.39;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
}
.comLink li a::after {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba(255,255,255,0.5);
	content: "";
}
.comLink li.on a::after {
	display: none;
}
.comLink li p {
	margin-top: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.comLink li:nth-child(2) a {
	font-size: 1.4rem;
}
@media all and (min-width: 897px) {
	.comLink li a:hover::after {
		display: none;
	}
}
@media all and (max-width: 896px) {
	.comLink li {
		margin: 0 5px;
	}
	.comLink li a img {
		width: 36px;
	}
	.comLink li:nth-child(2) a,
	.comLink li a {
		font-size: 1.1rem;
		font-feature-settings: "palt";
		-moz-font-feature-settings: "palt";
	}
}
/* comBg02 */
.comBg02 {
	padding: 45px 0;
	background-color: #f7f5f6;
}
/* comListUl03 */
.comListUl03 {
	margin-top: -21px;
	font-weight: bold;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.comListUl03 li {
	margin: 21px 0 0 0;
	padding: 2px 0 0 34px;
	width: 48%;
	letter-spacing: -0.5px;
	box-sizing: border-box;
}
@media all and (max-width: 896px) {
	.comListUl03 {
		margin-top: 0;
		display: block;
	}
	.comListUl03 li {
		margin: 0 0 15px;
		padding-top: 0;
		width: auto;
	}
}
/* headLine06 */
.headLine06 {
	margin-bottom: 6px;
	color: #534740;
	font-size: 2.2rem;
	line-height: 1.2;
}
.headLine06 span {
	padding-bottom: 0;
	background: url(../../img/common/line04.jpg) repeat-x left bottom;
	background-size: 2px auto;
	display: inline-block;
}
@media all and (max-width: 896px) {
	.headLine06 span {
		background-size: 2px 8px;
	}
	.headLine06 {
		font-size: 1.9rem;
		text-align: center;
	}
}
/* comListUl04 */
.comListUl04 {
	margin: -85px auto 0;
	max-width: 627px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.comListUl04 li {
	margin-top: 85px;
	width: 284px;
	position: relative;
}
.comListUl04 li .image {
	padding: 4px;
	border-radius: 19px;
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
}
.comListUl04 li .image::after {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 19px;
	border: 7px solid #72c7cc;
	box-sizing: border-box;
	content: "";
}
.comListUl04 li img {
	width: 100%;
}
.comListUl04 li .ttl {
	padding-top: 64px;
	width: 92px;
	height: 130px;
	position: absolute;
	top: -46px;
	left: -43px;
	color: #fff;
	font-weight: bold;
	z-index: 10;
	background: url(../../img/common/ttl_bg.png) no-repeat left top;
	background-size: 92px auto;
	text-align: center;
	line-height: 1.18;
	font-size: 1.5rem;
	box-sizing: border-box;
}
.comListUl04 li .ttl span {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
@media all and (max-width: 896px) {
	.comListUl04 li {
		margin: 0 0 50px;
		width: auto;
	}
	.comListUl04 li:last-child {
		margin-bottom: 0;
	}
	.comListUl04 {
		margin-top: 0;
		display: block;
		max-width: inherit;
	}
	.comListUl04 li .ttl {
		padding-top: 51px;
		width: 70px;
		height: 101px;
		font-size: 1.2rem;
		left: -13px;
		background-size: 70px auto;
	}
	.comListUl04 li .image::after {
		border: 5px solid #72c7cc;
		border-radius: 15px;
	}
	.comListUl04 li .image {
		border-radius: 15px;
	}
}
.pagetop {	
	width: 190px;
	padding: 90px 12px 48px 8px;
	position: fixed;
	right: 15px;
	bottom: 20px;
	text-align: center;
	box-sizing: border-box;
	background: url("../../img/common/pagetop_bg.png") no-repeat left top / 100% 100%;
	z-index: 1000;
}
.pagetop a {
	display: inline-block;
}
.pagetop .tel {
	display: block;
	margin: 11px 0;
}
.pagetop .mail:hover {
	opacity: 0.7;
}
.pagetop img {
	margin: 0 auto;
	display: block;
}
@media all and (max-width: 896px) {
	.pagetop {
		padding: 50px 20px 30px;
		width: 150px;
		right: 0;
		bottom: 15px;
		display: block;
	}
}