@charset "UTF-8";

/**
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *	contenteditable attribute is included anywhere else in the document.
 *	Otherwise it causes space to appear at the top and bottom of elements
 *	that are clearfixed.
 * 2. The use of `table` rather than `block` is only necessary if using
 *	`:before` to contain the top-margins of child elements.
 */
.cf:before,
.cf:after {
	content: " "; /* 1 */
	display: table; /* 2 */
}
.cf:after {
	clear: both;
}
/**
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */
.cf {
	*zoom: 1;
}

/**
 * html
 */
html, body, input, select, textarea {
	font-family:Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
}
.serif {
	font-family:"Roboto Slab" , Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}
}
html, body {
	width:100%; height:100%;
}

.cf > .left {
	float:left;
}
.cf > .right {
	float:right
}

ul.check_point li {
	list-style-type:none;
	background-image:url("check_point.png");
	background-repeat:no-repeat;
	background-position:left 5px;
	background-size:16px 12px;
	padding-left:25px;
	margin:10px 0px;
}

body {
	background-color:#F1F1F1;
	color:#333;
	font-size:14px;
	letter-spacing:0.08em;
	line-height:1.4em;
}
a {
	color: inherit;
	outline: none;
	text-decoration: none;
}

div.wrapper {
	box-sizing:border-box;
}

.only_pc {
	display:none;
}

@media screen and (min-width:750px) {
	/*　for PC　*/
	div.wrapper {
		min-width:1000px;
		max-width:1200px;
		height:100%;
		margin:0 auto;
	}
	.only_sp {
		display:none;
	}
	.only_pc {
		display:inherit!important;
	}
	ul.check_point li {
		background-position:left 0;
		background-size:auto;
		padding-left:50px;
		margin:10px 0px;
		line-height:24px;
		font-size:18px;
	}

}

/*
 * header
 */
header {
	background-color:#FFF;
	height:70px;
	text-align:center;
}
header img.logo {
	width:61px; height:44px;
	margin-top:13px;
}
@media screen and (min-width:750px) {
	/*　for PC　*/
	header {
		position:relative;
		height:140px;
		z-index:100;
	}
	header img.logo {
		width:auto; height:auto;
		margin-top:26px;
	}
	header span.company_name {
		position:absolute;
		top:60px; left:40px;
		font-size:24px;
		color:#777;
	}
	header span.tel {
		position:absolute;
		top:60px; right:40px;
		font-size:24px;
		color:#0098D8;
	}
	nav {
		position:relative;
		z-index:50;
	}
	div.contents {
		position:relative;
		z-index:40;
	}
}

/*
 * nav
 */
nav {
	background-color:#0099D3;
	height:60px;
	text-align:center;
	box-shadow:0px 0px 20px rgba(0, 0, 0, 0.5);
}
nav ul {
	color:#fff;	
}
nav ul li {
	display:inline-block;
	line-height:60px;
	margin:0px 15px;
	font-size:16px;
	font-weight:bold;
}
nav ul li a {
	background-repeat:no-repeat;
	background-size:35px 35px;
	padding-left:40px;
	line-height:35px;
	display:inline-block;
}
nav ul li.circles a { background-image:url("menu_icon_three_tower.png"); }
nav ul li.company a { background-image:url("menu_icon_company.png"); }
nav ul li.staff a { background-image:url("menu_icon_message.png"); }
nav ul li.inquiry a { background-image:url("menu_icon_contact.png"); }


/*
 * footer
 */
footer {
	text-align:center;
}
footer p.top_link {
	background-color:#FFF;
	height:85px;
	line-height:85px;
}
footer p.top_link img {
	width:45px; height:45px;
	margin-top:20px;
}
footer p.copy {
	background-color:#0099D3;
	color:#FFF;
	height:30px;
	line-height:30px;
}


/*
 * section
 */
section h3 {
	font-size:20px;
	color:#0098D8;
}
section h3.box {
	height:60px;
	line-height:60px;
	text-align:center;
	background-color:#FFF;
}
section h4 {
	color:#0098d7;
	font-size:18px;
	font-weight:normal;
}
section div.circle_content {
	margin:30px 0px;
	text-align:center;
}
section div.circle_content p.circle img {
	width:160px; height:160px;
}
section div.circle_content p.content {
	margin:15px 30px;
	text-align:left;
}
@media screen and (min-width:750px) {
	/*　for PC　*/
	section div.pc_container{
		padding:0px 100px;
	}
	section h3 {
		font-size:30px;
	}
	section h3.box {
		height:120px;
		line-height:120px;
	}
}

/*
 * section#top
 */
section#top h2 {
    position:relative;
    overflow:hidden;
    width:100%;
    height:200px;
}
section#top h2 img.background {
    position:absolute;
    z-index:10;
    left:50%;
    width:650px; height:200px;
    margin-left:-325px;
}
section#top h2 img.catch_copy {
    position:absolute;
    z-index:20;
    top:20px; left:20px;
    width:257px; height:23px;
}
section#top h2 p {
    position:absolute;
    z-index:30;
    top:60px; left:20px;
    color:#fff;
    font-size:12px;
    letter-spacing:0.02em;
}
@media screen and (min-width:750px) {
	/*　for PC　*/
	section#top h2 {
	    height:400px;
	}
	section#top h2 img.background {
	    width:1300px; height:400px;
	    margin-left:-650px;
	}
	section#top h2 img.catch_copy {
	    top:40px; left:40px;
	    width:auto; height:auto;
	}
	section#top h2 p {
	    top:120px; left:40px;
    	letter-spacing:0.1em;
    	line-height:1.5em;
	    font-size:20px;
	}
}

/*
 * section#circles
 */
section#circles h4 {
	text-align:center;
	margin:15px 0px;
}
section#circles div.circle_content {
	margin:30px 0px;
	text-align:center;
}
section#circles div.circle_content p.circle img {
	width:160px; height:160px;
}

section#circles div.circle_content p.content {
	margin:15px 30px;
	text-align:left;
}
section#circles div.description {
	margin:10px;
	padding:25px 0px;
	border:1px solid #0099D3;
	border-radius:10px;
	background-color:#F9FFFF;
	color:#0098d8;
	font-size:20px;
	text-align:center;
	line-height:1.8em;
}
@media screen and (min-width:750px) {
	/*　for PC　*/
	section#circles div.circle_content p.circle img {
		width:90%; height:90%;
	}
	section#circles div.circle_content {
		float:left;
		width:33%;
		margin-bottom:0px;
	}
	section#circles div.description {
		font-size:30px;
		font-weight:bold;
		line-height:2.0em;
		margin-bottom:40px;
	}
}

/*
 * section#feature
 */
section#feature h3 {
	margin-left:15px;
	font-size:15px;
	font-weight:bold;
	color:#0098d8;
	line-height:22px;
}
section#feature h4 {
	margin:20px 0px;
}
section#feature h4.box {
	padding:15px;
	border-radius:5px;
	background-color:#0099D3;
	color:#FFF;
	font-size:24px;
	line-height:1.2em;
	text-align:center;
}
section#feature .white_box_container {
	margin:10px;
	padding:25px;
	border-radius:5px;
	background-color:#FFF;
}
section#feature .title img.logo {
	width:61px; height: 44px;
}
section#feature ul.check_point {
	margin:20px 0px;
}
@media screen and (min-width:750px) {
	/*　for PC　*/
	section#feature h3 {
		margin-left:30px;
		font-size:30px;
		font-weight:bold;
		line-height:1.3em;
	}
	section#feature .title img.logo {
		width:auto; height: auto;
	}
	section#feature h4,
	section#feature h4.box {
		font-size:30px;
		font-weight:bold;
		text-align:center;
	}
	section#feature h4 {
		margin:30px 0px;
	}
}

/*
 * section#company
 */
section#company {
	margin-top:50px;
}
section#company .table_container {
	padding:0px 10px;
	margin-bottom:30px;
}
section#company .table_container table {
	box-sizing:border-box;
	width:100%;
}
section#company .table_container table th,
section#company .table_container table td {
	padding:25px 0px 15px;
}
section#company .table_container table th {
	border-bottom:2px solid #0099D3;
	text-align:left;
	color:#0099D3;
}
section#company .table_container table td {
	border-bottom:2px solid #CBCBCB;
	padding-left:10px;
}

/*
 * section#staff
 */
section#staff {
	margin-top:50px;
}
section#staff h4{
	margin-bottom:10px;
}
@media screen and (min-width:750px) {
	/*　for PC　*/
	section#staff div.circle_content p.circle img {
		width:90%; height:90%;
	}
	section#staff div.circle_content p.circle {
		float:left;
		width:340px;
	}
	section#staff div.circle_content div.pc_staff_right {
		float:left;
		width:450px;
		margin-left:10px;
	}
	section#staff h4,
	section#staff p.introduce,
	section#staff p.content {
		text-align:left;
		margin:0px;
	}
	section#staff h4 {
		margin:40px 0px 20px;
		line-height:1.3em;
		font-size:24px;
		font-weight:bold;
	}
	section#staff p.introduce {
		margin-bottom:20px;
	}
}

/*
 * section#inquiry
 */
section#inquiry {
	margin-top:50px;
}
section#inquiry p.icon_tel,
section#inquiry p.icon_mail {
	margin:10px;
	border-radius:5px;
	background-color:#0099D3;
	color:#FFF;
	font-size:20px;
	text-align:center;
}
section#inquiry p.icon_tel a,
section#inquiry p.icon_mail a {
	display:block;
	padding:10px;
}
section#inquiry p.icon_tel {
	margin-top:20px;
}
section#inquiry p.icon_mail {
	margin-bottom:20px;
}
section#inquiry div.map {
	width:100%; height:250px;
}
@media screen and (min-width:750px) {
	/*　for PC　*/
	section#inquiry p.icon_tel,
	section#inquiry p.icon_mail {
		margin:20px 300px;
	}
	section#inquiry p.icon_tel a,
	section#inquiry p.icon_mail a {
		padding:20px 10px;
		font-weight:bold;
	}
}