@charset "shift_jis";

/*-----------------------------------------------
	編集可能なファイルです。
-----------------------------------------------*/

h2.cms_h2{
	margin:10px auto 20px auto;
	position: relative;
	padding-bottom: 0.7em;
	border-bottom: 4px solid #DDD;
	display:inline-block;
	width:100%;
	line-height:25px;
}
h2.cms_h2:after {
	position: absolute;
	content: ' ';
	border-bottom: solid 4px #ea3341;
	bottom: -4px;
	width: 13%;
	display: block;
	left: 0px;
}
.container{
	width:1100px;
	margin:20px auto;
	overflow:hidden;
}

.maincontents{
	width:780px;
	float:left;
}

.side{
	width:300px;
	float:right;
}

.cms_back{
	text-align:left;
	margin: 10px auto 10px auto;
	padding:0px 0px 0px 0px;
}
.cms_back a{
	color:#004CD3;
	line-height:18px;
}
.cms_back a:hover{
	text-decoration:none;
	color: #999999;
}
.tag_li_box a {
	border: 1px solid #ea3341;
	color: #ea3341;
}
.tag_li_box a:hover {
	background: #ea3341;
	color: #e5efec;
}
.paper_inq_wrap{
	background-color: #f4f6f8;
	border: solid 4px #ea3341;
}
.paper_inq_ti{
    background-color: #ea3341;
}
.paper_ma_download a{
	border: solid 1px #ea3341;
}
.paper_ma_download a:hover {
    background: #c4c4c4;
}
body{
	margin: 0px;
	color: #333333;
	font-weight: normal;
	font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'Arial', 'メイリオ', 'Meiryo', sans-serif;
	& h2, h3, ul, li, p {
		margin: 0;
		padding: 0;
	}
	& ul, li {
		list-style: none;
	}
	& a {
		text-decoration: none;
		color: #000000;
	}
}
h1{
	background-color: #ea3341;
	line-height: 30px;
	font-size: 12px;
	letter-spacing: 0.05em;
	color: #ffffff;
	box-sizing: border-box;
	padding: 0px 10px;
	margin: 0px;
}
/*  ヘッダー  */
.h_wrap{
	display: flex;
	overflow: hidden;
	justify-content: space-between;
	margin: 10px 0px 0px clamp(20px, 1.5vw, 25px);
	align-items: center;
	& h2, h3, ul, li, p {
		margin: 0;
		padding: 0;
	}
	& ul, li {
		list-style: none;
	}
	& a {
		text-decoration: none;
		color: #000000;
	}
	.h_left{
		>a{
			display: block;
			>img{
				width: clamp(400px, 30.7vw, 501px);
			}
		}
	}
	.h_right{
		.h_r_top{
			display: flex;
			align-items: center;
			gap: 0px 15px;
			margin: 0px 5px 0px 0px;
			justify-content: flex-end;
			.h_r_top_phone{
				display: flex;
				gap: 0px 8px;
				align-items: center;
				>img{
					width: clamp(24px, 1.8vw, 34px);
				}
				>p{
					font-size: clamp(19px, 1.4vw, 24px);
					line-height: 1.5;
					letter-spacing: 0.1em;
					font-weight: bold;
				}
			}
			>ul{
				display: flex;
				gap: 0px 5px;
				>li{
					>a{
						display: block;
						width: clamp(200px, 15.3vw, 220px);
						box-sizing: border-box;
						border-radius: 5px;
						text-align: center;
						font-size: clamp(13px, 1vw, 16px);
						letter-spacing: 0.05em;
						font-weight: bold;
						transition: all 0.2s;
						padding: 12px 0px 10px 0px;
					}
				}
				>li:nth-child(1) {
					>a {
						border: 2px solid #ea3341;
						background-color: #ea3341;
						color: #ffffff;
						&:hover{
							border: 2px solid #fcb11e;
							background-color: #fcb11e;
						}
					}
				}
				>li:nth-child(2) {
					>a {
						border: 2px solid #fcb11e;
						background-color: #fcb11e;
						color: #ffffff;
						&:hover{
							border: 2px solid #ea3341;
							background-color: #ea3341;
						}
					}
				}
			}
		}
		.h_r_btm{
			display: flex;
			margin: 20px 0px 0px 0px;
			justify-content: flex-end;
			padding: 0px 0px 12px 0px;
			>li{
				height: 30px;
				>a , >p{
					display: block;
					font-size: clamp(13px, 1vw, 16px);
					line-height: 1.5;
					letter-spacing: 0.05em;
					padding: 2px clamp(20px, 1.5vw, 25px);
					position: relative;
					transition: all 0.2s;
					font-weight: bold;
					cursor: pointer;
					&:after{
						content: "";
						position: absolute;
						top: 0;
						bottom: 0;
						left: 0;
						width: 3px;
						/* 線の太さ */
						border-left: 3px dotted #d8d8d8;
						/* 点線の種類と色（#333） */
						height: 100%;
						/* 親要素の高さに合わせる場合 */
					}
					&:hover{
						color: #ea3341;
					}
				}
			}
			>li:first-child{
				>a{
					&:after{
						display: none;
					}
				}
			}
			.h_nav_drop {
				&:hover {
					>p {
						position: relative;
						&:before {
							content: "";
							width: 16px;
							height: 6px;
							margin: auto;
							clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
							background: #ea3341;
							position: absolute;
							bottom: -11px;
							right: 0;
							left: 10px;
							transition: all 0.2s;
						}
					}
				}
				>div {
					width: 100%;
					background: #fff3ee;
					position: absolute;
					top: 148px;
					left: 0;
					visibility: hidden;
					opacity: 0;
					transition: all 0.2s;
					z-index: 5;
					box-sizing: border-box;
					padding: 30px 0px;
					z-index: 99;
					&:after {
						content: "";
						width: 100%;
						height: 2px;
						background: #ea3341;
						position: absolute;
						top: 0;
						left: 0;
					}
					.h_nav_more_satei {
						width: 60%;
						margin: 0 auto;
						display: flex;
						gap: 0px 10px;
						>li{
							>a{
								display: flex;
								align-items: center;
								justify-content: center;
								font-weight: bold;
								background: #fff;
								border-radius: 40px;
								height: 50px;
								width: 280px;
								box-sizing: border-box;
								transition: all 0.2s;
								font-size: 16px;
							}
						}
						>li:first-child{
							>a{
								border: 2px solid #ea3341;
								background-color: #ea3341;
								color: #ffffff;
								&:hover{
									background-color: #ffffff;
									color: #ea3341;
								}
							}
						}
						>li:nth-child(2){
							>a {
								border: 2px solid #fcb11e;
								background-color: #fcb11e;
								color: #ffffff;
								&:hover {
									background-color: #ffffff;
									color: #fcb11e;
								}
							}
						}
					}
					.h_nav_more {
						display: flex;
						justify-content: flex-start;
						gap: 10px 15px;
						flex-wrap: wrap;
						width: 60%;
						margin: 0 auto;
						>p{
							width: 100%;
							margin-top: 20px;
							padding-bottom: 5px;
							border-bottom: 1px solid #ea3341;
							font-size: 14px;
							font-weight: bold;
							text-align: left;
						}
						>li {
							width: calc((100% - 90px) / 7);
							>a {
								display: block;
								box-sizing: border-box;
								padding: 8px 0px;
								background-color: #ffffff;
								border: 1px solid #ea3341;
								color: #ea3341;
								font-size: 14px;
								line-height: 25px;
								text-align: center;
								transition: all 0.2s;
								font-weight: bold;
								border-radius:25px;
								&:hover {
									background-color: #ea3341;
									color: #ffffff;
								}
							}
						}
					}
				}
				&:hover {
					>div {
						visibility: visible;
						opacity: 1;
					}
					>a span:after {
						visibility: visible;
						opacity: 1;
					}
				}
			}
		}
	}
}
/*  フッター  */
.f_wrap{
	overflow: hidden;
	& h2, h3, ul, li, p {
		margin: 0;
		padding: 0;
	}
	& ul, li {
		list-style: none;
	}
	& a {
		text-decoration: none;
		color: #000000;
	}
	background-color: #ea3341;
	box-sizing: border-box;
	padding: clamp(30px, 4.2vh, 40px) clamp(25px, 1.9vw, 30px);
	.f_in{
		background-color: #ffffff;
		border-radius: 20px;
		padding: clamp(50px, 8.5vh, 60px) clamp(40px, 3.07vw, 60px) 5px clamp(40px, 3.07vw, 60px);
		position: relative;
		overflow: hidden;
		&:after{
			content: "";
			display: block;
			background-repeat: no-repeat;
			background-size: contain;
			position: absolute;
			bottom: clamp(-60px, -7.8vh, -55px);
			right: -40px;
			width: clamp(198px, 15.2vw, 208px);
			height: clamp(214px, 30.5vh, 224px);
			background-image: url(/img/common/footer/f_cala.webp);
		}
		.f_top{
			display: flex;
			justify-content: space-between;
			align-items: center;
			.f_logo{
				display: block;
				>img{
					width: clamp(180px, 13.8vw, 203px);
				}
			}
			.f_back{
				display: block;
				>img {
					width: clamp(120px, 9.2vw, 139px);
				}
			}
		}
		.f_btm{
			margin: clamp(40px, 3vw, 50px) 0px 0px 0px;
			display: flex;
			justify-content: center;
			.f_search{
				padding: 0px clamp(40px, 3.07vw, 70px) 20px clamp(40px, 3.07vw, 70px);
				border-right: 1px solid #cccccc;
				.f_search_ti{
					background-color: #ea3341;
					font-size: clamp(13px, 1vw, 16px);
					line-height: 30px;
					font-weight: bold;
					padding: 0px 15px;
					text-align: center;
					color: #ffffff;
					display: inline-block;
					border-radius: 5px;
					letter-spacing: 0.05em;
				}
				.f_search_box{
					display: flex;
					gap: 0px 45px;
					margin: 30px 0px 0px 0px;
					>ul{
						>li{
							margin: 3px 0px 0px 0px;
							>a{
								display: block;
								font-size: clamp(13px, 1vw, 16px);
								line-height: 1.2;
								letter-spacing: 0.05em;
								font-weight: bold;
								padding: 0px 0px 0px 10px;
								position: relative;
								transition: all 0.2s;
								display: inline-block;
								&:hover{
									color: #ea3341;
								}
								&:before{
									content: "";
									display: inline-block;
									width: 3px;
									height: 3px;
									background-color: #333;
									border-radius: 50%;
									position: absolute;
									top: 0;
									bottom: 0;
									margin: auto;
									left: 0px;
								}
							}
						}
					}
				}
			}
			.f_search:nth-of-type(4){
				border-right: none;
			}
		}
		.f_cp{
			font-size: clamp(10px, 0.76vw, 12px);
			line-height: 1.2;
			letter-spacing: 0.05em;
			font-weight: bold;
			text-align: center;
			margin: 20px 0px 0px 0px;
		}
	}
}
/*  パンくず  */
.pan_wrap {
	text-align: left;
	margin: 5px 0;
}
.pan_wrap div {
	display: inline-block;
	font-size: 12px;
	line-height: 24px;
	position: relative;
	margin-right: 14px;
}
.pan_wrap div a {
	display: inline-block;
	padding: 0 5px 0px 5px;
	height: 28px;
	line-height: 28px;
	text-decoration: none;
	color: #747772;
	background: #e6ecf5;
	font-size: 12px;
}
.pan_wrap div:after {
	content: "";
	position: absolute;
	top: 0;
	left: 100%;
	border-style: solid;
	border-color: transparent;
	border-left-color: #e6ecf5;
	border-width: 14px 12px;
	width: 0;
	height: 0;
}
.pan_wrap div:last-child:after {
	border: none;
}
.pan_wrap div:last-child a {
	background: none;
}
.staff8_wrap ul li{
	width: 21.9%;
}

/* -----タグ一覧------- */
.col_li_tag {
	background: #eee;
	width: 100%;
	margin: 15px 0;
	padding: 10px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.col_li_tag ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
}
.col_li_tag li {
	padding: 3px;
}
.col_li_tag a {
	display: inline-block;
	border: 1px solid #ea3341;
	background: #fff;
	color: #ea3341;
	border-radius: 3px;
	font-size: 13px;
	padding: 7px 15px;
	font-weight: bold;
	text-decoration: none;
}
.col_li_tag a:hover {
	background: #ea3341;
	color: #e5efec;
}
.col_li_tag_ti p {
	font-size: 15px;
	font-weight: bold;
	border-bottom: solid 1px #000;
	padding: 0 0 10px 0px;
}

.app_li_icon{
	white-space: nowrap;
	font-size: 12px;
	background: #ea3341;
}

.app_sho_detail li span{
	background: #ea3341;
}

.app_sho_name:not(:empty){
	color: #ea3341;
}

.sale2_l_ti{
	background: #ea3341;
}

.sale_result2_ma_gaiyo ul li span {
	background: #ea3341;
}

.staff_category {
	font-size: 28px;
	font-weight: bold;
	line-height: 45px;
	text-align: center;
	color: #000;
	width: 100%;
	margin: 15px 0 20px 0;
	padding: 0 0 10px 0;
	/*border-bottom: solid 2px #A072A1;
	border-left: solid 6px #A072A1;*/
	overflow: hidden;
	position: relative;
}
.staff_category:before {
	position: absolute;
	content: "";
	display: inline-block;
	width: 10%;
	height: 5px;
	background: #A072A1;
	border-radius: 10px;
	bottom: 0px;
	left: 45%;
}
.staff3_ma_shosai_voice {
	padding: 0 80px;
}

.staff8_shosai_bt ul li span:not(:empty) {
	background: #ea3341;
	border: 1px solid #ea3341;
}

.staff8_shosai_bt ul li p:not(:empty){
	border: 1px solid #ea3341;
}

.form_satei{
	.jcjs_sferr {
		font-size: 12px;
	}
	.form_w40_tani {
		position: relative;
		.jcjs_sferr {
			position: absolute;
			bottom: 10px;
			left: 240px;
		}
	}
}

.sale_result_shubetu:before, .sale_result_address::before{
	background-color: #ea3341;
}

.sale_result_ma_com3{
	margin: 10px 0px 0px 0px;
	border-left: 4px solid #ea3341;
}


.form_inner_multi input[type="text"]{
	width: 76%;
}

.col_item_tl a span{
	height: auto;
}

.col ul li>p{
	height: auto;
}

.staff3_ma_shosai_voice h3 {
	margin-bottom: 10px;
}

.column_det_free{
	>h1{
		display: none;
	}
	>h2, >h3, >p{
		text-align: left!important;
	}
}

/*-----------------------------------------------
	コラム column
-----------------------------------------------*/
.column_det_img{
	text-align:center;
}
.column_det_img a img{
	max-height:400px;
	height:100% !important;
}
