/* ===================================================

  共通スタイル

=====================================================*/

html,body{
	color : #333 ;
	font-family:"游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

body {
	position: relative;
}

* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

p ,
dl {
	font-size   : 1em ;
	line-height : 180% ;
}

/* select text */

::selection {
	color      : #fff ;
	background : #ff5705 ;
}

::-moz-selection {
	color      : #fff ;
	background : #ff5705 ;
}

/* rollover */

.rollover {}


/* cleatfix */

.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
.clearfix {
    display: inline-block;
}
* html .clearfix {
    height: 1%;
}
.clearfix {
    display: block;
}

/* PCスマホ表示 */

.pc_mode {display:inherit;}
.sp_mode {display:none;}

/* link */

a, a:link, a:visited, a:active {
	text-decoration : underline ;
	color : #ff5705 ;
}

a:hover {
	text-decoration : none ;
	color : #13be9c ;
}


/* margin_auto */

.m_center {
	width   : 1000px ;
	margin  : 0 auto ;
	padding : 0 ;
}

#contents .m_center {
	padding : 0 0 100px;
}

/* radius */

.radius {
	border-radius         : 5px ;
	-ms-border-radius     : 5px ;
	-moz-border-radius    : 5px ;
	-webkit-border-radius : 5px ;
}

/* animation */

.animation {
	-webkit-transition : 0.3s ;
	-moz-transition    : 0.3s ;
	-o-transition      : 0.3s ;
	-ms-transition     : 0.3s ;
	transition         : 0.3s ;
}

/* margin */

.mb_off {
	margin-bottom:0 !important;
}


/* header */

header .m_center {
	width:920px;
	padding: 38px 0 15px;
}

header h1 {
	margin-bottom: 20px;
}

/* floatbtn */
#floatbtn {
	position: fixed;
	top: 350px;
	right: 0;
}
#floatbtn a img {
	box-shadow: 0 0 15px rgba(0,0,0,.3);
}
#floatbtn a:hover {
	opacity: 0.8;
}
#floatbtn a span {
	display: none;
}

@media screen and (max-width: 640px) {

	#floatbtn {
		width: 100%;
		top: auto;
		bottom: 0;
		text-align: center;
		background: #11569e;
	}
	#floatbtn a {
		display: block;
		width: 100%;
		font-size: 14px;
		font-weight: bold;
		color: #fff;
		padding: 10px 0;
		text-decoration: none;
		border: 2px solid #3c7aac;
	}
	#floatbtn a span {
		display: block;
	}
	#floatbtn a span:after {
		display: inline-block;
		content: url(../img/common/sp/floatbtn_icon.png);
		vertical-align: -0.6em;
		margin-left: 10px;
	}
	#floatbtn a img {
		display: none;
	}

}

/* nav */

#gNav li {
	padding: 0 7px;
	float: left;
	display: inline;
	border-left: 1px solid #222;
}

#gNav li:last-child {
	border-right: 1px solid #222;
}

	#gNav li a {
		color: #333;
		font-size: 1.1em;
		font-weight: bold;
		text-decoration: none;
	}
	
	#gNav li a:hover {
		color: #ff5400;
	}

/*-----------------------------------

	spnav

-----------------------------------*/
#nav_sp{
	display:none;
}
@media screen and (max-width: 1000px) {
	#nav_pc{
		display:none;
	}
	#nav_sp{
		width: 100%;
		height: 100%;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		background: #005bac;
		position: fixed;
		top:55px;
		right: -100%;
		padding: 20px 2.5% 0;
		display:inline-block;
		z-index: 999;
		box-sizing: border-box;
		-webkit-overflow-scrolling: touch;
		transition: 0.3s;
		-webkit-transition: 0.3s;
		-moz-transition: 0.3s;
		-o-transition: 0.3s;
		-ms-transition: 0.3s;
	}
	#nav_sp a,#nav_sp p{
		color:#fff;
	}
	#nav_sp.toggle{
		right: 0 !important;
	}
	#nav_sp_menu li{
		border-bottom: solid 1px #4f8cca;
	}
	#nav_sp_menu li a{
		font-size: 15px;
		display:block;
		padding: 10px 2.5%;
		position: relative;
		text-decoration: none;
	}
	#nav_sp_menu li a.arrow:after {
    	font-size: 13px;
		top: 25%;
	}
	#nav_sp_menu li a:hover{
		background:#4c8cca;
	}
	#nav_sp_menu li ul li:last-child{
		border-bottom:none;
	}
	#nav_sp_menu li ul li:first-child{
		border-top:1px solid #fff;
		margin-top: 8px;
	}
}

@media screen and (max-width: 840px) {
	header {
		height: 55px;
		z-index:999;
		padding-top: 0;
	}
	header h1 {
		width: 80%;
		max-width: 200px;
		margin:0;
	}
	header h1 a{
		display:block;
	}
	header h1 img{
		width: 100%;
	}
	header nav{
		display:none;
	}
	.menu_btn_wrap {
		width: 55px;
		height: 55px;
		cursor:pointer;
		background: #005bac;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 999;	
	}
	.menu_btn {
		width: 33px;
		height: 25px;
		display: block;
		position: absolute;
		top: 15px;
		right: 10px;
		background: #fff;
		border-top: 12px solid #005bac;
		border-bottom: 10px solid #005bac;
		box-sizing: border-box;
		-moz-transition: all 0.3s;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
		z-index:999;
	}
	.menu_btn:before {
		content:'';
		position:absolute;
		width: 33px;
		height: 3px;
		background: #fff;
		top:-9px;
		-moz-transition:all 0.3s;
		-webkit-transition:all 0.3s;
		transition:all 0.3s;
	}
	.menu_btn:after {
		content:'';
		position:absolute;
		width: 33px;
		height: 3px;
		background: #fff;
		bottom:-9px;
		-moz-transition:all 0.3s;
		-webkit-transition:all 0.3s;
		transition:all 0.3s;
	}
	.menu_btn.active {
		background:#005bac;
	}
	.menu_btn.active:before{
		-moz-transform:rotate(-135deg);
		-webkit-transform:rotate(-135deg);
		transform:rotate(-135deg);
		top:0;
		right:0;
	}
	.menu_btn.active:after {
		-moz-transform:rotate(135deg);
		-webkit-transform:rotate(135deg);
		transform:rotate(135deg);
		bottom:0;
		right:0;
	}
}

/* tel */

.tel {
	margin-top: 25px;
}
.btn_wrap {
	margin-top: 15px;
}
.btn_wrap a {
	display: block;
	width: 200px;
	font-size: 15px;
	text-align: center;
	text-decoration: none;
	color: #fff;
	padding: 15px 0;
	float: left;
	position: relative;
}
.btn_wrap a:after {
	content: "";
	position: absolute;
	right: 8px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	box-sizing: border-box;
	width: 10px;
	height: 5px;
	border: 5px solid transparent;
	border-left: 4px solid #fff;
}
#btn_01 {
	background: #e85c30;
	margin-right: 20px;
}
#btn_01:hover {
	background: #bf4b27;
}
#btn_02 {
	background: #156ac3;
}
#btn_02:hover {
	background: #11569e;
}

@media screen and (max-width: 840px) {

	.tel {
		font-size:1.4em;
		font-weight: bold;
		padding:3%;
		text-align: center;
		margin-top: 0;
		background:#5c86c8;
	}
	
	.tel a {
		color: #fff;
		text-decoration: none;
	}

}

#pagetop {
	padding: 15px;
	position: fixed;
	right: 25px;
	bottom: 50px;
	cursor: pointer;
	z-index: 999;
	background: #444;
}
#pagetop_sp{
	display:none;
}
#pagetop:hover {
	opacity: 0.8;
}

@media screen and (max-width: 640px) {
	#pagetop{
		display:none !important;
	}
	#pagetop_sp{
		height: 40px;
		background: url(../img/common/sp/pagetop.png) #444;
		background-repeat: no-repeat;
		background-position: center;
		transition-duration: 0.3s;
		-moz-transition-duration: 0.3s;
		-ms-transition-duration: 0.3s;
		-o-transition-duration: 0.3s;
		-webkit-transition-duration: 0.3s;
		cursor: pointer;
		display:block;
	}

}

/* footer */

footer {
	width: 100%;
	padding: 25px 0 35px;
}

footer .logo {
	margin-bottom: 10px;
}

	#copyright {
		font-size: 1em;
		font-weight: bold;
		line-height: 100%;
		padding-top: 0;
	}

@media screen and (max-width: 840px) {

	footer {
		text-align: center;
		padding: 10% 0 ;
	}

	footer .logo {
		width:200px;
		margin:0 auto 10px;
	}
	
	footer .logo img{
		width:100%;
	}

		#copyright {
			margin-top: 1%;
			text-align: center;
		}

}
@media screen and (max-width: 640px) {

	footer {
		padding-bottom: 20%;
	}
}

/* ===================================================

  下層ページ共通

=====================================================*/

.contents_bg {
	padding : 50px 0;
	background:url(../img/common/bg_contents.jpg) no-repeat;
	background-attachment: fixed;
	background-size: cover;
}

#contents p {
	font-size: 1.2em;
}

#contents section .m_center h2 {
	margin: 0 auto 50px;
	text-align: center;
}

@media screen and (max-width: 840px) {

	#contents section .m_center h2 {
		height:30px;
		margin: 0 auto 6%;
		text-align: center;
	}
	
}



/* ===================================================
	
	タブレット用レイアウト
	
=====================================================*/


@media screen and (max-width: 840px) {

.m_center {
	width   : 100% ;
	margin  : 0 auto ;
	padding : 0 ;
}

header .m_center {
	width:100%;
	padding: 10px 0 10px 10px;
}

	
#contents .m_center {
	width   : 100% ;
	margin  : 0 auto ;
	padding : 6% 4% ;
}

.left ,
.right {
	float: none !important;
}

/* PCスマホ表示 */

.pc_mode {display:none;}
.sp_mode {display:inherit;}


/* text_hide */

.text_hide {
	text-indent : 200%   ;
    white-space : nowrap ;
    overflow    : hidden ;
}


}





























