@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@600&display=swap');


/* FONT size
---------------------------------------------------------------------
[ px ]	[ % ]
10px 	72  %		19px 	136 %
11px 	79  %		20px 	143 %
12px 	86 %		21px 	150 %
13px 	93 %		22px 	158 %
14px 	100 %		23px 	165 %
15px 	108 %		24px 	172 %
16px 	115 %		25px 	179 %
17px 	122 %		26px 	186 %
18px 	129 %
---------------------------------------------------------------------*/




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 共通項目 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */



/* マージン */
.margin02 {	margin-bottom: 2px; }
.margin05 {	margin-bottom: 5px; }
.margin06 {	margin-bottom: 6px; }
.margin08 {	margin-bottom: 8px; }
.margin10 {	margin-bottom: 10px; }
.margin15 {	margin-bottom: 15px; }
.margin20 {	margin-bottom: 20px; }
.margin30 {	margin-bottom: 30px; }
.margin40 {	margin-bottom: 40px; }
.margin50 {	margin-bottom: 50px; }

.mt10 {	margin-top: 10px; }
.mt15 {	margin-top: 15px; }
.mt20 {	margin-top: 20px; }
.mt30 {	margin-top: 30px; }
.mt40 {	margin-top: 40px; }
.mt90 {	margin-top: 90px; }

.mr5 {	margin-right: 5px; }
.mr10 {	margin-right: 10px; }

/* text-align */
.txt_al_c{text-align:center;}
.txt_al_l{text-align:left;}
.txt_al_r{text-align:right;}

/* 文字装飾 */
strong {
	font-weight: bold;
}

ul {
	
}
	ul li {
		list-style:none;	
	}


/* float解除 */
.cbox { 
}
* html .cbox {
	zoom: 100%;
}
*:first-child+html .cbox {
	display: inline-block;
}
.cbox:after {
	content: ""; 
	clear: both; 
	height: 0; 
	display: block; 
	visibility: hidden;
}
ul { 
}
* html ul {
	zoom: 100%;
}
*:first-child+html ul {
	display: inline-block;
}
ul:after {
	content: ""; 
	clear: both; 
	height: 0; 
	display: block; 
	visibility: hidden;
}


/* 幅 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.w_100p{
	width:100%;
	}
.m_w_100p{
	max-width:100%;
	}



/* リンク */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
a {
	color: #000;
	transition: 0.4s;
	-webkit-transition: 0.4s;
}

.btnArea a,
.btnArea input,
.btn{
	transition: 300ms;
}
.btnArea a:hover,
.btnArea input:hover,
.btn:hover{
	opacity: 0.7;
}


/* テキスト装飾 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 小文字 */
.cap {
	line-height: 1.5;
	font-size: 86%;
}
.indent{
	margin-left:1em;
	text-indent:-1em;
	}
.fw_bold{
	font-weight:bold;
	}




/* 横幅 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
body {
	font-family: YuGothic, 'Yu Gothic', '游ゴシック体', '游ゴシック', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'MS ゴシック', 'MS Gothic', sans-serif;
	color: #212121;
	padding: 0;
	margin: 0;
	letter-spacing: 1px;
	-webkit-text-size-adjust: 100%;
	position:relative;
}

/* フォント */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.yumincho {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	}
.inter{
	font-family: 'Inter', sans-serif;
}



/* 色 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.col_1{
	color:#59bbcc;
	}



/* 画像 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
img {
	max-width: 100%;
	}
	

/* リスト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */	
	.num_list li{
			position:relative;
			padding-left:30px;
			}	
		.num_list li:not(:first-child){
			margin-top:10px;
			}
		.num_list li::before{
			position:absolute;
			left:0;
			top:3px;
			width:18px;
			height:18px;
			border-radius:100%;
			background-color:#000;
			text-align:center;
			color:#fff;
			box-sizing: border-box;
			font-weight: bold;
			padding: 2.5px 0 0 1px;
			font-size:12px;
			line-height:1em;
			}
		.num_list li:nth-of-type(1)::before{content:"1";}
		.num_list li:nth-of-type(2)::before{content:"2";}
		.num_list li:nth-of-type(3)::before{content:"3";}
		.num_list li:nth-of-type(4)::before{content:"4";}
		.num_list li:nth-of-type(5)::before{content:"5";}
		.num_list li:nth-of-type(6)::before{content:"6";}
		.num_list li:nth-of-type(7)::before{content:"7";}
		.num_list li:nth-of-type(8)::before{content:"8";}
		.num_list li:nth-of-type(9)::before{content:"9";}
		.num_list li:nth-of-type(10)::before{content:"10";}
		
	.circle_list li{
			position:relative;
			padding-left:10px;
			text-indent: -10px;
			}
		.circle_list li::before{
			content:"● ";
			font-size: 10px;
			color: #59bbcc;
			}
	ul.ListPDF li {
		text-indent:-20px;
		margin-left:20px;
	}
		ul.ListPDF li a {
			background: url(../img/icon_pdf.gif) no-repeat left center;
			padding: 8px 0px 8px 20px;
		}

.pdf{
	background: url(../img/icon_pdf.gif) no-repeat scroll right center;
	padding-right: 15px;
	margin-right: 5px;
	}
.word{
	background: url(../img/icon_doc.gif) no-repeat scroll right center;
	padding-right: 20px;
	margin-right: 5px;
	}


	.table_1{
		border-collapse:collapse;
		width:100%;
		line-height: 1.4;
		border-bottom:2px solid #bbb;
		}
	.table_1 tr:not(:first-child) th{
		border-top:1px solid #D4D4D4;
		}
	.table_1 tr:not(:first-child) td{
		border-top:1px solid #EAEAEA;
		}
	.table_1 tr:nth-child(3) th,
	.table_1 tr:nth-child(3) td{
		border-top:2px solid #D4D4D4;
		}
	.table_1 tr th:first-child,
	.table_1 tr td:first-child{
		border-right:2px solid #bbb;
		}
	.table_1 tr:first-child th:not(:first-child),
	.table_1 tr:nth-child(2) th:nth-child(4n - 2),
	.table_1 tr td:nth-child(4n - 2){
		border-left:2px solid #bbb !important;
		}
	.table_1 tr:nth-child(2) th:nth-child(n + 3),
	.table_1 tr:not(:nth-child(-n + 2)) td + td{
		border-left:1px dotted #ccc;
		}
	.table_1 tr:not(:nth-child(-n + 2)) th{
		text-align: left;
		}
	.table_1 th{
		background-color:#E1F3F6;
		padding:10px 3px 10px 6px;
		font-weight:normal;
		}
		.table_1 th span{
			font-size: 12px;
			letter-spacing: 0;
			}
	.table_1 tr:first-child th{
		color:#fff;
		background-color:#7F7F7F;
		}
	.table_1 td{
		background-color:#fff;
		padding:10px 3px 10px 6px;
		}

	
	.midashi{
		font-size:108%;
		color:#A20061;
		font-weight:bold;
		margin-bottom:20px;
	}
	
	.link_li{
		margin-top:10px;
		}
		.link_li li{
			position:relative;
			padding-left:15px;
			}
			.link_li a{
				color:#a20061;
				}
			.link_li li:before {
				content: "";
				position: absolute;
				left: 0;
				top: 0.5em;
				box-sizing: border-box;
				width: 4px;
				height: 4px;
				border: 4px solid transparent;
				border-left: 4px solid #a20061;	
				}

		.link_span{
			position:relative;
			padding-left:15px;
			display:block;
			}
			.link_span:before {
				content: "";
				position: absolute;
				left: 0;
				top: 0.5em;
				box-sizing: border-box;
				width: 4px;
				height: 4px;
				border: 4px solid transparent;
				border-left: 4px solid #a20061;	
				}


	.address_en a {
		color:#fff;
	}


/* スクロールフェードイン */
.fade_off ,
.fade_off_t {
    opacity: 0;
    transition-delay: .2s;
    transition-duration: 1s;
	transform:translateY(10px);
}
.fade_on {
    opacity: 1;
	transform:translateY(0px);
}



/* ++++++++++++++++++++++++++++++++++++++++++++++    PC    ++++++++++++++++++++++++++++++++++++++++++++++  */
/* 801px ~ */
@media screen and (min-width: 801px), print {
	
	.sp {display: none !important;}
	
	body{
		min-width:1040px;
		position: relative;
		}
	
	/* ヘッダー pc */
	#header {
		position: absolute;
		width: 100%;
		z-index: 999;
		background-color: #fff;
		}
		#header h1 {
			margin: 20px 0 0 20px;
			width:161px;
			float:left;
			}
			#header h1 a {
				}
			#header h1 img {
				width:100%;
				vertical-align:text-bottom;
				}
		#header > ul {
			float: right;
			margin-right: 90px;
			}
			#header > ul > li {
				display: inline-block;
				margin-right: 3.8vw;
				position: relative;
				}
			#header > ul > li a {
				line-height: 90px;
				letter-spacing: 3px;
				}
			#header > ul > li span{
				font-weight: bold;
				letter-spacing: 3px;
				}
			#header > ul > li:nth-of-type(1) span,
			#header > ul > li:nth-of-type(2) span,
			#header > ul > li:nth-of-type(3) span,
			#header > ul > li:nth-of-type(5) span{
				padding-right: 25px;
			}
			#header > ul > li:nth-of-type(1) span::after,
			#header > ul > li:nth-of-type(2) span::after,
			#header > ul > li:nth-of-type(3) span::after,
			#header > ul > li:nth-of-type(5) span::after{
				content: "";
				position: absolute;
				top: 0;
				bottom: 6px;
				right: 3px;
				margin: auto;
				width: 6px;
				height: 6px;
				border-top: 2px solid #59bbcc;
				border-right: 2px solid #59bbcc;
				-webkit-transform: rotate(135deg);
				transform: rotate(135deg);
				}
			#header > ul > li div{
				font-size: 15px;
				display: block;
				cursor: pointer;
				}
				#header> ul > li .dropdwn_menu {
					display: none;
					background-color: #fff;
					position: absolute;
					top: 57px;
					width: 190px;
					box-sizing: border-box;
					padding: 15px 0px 15px;
				}
				#header> ul > li:nth-of-type(1) .dropdwn_menu {
					left: 0px;
				}
				#header> ul > li:nth-of-type(2) .dropdwn_menu ,
				#header> ul > li:nth-of-type(3) .dropdwn_menu {
					left: -40px;
				}
				#header> ul > li:nth-of-type(5) .dropdwn_menu {
					left: -50px;
				}
					#header > ul > li .dropdwn_menu li {
						display: block;
						position: relative;
					}
					#header > ul > li .dropdwn_menu li + li {
						border-top: solid 1px rgba(255,255,255,.2);
					}
						#header > ul > li .dropdwn_menu li a {
							line-height: 1;
							padding: 12px 18px;
							font-size: 13.5px;
							letter-spacing: normal;
							display: block;
							position: relative;
						}
						#header > ul > li .dropdwn_menu li a::before {
							content: "";
							position: absolute;
							top: 0;
							bottom: 2px;
							right: 18px;
							margin: auto;
							width: 6px;
							height: 6px;
							border-top: 2px solid #59bbcc;
							border-right: 2px solid #59bbcc;
							-webkit-transform: rotate(45deg);
							transform: rotate(45deg);
						}
						#header > ul > li .dropdwn_menu li a:hover {
							opacity: 0.7
						}

		#header #hd_mail {
			position: absolute;
			right: 0;
			top: 0;
			width: 90px;
			height: 90px;
		}
			#header #hd_mail a {
				background-color: #59bbcc;
				display: table;
				width: 100%;
				height: 100%;
			}
			#header #hd_mail p {
				display: table-cell;
				vertical-align: middle;
			}
				#header #hd_mail p span {
					display: block;
					width: 25px;
					margin: auto;
				}
					#header #hd_mail p span img {
						vertical-align: middle;
					}


	#contents {
		padding-top: 90px;
	}
	
	
	/* ヘッダー pc end */


	
	/* フッター pc  */
	footer {
		margin-top: 200px;
		padding: 80px 0 60px;
		background-color: #6a6a6a;
	}
		footer #ftArea {
		}
		footer #ftArea a {
			color: #fff;
			transition: 300ms;
		}
		footer #ftArea a:hover {
			opacity: 0.7;
		}
			footer #ftArea .ft_top {
			}
				footer #ftArea .ft_top .ft_logo {
					width: 174px;
					float: left;
				}
				footer #ftArea .ft_top .sns {
					float: left;
					margin-left: 60px;
				}
					footer #ftArea .ft_top .sns li {
						width: 47px;
						display: inline-block;
						margin-left: 20px;
						line-height: 43px;
					}
					footer #ftArea .ft_top .sns li:last-child {
						margin-left: 28px;
					}
						footer #ftArea .ft_top .sns li img {
							vertical-align: middle;
						}
				footer #ftArea .ft_top .ft_contact {
					float: right;
				}
					footer #ftArea .ft_top .ft_contact a {
						background-color: #59bbcc;
						display: block;
						font-weight: bold;
						line-height: 14px;
						padding: 14.5px 20px;
					}
						footer #ftArea .ft_top .ft_contact a span {
							display: inline-block;
							width: 16px;
							margin-right: 10px;
						}
							footer #ftArea .ft_top .ft_contact a span img {
								vertical-align: inherit;
							}
			footer #ftArea .ft_mdl {
				margin-top: 60px;
			}
				footer #ftArea .ft_mdl > ul {
				}
					footer #ftArea .ft_mdl > ul > li {
						float: left;
					}
					footer #ftArea .ft_mdl > ul > li + li {
						margin-left: 68px;
					}
						footer #ftArea .ft_mdl > ul > li div {
							letter-spacing: 2px;
							line-height: 1;
							padding-left: 1em;
							position: relative;
							font-weight: bold;
						}
						footer #ftArea .ft_mdl > ul > li div::before {
							content: "";
							position: absolute;
							left: 0;
							top: 0;
							bottom: 0;
							margin: auto;
							height: 2px;
							width: 6px;
							background-color: #59bbcc;
						}
							footer #ftArea .ft_mdl > ul > li div a {
							}
						footer #ftArea .ft_mdl > ul > li > ul {
							margin-top: 14px;
							padding-left: 1em;
						}
							footer #ftArea .ft_mdl > ul > li > ul > li {
								font-size: 13px;
							}
			footer #ftArea .ft_btm {
				margin-top: 80px;
			}
				footer #ftArea .ft_btm ul {
					float: left;
				}
					footer #ftArea .ft_btm ul li {
						float: left;
						font-size: 12px;
						line-height: 1;
					}
					footer #ftArea .ft_btm ul li + li {
						margin-left: 20px;
						padding-left: 20px;
						border-left: solid 1px #fff;
					}
				footer #ftArea .ft_btm .copyright{
					float: right;
					line-height: 1;
					font-size:12px;
					color: #fff;
					letter-spacing:0.1em;
				}
	/* フッター pc end */
	
	.pt {
		width:53px !important;
		}

	
	/*  contents  */
	.wrap{
		margin-left:auto;
		margin-right:auto;
		width:1040px;
		}

		
		
	/* 下層ページ */
	
	/*白い家背景アイコン */
	.sd_content .mainimg {
		position: relative;
	}
		.sd_content .mainimg img {
			max-width: initial;
			width: 100%;
		}
		.sd_content .mainimg h2 {
			position: absolute;
			text-align: center;
			top: 0;
			bottom: 0;
			left: 0;
			right: 0;
			margin: auto;
			z-index: 1;
			width: 160px;
			height: 164px;
		}
		.sd_content .mainimg h2::before {
			position: absolute;
			z-index: -1;
			content: "";
			top: 0;
			bottom: 0;
			left: 0;
			right: 0;
			margin: auto;
			width: 160px;
			height: 164px;
			background-image: url("../img/title_bg.png");
			background-size: cover;
		}
		.sd_content .mainimg h2 p {
			width: 122px;
			margin: 40px auto 0;
		}
		.sd_content .mainimg h2 span {
			font-size: 18px;
			font-weight: bold;
			line-height: 1.4;
			letter-spacing: 6px;
			text-indent: 6px;
			margin-top: 15px;
			/*margin-top: 35px;*/
			display: block;
		}
	
	
	/* 青い家背景アイコン */
	.spe_content .mainimg {
		position: relative;
	}
	.spe_content .mainimg img {
			max-width: initial;
			width: 100%;
			display: block;
		}
		.spe_content .mainimg h2 {
			position: absolute;
			text-align: center;
			bottom: -80px;
			left: 0;
			right: 0;
			margin: auto;
			z-index: 1;
			width: 218px;
			height: 224px;
		}
		.spe_content .mainimg h2::before {
			position: absolute;
			z-index: -1;
			content: "";
			top: 0;
			bottom: 0;
			left: 0;
			right: 0;
			margin: auto;
			width: 218px;
			height: 224px;
			background-image: url("../img/title_bg_b.png");
			background-size: cover;
		}
		.spe_content .mainimg h2 p {
			width: 125px;
			margin: 70px auto 0;
		}
		.spe_content .mainimg h2 span {
			font-size: 18px;
			font-weight: bold;
			line-height: 1.4;
			letter-spacing: 6px;
			text-indent: 6px;
			margin-top: 35px;
			display: block;
			color: #fff;
		}
	
	/* 下層ページ end */

}




/* ++++++++++++++++++++++++++++++++++++++++++++++    sp    ++++++++++++++++++++++++++++++++++++++++++++++  */
/* ~ 800px */
@media only screen and (max-width: 800px) {
	
	body {
		}
	.pc {display: none !important;}
	
	#contents {
		padding-top: 60px;
	}
	
	div.fat-nav__wrapper{
		height: 100%!important;
		}
	img {
		max-width:100%;
		}

	/* ヘッダー sp */
	#header {
		position:fixed;
		z-index:99999;
		width:100%;
		background-color: #fff;
		}
		#header h1 {
			margin: 10px 0 0 10px;
			width:130px;
			float:left;
			}
			#header h1 a {
				}
			#header h1 img {
				width:100%;
				vertical-align:text-bottom;
				}
		#header #hd_mail {
			position: absolute;
			right: 58px;
			top: 0;
			width: 60px;
			height: 60px;
		}
			#header #hd_mail a {
				background-color: #59bbcc;
				display: table;
				width: 100%;
				height: 100%;
			}
			#header #hd_mail p {
				display: table-cell;
				vertical-align: middle;
			}
				#header #hd_mail p span {
					display: block;
					width: 25px;
					margin: auto;
				}
					#header #hd_mail p span img {
						vertical-align: middle;
					}

	/* ヘッダー sp end */
	
	
	
	/* フッター sp  */
	footer {
		margin-top: 140px;
		background-color: #6a6a6a;
		padding:20px 0 20px;
		}
		footer .ft_top,
		footer .ft_mdl,
		footer .ft_btm ul{
			display: none;
			}
		footer .copyright{
			color: #fff;
			text-align:center;
			font-size:12px;
			line-height: 1;
			letter-spacing: -0.05px;
			}
	/* フッター sp end */

	.pt {
		width:50px !important;
		}

	
	/*  contents sp  */
	.wrap {
		padding:0 5%;
		}

	#topcontrol {
		right:5% !important;
		bottom:60px !important;
		}
	.pt {
		width:50px !important;
		}

	
	/*  contents sp  */
	.wrap {
		padding:0 5%;
		}

	table th{
		}
	table td{
		font-size:13px;
		}

	.scroll {
		overflow: scroll;
		position: relative;
		}
	.scroll:before {
		position: absolute;
		display: block;
		content: "";
		width: 100%;
		height: 100%;
		background-color: rgba(255,255,255,0.5);
		z-index: 1;
		top: 0;
		left: 0;
		}
	.scroll:after {
		position: absolute;
		display: block;
		top: 0;
		bottom:0;
		left: 0;
		right:0;
		margin:auto;
		content: "";
		width: 51px;
		height: 60px;
		background-image: url(../img/img_flick.png);
		background-size: cover;
		z-index: 2;
		}			
	.scroll.off:before, .scroll.off:after {
		display: none;
		}	
		.scroll table {
			overflow: auto;
			width: 600px;
			background: #fff;
			}
			
	
	/* contents sp end */
	

		
	/* 下層ページ */
	
	/* 白い家アイコン背景 */
	.sd_content .mainimg {
		position: relative;
	}
		.sd_content .mainimg h2 {
			position: absolute;
			text-align: center;
			top: 0;
			bottom: 0;
			left: 0;
			right: 0;
			margin: auto;
			z-index: 1;
			width: 160px;
			height: 164px;
		}
		.sd_content .mainimg h2::before {
			position: absolute;
			z-index: -1;
			content: "";
			top: 0;
			bottom: 0;
			left: 0;
			right: 0;
			margin: auto;
			width: 128px;
			height: 131.2px;
			background-image: url("../img/title_bg.png");
			background-size: cover;
		}
		.sd_content .mainimg h2 p {
			width: 110px;
			margin: 40px auto 0;
		}
		.sd_content .mainimg h2 span {
			font-size: 16px;
			font-weight: bold;
			line-height: 1.4;
			letter-spacing: 5px;
			text-indent: 5px;
			margin-top: 12px;
			display: block;
		}
	
	
	/* 青い家背景アイコン */
	.spe_content .mainimg {
		position: relative;
	}
	
	.spe_content .mainimg img {
			max-width: initial;
			width: 100%;
		}
		.spe_content .mainimg h2 {
			position: absolute;
			text-align: center;
			bottom: 0;
			left: 0;
			right: 0;
			margin: auto;
			z-index: 1;
			width: 174.4;
			height: 179.2;
		}
		.spe_content .mainimg h2::before {
			position: absolute;
			z-index: -1;
			content: "";
			top: 10px;
			bottom: 0;
			left: 0;
			right: 0;
			margin: auto;
			width: 174.4px;
			height: 179.2px;
			background-image: url("../img/title_bg_b.png");
			background-size: cover;
		}
		.spe_content .mainimg h2 p {
			width: 110px;
			margin: auto;
		}
		.spe_content .mainimg h2 span {
			font-size: 16px;
			font-weight: bold;
			line-height: 1.4;
			letter-spacing: 5px;
			text-indent: 5px;
			margin-top: 15px;
			display: block;
			color: #fff;
		}
	/* 下層ページ end */
	
}