@charset "utf-8";

/**html**/
html{
	height:100%;
	width: 100%;
	margin: 0px;
	padding: 0px;
}

body{
	height:100%;
	color: #333333;
	margin: 0px;
	padding: 0px;
	width: 100%;
	font-size: 16px;
	font-family:"メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
	line-height: 1.8;


}



* html div#container{
    height:100%;
}

div#container{
	position:relative;
	min-height: 100%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	overflow: hidden;


}
body > #container {
        height: auto;
}

div#main{
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	padding-bottom: 650px;
	background-image: url("../img/body_bk.jpg");
	background-repeat: repeat-x;
}



/**clear**/
.clear:after {
 content:".";
 display:block;
 visibility:hidden;
 clear:both;
 height:0;
}

.clear{
	clear: both;
	float: none;

}




p{margin: 0;padding: 0;}

a {
	color: #000;
	text-decoration: none;
}

a:hover { 
	color: #D02A28;
	transition: 0.3s;
}

a img {
    border-style:none;
}


img {width: auto;max-width: 100%;height: auto;}
a:hover img {opacity: 0.4;filter: alpha(opacity=40);-moz-opacity: 0.4;-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;}
h1,h2,h3,h4{margin: 0;padding: 0;}
ul,ol,li{list-style: none;margin: 0;padding: 0;}


input[type="submit"],
input[type="button"] {
   -webkit-appearance: none;
}


/*矢印アイコンべース*/
.arrow{
    position: relative;
    display: inline-block;
    padding: 0 0 0 16px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px;
}

.arrow::before,
.arrow::after{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
/*矢印アイコン→タイプ*/
.ar01::before{
    right: 10px;
    width: 7px;
    height: 1px;
    background: #212858;
}
.ar01::after{
    right: 10px;
    width: 6px;
    height: 6px;
    border-top: 1px solid #212858;
    border-right: 1px solid #212858;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}





.ar01:hover::before{
    right: 10px;
    width: 7px;
    height: 1px;
    background: #fff;
}
.ar01:hover::after{
    right: 10px;
    width: 6px;
    height: 6px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.ar02::before{
    right: 10px;
    width: 7px;
    height: 1px;
    background: #fff;
}
.ar02::after{
    right: 10px;
    width: 6px;
    height: 6px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.sp_img {
width:100%;
}


.midashi01 {
	text-align: center;
	font-size: 45px;
  color: #D02B29;
line-height: 50px;
  background: -webkit-linear-gradient(0deg, #F19D52, #D02B29);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
	font-weight: bold;
	display: -block;
	margin-right: auto;
	margin-left: auto;
	width:300px;

}
.midashi02 {
	text-align: center;
	/*font-weight: bold;*/
	font-size: 18px;
}

.bt01 a {
    color: #212858;
    background-color: #FFFFFF;
    height: 50px;
    line-height: 50px;
    border: 1px solid #212858;
	padding-left: 50px;
	padding-right: 50px;
	margin-right: auto;
	margin-left: auto;
}

.bt01 a:hover {
    color: #fff;
    background-color: #212858;
    border: 1px solid #fff;

}

.bt02 a {
    color: #fff;
    background-color: #D02A28;
    height: 50px;
    line-height: 50px;
   padding-left: 50px;
	padding-right: 50px;
	margin-right: auto;
	margin-left: auto;
}

.bt02 a:hover {
    opacity: 0.8;


}

.submit_bt2 ,
.bt01 a {
    color: #212858;
    background-color: #FFFFFF;
    height: 50px;
    line-height: 50px;
    border: 1px solid #212858;
	padding-left: 50px;
	padding-right: 50px;
	margin-right: auto;
	margin-left: auto;
}
.submit_bt2:hover,
.bt01 a:hover {
    color: #fff;
    background-color: #212858;
    border: 1px solid #fff;
    transition: 0.3s;

}

.mincho {
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}


 /* フォーム */
   #mailSec .form table {width: 100%;margin-bottom: 50px; ;}
   #mailSec .form th {width: 23%;padding: 20px;text-align: left;vertical-align: middle; font-size: 14px;}
   #mailSec .form th .relative {position: relative;}
   #mailSec .form th span {position: absolute;top: 50%;right: 0;transform: translate3d(0, -50%, 0); -webkit-transform: translate(0, -50%); /* Safari用 */ transform: translate(0, -50%);text-align: center; width: 40px; background-color: #a40000;color: #fff;display: inline-block;padding: 0 5px;}
   #mailSec .form td {width: 60%;padding: 20px;}
   #formWrap {max-width: 800px;margin: 0 auto;}
   #formWrap p {margin-bottom: 2em;}
   #formWrap table {width: 100%;border-top: 1px solid #ccc;margin-bottom: 2em;}
   #formWrap tr {border-bottom: 1px solid #ccc;}
   #formWrap th {padding: 20px 0;width: 30%;font-weight: bold;text-align: left;}
   #formWrap td {padding: 10px 0;width: 70%;}
  
  #mailSec .form #form{
		padding-top: 80px;
	}

   #mailSec .submit input {
   border: none;
	outline: none;
	 transition    : .3s;         /* なめらか変化 */
		display: block;
	background-color: #B20105;
	width: 215px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	color: #FFFFFF;
	background-image: url("../common/img/icon02.png");
	background-position: right;
    background-repeat: no-repeat;
	border-radius: 5px;
	  margin-left: auto;
    margin-right: auto;
   
   }
   #mailSec .submit input:hover {
     color         : #000;     /* 背景色     */
   }



/* =========================PC=========================================== */
@media screen and (min-width: 868px) {

.sp {
	display: none!important;
}
	
.br-pc { display:block; }
.br-sp { display:none; }

.spnav {
	display: none;
}	
.headlogo_box {
    width: 200px;
	text-align: center;
	display: block;
	float: left;
	padding-left: 10px;
	padding-top: 10px;
	height: 90px;
}

.headlogo_box img {
    width: 100%;
}


.head {
	width:100%;	
	margin-left: auto;
	margin-right: auto;
	height: 100px;
	box-sizing: border-box;
	}
	
nav{
	width: 100%;
	position: relative;
	right: 0;
	top: 0;
	margin-right: auto;
	margin-left: auto;
}

	.pcnav {
		float: right;
		display: block;
		width:650px;
		height:100px;
	}

#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 0;
  bottom: 0;
  background: #212858;
  /*opacity: 0.6;*/
  z-index:5000;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 30px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f106';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}


	
.head_nav1 {
	width: 100%;
	
}
	
.head_nav1 a{
 position:relative;
text-decoration: none;
		width : calc(100% / 6) ;
	text-align: center;
		height: 100px;
	    display: block;
	float: left;
}
	
/***IE11 calc関数用 ***/
*::-ms-backdrop, .head_nav1 a{ 
	width :16.66% ;
}		

_:-ms-lang(x), .head_nav1 a 
{
    width: 16.0%\9;  /* IE10以下*/
}
	   
	   
	   
.head_nav1 a h2{
    font-style: normal;
    font-size: 14px;
	 position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:100%;
}
.head_nav1 a#mm01{
	
	box-sizing: border-box;
	color: #000000;	

}
.head_nav1 a#mm01a{
	
	box-sizing: border-box;
	color: #000000;	

}
.head_nav1 a#mm02{
	color: #fff;
	background:#D02A28;

	}
.head_nav1 a:hover {
	background-color: #014099;
	color: #FFF!important;
	
}

.head_nav1 a2:hover {
	background-color: #fff;
	color: #D02A28!important;
	
}

/****ドロップダウン追加　:( ***/

.menu-item {
  display: inline-block;
  width : calc(100% / 6) ;
  position: relative;
  float: left;
  height: 100px;
}

	/***IE11 calc関数用 ***/
	*::-ms-backdrop, .menu-item { 
	width :16.66% ;
	}		
_:-ms-lang(x), .menu-item 
{
    width: 16.0%\9;  /* IE10以下*/
}

.menu-item a {
  display: block;
  width: 100%;
	
}


/* サブメニュー */
.sub-menu {
  position: absolute;
  width: 100%;
  top: 100px;
  z-index:9999;
}

.sub-menu-item {
  overflow: hidden;
  opacity: 0;
  height: 0;
  /* サブメニューが出現する速度の調整 */
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

/* メインメニューマウスカーソルが乗ったらサブメニューを出現させる */
.menu-item:hover > .sub-menu > .sub-menu-item {
  overflow: visible;
  opacity: 1;
  height: 50px;
}

.sub-menu-item a{
	font-size: 14px;
	height: 50px;
    line-height: 25px;
    background-color: #fff;
    color: #000!important;
    text-align: left;
    padding-left: 10px;
    padding-top: 20px;
    display:block;
}	

.sub-menu-item a:hover{
	background-color: #EFEEED;
	color: #000!important;
}		
	
	

.icon-hamburger {
	display: inline-block;
	font-weight: normal;
	color: #333;
	text-decoration: none;
}		


.foot{
	position: absolute;
	bottom: 0px;
	/*height: 610px;*/
	width: 100%;
	display: block;
	margin: 0px;
}


.foot_box {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
	
}
	.foot_box_01 {
		background-image: url("../img/foot_01.jpg");
		height: 355px;
		background-size: cover;
		background-position: center;
		width: 100%;
		
	}
	
	.foot_menu {
		width : calc(100% / 6) ;
		float: left;
		color: #FFFFFF;
		display: block;
		text-align: left;
		padding-left: 20px;
		padding-right: 20px;
		box-sizing: border-box;
		padding-top: 40px;
	}
	/***IE11 calc関数用 ***/
	*::-ms-backdrop, .foot_menu{ 
	width :16.66% ;
	}
_:-ms-lang(x), .foot_menu 
{
    width: 16.0%\9;  /* IE10以下*/
}
	
	.foot_menu_midashi {
    border-bottom: 2px solid #FFFFFF;
		font-size: 16px;
		line-height: 30px;
		margin-bottom: 8px;
	}
	
	.foot_menu a {
		color: #FFFFFF;
		display: block;
		line-height: 30px;
		font-size: 15px;
	}
	.foot_menu a::before {
		content: ">";
		color: #E43937;
		margin-right: 10px;
	}
	
	.foot_menu a:hover {
	text-decoration: underline;
	}
	
	.foot_menu_midashi a::before {
    	content: "";
		margin-right: 0px;
	
	}
	
	.nomallink {
		padding-top: 30px;
	}
	.nomallink a {
		font-size: 16px;
	}
	.nomallink a::before {
			content: "";
	}
	.nomallink a:hover {
	text-decoration: underline;
	}
	
	.foot_box_02 {
				background-image: url("../img/foot_02.jpg");
		height: 225px;
		background-size: cover;
		background-position: center;
	}
	
	.foot_box_02_left {
		float: left;
		text-align: left;
		color: #FFFFFF;
		padding-left: 40px;
		padding-top: 40px;
	
	}
	.foot_box_02_left_logo {
		margin-bottom: 5px;
	}
	
	.foot_box_02_right {
		float: right;
		color: #FFFFFF;
		padding-top: 40px;
		padding-right: 40px;
	}
	.foot_box_02_right_tell {
		font-size: 30px;
		letter-spacing: 0.2em;
	}
	.foot_box_02_right_mail a {
		display: block;
		width: 300px;
		height: 40px;
		line-height: 40px;
		font-size: 18px;
		text-align: center;
		background-color:#FFFFFF;
		color: #D02A28;
		background-image: url("../img/icon01.png");
		background-repeat: no-repeat;
		background-position: center left 10px;
	}
	
	.foot_box_02_right_mail a:hover {
opacity: 0.8;
	}
	
	.foot_box_03 {
		text-align: center;
		height: 45px;
		line-height: 45px;
		background-color: #E3E3E3;
		width:100%;
	}

	.foot_copy {
    color: #FFFFFF;
    line-height: 250%;
    height:55px;
    border-top: 1px solid #FFFFFF;
    
	}


.linkbt_01 {
	text-align: center;
}

.linkbt_01 a {
		background: #2BBC72;
		text-align: center;
		color: #FFFFFF;
		font-size: 14px;
		padding-bottom: 5px;
		padding-top: 5px;
		padding-left: 40px;
		padding-right: 40px;
		border-radius: 10px;

	
}

.foot_copy {
width:100%;
text-align:center;
}



	
	
	
}

/* =========================PC=========================================== */


@media screen and (min-width: 1000px) {

.headlogo_box {
    width: 340px;
    text-align: center;
    display: block;
    float: left;
    padding-left: 10px;
    padding-top: 10px;
    height: 90px;
}

}



/* =========================PC=========================================== */


@media screen and (min-width: 1280px) {
	.pcnav {
		float: right;
		display: block;
		width:880px;
	}
.head_nav1 a h2{
    font-style: normal;
    font-size: 14px;
}


.headlogo_box {
    width: 370px;
    text-align: center;
    display: block;
    float: left;
    padding-left: 10px;
    padding-top: 10px;
    height: 90px;
}

.headlogo_box img {
    width: 100%;
   
}


}

/**最大**/
@media screen and (min-width: 1601px) {
	.pcnav {
		float: right;
		display: block;
		width:1200px;
	}
.head_nav1 a h2{
    font-style: normal;
    font-size: 16px;
}

.headlogo_box {
    width: 411px;
    text-align: center;
    display: block;
    float: left;
    padding-left: 10px;
    padding-top: 10px;
    height: 90px;
}

.headlogo_box img {
    width: 100%;
   
}


}

/* =========================スマホ=========================================== */
@media screen and (max-width: 867px) {


.pc {
	display: none!important;
}
.pcnav{
	display: none!important;
}

.br-pc { display:none; }
.br-sp { display:block; }

.headlogo_box  {
	padding-top:10px;
	padding-left:10px;
}
#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 0;
  bottom: 0;
  background: #212858;
  z-index:5000;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f106';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 45px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

.headlogo_box img {
	width:80%;
}

.headlogo_img h1{
	display: inline;
}

#main{
	padding-bottom: 50px!important;

}

.foot{
	position: absolute;
	bottom: 0px;
	width: 100%;
	display: block;
	margin: 0px;
	background-color: #fff;
}


.foot_box {
	text-align: center;
	
}
	.foot_box_01 {
display: none;
	}	
	
	.foot_box_02 {
display: none;
	}	
	
.foot_box_03 {
		text-align: center;
		height: 40px;
		line-height: 40px;
		background-color: #E3E3E3;
	}
.foot_copy {
    color: #FFFFFF;
    line-height: 40px;
    border-top: 1px solid #FFFFFF;
					background-image: url("../img/foot_02.jpg");

		background-size: cover;
		background-position: center;
}

.linkbt_01 {
	text-align: center;
		width:80%;
		margin-right: auto;
	margin-left: auto;	
}

.midashi01 {
	line-height: 55px;
}

.linkbt_01 a {
		background: #2BBC72;
		text-align: center;
		color: #FFFFFF;
		font-size: 14px;
		padding-bottom: 5px;
		padding-top: 5px;
		padding-left: 40px;
		padding-right: 40px;
		border-radius: 10px;
	

	
}

}




/* =============================================================================
	section共通
   ========================================================================== */


@media screen and (min-width: 768px) {
	/*page-top*/
	#page-top {
		position: fixed;
		bottom: 50px;
		right: 50px;
		font-size: 77%;
		z-index: 100;
	}
	#page-top a {
		text-decoration: none;
		width: 87px;
		text-align: center;
		display: block;
		border-radius: 5px;
		background-image: url(../img/top_bt.png);
		height: 86px;
		padding-top: 0px;
		padding-right: 0;
		padding-bottom: 0px;
		padding-left: 0;
		text-indent: -9999px;
		background-repeat: no-repeat;
	}
	#page-top a:hover {
		background-image: url(../img/top_bt.png);
		background-repeat: no-repeat;
		background-position: 0px -86px;
		height: 86px;
		width: 87px;
			transition: color 0.5s;
	}

}
@media screen and (max-width: 767px) {
	/*page-top*/
	#page-top {
	text-align:center;
		width: 100%;
		display: block;
		text-align: center;
	
	}
	#page-top a {
		text-decoration: none;
		width: 87px;
		text-align: center;
		display: block;
		border-radius: 5px;
		background-image: url(../img/top_bt.png);
		height: 86px;
		padding-top: 0px;
		padding-right: 0;
		padding-bottom: 0px;
		padding-left: 0;
		text-indent: -9999px;
		background-repeat: no-repeat;
		margin-right: auto;
		margin-left: auto;
	}
	#page-top a:hover {
		background-image: url(../img/top_bt.png);
		background-repeat: no-repeat;
		background-position: 0px -86px;
		height: 86px;
		width: 87px;
		transition: color 0.5s;
	}
}
