/* --------------------------------------------- */
/* PAGE */

body{}
#p-wrap{}



/* --------------------------------------------- */
/* HEADER */

#p-header {
	background: #222;
	display: block;
	overflow: hidden;
	position: relative;
	width: 100%;
	margin-bottom:24px;
}
#p-header .copy_title {
	position: absolute;
	width: 60%;
	bottom: 82.5%;
	left: 69%;
	transform: translateX(-50%);
}
#p-header .copy_title img {
	width: 100%;
}

#p-header .logo_title {
	position: absolute;
	width: 45%;
	bottom: 0%;
	left: 75.5%;
	transform: translateX(-50%);
}
#p-header .logo_title img {
	width: 100%;
}

#p-header figure .main-visual {
	display: block;
	width: 100%;
}
#p-header figure .main-visual-sp {
	display: none;
	width: 100%;
}

@media (max-width: 575px) {
	#p-header .copy_title {
		width: 80%;
		bottom: 82%;
		left:50%;
	}
	#p-header .logo_title {
		width: 80%;
		bottom: 2%;
		left:50%;
	}
	#p-header figure .main-visual { display: none; }
	#p-header figure .main-visual-sp { display: block; }
}



/* --------------------------------------------- */
/* MAIN CONTENT */

#p-contents-wrap {
	display: block;
	margin: 0 auto;
	position: relative;
	width: auto;
}
#p-contents {
	display: block;
	width: 100%;
}

.con_wrap {
	width: 100%;
	overflow: hidden;
	line-height:147%;
}

.bg_set {
	background-color: #fff;
	background-position: center;
	background-size: cover;
	display: block;
	padding: 0;
}
.bg_set article {
	display: block;
	margin: 0;
}



/* --------------------------------------------- */
/* HEADER AREA */

#header_area{
	display: block;
	margin: 4px auto 0 auto;
	max-width: 1080px;
	overflow: hidden;
	clear:both;
}
#header_area img{
	height:50px;
}

#header_line{
	display: block;
	margin: 4px auto 24px auto;
	max-width: 1080px;
	overflow: hidden;
	clear:both;
	background:green;
	height:1px;
}



/* --------------------------------------------- */
/* FULL AREA */

.full_area{
	display: block;
	margin: 0 auto 24px auto;
	max-width: 1080px;
	overflow: hidden;
	clear:both;
}
.full_banner{
	display: block;
	margin: 0 auto 0 auto;
	max-width: 1080px;
	overflow: hidden;
	clear:both;
}
.full_area_margin{
	display: block;
	margin: 0 auto 24px auto;
	padding: 0 20px;
	max-width: 1040px;
	font-size:93%;
	overflow: hidden;
	clear:both;
}

.full_area_box{
	margin-left:10px;
	margin-right:10px;
	background-image:url("../img/common/bg_type2.jpg");
	background-position:right bottom;
	border:solid 2px #ccc;
	border-radius:1em;
}
.full_area_box p{
	padding:20px;
	font-size:93%;
	display:block;
	line-height:147%;
}



/* --------------------------------------------- */
/* BREADCRUMBS ASK_NAVI */

.bread_navi{
	display: block;
	margin: 10px auto 24px auto;
	padding: 0 20px 4px 20px;
	max-width: 1040px;
	font-size:83%;
	border-bottom:1px solid #cccccc;
	overflow: hidden;
	clear:both;
}
.bread_navi a{ color:#03355a; }
.bread_navi a:hover{ color:#ff0000; }

.breadcrumbs{
	float:left;
}
.ask_navi{
	float:right;
}



/* --------------------------------------------- */
/* TOPPAGE SERVICE */

.top_main_view_area{
	width:60%;
	padding-top:10px;
}
.top_main_text_area{
	width:40%;
}
.top_main_view_area .top_main_title{
	width:300px;
}
.top_main_text_box{
	position:relative;
	margin-left:10px;
	margin-right:10px;
	background-image:url("../img/common/bg_type1.jpg");
	background-position:right bottom;
	border:solid 2px #ccc;
	border-radius:1em;
	min-height:370px;
}
.top_main_text_box p{
	padding:20px 20px 60px 20px;
	display:block;
	font-size:84%;
	line-height:135%;
}
.top_main_text_box a{
	position:absolute;
	display:block;
	bottom:10px;
	margin-left:10px;
	margin-right:10px;
}
@media (max-width: 997px) and (min-width: 870px) {
	.top_main_text_box{ min-height:330px; }
}
@media (max-width: 869px) and (min-width: 768px) {
	.top_main_text_box{ min-height:300px; }
}
@media (max-width: 767px) and (min-width: 576px) {
	.top_main_view_area{ width:100%; padding-top:0; }
	.top_main_text_area{ width:100%; }
	.top_main_text_box{ min-height:0; }
	.top_main_text_box p{ padding-bottom:20px; }
	.top_main_text_box a{
		position:static;
		margin-left:80px;
		margin-right:80px;
		margin-bottom:20px;
	}
	.top_main_view_area .top_main_title{ width:50%; }
}
@media (max-width: 575px) {
	.top_main_view_area{ width:100%; padding-top:0; }
	.top_main_text_area{ width:100%; }
	.top_main_text_box{ min-height:0; }
	.top_main_text_box p{ padding-bottom:20px; }
	.top_main_text_box a{
		position:static;
		margin-left:10px;
		margin-right:10px;
		margin-bottom:20px;
	}
	.top_main_view_area .top_main_title{ width:80%; }
}



/* --------------------------------------------- */
/* HALF AREA */

.half_area{
	float:left;
	width:50%;
}
.half_area_block{
	margin:0 10px 10px 10px;
}
@media (max-width: 767px){
	.half_area{ width:100%; }
}



/* --------------------------------------------- */
/* THREE AREA */

.three_area{
	float:left;
	width:33.3%;
}
.three_area_box{
	margin-left:10px;
	margin-right:10px;
	margin-bottom:20px;
	background-image:url("../img/common/bg_type2.jpg");
	background-position:left bottom;
	border:solid 2px #ccc;
	border-radius:1em;
}

#top_merit .three_area img{
	margin-left:10px;
	margin-right:10px;
}
#top_merit .three_area_box p{
	padding:20px;
	font-size:84%;
	line-height:135%;
}
#top_merit .three_area_box{
	min-height:330px;
}

.three_area_box_img{
	margin-top:10px;
	margin-left:10px;
	margin-right:10px;
}
.three_area_box_img img{
	display:block;
	width:100%;
}

#main_fixed .three_area_box h4{
	padding:20px 20px 0 20px;
	font-size:117%;
}
#main_fixed .three_area_box p{
	padding:20px;
	font-size:93%;
	line-height:135%;
}
#main_fixed .three_area_box{
	min-height:400px;
}

@media (max-width: 767px) and (min-width: 576px) {
	.three_area{ width:50%; }
}
@media (max-width: 575px) {
	.three_area{ width:100%; }
	.three_area_box{ min-height:0; }
	#top_merit .three_area_box{ min-height:0; }
	#main_fixed .three_area_box{ min-height:0; }
}



/* --------------------------------------------- */
/* SUBMIT AREA */

.submit_area {
	display: block;
	width: 600px;
	color: #000024;
	margin-top: 18px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
	text-align: center;
	font-size: 15px;
}
.submit_area img {
	width:100%;
}
.submit_area input[type="image"] {
	width:100%;
}
.submit_area a img:hover {
	opacity: .5;
}

@media (max-width: 767px) {
	.submit_area {
		width: 90%;
		font-size: .9rem;
		margin-top: 25px;
	}
}



/* --------------------------------------------- */
/* IMAGE LIST AREA */

.image_list_area{
	display: block;
	margin: 24px auto 24px auto;
	max-width: 1060px;
	padding-left:10px;
	padding-right:10px;
	overflow: hidden;
	clear:both;
}
.image_list_item{
	float:left;
	display: block;
	width:25%;
	text-align:center;
}
.image_list_item img{
	width:95%;
}


@media (max-width: 767px) and (min-width: 576px) {
	.image_list_item{ width:33.3% }
}
@media (max-width: 575px) {
	.image_list_item{ width:50% }
}



/* --------------------------------------------- */
/* h1 h2 h3 h4 */

h1{}
@media (max-width: 575px){
	h1 img{ width:100%; }
}

h2{
	font-size:137%;
	font-weight:bold;
	color:#c05;
	margin-bottom:8px;
}
h3{
	color: #000000;
	font-size: 24px;
	line-height:137%;
	margin-bottom: 20px;
	text-align: center;
}
@media (max-width: 575px){
	h3{ font-size: 19px; }
}

h4{
	font-size:127%;
	font-weight:bold;
	color:#333;
	text-decoration:underline;
	margin-bottom:8px;
}
h4 .en{
	font-style:italic;
	color:#006;
}

.center_description{
	margin:0 10px 20px 10px;
	text-align:center;
	font-size:92%;
}
.top_address{
	margin:0 10px 20px 10px;
	text-align:center;
	font-size:92%;
}
.top_address span{
	color: #191919;
	font-family: 'Roboto', sans-serif;
	font-size: 12px;
}




/* --------------------------------------------- */
/* FOOTER */


.footer_info {
	background-color: #f4f4f4;
	display: block;
	padding: 0;
}
#copyright {
	background-color: #f4f4f4;
	color: #12622d;
	font-family: 'Roboto', sans-serif;
	font-size: 11px;
	display: block;
	padding: 30px 0 90px;
	text-align: center;
	width: 100%;
}

@media (max-width: 767px) {
	.footer_info { padding: 20px 0 0; }
}













/* LAYOUT_CENTER */

.layout_center {
	display: block;
	margin: 0 auto;
	width: 600px;
}

.layout_center p {
	color: #000024;
	display: block;
	font-size: 15px;
	margin-top: 18px;
	text-align: center;
	//text-shadow: 3px 3px 8px rgb(255, 255, 255);
}






@media (max-width: 767px) {
.layout_center {
	width: 90%;
}

.layout_center h2 {
	font-size: 1.4rem;
	font-weight: 600;
}

.layout_center p {
	font-size: .9rem;
	margin-top: 25px;
}

}






/* --------------------------------------------- */
/* COMMON */

.fl{float:left;}
.fr{float:right;}
.clear{clear:both;}
.center{text-align:center;}
.right{text-align:right;}
.red{ color:#f00; }
strong{
	color:#f00;
}

