@charset "UTF-8";

/********/
/* HTML */
/********/
body,h1,h2,h3,h4,h5,h6{
    font-family:'Noto Sans Japanese',"游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
}
a{
    color:#2a5298;
}
a:hover,
a:focus{
    color:#1e3c72;
}

/*************/
/* BOOTSTRAP */
/*************/
.btn{
    border-radius: 0px;
}
.navbar h1{
	margin:0px;
	padding:0px;
}

/**********/
/* HEADER */
/**********/
header{
    position:relative;
    padding:20px 0px 0px 0px;
    background: url(../web_img/header_bg.jpg);
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    height:600px;
}
header .main {
    position: absolute;
    top: 50%;left: 50%;
    -webkit- transform: translateY(-50%) translateX(-50%);
           transform: translateY(-50%) translateX(-50%);
    background:rgba(255,255,255,0.95);
    margin:0px;
    padding:20px;
    text-align:center;
    width:100%;
}
header .main img{
    display:block;
    max-width:100%;
    margin:0px auto;
}
@media (min-width: 768px) {
    header .main {
        width:auto;
        padding:50px;
    }
}

header ul {
    margin:0px 0px;
    padding:0px;
    list-style:none;
}
header ul::after{
    content: "";
    display: block;
    clear: both;
}
header ul li{
    display:block;
    width:120px;
    float:right;
}
header ul li a{
    color:#2a5298;
}
header ul li a:hover,
header ul li a:focus{
    color:#1e3c72;
}
header .menu_txt_main{
    font-size:16px;
    font-weight:bold;
    text-align:center;
}
header .menu_txt_sub{
    font-size:10px;
    text-align:center;
}
header.header_subpage{
    height:350px;
    color:#1d2088;
}
@media (min-width: 768px) {
    header.header_subpage .main {
        padding:10px 100px;
    }
}
header.header_subpage .main h2{
    margin:10px 0px 5px 0px;
    padding:0px;
    font-weight:bold;
}


/******************/
/* SECTION HEADER */
/******************/
.section_header {
    background: #005C97;  /* fallback for old browsers */
    background: -webkit-linear-gradient(to left, #363795, #005C97);  /* Chrome 10-25, Safari 5.1-6 */
    background: linear-gradient(to left, #363795, #005C97); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
    padding:50px 0px;
    color:#E6CF00;
}
.section_header h2,
.section_header h3{
    margin:0px;
    padding:0px;
    font-size:26px;
    font-weight:300;
    text-align:center;
}
.section_header h2 .underline,
.section_header h3 .underline{
    display:inline-block;
    padding:0px 25px 10px 25px;
    border-bottom:2px solid #E6CF00;
}

/****************/
/* top_business */
/****************/
.top_business {
	display:flex;
	flex-wrap:wrap;
	justify-content: center;
	max-width:1170px;
	margin:0px auto;
	padding:60px 0px;
}
.top_business_item {
	display:flex;
	width:100%;
	padding:10px;
	margin:20px;
    color:#222222;
	background:#fafafa;
    overflow:hidden;
	box-shadow:1px 1px 2px rgba(0,0,0,0.2);
}
.top_business_item .logo{
	display:block;
	width:140px;
	padding:3px;
	border:1px solid #dddddd;
	border-radius:4px;
	overflow:hidden;
}
.top_business_item .logo img{
	display:block;
    max-width:100%;
	margin:0px auto;
}
.top_business_item .content{
	padding:20px 0px 0px 0px;
	width:calc(100% - 140px);
    text-align:center;
}
.top_business_item .content h3 {
    margin:0px 0px 20px 0px;
    padding:0px;
	text-align:center;
	font-size:14px;
	font-weight:200;
}
.top_business_item .content h3 span {
    font-size:22px;
	font-weight:200px;
}
.top_business_item .content a {
    display:block;
    width:150px;
    margin:0px auto;
    padding:6px 0px;
    border:1px solid #005C97;
    color:#005C97;
    font-size:14px;
    text-align:center;
}
.top_business_item .content a:hover,
.top_business_item .content a:focus{
    border:1px solid #005C97;
    color:#ffffff;
    background:#005C97;
}
@media (min-width: 992px) {
    .top_business_item {
    	width:calc(50% - 40px);
    }
}

/*************/
/* top_style */
/*************/
.top_style{
    padding: 140px 0px 140px 0px;
    background: url(../web_img/top_style_bg.jpg);
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}
.top_style .main_text p{
    font-size:20px;
    font-weight:300;
    text-align:center;
    color:#fff;
    line-height:1.5em;
}

/*******************/
/* top_information */
/*******************/
.top_information {
	margin:0px auto;
	padding:10px;
	max-width:1170px;
	height:250px;
	background:#ffffff;
	box-shadow:1px 1px 2px rgba(0,0,0,0.2);
	overflow:hidden;
	overflow-y:scroll;
}
.top_information_item {
	display:block;
	width:100%;
	margin:0px;
	padding:10px;
    color:#222222;
}
.top_information_item .date{
	width:100%;
}
.top_information_item .content{
	width:100%;
	padding:0px 10px;
}
.top_information_item .content h3 {
    margin:0px 0px 5px 0px;
    padding:0px;
	font-size:16px;
	font-weight:bold;
}
.top_information_item .button{
	width:100%;
}
.top_information_item .button a {
    display:block;
    width:100%;
    margin:0px auto;
    padding:6px 0px;
    border:1px solid #005C97;
    color:#005C97;
    font-size:14px;
	text-align:center;
}
.top_information_item .button a:hover,
.top_information_item .button a:focus{
    border:1px solid #005C97;
    color:#ffffff;
    background:#005C97;
}
@media (min-width: 992px) {
	.top_information {
		margin:20px auto;
		padding:40px;
	}
	.top_information_item {
		display:flex;
		flex-wrap:nowrap;
		margin:0px;
		padding:10px;
	}
	.top_information_item .date{
		width:100px;
	}
	.top_information_item .content{
		width:calc(100% - 250px);
	}
	.top_information_item .button{
		width:150px;
	}
}

/**************/
/* top_access */
/**************/
.top_access{
    background: #005C97;  /* fallback for old browsers */
    background: -webkit-linear-gradient(to left, #363795, #005C97);  /* Chrome 10-25, Safari 5.1-6 */
    background: linear-gradient(to left, #363795, #005C97); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}
.top_access .left{
    padding:20px 0px;
}
.top_access .right{
    margin-right: -15px;
    margin-left: -15px;
    padding:0px;
}
.top_access h3{
    margin:0px 0px 15px 0px;
    padding:0px 0px 10px 0px;
    font-size:18px;
    font-weight:bold;
    color:#fff;
    border-bottom:1px solid #fff;
}
.top_access .address{
    color:#fff;
    margin:0px 0px 30px 0px;
}
.top_access .address p{
    margin-bottom:10px;
}
.top_access .information{
    padding:20px;
    border:1px solid #fff;
    color:#fff;
}
.top_access .information ol{
    padding-left:30px;
    margin:0px;
}
.top_access .information ol li{
    margin-bottom:10px;
}

/* google-map */
.google-map {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
}
.google-map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}
@media (min-width: 768px) {
    .google-map {
        padding-bottom: 75%;
    }
    .top_access .left{
        padding:20px;
    }
    .top_access .right{
        margin-right:0px;
        margin-left:0px;
        padding:0px;
    }
}

/****************/
/* CONTACT INFO */
/****************/
.contact_info{
    padding:60px 0px 60px 0px;

}
.contact_info h3{
    position: relative;
    margin:0px 0px 15px 0px;
    padding: 0px 0px 0px 25px;
    font-size:18px;
    font-weight:bold;
}
.contact_info h3:before {
    font-family: FontAwesome;
    content: "\f003";
    position: absolute;
    top:0px;left:5px;
}
/***********/
/* CONTACT */
/***********/
.contact{
    padding:60px 0px 60px 0px;
    background: #005C97;
    background: -webkit-linear-gradient(to left, #363795, #005C97);
    background: linear-gradient(to left, #363795, #005C97);
}
.contact .label-default{
    background-color:#E6CF00;
    color:#333;
    float:right;
}
.contact .form-control {
    color:#fff;
    background-color: rgba(255,255,255,0.5);
    background-image: none;
    border: none;
    border-radius: 0px;
}
.contact :placeholder-shown {color: #fff; }
.contact ::-webkit-input-placeholder { color: #fff; }
.contact :-moz-placeholder { color: #fff; opacity: 1; }
.contact ::-moz-placeholder { color: #fff; opacity: 1; }
.contact :-ms-input-placeholder { color: #fff; }

/** table style **/
.contact table.default{
    background-color: rgba(255,255,255,0.2);
    color: #333;
    margin-bottom:50px;
}
.contact table.default,
.contact table.default tr th,
.contact table.default tr td{
    border-color:#fff;
    font-weight:normal;
}
.contact table.default tr th{
    background-color: transparent;
    color:#fff;
}



/****************/
/* service-list */
/****************/
/* service-list */
.service-list {
	flex-wrap:wrap;
	justify-content: center;
	max-width:1170px;
	margin:0px auto;
	padding:10px 0px;
}
/* service-list-item */
.service-list-item {
	/*display:flex;*/
	padding:10px;
	margin:20px;
    color:#222222;
	background:#ffffff;
	border:1px solid #efefef;
    overflow:hidden;
	box-shadow:1px 1px 2px rgba(0,0,0,0.2);
}
@media (min-width: 992px) {
	.service-list {
		padding:60px 0px;
	}
    .service-list-item {
    	padding:30px;
    }
}
.service-list-item .header-main {
	display:block;
    margin:0px 0px 20px 0px;
    padding:0px;
    font-size:28px;
	font-weight:bold;
}
.service-list-item .header-sub {
	display:block;
    margin:0px 0px 0px 0px;
    padding:0px;
	font-size:16px;
	font-weight:200;
}
/* brand */
.service-list-item .brand{
	display:block;
}
.service-list-item .brand-item{
	display:flex;
	margin:0px 0px 10px 0px;
	padding:10px;
	background:#e5eef4;
}
.service-list-item .brand-item .logo{
	display:block;
	width:100px;
}
.service-list-item .brand-item .logo img{
	display:block;
    max-width:100%;
	margin:0px auto;
	padding:3px;
	border:1px solid #dddddd;
	border-radius:4px;
	background:#ffffff;
	overflow:hidden;
}
.service-list-item .brand-item .content{
	padding:0px 0px 0px 20px;
	width:calc(100% - 100px);
    text-align:left;
}
.service-list-item .brand-item .content h4{
	display:block;
	margin:0px 0px 10px 0px;
	font-size:18px;
	font-weight:bold;
}
@media (min-width: 992px) {
	.service-list-item .brand{
		display:flex;
	}
	.service-list-item .brand-item{
		margin:15px;
		padding:15px;
		width:calc(50% - 60px);
	}
	.service-list-item .brand-item .logo{
		width:200px;
	}
}

/****************/
/* service_list */
/****************/
.service_list {
	padding:60px 0px 60px 0px;
}
.service_list .service_list_item img {
	margin-bottom:20px;
}
.service_list .service_list_item h4 {
	font-weight:bold;
}

/*************/
/* shop_list */
/*************/
section.shop_list {
	padding:60px 0px 60px 0px;
}
section.shop_list .shop_list_item{
	border:1px solid #efefef;
	margin:0px 0px 20px 0px;
	box-shadow:1px 1px 2px rgba(0,0,0,0.2);;
}
section.shop_list .shop_list_item h4{
	margin:10px 0px;
	padding:0px 10px;
	font-weight:bold;
	font-size:16px;
}
section.shop_list .shop_list_item .image{
	background-color:#fafafa;
}
section.shop_list .shop_list_item .image img{
	display:block;
	margin:0px auto;
	max-width:100%;
}
section.shop_list .shop_list_item .text{
	padding:15px 10px;
	line-height:1.2em;
	background:#fafafa;
}

/***********/
/* recruit */
/***********/

section.recruit {
	padding:60px 0px 60px 0px;
}

section.recruit h2{
	padding:20px 0px 20px 0px;
}

section.recruit .recruit_txt{
	border-style:solid;
    border-width:1px;
    padding:10px;
    margin:20px;
    font-size:18px;
    text-align:center;
}
section.recruit .application_txt{
    padding:10px 0px 20px 15px;
}
section.recruit .recruit_box{
	margin-bottom:40px;
}

/***********/
/* company */
/***********/

section.company {
	padding:60px 0px 60px 0px;
}

section.company h2{
	padding:20px 0px 20px 0px;
}

section.company .ggmap {
	margin:10px 20px 20px 20px;
	position: relative;
	padding-bottom: 40%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}
 
section.company .ggmap iframe, .ggmap object, .ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height:100%;
}


/**********/
/* FOOTER */
/**********/
footer{}
footer .contact_us{
    background-color:#222;
    color:#222;
    padding:80px 0px;
    font-size:18px;
    background: url(../web_img/footer_bg.jpg);
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}
footer .contact_us .telnumber{
    margin:0px auto 30px auto;
}
footer .company_info{
    padding:60px 0px;
}
footer .company_info .text_info {
    margin-bottom:30px;
}
footer .company_info .text_info img{
    display:block;
    width:150px;
    margin:0px auto 30px auto;
}
footer .company_info .text_info p{
    margin:0px;
    text-align:center;
}
footer .company_info .menu{
    text-align:center;
}
footer .company_info .menu ul{
    margin:0px;
}
footer .copyright{
    padding:15px 0px;
    background-color:#222222;
    color:#cccccc;
    text-align:center;
    font-size:14px;
}

