@charset "UTF-8";
/* CSS Document */
body{
    width: 100%;
	font-size:15px;
	line-height:30px;
	background-color: #fff;
	font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    overflow-x: hidden;
}


a:hover img{
	text-decoration:none;
	opacity:0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=70)";
	transition: 0.3s ease-in-out;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;}
	
section{
	position:relative;}

.container-title{
	padding-top:40px;
	margin-bottom:40px;}

.center{
	text-align:center;}

a:hover img{
	opacity:0.7;
	filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";}

.go-button{
	width:auto;
	margin:0 auto;
	margin-bottom:20px;
	padding:12px 12px;
	background-color:#e82665;
	color:#fff;
	font-size:22px;
	border-radius:7px;}

.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
}
.is-hide {
  transform: translateY(-100%);
}

@media (min-width: 1175px) {
	nav{
		width:100%;
		position: absolute;
		z-index: 99;
	}
}

@media screen and (min-width:768px) and (max-width:1174px) {
	nav{
		width:100%!important;
		position: absolute;
		z-index: 99;
	}
}
@media (max-width: 767px) {
	nav{
		width:100%!important;
		position: absolute;
		z-index: 99;
	}
}


.next_btn_w{
	background-color: #fff;
	border: solid 2px #000;
	font-weight: bold;
	line-height: 18px;
	margin: 0 auto!important;
	padding:10px 20px;
	text-align: center;
	display: inline-block;
}


.next_btn{
	border-radius:22px;
	height: 44px;
	padding: 12px 50px;
	font-size: 18px;
	text-align: center;
	background: #f5d11f; /* Old browsers */
	background: -moz-linear-gradient(left, #f5d11f 51%, #e8aa14 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #f5d11f 51%,#e8aa14 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #f5d11f 51%,#e8aa14 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5d11f', endColorstr='#e8aa14',GradientType=1 ); /* IE6-9 */
}



#content_top_area{
	background-image:url(../images/content_top_bg.jpg);
	background-repeat: no-repeat;
	width: 100%;
	min-height: 775px;
	position: relative;
	background-position: top;
}
#base_content{
	width: 100%;
	position: relative;
	padding-bottom: 100px;
	background-color:#fff;
	display: inline-block;
}
.nav_name{
	text-align:center;
	font-weight: bold;
}

.content-title_c2{
	font-size:40px;
	line-height: 40px;
	font-family:Helvetica, Arial, sans-serif;
	font-weight:bold;
	margin-bottom: 14px;}



.content{
	max-width:1140px;
	margin: 0 auto;
	position: relative;
}

@media (min-width: 768px) {
	.content_inner{
		position: relative;
		padding:0 30px;
	}
}

@media (max-width: 767px) {
	.content_inner{
		padding:30px;
	}
}
.top_image img{
    width:100%;
    height: auto;
}
@media (min-width: 768px) {
	#content_top_inner{
		padding-top:140px;
		text-align: center;
	}

	#top_image_area{
		height:100vh;
	}
	.top_image{
        background-color: #30343a;
		width: 100%;
		height: 100vh;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background-size: cover;
	}
	.top_image_on{
		width: 50%;
		padding-top: 300px;
        padding-left: 9%;
	}
	.top_image_on_center{
		width: 70%;
        position: absolute;
        top       : 50%;
        left      : 50%;
        transform : translate(-50%, -50%);
	}
	.top_image_on_r{
		width: 30%;
		padding-top: 300px;
        padding-left: 9%;
        position: absolute;
        bottom: -5px;
        right: 0;
	}
	.top_item{
		width:25%;
		padding-left: 10px;
		box-sizing: border-box;
		float: left;
	}
	.nav_height{
		min-height: 84px; 
		z-index: 99; 
		position: fixed; 
		width: 100%;
	}
	.nav_menu {
	  float: right;
	}
	.nav_menu ul{
		clear: both;
		overflow: hidden;
		vertical-align: middle;
		padding-right: 30px;
	}
	.nav_menu li{
		float:left;
		list-style: none;
		padding: 20px 5px;
	}
	.navbar-brand{
		margin-left:20px;
	}
	.b_head{
		min-width: 180px;
		padding:10px 15px;
		font-weight: bold;
		font-size: 15px;
		line-height: 18px;
		margin: 3px 0;
		text-align: center;
        border-radius: 30px;
        background-color: #f7b100;
        color:#fff;
	}
	.b_blk{
		min-width: 150px;
		padding:2px 10px;
		background-color: #000;
		border: solid 2px #000;
		color: #fff;
		font-weight: bold;
		font-size: 12px;
		line-height: 18px;
		margin: 3px 0;
		text-align: center;
	}

}
@media (max-width: 768px) {
	#content_top_inner{
		padding-top:100px;
		text-align: center;
	}
	#top_image_area{
		width: 100%!important;
		height: 100vh;
		overflow: hidden!important;
	}
	.top_image{
        background-color: #30343a;
		width: auto;
		height: 100vh;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background-size: cover;
	}
	.top_image_on{
		width: 50%;
        position: absolute;
        bottom: 100px;
        left: 5%;
	}
	.top_image_on_center{
		width: 90%;
        position: absolute;
        top       : 50%;
        left      : 50%;
        transform : translate(-50%, -50%);
	}
	.top_image_on_r{
		width: 40%;
		padding-top: 300px;
        padding-left: 9%;
        position: absolute;
        bottom: 10px;
        right: 0;
	}
	.top_item{
		width:25%;
		padding: 0 5px;
		box-sizing: border-box;
		float: left;
	}
	.nav_height{
	min-height: auto; 
		z-index: 99; 
		position: fixed; 
		width: 100%;
	}

	.sp-banner-button1{
		padding:1px;
	}
	.nav_menu {
	max-width: 50%;
	  float: right;
	}
	.nav_menu ul{
		clear: both;
		overflow: hidden;
		vertical-align: middle;
		padding-right: 1px;
	}
	.nav_menu li{
		float:left;
		list-style: none;
		padding: 10px 1px;
	}
	.navbar-brand{
		max-width: 50%;
		margin-left:2px;
	}
	.b_head{
		width: 100%;
		padding:10px 15px;
		font-weight: bold;
		font-size: 15px;
		line-height: 18px;
		text-align: center;
        border-radius: 30px;
        background-color: #f7b100;
        display: block;
        color:#fff;
	}
	.b_blk{
		padding:2px 5px;
		background-color: #000;
		border: solid 2px #000;
		color: #fff;
		font-weight: bold;
		font-size: 12px;
		line-height: 18px;
		margin: 3px 0;
		text-align: center;
	}
}
.navbar-brand img{
    width:100%;
    height: auto;
}
.img100{
	position: relative;
	width: 100%;
	heigh:auto;
	overflow: hidden;
}
.img100 img{
	width: 100%;
}
/*--------------------indexabout----------------------*/
@media (min-width: 768px) {
    .i_about_ctt h2{
        font-size:72px;
        line-height: 5vw;
        font-family:Helvetica, Arial, sans-serif;
        font-weight:700;
        margin-bottom: 14px;
    }
}
@media (max-width: 767px) {
    .i_about_ctt h2{
	font-size:40px;
	line-height: 40px;
        font-family:Arial, Helvetica, sans-serif;
        font-weight:bold;
        margin-bottom: 14px;
    }
}
@media (min-width: 768px) {
    #index-about{
        width: 100%;;
        min-height: 600px;
        position:relative;
        background-color: #fff;
        padding:  50px 0;
        box-sizing: border-box;
    }
    .i_about_img{
        width: 50%;
        max-height: 500px;
        position:absolute;
        top: -50px;
        right: 0;
        filter: drop-shadow(-10px 10px 0 rgba(242,242,242,1));
    }
    .i_about_img img{
        width:auto;
        height: 100%;
    }
    .i_about_ctt {
        width: 50%;
        font-size: 1.8em;
        font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
        font-weight: 700;
        margin: 100px 0;
        padding: 0 5%;
        line-height: 2;
        letter-spacing: 1px;
        position: relative;
        text-align: left;
    }
}
@media (max-width: 767px) {
    #index-about{
        position:relative;
        background-color: #fff;
        padding:  50px 0 0 0;
    }
    .i_about_img{
        width: 100%;
        height: auto;
        position:relative;
        margin: auto;
    }
    .i_about_img img{
        width:100%;
        height: auto;
    }
    .i_about_ctt {
        font-size: 15px;
        font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
        font-weight: 700;
        margin: 50px 0 100px 0;
        padding: 0 15px;
        line-height: 2;
        letter-spacing: 1px;
        position: relative;
        text-align: center;
    }
}
/*--------------------indexservice----------------------*/
@media (min-width: 768px) {
    .i_service_ctt h2{
        font-size:72px;
        line-height: 5vw;
        font-family:Helvetica, Arial, sans-serif;
        font-weight:700;
        margin-bottom: 14px;
        color: #f2f2f2;
    }
}
@media (max-width: 767px) {
    .i_service_ctt h2{
	font-size:40px;
	line-height: 40px;
        font-family:Arial, Helvetica, sans-serif;
        font-weight:bold;
        margin-bottom: 14px;
    }
}
@media (min-width: 768px) {
    #index-service{
        width: 100%;
        max-height: 550px;
        position:relative;
        background-color: #e5edee;
    }
    .i_service_img{
        width: 100%;
        position:relative;
        height: 550px;
        overflow-x: hidden;
    }
    .i_service_img img{
        width:auto;
        height: 100%;
        opacity: 0.7;
    }
    .i_service_ctt {
        width: 50%;
        margin:50px 0;
        padding: 0 5%;
        position: absolute;
        top: -80px;
        right: 0;
        z-index: 1;
    }
    .i_service_ctt h3{
        font-size: 1.8em;
        font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
        font-weight: 700;
        line-height: 3.6em;
        letter-spacing: 1px;
        padding-bottom: 30px;
        
    }
}
@media (max-width: 767px) {
    #index-service{
        position:relative;
        background-color: #e5edee;
        padding:  50px 0 0 0;
        height: auto;
    }
    .i_service_img{
        width: 100%;
        padding: 0;
        height: auto;
        position:relative;
        margin: auto;
        overflow: hidden;
    }
    .i_service_img img{
        width:200%;
        height: auto;
    }
    .i_service_ctt {
        margin: 50px 30px 100px 30px;
        position: relative;
        text-align: center;
    }
    .i_service_ctt h3{
        font-size: 15px;
        font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
        font-weight: 700;
        line-height: 2;
        letter-spacing: 1px;
        padding-bottom: 30px;
    }
}


/*--------------------index-contact----------------------*/
@media (min-width: 768px) {
    .i_contact_ctt h2{
        font-size:72px;
        line-height: 5vw;
        font-family:Helvetica, Arial, sans-serif;
        font-weight:700;
        margin-bottom: 100px;
        color: #fff;
        text-align: center;
        position: relative;
        z-index: 1;
    }
    .i_contact_ctt_bg{
        width: 330px;
        height: auto;
        position:absolute;
        top: 20px;
        left: 20%;
    }
}
@media (max-width: 767px) {
    .i_contact_ctt h2{
	font-size:40px;
	line-height: 40px;
        font-family:Arial, Helvetica, sans-serif;
        font-weight:bold;
        margin-bottom: 30px;
        color: #fff;
        text-align: center;
        position: relative;
        z-index: 1;
    }
    .i_contact_ctt_bg{
        width: 30%;
        height: auto;
        position:absolute;
        top: 20px;
        left: 20px;
    }
}
@media (min-width: 768px) {
    #index-contact{
        width: 100%;
        position:relative;
        background-color: #31343a;
        clear: both;
        overflow:hidden; 
        padding:100px 5% 50px 5%;
    }
    .i_contact_ctt_l,
    .i_contact_ctt_r{
        width: 50%;
        padding:0 5%;
        box-sizing: border-box;
        float: left;
        position: relative;
        z-index: 2;
    }

    .i_contact_ctt dl{
        width: 100%;
        clear: both;
        overflow: hidden;
        padding-bottom: 30px;
    }
    .i_contact_ctt dt{
        width: calc(30% - 20px);
        margin: 0 20px 0 0;
        padding: 2px 5px;
        background-color: #fff;
        color: #31343a;
        font-weight: 700;
        float: left;
        position: relative;
        text-align: center;
        border-radius: 11px;
    }
    .i_contact_ctt dd{
        float: left;
        color: #fff;
    }
}
@media (max-width: 767px) {
    #index-contact{
        position:relative;
        background-color: #31343a;
        padding:  50px 0;
        height: auto;
    }
    .i_contact_ctt_l,
    .i_contact_ctt_r{
        width: 100%;
        padding:0 30px;
        box-sizing: border-box;
        float: none;
        z-index: 2;
    }

    .i_contact_ctt dl{
        width: 100%;
        clear: both;
        overflow: hidden;
        padding-bottom: 30px;
    }
    .i_contact_ctt dt{
        width: 100%;
        margin-bottom: 10px;
        padding: 2px 5px;
        box-sizing: border-box;
        background-color: #fff;
        color: #31343a;
        font-weight: 700;
        float: none;
        text-align: center;
        border-radius: 11px;
    }
    .i_contact_ctt dd{
        width: 100%;
        float: none;
        color: #fff;
    }
}
/*--------------------index-info----------------------*/
@media (min-width: 768px) {
    .i_info_ctt h2{
        font-size:72px;
        line-height: 5vw;
        font-family:Helvetica, Arial, sans-serif;
        font-weight:700;
        margin-bottom: 100px;
        color: #bbccd3;
        text-align: center;
        position: relative;
        z-index: 1;
    }
}
@media (max-width: 767px) {
    .i_info_ctt h2{
	font-size:40px;
	line-height: 40px;
        font-family:Arial, Helvetica, sans-serif;
        font-weight:bold;
        margin-bottom: 30px;
        color: #bbccd3;
        text-align: center;
        position: relative;
        z-index: 1;
    }
}
@media (min-width: 768px) {
    #index-info{
        width: 100%;
        position:relative;
        background-color: #fff;
        clear: both;
        overflow:hidden; 
        padding:100px 5% 50px 5%;
    }
    .i_info_ctt{
        width:100%;
        clear: both;
        overflow: hidden;
        padding: 0 15px;
        box-sizing: border-box;
    }
    .i_info_cate{
        width: auto;
        background-color:#ff0062;
        padding: 5px 10px; 
        border-radius: 11px;
        color: #fff;
        font-weight: 700;
        margin-right: 10px;
        float: left;
        box-sizing: border-box;
        display: inline-block;
        line-height: 20px;
    }
    .i_info_date{
        width: auto;
        padding: 2px 5px; 
        font-weight: 700;
        margin-right: 10px;
        float: left;
        box-sizing: border-box;
        color: #999999;
    }
    .i_info_ttl{
        width: 60%;
        padding: 2px 5px; 
        font-weight: 700;
        float: left;
        box-sizing: border-box;
    }
}
@media (max-width: 767px) {
    #index-info{
        position:relative;
        background-color: #fff;
        padding:  50px 0;
        height: auto;
    }
    .i_info_ctt{
        width:100%;
        clear: both;
        overflow: hidden;
        padding: 0 15px;
        box-sizing: border-box;
    }
    .i_info_cate{
        width: auto;
        background-color:#ff0062;
        padding: 5px 10px; 
        border-radius: 11px;
        color: #fff;
        font-weight: 700;
        margin-right: 10px;
        box-sizing: border-box;
        display: inline-block;
        line-height: 20px;
    }
    .i_info_date{
        width: 100%;
        padding: 2px 5px; 
        font-weight: 700;
        margin-right: 10px;
        box-sizing: border-box;
        color: #999999;
    }
    .i_info_ttl{
        width: 100%;
        padding: 2px 5px; 
        font-weight: 700;
        box-sizing: border-box;
    }
}





/*----------footer----------*/
footer{
	padding-top: 60px;
	position:relative;
	overflow: hidden;
	background-color: #fff;}

@media (min-width: 768px) {
	.f_ctt{
		width:447px;
		margin: 0 auto;
	}
}
@media (max-width: 767px) {
	.f_ctt{
		width:85%;
		margin: 0 auto;
	}
}


#foot-copy{
	padding:50px 15px 15px 15px;
	font-size:10px;
}



/*---------------------contact----------------------*/

#contact-title{
	background-color:#edf1f5;
	background-repeat:no-repeat;
	overflow:hidden;
	position:relative;
	background-image:url(../img/back-contact.png);
	background-position:center top 80px;}

#contact-form_haikei{
	background-color:#edf1f5;
	padding-top: 40px;
	margin-bottom:40px;
	position:relative;}

.form-group{
	padding:0 30px 10px 30px;}

.form-group span{
	color: #C30003;}

.f-example{
	color:#ccc!important;}

.form_buttonarea{
	width: 100%;
	text-align: center;
	display:inline-block;
	padding:20px!important;
}
.form_button{
	padding:10px!important;
	margin: 5px!important;
}

.btn-primary{
	background-color:#b2272d!important;
	border:none!important;
}
.btn-primary2{
	background-color:#333!important;
	border:none!important;
	color: #fff!important;
}


@media (min-width: 768px) {
.text-combine {
  -webkit-text-combine: horizontal;
  -ms-text-combine-horizontal: all;
  text-combine-upright: all;
}
}
@media (max-width: 767px) {
.text-combine {
  -webkit-text-combine: horizontal;
  -ms-text-combine-horizontal: all;
	test-combine-upright:initial;
	}
}


/*------------------modal------------------*/
*{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
.modal{
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
	z-index: 999999;
}
.modal__bg{
    background: rgba(255,255,255,0.9);
    height: 100vh;
    position: absolute;
    width: 100%;
}
@media (min-width: 768px) {
	.modal__content{
		left: 50%;
		padding: 40px;
		position: absolute;
		top: 50%;
		transform: translate(-50%,-50%);
		width: 100%;
		background-color: #f2f2f2;
	}
}
@media (max-width: 767px) {
	.modal__content{
		left: 50%;
		padding:40px;
		position: absolute;
		top: 50%;
		transform: translate(-50%,-50%);
		width: 100%;
		background-color: #f2f2f2;
	}
}
.nxt_btn2{
	max-width:270px;
	margin:10px 10px 10px 0;
	padding:14px 34px;
	background-color:#000;
	color:#fff;
	font-size:15px!important;
	line-height:15px!important;
	text-align: center;
	border-radius:25px;
	display: inline-block;
	box-sizing: border-box;
}

/*-------------------form--------------------*/
#index_contact{
    padding: 100px 0;
    background-color:#fff;
}
/*-------------------form--------------------*/

#formWrap {
    width:100%;
    margin:0 auto;
    line-height:120%;
    font-size:95%;
}
table.formTable{
    width:100%;
    margin:0 auto;
    border-collapse:collapse;
}

.formTable input, textarea{
    border-radius: 5px;
    padding:10px!important;
    border: solid 1px #b3b3b3;
    width: 100%;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    table.formTable td,
    table.formTable th{
        padding:20px;
        border-bottom: solid 1px #efefef;
    }
    table.formTable th{
        font-weight:normal;
        background:#efefef;
        border-bottom: solid 1px #fff;
        text-align:left;
    }
}
@media (max-width: 767px) {
    table.formTable td,
    table.formTable th{
        width:100%;
        display:block;
        padding:10px;
    }
}
@media (min-width: 768px) {
    .b_more{
        width: 270px;
        margin: 10px 0;
        padding:15px 35px;
        border-radius: 20px;
        color: #fff;
        background-color: #000;
        font-weight: 700;
        font-size: 18px;
        display: inline-block;
        text-align: center;
    }
}
@media (max-width: 767px) {
    .b_more{
        width: 100%;
        margin: 10px 0;
        padding:15px 35px;
        border-radius: 20px;
        color: #fff;
        background-color: #000;
        font-weight: 700;
        font-size: 18px;
        display: inline-block;
        text-align: center;
        box-sizing: border-box;
    }
}
.b_more:hover{
	opacity:0.7;
	filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}