@charset "UTF-8";





/* ----------------------------------------------------------------------------------------------------


	font-face


--------------------------------------------------- */





/* ----------------------------------------------------------------------------------------------------


	base


--------------------------------------------------- */

* {
	margin: 0;
	padding: 0;
	font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	zoom: 1;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	}
em { font-family: serif; }
html,
body {}
a { color: #000; }
a,
a:hover {
	text-decoration: none;
	}
	a:link { color: rgba(50, 50, 50, 1); }
	a:visited { color: rgba(50, 50, 50, 1); }
img {
	margin: 0;
	padding: 0;
	}
ul { list-style: none; }
h1,
h2,
h3,
h4,
h5,
h6 { font-weight: lighter; }





/* ----------------------------------------------------------------------------------------------------


	common


--------------------------------------------------- */
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

.container {
	position: relative;
	width: 1000px;
	margin: 0 auto;
	box-sizing: border-box;
}

section a:hover {
	opacity: 0.7;
	-moz-animation: transparent-on 0.25s normal;
	-webkit-animation: transparent-on 0.25s normal;
	-o-animation: transparent-on 0.25s normal;
	-ms-animation: transparent-on 0.25s normal;
	animation: transparent-on 0.25s normal;
}

section a {
	opacity: 1.0;
	-moz-animation: transparent-off 0.25s normal;
	-webkit-animation: transparent-off 0.25s normal;
	-o-animation: transparent-off 0.25s normal;
	-ms-animation: transparent-off 0.25s normal;
	animation: transparent-off 0.25s normal;
}

@-moz-keyframes transparent-on { 0% {opacity: 1.0;} 100% {opacity: 0.7;} }
@-webkit-keyframes transparent-on { 0% {opacity: 1.0;} 100% {opacity: 0.7;} }
@-o-keyframes transparent-on { 0% {opacity: 1.0;} 100% {opacity: 0.7;} }
@-ms-keyframes transparent-on { 0% {opacity: 1.0;} 100% {opacity: 0.7;} }
@keyframes transparent-on { 0% {opacity: 1.0;} 100% {opacity: 0.7;} }

@-moz-keyframes transparent-off { 0% {opacity: 0.7;} 100% {opacity: 1.0;} }
@-webkit-keyframes transparent-off { 0% {opacity: 0.7;} 100% {opacity: 1.0;} }
@-o-keyframes transparent-off { 0% {opacity: 0.7;} 100% {opacity: 1.0;} }
@-ms-keyframes transparent-off { 0% {opacity: 0.7;} 100% {opacity: 1.0;} }
@keyframes transparent-off { 0% {opacity: 0.7;} 100% {opacity: 1.0;} }

/* reset */
/*hover {
	opacity: 1.0;
	-moz-animation: none;
	-webkit-animation: none;
	-o-animation: none;
	-ms-animation: none;
	animation: none;
}*/


/* ----------------------------------------------------------------------------------------------------


	header


--------------------------------------------------- */
header {
	position: relative;
	width: 100%;
	padding: 22px 0;
}

header::before {
	position: absolute;
	top: 0;
	content: "";
	display: block;
	width: 100%;
	height: 3px;
	background: #f98702;
	background: -moz-linear-gradient(left, #f98702 0%, #0ea038 50%, #006cb7 100%);
	background: -webkit-linear-gradient(left, #f98702 0%,#0ea038 50%,#006cb7 100%);
	background: linear-gradient(to right, #f98702 0%,#0ea038 50%,#006cb7 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f98702', endColorstr='#006cb7',GradientType=1 );
}

header::after {
	content: "";
  clear: both;
  display: block;
}

header .logo {
	float: left;
	width: 154px;
	margin: 0 0 0 15px;
}

header .logo img {
	width: 100%;
}

header .sub {
	color: #00264c;
	font-size: 0.9em;
	font-weight: bold;
	float: left;
	line-height: 1.5em;
	margin: 40px 0 0 15px;
}

header .corporation {
	font-size: 0.8em;
	float: right;
}

header .corporation a {
	display: inline-block;
	vertical-align: middle;
	width: 133px;
}

header .corporation a img {
	width: 100%;
}

header #nav-open-button {
	display: none;
}

header .inquiry-button {
	float: right;
	clear: right;
	margin: 8px 0 0 0;
}

header .inquiry-button a {
  font-size: 1.0em;
  color: #ffffff;
  font-weight: bold;
  display: block;
  background: url("/lib/img/common/inquiry-button.png") no-repeat;
  background-size: 100% 100%; /* 高さにも合わせる */
  width: 300px;
  min-height: 60px; /* 高さを大きめにして2行分対応 */
  padding: 10px 10px 10px 45px; /* 上右下左 */
  line-height: 1.4;
  box-sizing: border-box;
  text-align: left;
}

header .inquiry-button a:hover {
	background: url("/lib/img/common/inquiry-button-over.png") no-repeat;
        background-size: 100% 100%; /* 高さにも合わせる */
	-webkit-transition-duration: 0.25s;
	-moz-transition-duration: 0.25s;
	-ms-transition-duration: 0.25s;
	-o-transition-duration: 0.25s;
	transition-duration: 0.25s;
}

  header .inquiry-button .sp-text {
    display: none;
  }

  header .inquiry-button .pc-text {
    display: block;
  }


/* ----------------------------------------------------------------------------------------------------


	nav


--------------------------------------------------- */

/*	header_nav
----------------------------------------------- */
#h-nav {
	width: 100%;
	min-width: 1000px;
	background: #f4f4f4;
}

#h-nav ul {
	width: 1000px;
	margin: 0 auto;
	box-sizing: border-box;
	display: flex;
	display: -webkit-flex;
	padding: 0;
}

#h-nav ul li {
	position: relative;
	width: calc(100% / 5 - 15px);
	width: -webkit-calc(100% / 5 - 15px);
	margin: 0 15px;
}

#h-nav ul li::before {
	opacity: 0;
	content: "";
	position: absolute;
	top: 0;
	left: -30px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 56px 30px;
	border-color: transparent transparent #f08300 transparent;
}

#h-nav ul li::after {
	opacity: 0;
	content: "";
	position: absolute;
	top: 0;
	right: -30px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 56px 30px 0 0;
	border-color: #f08300 transparent transparent transparent;
}

#h-nav ul li:hover {
	background: #f08300;
}

#h-nav ul li:hover::before,
#h-nav ul li:hover::after {
	opacity: 1;
}

#h-nav ul li a {
	font-size: 0.9em;
	font-weight: bold;
	display: flex;
	flex-direction: column;
	justify-content: center;
	display: -webkit-flex;
	-webkit-flex-direction: column;
	-webkit-justify-content: center;
	align-items: center;
	height: 56px;
}

#h-nav ul li:hover a {
	color: #ffffff;
	-webkit-transition-duration: 0.25s;
	-moz-transition-duration: 0.25s;
	-ms-transition-duration: 0.25s;
	-o-transition-duration: 0.25s;
	transition-duration: 0.25s;
}

/*	sp_nav
----------------------------------------------- */
#sp-nav {
	display: none;
}

/** 開閉アニメーション
 *  ※IE11対応 mediaquery内でアニメーションが使えない
*/
#sp-nav.nav-open {
	right: 0;
	-moz-animation: anime-nav-open 0.25s normal;
	-webkit-animation: anime-nav-open 0.25s normal;
	-o-animation: anime-nav-open 0.25s normal;
	-ms-animation: anime-nav-open 0.25s normal;
	animation: anime-nav-open 0.25s normal;
}

#sp-nav.nav-close {
	right: -292px;
	-moz-animation: anime-nav-close 0.25s normal;
	-webkit-animation: anime-nav-close 0.25s normal;
	-o-animation: anime-nav-close 0.25s normal;
	-ms-animation: anime-nav-close 0.25s normal;
	animation: anime-nav-close 0.25s normal;
}

@-moz-keyframes anime-nav-open { 0% {right: -292px;} 100% {right: 0;} }
@-webkit-keyframes anime-nav-open { 0% {right: -292px;} 100% {right: 0;} }
@-o-keyframes anime-nav-open { 0% {right: -292px;} 100% {right: 0;} }
@-ms-keyframes anime-nav-open { 0% {right: -292px;} 100% {right: 0;} }
@keyframes anime-nav-open { 0% {right: -292px;} 100% {right: 0;} }

@-moz-keyframes anime-nav-close { 0% {right: 0;} 100% {right: -292px;} }
@-webkit-keyframes anime-nav-close { 0% {right: 0;} 100% {right: -292px;} }
@-o-keyframes anime-nav-close { 0% {right: 0;} 100% {right: -292px;} }
@-ms-keyframes anime-nav-close { 0% {right: 0;} 100% {right: -292px;} }
@keyframes anime-nav-close { 0% {right: 0;} 100% {right: -292px;} }


/*	bread_nav
----------------------------------------------- */
#bread {
	font-size: 0.8em;
	width: 1000px;
	margin: 0 auto;
	padding: 15px 0;
	display: flex;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
}
#bread li {

}





/* ----------------------------------------------------------------------------------------------------


	footer


--------------------------------------------------- */
footer {
	position: relative;
	width: 100%;
	height: 320px;
	background-image: url(/lib/img/common/footer-bg.png);
	background-size: 1400px 437px;
	background-position: center;
	background-position-y: -118px;
	background-color: #595858;
}

footer .contact {
	padding: 50px 0 0 0;
}

footer .contact > br {
	display: none;
}

footer .contact p {
	color : #ffffff;
	text-align: center;
	line-height: 1.5em;
	padding: 0 0 20px 0;
}

footer .contact a {
	font-size: 1.5em;
	font-weight: bold;
  color: #ffffff;
  display: inline-block;
  padding: 4px 0 3px 40px;
}

footer .contact a.tel {
	margin: 0 0 0 140px;
	background: url( "/lib/img/common/tel-icon.png" ) no-repeat;
	background-size: 31px 28px;
}

footer .contact a.tel span {
	font-size: 0.7em;
	font-weight: normal;
}

footer .contact a.mail {
	margin: 0 0 0 60px;
	background: url( "/lib/img/common/mail-icon.png" ) no-repeat;
	background-position-y: 1px;
	background-size: 31px 24px;
}

footer .contact .to-inquiry a {
  font-size: 1.1em;
  font-weight: bold; /* 太文字 */
  color: #ffffff;
  display: block;
  background: url(/lib/img/common/inquiry-button.png) no-repeat right center;
  background-size: 100% 100%; /* 高さにフィット、横は画像に合わせる */
  width: 300px; /* 少し広げて調整 */
  min-height: 60px; /* 高さを可変に対応 */
  padding: 8px 15px 0px 40px;
  margin: 0 auto;
  box-sizing: border-box;
  text-align: left;
  line-height: 1.4;
  white-space: normal; /* 改行許可 */
}

footer .contact .to-inquiry a:hover {
	background: url("/lib/img/common/inquiry-button-over.png") no-repeat;
	background-size: 100%;
	-webkit-transition-duration: 0.25s;
	-moz-transition-duration: 0.25s;
	-ms-transition-duration: 0.25s;
	-o-transition-duration: 0.25s;
	transition-duration: 0.25s;
}

footer .banner {
		padding: 38px 0 0 0;
		text-align: center;
}

footer .banner::before {
    content: "";
    display: block;
    width: 376px;
    height: 1px;
    margin: 0 auto 35px auto;
    border-top: 2px dotted #ffffff;
}

footer .banner p {
	color: #ffffff;
	margin: 0 0 19px 0;
}

footer .banner a {
	display: inline-block;;
	width: 235px;
	margin: 0 10px;
}

footer .banner a img {
	width: 100%;
}

footer .policy {
	padding: 66px 0 0 0;
}

footer .policy a {
	color: #ffffff;
	font-size: 0.9em;
}

footer .policy a:nth-of-type(2) {
    border-left: 1px solid #ffffff;
    margin: 0 0 0 15px;
    padding: 0 0 0 15px;
}

footer #copyright {
	color: #ffffff;
	font-size: 0.5em;
	text-align: right;
}

footer #copyright small {
  font-size: 140%;

}

footer::after {
	position: absolute;
	bottom: -3px;
	content: "";
	display: block;
	width: 100%;
	height: 3px;
	background: #f98702;
	background: -moz-linear-gradient(left, #f98702 0%, #0ea038 50%, #006cb7 100%);
	background: -webkit-linear-gradient(left, #f98702 0%,#0ea038 50%,#006cb7 100%);
	background: linear-gradient(to right, #f98702 0%,#0ea038 50%,#006cb7 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f98702', endColorstr='#006cb7',GradientType=1 );
}

/*	to pagetop
----------------------------------------------- */
footer #to-pagetop-button {
	position: absolute;
	top: -28px;
	right: -84px;
	width: 50px;
	background: none;
	border: none;
}

footer #to-pagetop-button img {
	width: 100%;
}


/* mediaquery max-width 1200px
-------------------------------------------------------------------- */
@media screen and (max-width: 1200px)  {
	/* ----------------------------------------------------------------------------------------------------


		footer


	--------------------------------------------------- */

	/*	to pagetop
	----------------------------------------------- */
	footer #to-pagetop-button {
		right: 28px;
	}
}




/* mediaquery IE
-------------------------------------------------------------------- */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
	header .inquiry-button a {
		padding: 12px 0 0 27px;
	}
}




/* mediaquery MS Edge
-------------------------------------------------------------------- */
@supports (-ms-ime-align:auto) {
	header .inquiry-button a {
		padding: 9px 0 0 27px;
	}
}


/* mediaquery max-width 1000px
-------------------------------------------------------------------- */
@media screen and (max-width: 1000px)  {
	/* ----------------------------------------------------------------------------------------------------


		nav


	--------------------------------------------------- */

	/*	header_nav
	----------------------------------------------- */
	#h-nav {
		overflow: hidden;
	}


	/* ----------------------------------------------------------------------------------------------------


		footer


	--------------------------------------------------- */
	footer {
		width: 1000px;
	}
}





/* mediaquery max-width 640px
-------------------------------------------------------------------- */
@media screen and (max-width: 640px)  {

	/* ----------------------------------------------------------------------------------------------------


		common


	--------------------------------------------------- */
	.container {
		width: 640px;
	}





	/* ----------------------------------------------------------------------------------------------------


		header


	--------------------------------------------------- */
	header {
		width: 640px;
    min-width: 0;
		margin: 50px 0 0 0;
		padding: 0;
		/* box-shadow */
		box-shadow:0px 0px 10px 5px rgba(0,0,0,0.05);
		-moz-box-shadow:0px 0px 10px 5px rgba(0,0,0,0.05);
		-webkit-box-shadow:0px 0px 10px 5px rgba(0,0,0,0.05);
		z-index: 999;
	}

	header .logo {
		width: 195px;
		margin: 13px 0 0 20px;
	}

	header .sub {
		color: #ffffff;
		background: #00264c;
		font-size: 1.2em;
		font-weight: bold;
		text-align: center;
		float: none;
		padding: 10px;
		margin: 0;
		position: absolute;
		top: -50px;
		left: 0;
		height: 50px;
		width: 100%;
	}

	header .sub br,
	header .sub span {
		display: none;
	}

	header .corporation {
		display: none;
	}

	header .inquiry-button {
		clear: inherit;
		margin: 0;
		margin: 3px 0 0 0;
	}

  header .inquiry-button .pc-text {
    display: none;
  }

  header .inquiry-button .pc-text {
    display: none;
  }

  header .inquiry-button .sp-text {
    display: block;
    text-align: center;
    width: 131px;
    height: 120px;
    background: url(/lib/img/common/sp-inquiry-button.png) no-repeat;
    background-size: 100% 100%;
    padding: 85px 0 0 0;
    color: #ffffff;
    font-weight: bold;
    font-size: 1em;
    box-sizing: border-box;
    text-decoration: none;
  }

	header .inquiry-button a,
	header .inquiry-button a:hover {
		text-align: center;
		width: 131px;
		height: 120px;
    background: url(/lib/img/common/sp-inquiry-button.png) no-repeat;
		padding: 85px 0 0 0;
	}

	header #nav-open-button {
		float: right;
		display: inherit;
		margin: 3px 0 0 0;
	}

	header #nav-open-button a {
		font-size: 1.1em;
		color: #ffffff;
		display: block;
		text-align: center;
		width: 131px;
		height: 121px;
		background: url(/lib/img/common/nav-open-button.png) no-repeat;
		padding: 85px 0 0 0;
	}
	/* ----------------------------------------------------------------------------------------------------


		nav


	--------------------------------------------------- */

	/*	header_nav
	----------------------------------------------- */
	#h-nav {
		display: none;
	}

	/*	sp_nav
	----------------------------------------------- */
	#sp-nav #nav-close-button {
		background: #00264c;
	}

	#sp-nav #nav-close-button a {
		font-size: 1.3em;
		color: #ffffff;
		display: block;
		background: url(/lib/img/common/nav-close-button.png) no-repeat;
		background-position: 28px 43px;
		padding: 47px 0 47px 80px;
	}

	#sp-nav {
		display: inherit;
		position: fixed;
		top: 0;
		right: -292px;
		width: 292px;
		height: 100%;
		background: #006cb8;
		z-index: 9999;
	}

	#sp-nav ul li a {
		font-size: 1.3em;
		color: #ffffff;
		display: block;
		padding: 15px 25px;
	}

	#sp-nav ul li:nth-of-type(1) a {
		padding: 25px 25px 15px 25px;
	}

	#sp-nav ul li.inquiry-button a {
    background: url(/lib/img/common/inquiry-button.png) no-repeat;
    background-size: 100% 100%;
		height: 47px;
    padding: 13px 52px;
    margin: 20px 25px 40px;
	}

	#sp-nav ul.policy::before {
		content: "";
    display: block;
    width: 90%;
    height: 1px;
    margin: 0 auto 45px auto;
    border-top: 2px dotted #ffffff;
	}

	#sp-nav ul.policy li a {
		 font-size: 1.1em;
		 padding: 7px 15px;
	}

	/*	bread_nav
	----------------------------------------------- */
	#bread {
		display: none;
	}




	/* ----------------------------------------------------------------------------------------------------


		footer


	--------------------------------------------------- */
	footer {
		width: 640px;
    height: 435px;
    background: url(/lib/img/common/footer-bg-sp.png) no-repeat;
    background-position-y: -98px;
	}

	footer .contact {
		text-align: center;
	}

	footer .contact > br {
		display: inherit;
	}

	footer .contact p {
		font-size: 1.1em;
		line-height: 1.8em;
	}

	footer .contact a.tel {
		margin: 0 0 0 0;
	}

	footer .contact a.mail {
		margin: 20px 0 0 0;
	}

	footer .contact .to-inquiry a {
		padding: 6px 15px 0px 38px;
	}

	footer .banner::before {
		width: 580px;
		margin: 0 auto 30px auto;
	}

	footer .policy {
		padding: 80px 0 0 0;
		text-align: center;
	}

	footer .policy a {
		font-size: 1.1em;
	}

	footer .policy a:nth-of-type(2) {
		border-left: 1px solid #ffffff;
		margin: 0 0 0 15px;
		padding: 0 0 0 15px;
	}

	footer #copyright {
		font-size: 1.1em;
		padding: 25px 0 0 0;
		text-align: center;
	}

	footer #copyright small {
	  font-size: 90%;
	}

	/*	to pagetop
	----------------------------------------------- */
	footer #to-pagetop-button {
		display: none;
	}
}
