@charset "utf-8";
/* CSS Document */

/* basic setting:
--------------------------------------------*/

* {
	margin: 0;
	padding: 0;
}

body {
	font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	font-weight: normal;
	color: #333;
	background: #fff;
	letter-spacing: 0.8px;
	box-sizing:border-box;
	line-height:1.6em;
	font-size:110%;
}

@media screen and (max-width: 1000px){
	body {font-size:100%;}
}

em,address {font-style: normal;}
hr {display: none;}
img {border: none;vertical-align: middle;}
ul,ol {list-style: none;}
.clear {clear: both;}
.left {float: left;}
.right {float: right;}
.center{text-align:center;}
*+html .clear_fix {display: inline-block;}
* html .clear_fix {display: inline-block;}
.bold{ font-weight:bold;}

.clear_fix:after {
	content:".";
    display: block;
    height:0px;
    clear:both;
    visibility:hidden;
}

.pc {display: block !important;}
.sp {display: none !important;}

/* link color setting :
--------------------------------------------*/

a {color:#333;text-decoration:none;}
a:hover {text-decoration: underline;}



/* header setting :
--------------------------------------------*/

#header .nav1:after,
#header .nav2:after {
	content:".";
    display: block;
    height:0px;
    clear:both;
    visibility:hidden;
}


/*==== navi search area ====*/

#header .nav1 {
	padding: 10px;
	font-size: 0.9em;
}

#header .nav1 ul {
	float: left;
}

#header .nav1 li {
	display: inline;
}

#header .nav1 li a {
	display: inline-block;
	background: url(../img/common/arrow01.svg) no-repeat 0 0.8em;
	padding: 7px 20px 7px 35px;
	text-decoration: none;
}

/*search*/

#header form {
	float: right;
}

#header input[type="text"]{
	border: 1px solid #DADBDC;
	height: 38px;
	width: 250px;
	position: relative;
	top: 1px;
	left: 8px;
	border-radius: 5px 0px 0px 5px;
}

#header input[type="submit"]{
	background: url(../img/common/search_btn.png) no-repeat;
	text-indent: -10000px;
	border: none;
	width: 40px;
	height: 40px;
	background-position: -2px;
	border-radius: 0px 5px 5px 0px;
}


/* glnav setting :
--------------------------------------------*/

#header .menu {display: none;}

#header .nav2 {
	padding: 0.8em 0.5em;
	background: #337de7;
	background: linear-gradient(to right, #337de7, #3baae7);
	font-size: 100%;
}


#header .nav2 h1 {
	float: left;
	margin-top: 10px;
	width: 19%;
}

#header .nav2 h1 img {
	max-width: 100%;
	width: 250px;
}

#header .nav2 nav > ul {
	float: right;
	width: 79%;
	text-align: right;
}


#header .nav2 nav > ul li {
	display: inline;
}

#header .nav2 nav > ul > li > a {
	color: #fff;
	text-decoration: none;
	font-size: 1.1em;
	padding: 1em 0;
	text-align: center;
	box-sizing: border-box;
	display: block;
	float: left;
}

#header .nav2 nav > ul > li > a:before {
	content: "";
	display: block;
	width: 1px;
	height: 1em;
	background: rgba(255, 255, 255, 0.7);
	float: left;
	position: relative;
	top: 4px;
}


#header .nav2 nav > ul > li:nth-child(1) > a {width: 30%;}
#header .nav2 nav > ul > li:nth-child(2) > a {width: 20%;}
#header .nav2 nav > ul > li:nth-child(3) > a {width: 16%;}
#header .nav2 nav > ul > li:nth-child(4) > a {width: 14%;}
#header .nav2 nav > ul > li:nth-child(5) > a {width: 20%;}


@media screen and (max-width: 1300px){
	
	#header .nav1 {
		padding: 10px;
	}
	
	#header .nav1 li a {
		background: url(../img/common/arrow01.svg) no-repeat 0 1.2em;
		padding: 8px 8px 5px 24px;
		font-size: 0.9em;
		background-size: 18px;
	}
	
	#header input[type="text"]{
		height: 40px;
		width: 180px;
	}
	#header input[type="submit"]{
		width: 42px;
		height: 42px;
		background-position: -2px;
	}
	
	#header .nav2 h1 {
		width: 22%;
	}
	
	#header .nav2 nav > ul {
		width: 76%;
	}
}


@media screen and (max-width: 1100px){
	#header .nav1 {
		padding: 5px;
	}
	
	#header .nav1 li a {
		background: none;
		padding: 10px 8px 5px;
	}
	
	#header input[type="text"]{
		height: 38px;
		width: 180px;
	}
	
	#header input[type="submit"]{
		width: 40px;
		height: 40px;
		background-position: -2px;
	}	#header .nav2 {
		padding: 0.8em 0.3em;
		font-size: 0.9em;
	}
	
	#header .nav2 h1 img {
		max-width: 100%;
	}
}

@media screen and (max-width: 900px){
	#header .nav1 {
		padding: 10px 5px 5px;
	}
	#header .nav1 li a {
		padding:  0px 5px 5px;
	}
	
	#header input[type="text"]{
		height: 30px;
		width: 120px;
		top: 0px;
	}
	#header input[type="submit"]{
		width: 32px;
		height: 32px;
		background-position: -2px;
		background-size: 40px;
	}
	
	#header .nav2 nav > ul > li > a {
		font-size: 1em;
	}
	
	#header .nav2 h1 {
		width: 23%;
		margin-right: 1%;
	}
	
	#header .nav2 nav > ul {
		width: 75%;
	}

}
/* outline setting :
--------------------------------------------*/

.outline {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 20px;
}

.outline:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}


/* footer setting :
--------------------------------------------*/

#footer{
	padding: 40px 40px 20px;
	color: #fff;
	background: #337de7;
	background: linear-gradient(to right, #337de7, #3baae7);
	position: relative;
}

#footer:after {
	content:".";
    display: block;
    height:0px;
    clear:both;
    visibility:hidden;
}

#footer address {
	display: block;
	padding: 30px 20px 30px 86px;
}

#footer #copy{
	text-align: center;
	border-top: 1px solid #9AC1F3;
	border-bottom: 1px solid #9AC1F3;
	padding: 20px 0;
	margin: 20px auto 0;
	width: 88%;
}


#footer #page_top {
	position: absolute;
	bottom: 20px;
	right: 20px;
	text-align: right;
}

@media screen and (max-width: 1600px) {
	#footer #copy{
		width: 80%;
		margin-left: 0;
	}
}


@media screen and (max-width: 1100px){
	#footer {
		padding: 20px 10px 15px;
	}
	#footer address {
		padding: 20px 10px 20px 10px;
	}
	#footer address img {
		width: 240px;
	}
	
	#footer h1 img {
		width: 270px;
	}
	
	#footer #page_top {
		bottom: 15px;
		right: 15px;
		width: 17%;
	}
	#footer #page_top img {
		max-width: 100%;
	}
	
	#footer #copy{
		text-align: left;
		padding: 15px 0;
		margin: 15px 0 0 10px;
		width: 80%;
	}
	
}

/* component setting :
--------------------------------------------*/

.btn1 {
	text-align: center;
}

.btn1 a {
	display: inline-block;
	border-radius: 100px;
	text-decoration: none!important;
	padding: 0.7em 2em 0.6em;
	background: #FE9F7A url(../img/common/arrow02.svg) no-repeat right center;
	background-position: right 10px center;
	background-size: 18px;
	font-weight: bold;
	color: #444;
}



/* frexible setting :
--------------------------------------------*/

.grid_system:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.grid_system img,
img.flex_img {
	width: 100%;
	height: auto;
}


.grid_1_4,
.grid_1_3,
.grid_1_2,
.grid_2_3,
.grid_3_4 { 
	display: block;
	float: left;
	margin-left: 3%;
	margin-bottom: 3%;
}

.grid_1_4:first-child,
.grid_1_3:first-child,
.grid_1_2:first-child,
.grid_2_3:first-child,
.grid_3_4:first-child {
	margin-left: 0; 
}

.grid_1_6:nth-child(6n+1),
.grid_1_3:nth-child(3n+1), 
.grid_1_4:nth-child(4n+1) {
	margin-left: 0;
	clear:both;
	float: left;
}

.grid_1_4 {width: 22.75%;}
.grid_1_3 {width: 31.33%;}
.grid_1_2 {width: 48.5%;}
.grid_2_3 {width: 62.66%;}
.grid_3_4 {width: 68.25%;}



.mgb0{margin-bottom:0px!important;}
.mgb10{margin-bottom:10px !important;}
.mgb20{margin-bottom:20px !important;}
.mgb30{margin-bottom:30px !important;}
.mgb40{margin-bottom:40px !important;}
.mgb50{margin-bottom:50px !important;}

.mgt10{margin-top:10px !important;}
.mgt30{margin-top:30px !important;}

.mgr10{margin-right:10px;}

.mglr1{margin:0 1em;}

.w3{width:3%;}
.w5{width:5%;}
.w10{width:10%;}
.w15{width:15%;}
.w20{width:20%;}
.w25{width:25%;}
.w30{width:30%;}
.w40{width:40%;}
.w50{width:50%;}
.w60{width:60%;}
.w70{width:70%;}
.w80{width:80%;}
.w90{width:90%;}
.w100{width:100%;}

.pc60_sp100{width:60%;}

img.w60 {
	display:inline-block;
}

.red{color:#C00;}
.blue{color:#093183;}


/*-- align --*/

.align_l {text-align: left !important;}
.center {text-align: center !important;}
.align_r {text-align: right !important;}
.align_r img { width:2em; margin:0 0.3em 0 0;}

.valign_t{ vertical-align:top!important;}
.valign_m{ vertical-align:middle!important;}

