@charset "UTF-8";
/* ---------------------------------------- file info */
/* filename:common.css */
/* creation date:2016年10月7日 */
/* last updated:2016年10月7日 */
/* -------------------------------------------------- */

/* --------------------------------------------------
	000.margin and padding
-------------------------------------------------- */
body, div, dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
object, iframe, pre, code, p, blockquote,
form, fieldset, legend,
table, th, td, caption, tbody, tfoot, thead,
article, aside, figure, footer, header,
hgroup, menu, nav, section, audio, video, canvas, main {
	margin:0;
	padding:0;
}

article, aside, figure, figcaption, footer,
h1, h2, h3, h4, h5, h6, header, hgroup, menu, nav, section, main {
	display:block;
}

* {
	box-sizing:border-box;
	-moz-box-sizing:border-box;
}

/* --------------------------------------------------
	001.HTML, Body, Anchor
-------------------------------------------------- */

html {
	overflow-y:scroll;
	* overflow-x:hidden;
	_overflow:auto;
}

html, body {
	width:100%;
	min-height:100%;
}

body {
	font-family:"Montserrat","ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体","Yu Gothic", YuGothic,sans-serif;
	font-size:14px;
	*font-size:88%;
	line-height:1.6;
	color:#242c29;
	letter-spacing:1px;
}
span.link ,
a {
	color:#000;
	text-decoration:none;
	transition: color 0.3s, background-color 0.3s, background-image 0.3s, border-color 0.3s, box-shadow 0.3s, transform 0.3s;
	-webkit-transition: color 0.3s, background-color 0.3s, background-image 0.3s, border-color 0.3s, box-shadow 0.3s, -webkit-transform 0.3s;
	cursor:pointer;
}
a:hover {
	color: #21C18B;
	text-decoration:none;
}

/* --------------------------------------------------
	002.Heading, Paragraph
-------------------------------------------------- */
dt , h1, h2, h3, h4, h5, h6 {
	font-size:100%;
	font-weight:700;
}

p {
	line-height:1.6;
}

/* --------------------------------------------------
	003.List
-------------------------------------------------- */
ol , ul , li {
	list-style:none;
	zoom:1;
	overflow:hidden;
}

/* --------------------------------------------------
	004.Table
-------------------------------------------------- */
table {
	font-size:100%;
	border-collapse:collapse;
	border-spacing:0;
}

caption, th, td {
	text-align:left;
	vertical-align:top;
	font-weight:normal;
}

dl, dt, dd {
	zoom:1;
	overflow:hidden;
}

/* --------------------------------------------------
	005.Form
-------------------------------------------------- */
fieldset {
	border:none;
}

input, textarea, select, label {
	font-size:100%;
	font-family:"Montserrat","ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体","Yu Gothic", YuGothic,sans-serif;
	vertical-align:middle;
	margin-top:0;
	margin-bottom:0;
	padding-top:0;
	padding-bottom:0;
}

button {
	font-family:"Montserrat","ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体","Yu Gothic", YuGothic,sans-serif;
}

label {
	cursor:pointer;
}

textarea {
	overflow:auto;
}

legend {
	display:none;
}


/* --------------------------------------------------
	006.Other
-------------------------------------------------- */
img {
	border:none;
	vertical-align:middle;
}

object {
	vertical-align:middle;
	outline:none;
}

em {
	font-style:italic;
}

b,
strong {
	font-weight:700;
}

small {
	font-size:100%;
}

i {
	font-style:normal;
}

u {
	text-decoration:none;
}

abbr, acronym {
	border:none;
	font-variant:normal;
}

address, caption, cite, code, dfn, var {
	font-weight:normal;
	font-style:normal;
}

sup {
	vertical-align:text-top;
}

sub {
	vertical-align:text-bottom;
}

hr {
	display:none;
}

/* ------------------------------------------------------------
	007.For IE6/7
------------------------------------------------------------ */
*:first-child + html body,
*:first-child + html br {
	letter-spacing:0;
}
@media only screen and (max-width: 767px) {
	.sp-visible {
		display: block;
	}
	.sp-hidden {
		display: none;
	}

	/* --------------------------------------
			101 outline
	-------------------------------------- */
	#wrap {
		position:relative;
	}

	/* --------------------------------------
			102 header
	-------------------------------------- */
	header#header {
		text-align:center;
		position: relative;
		background: url(../../../images/company/common/bg_main.png);
		background-size: 278px auto;
	}
	#menu {
		position: absolute;
		right: 0;
		top: 0;
		width: 50px;
		height: 50px;
		padding-top: 13px;
		z-index: 101;
	}
	#menu span {
		width: 24px;
		height: 3px;
		background: #fff;
		margin: 0 auto 6px;
		display: block;
	}
	#menu.on {
		position: fixed;
	}
	#menu.on span {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: rotate(45deg);
		margin-left: -10px;
		margin-top: -5px;
	}
	#menu.on span:nth-of-type(1) {
		transform: rotate(135deg);
	}
	#menu.on span:nth-last-of-type(1) {
		display: none;
	}
	header#header nav {
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0;
		right: -100%;
		background: hsla(0,0%,0%,0.8);
		padding: 45px 15px 0;
		z-index: -1;
	}
	header#header nav.on {
		right: 0;
		z-index: 100;
		transition: left 0.3s;
	}
	header#header nav ul:nth-of-type(1) {
	}
	header#header nav ul:nth-of-type(1) li a {
		background: hsla(25,99%,46%,1.00);
		color: #fff;
	}
	header#header nav ul:nth-of-type(1) li a span {
		font-size: 64%;
		color: hsla(25,99%,46%,1.00);
		background: #fff;
		border-radius: 3px;
		display: inline-block;
		line-height: 1.3;
		margin-left: 3px;
		padding: 0 3px;
		letter-spacing: 0;
		position: relative;
		bottom: 1px;
	}
	header#header nav ul li {
		margin-bottom: 15px;
	}
	header#header nav ul li a {
		text-align: center;
		font-weight: 700;
		color: #666;
		line-height: 40px;
		background: #fff;
		display: block;
		border-radius: 20px;
	}
	#content .ttlBox {
		text-align: center;
		background: #eee;
		padding: 15px;
		margin-bottom: 20px;
	}
	#content .ttlBox h2 {
		font-size: 20px;
	}
	#content .ttlBox h2 small {
		display: block;
		font-size: 9px;
		color: #00C587;
	}
	header#header .headInner {
		background: url(../../../images/company/common/fig_main_phone.png) no-repeat 50% 150px;
		background-size: 130px auto;
		position: relative;
		padding: 0 5px 0;
	}
	header#header .headInner:after {
		clear: both;
		display: block;
		content: "";
	}
	#index header#header h1 {
		text-align: center;
		padding-top: 20px;
	}
	#index header#header h1 img {
		width: 150px;
		height: auto;
	}
	#index header#header .free-catch {
		width: 100px;
		height: 100px;
		color: #fff;
		border-radius: 50%;
		background: url("../../../images/company/common/bg-point.png") no-repeat;
		background-size: 100px auto;
		position: absolute;
		top: -30px;
		left: -15px;
		padding-top: 35px;
		text-shadow: 0 0 1px  hsla(0,0%,0%,0.4);
	}
	#index header#header .free-catch p {
		font-size: 10px;
		font-weight: 700;
		line-height: 1.2;
		text-align: center;
	}
	#index header#header .free-catch p strong {
		font-size: 16px;
		line-height: 1.2;
		text-align: center;
	}
	#content header#header h1 {
		text-align: left;
		line-height: 50px;
		padding: 0 10px;
	}
	#content header#header h1 img {
		width: 180px;
		height: auto;
	}
	header#header .headInner > p {
		font-size: 14px;
		font-weight: 700;
		text-align: center;
		padding: 15px 0 190px;
	}
	header#header dl {
		width: 50%;
		float: left;
		padding: 0 5px;
	}
	header#header dl dt {
		font-size: 16px;
		color: #fff;
		text-shadow: 0px 2px 0px rgb(33, 193, 139);
	}
	header#header dl dd {
		background: #fff;
		border-radius: 15px 0 15px 0;
		box-shadow: 0px 2px 0px 0 rgb(33, 193, 139);
		padding-bottom: 15px;
		margin-bottom: 10px;
	}
	header#header dl dd figure {
		line-height: 80px;
		text-align: center;
	}
	header#header dl:nth-of-type(1) dd figure img {
		width: 45px;
		height: auto;
	}
	header#header dl:nth-of-type(2) dd figure img {
		height: 40px;
		width: auto;
	}
	header#header dl dd p {
		height: 2.8em;
		font-size: 10px;
		letter-spacing: 0;
		line-height: 1.3;
		font-weight: 700;
	}
	header#header dl dd p b {
		font-size: 12px;
	}

	textarea:focus ,
	a:focus ,
	button:focus ,
	input:focus {
		outline:none;
		box-shadow:none;
	}


	/* --------------------------------------
			103 content
	-------------------------------------- */
	#content #header h2.mainTtl {
		text-align: center;
		line-height: 170px;
	}
	.contactArea {
		text-align: center;
		padding: 20px 0;
		background: #21C18B;
	}
	.contactArea h4 {
		font-size: 24px;
		line-height: 1.1;
		color: #fff;
	}
	.contactArea p {
		font-size: 11px;
		font-weight: 700;
		padding-bottom: 10px;
	}
	.contactArea .in {
		font-size: 9px;
		padding: 0 25px;
		text-align: left;
	}
	.contactArea .in span {
		font-size: 12px;
		line-height: 1;
		color: #fff;
		display: block;
		margin-top: 5px;
	}
	.contactArea .in b {
		font-size: 18px;
		display: inline-block;
		line-height: 1.2;
	}
	.contactArea .in a {
		font-size: 17px;
		line-height: 1.2;
	}
	.contactArea .in a:hover {
		color: #fff;
	}

	/* --------------------------------------
			104 footer
	-------------------------------------- */

	footer#footer {
		background: #30403B;
		text-align:center;
		clear:both;
		overflow:hidden;
		zoom:1;
	}
	footer#footer nav {
		font-size: 10px;
		background: hsla(0,0%,100%,0.1);
		padding: 15px 0 5px;
	}
	footer#footer nav ul {
		text-align: center;
	}
	footer#footer nav ul li {
		color:#fff;
		display:inline-block;
		margin:0px 10px;
	}
	footer#footer nav ul li a:before {
		width: 6px;
		height: 6px;
		content: "";
		background: url(../../../images/company/common/icon_r.png) no-repeat 50% 50%;
		background-size: auto 6px;
		margin-right: 5px;
		display: inline-block;
	}
	footer#footer nav ul li a {
		color:#fff;
		line-height: 20px;
	}
	footer#footer .copy {
		text-align: center;
		color: #fff;
		font-size: 9px;
		line-height:24px;
	}
}
@media only screen and (min-width: 768px) {
	.sp-visible {
		display: none;
	}
	.sp-hidden {
		display: block;
	}

	/* --------------------------------------
			101 outline
	-------------------------------------- */
	#wrap {
		min-width:1000px;
		position:relative;
	}

	/* --------------------------------------
			102 header
	-------------------------------------- */
	header#header {
		width:100%;
		text-align:center;
		padding:0px;
		position: relative;
		background: url(../../../images/company/common/bg_main.png);
		background-size: 556px auto;
	}
	#index header#header {
		height: 720px;
	}
	#content header#header {
		overflow: hidden;
	}
	header#header nav {
		min-width: 1000px;
		text-align: right;
		padding: 10px 0;
	}
	header#header nav ul {
		height: 30px;
		margin-bottom: 10px;
	}
	header#header nav ul:nth-of-type(1) li a {
		/*width: 140px;*/
		background: hsla(25,99%,46%,1.00);
		color: #fff;
	}
	header#header nav ul:nth-of-type(1) li a span {
		font-size: 64%;
		color: hsla(25,99%,46%,1.00);
		background: #fff;
		border-radius: 3px;
		display: inline-block;
		line-height: 1.3;
		margin-left: 3px;
		padding: 0 3px;
		letter-spacing: 0;
		position: relative;
		bottom: 1px;
	}
	header#header nav ul:nth-of-type(2) li:nth-last-of-type(1) a {
		width: 140px;
	}
	header#header nav ul li {
		display: inline-block;
		margin-right: 10px;
	}
	header#header nav ul li a {
		text-align: center;
		font-weight: 700;
		color: #666;
		padding: 0 20px;
		line-height: 30px;
		background: #fff;
		display: block;
		border-radius: 15px;
	}
	header#header nav ul li a:hover {
		color: #1AE0B4;
	}
	#content .ttlBox {
		text-align: center;
		background: #eee;
		padding: 40px 0;
		margin-bottom: 60px;
	}
	#content .ttlBox h2 {
		font-size: 200%;
	}
	#content .ttlBox h2 small {
		display: block;
		font-size: 40%;
		color: #00C587;
	}
	header#header .headInner {
		width: 1000px;
		height: 554px;
		padding-right: 450px;
		background: url(../../../images/company/common/fig_main_phone.png) no-repeat 100% 0%;
		background-size: 420px auto;
		margin: 10px auto;
		position: relative;
	}
	#index header#header h1 {
		text-align: center;
		padding-top: 30px;
	}
	#index header#header .free-catch {
		width: 187px;
		height: 187px;
		color: #fff;
		border-radius: 50%;
		background: url("../../../images/company/common/bg-point.png") no-repeat;
		background-size: 187px auto;
		position: absolute;
		top: -165px;
		left: 5px;
		padding-top: 65px;
		text-shadow: 1px 1px 3px  hsla(0,0%,0%,0.4);
	}
	#index header#header .free-catch p {
		font-size: 16px;
		line-height: 1.2;
		text-align: center;
		padding-bottom: 4px;
	}
	#index header#header .free-catch p strong {
		font-size: 32px;
		line-height: 1.2;
		text-align: center;
	}
	#content header#header h1 {
		width: 300px;
		text-align: left;
		float: left;
		padding: 28px 20px 0;
	}
	header#header .headInner > p {
		font-size: 171%;
		text-align: center;
		padding: 25px 0;
	}
	header#header dl {
		width: 50%;
		float: left;
		padding: 0 10px;
	}
	header#header dl dt {
		font-size: 243%;
		color: #fff;
		text-shadow: 0px 2px 0px rgb(33, 193, 139);
	}
	header#header dl dd {
		background: #fff;
		border-radius: 15px 0 15px 0;
		box-shadow: 0px 2px 0px 0 rgb(33, 193, 139);
		padding-bottom: 15px;
		margin-bottom: 10px;
	}
	header#header dl dd figure {
		line-height: 130px;
		text-align: center;
	}
	header#header dl dd p {
		height: 2.8em;
		font-size: 114%;
		line-height: 1.3;
		font-weight: 700;
	}
	header#header dl dd p b {
		font-size: 114%;
	}

	textarea:focus ,
	a:focus ,
	button:focus ,
	input:focus {
		outline:none;
		box-shadow:none;
	}


	/* --------------------------------------
			103 content
	-------------------------------------- */
	#content #header h2.mainTtl {
		text-align: center;
		line-height: 170px;
	}
	.contactArea {
		min-width: 1000px;
		text-align: center;
		padding: 70px 0;
		background: #21C18B;
	}
	.contactArea h4 {
		font-size: 214%;
		color: #fff;
		padding-bottom: 25px;
	}
	.contactArea p {
		font-size: 129%;
	}
	.contactArea .in {
		font-size: 93%;
	}
	.contactArea .in span {
		font-size: 123%;
		color: #fff;
	}
	.contactArea .in b {
		font-size: 215%;
	}
	.contactArea .in a {
		font-size: 154%;
	}
	.contactArea .in a:hover {
		color: #fff;
	}

	/* --------------------------------------
			104 footer
	-------------------------------------- */

	footer#footer {
		background: #30403B;
		text-align:center;
		clear:both;
		overflow:hidden;
		zoom:1;
	}
	footer#footer nav {
		width: 50%;
		height: 45px;
		font-size: 86%;
		float: left;
		padding: 0 15px;
	}
	footer#footer nav ul {
		text-align: left;
		line-height:45px;
	}
	footer#footer nav ul li {
		color:#fff;
		display:inline-block;
		margin:0px 10px;
	}
	footer#footer nav ul li a:before {
		width: 6px;
		height: 6px;
		content: "";
		background: url(../../../images/company/common/icon_r.png) no-repeat 50% 50%;
		background-size: auto 6px;
		margin-right: 5px;
		display: inline-block;
	}
	footer#footer nav ul li a {
		color:#fff;
	}
	footer#footer .copy {
		text-align: right;
		width: 50%;
		float: right;
		color: #fff;
		font-size: 79%;
		line-height:44px;
		padding-right: 20px;
	}

	/* --------------------------------------
			105 other
	-------------------------------------- */

	a img {
		opacity:1;
		filter:alpha(opacity=100);
		-webkit-transition:500ms ease;
		-moz-transition:500ms ease;
		-ms-transition:500ms ease;
		transition:500ms ease;
	}

	a:hover img {
		opacity:0.6;
		filter:alpha(opacity=60);
		-webkit-transition:500ms ease;
		-moz-transition:500ms ease;
		-ms-transition:500ms ease;
		transition:500ms ease;
	}
}

