@charset "UTF-8";

/* INTERFACE */

body #logo{
	display:block;
	margin:20px 0 30px;
	text-align:center;
}

body #logo img{
	width:140px;
	vertical-align:bottom;
}

body header nav{
	display:none;
	padding:80px 40px 40px 40px;
	background-color:#fff;
	border:3px solid #c81428;
	position:absolute;
	top:0;
	right:0;
	z-index:11;
}

body header nav ul{
	list-style-type:none;
	margin:0;
	padding:0;
	font-size:16px;
}

body header nav ul li{
	border-bottom:1px dotted #c81428;
}

body header nav ul li a{
	display:block;
	padding:15px 60px 17px 0;
	text-decoration:none;
	background-image:url("../img/interface/arrow_red.svg");
	background-repeat:no-repeat;
	background-position:right center;
	background-size:20px auto;
}

body header nav ul li a:link,
body header nav ul li a:visited{
	text-decoration:none;
}

#sub footer{
	margin:200px 0 0;
}

body footer{
	padding:80px 40px 120px;
	background-color:#c81428;
	text-align:center;
}

body footer a img{
	width:165px;
	vertical-align:bottom;
}

body footer ul{
	margin:0 0 60px;
	padding:0;
	list-style-type:none;
}

body footer ul li{
	display:inline;
	margin:0 20px;
	font-size:14px;
}

body footer ul li a{
	color:#fff;
	text-decoration:none;
}

body footer ul li a:link,
body footer ul li a:visited{
	color:#fff;
	text-decoration:none;
}

body footer ul li a:hover{
	text-decoration:underline;
}

body footer small{
	display:block;
	margin:60px 0 0;
	font-family:Verdana,sans-serif;
	font-size:10px;
	color:#fff;
}

/* HOME */

#home{
	background-image:url("../img/interface/bg_key.png");
	background-repeat:no-repeat;
	background-size:100%;
	background-position:top center;
	background-attachment:fixed;
}

#home_contents_area #key{
	max-width:1300px;
	margin:0 auto 60px;
	padding:0 40px;
}

#home_contents_area #key img{
	width:100%;
	vertical-align:bottom;
}

#home_concept_area{
	max-width:1000px;
	margin:0 auto 60px;
	padding:0 40px;
	overflow:hidden;
}

#home_concept_area>div{
	width:45%;
	float:left;
}

#home_concept_area>div h2{
	margin:0 0 40px;
	padding:0 0 20px;
	font-family: 'Shippori Mincho', serif;
	font-size:25px;
	line-height:1em;
	color:#c81428;
	background-image:url("../img/interface/line_title.svg");
	background-repeat:no-repeat;
	background-size:40px 3px;
	background-position:bottom left;
}

#home_concept_area>div p{
	text-align:justify;
	font-size:14px;
	font-weight:300;
	line-height:1.8em;
}

#home_concept_area>img{
	width:50%;
	vertical-align:bottom;
	float:right;
}

#home_service_area{
	padding:60px 10px;
	background-image:url("../img/interface/bg_service.jpg");
	background-repeat:no-repeat;
	background-size:cover;
	background-position:top center;
}

#home_service_area h2{
	margin:0 0 60px;
	text-align:center;
	font-family: 'Shippori Mincho', serif;
	font-size:35px;
	line-height:1em;
	color:#c81428;
}

#home_service_area h2 span{
	display:block;
	font-family: 'Roboto', sans-serif;
	font-size:16px;
	font-weight:300;
}

#home_service_area ul{
	max-width:1060px;
	margin:0 auto;
	padding:0;
	list-style-type:none;
	display:flex;
	flex-wrap:wrap;
}

#home_service_area ul li{
	width:33.33333%;
	box-sizing:border-box;
	padding:0 30px 50px;
	font-size:17px;
	font-weight:400;
	line-height:1.2em;
}

#home_service_area ul li img{
	width:100%;
	margin:0 0 10px;
	vertical-align:bottom;
	border-radius:3px;
}

#home_service_area ul li a:hover{
	opacity:0.8;
}

#home_profile_area{
	background-color:#fff;
}

#home_profile_area>div{
	max-width:1000px;
	margin:0 auto;
	padding:80px 40px 100px;
	overflow:hidden;
}

#home_profile_area>div>div{
	width:65%;
	float:left;
}

#home_profile_area>div>div h2{
	margin:0 0 45px;
	font-family: 'Shippori Mincho', serif;
	font-size:36px;
	line-height:1em;
	color:#c81428;
}

#home_profile_area>div>div h2 span{
	display:block;
	font-family: 'Roboto', sans-serif;
	font-size:18px;
	font-weight:300;
}

#home_profile_area>div>div h3{
	margin:8px 0 60px;
	font-size:38px;
	font-weight:300;
	line-height:1em;
}

#home_profile_area>div>div h3 span{
	font-size:14px;
}

#home_profile_area>div>div p{
	margin:0;
	text-align:justify;
	font-size:14px;
	font-weight:300;
	line-height:1.8em;
}

#home_profile_area>div>div p.text{
	margin:0 0 40px;
}

#home_profile_area>div>img{
	width:30%;
	float:right;
}

#home_bnr_area{
	background-color:#fff;
}

#home_bnr_area>div{
	max-width:1000px;
	margin:0 auto;
	padding:0 40px 200px;
}

#home_bnr_area a:hover{
	opacity:0.8;
}

#home_bnr_area a img{
	width:100%;
}


/* SUB */

#sub>article>div{
	max-width:1000px;
	margin:0 auto;
	padding:0 40px;
}

#sub h1{
	margin:0 0 80px;
	padding:40px 40px 60px;
	text-align:center;
	font-family: 'Shippori Mincho', serif;
	font-size:36px;
	line-height:1em;
	color:#c81428;
	border-top:1px solid #c81428;
	border-bottom:1px solid #c81428;
}

#sub h1 span{
	display:block;
	font-family: 'Roboto', sans-serif;
	font-size:18px;
	font-weight:300;
}

#sub>article section{
	margin:0 0 80px;
}

#sub>article section h2{
	margin:0 0 40px;
	padding:0 0 20px;
	font-family: 'Shippori Mincho', serif;
	font-size:26px;
	line-height:1em;
	color:#c81428;
	background-image:url("../img/interface/line_title.svg");
	background-repeat:no-repeat;
	background-size:40px 3px;
	background-position:bottom left;
}

.table_archive{
	width:100%;
	border-collapse:collapse;
	margin:0 0 30px;
	border-top:1px dotted #ddd;
}

.table_archive th{
	width:25%;
	padding:30px 0;
	text-align:left;
	font-size:14px;
	font-weight:400;
	color:#333;
	border-bottom:1px dotted #ddd;
	position:relative;
}

.table_archive th:after{
	display:block;
	content:"";
	width:30px;
	height:1px;
	background-color:#c81428;
	position:absolute;
	top:calc(50% - 1px);
	right:20px;
}

.table_archive td{
	width:75%;
	padding:25px 0;
	text-align:left;
	font-size:16px;
	font-weight:300;
	border-bottom:1px dotted #ddd;
}

#sub>article section p.remarks{
	font-size:14px;
	font-weight:300;
}

.table_normal{
	width:100%;
	border-collapse:collapse;
	border-top:1px dotted #c81428;
}

.table_normal th{
	width:20%;
	padding:30px;
	text-align:center;
	font-size:14px;
	font-weight:400;
	color:#fff;
	background-color:#c81428;
	border-bottom:1px dotted #fff;
}

.table_normal td{
	padding:30px;
	text-align:left;
	font-size:16px;
	font-weight:300;
	border-bottom:1px dotted #c81428;
	border-right:1px dotted #c81428;
}
