 @import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/css?family=Advent+Pro:400,100,300,600,700);
 @charset "UTF-8";
/* CSS Document */
/*====================================================================

common.css

=====================================================================*/
@font-face {
	font-family : "icomoon";
	src : url("../fonts/icomoon.eot?1y9dfw");
	src : url("../fonts/icomoon.eot?1y9dfw#iefix") format("embedded-opentype"), url("../fonts/icomoon.ttf?1y9dfw") format("truetype"), url("../fonts/icomoon.woff?1y9dfw") format("woff"), url("../fonts/icomoon.svg?1y9dfw#icomoon") format("svg");
	font-weight : normal;
	font-style : normal;
}
[class^="icon-"], [class*=" icon-"] {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family : "icomoon" !important;
	speak : none;
	font-style : normal;
	font-weight : normal;
	font-variant : normal;
	text-transform : none;
	line-height : 1;
	/* Better Font Rendering =========== */
	-webkit-font-smoothing : antialiased;
	-moz-osx-font-smoothing : grayscale;
}
.icon-arrow:before {
	content : "\e900";
}
.icon-check:before {
	content : "\e902";
}
.icon-tel:before {
	content : "\e901";
}
.icon-mail:before {
	content : "\e903";
}
/* ========================================
 * foundation
 ======================================= */
/* html5reset-1.6.1.css */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, address, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin : 0;
	padding : 0;
	border : 0;
	outline : 0;
	font-size :12px;
	font-family:"メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	vertical-align : baseline;
	background : transparent;
	border-collapse : collapse;
	/* added */
	-webkit-text-size-adjust : none;/* added */
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display : block;
}
address {
	font-style : normal;
}
nav ul {
	list-style : none;
}
ul li {
	list-style : none;
}
/* added */
ol li {
	list-style : none;
}
/* added */
blockquote, q {
	quotes : none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content : "";
	content : none;
}
a {
	margin : 0;
	padding : 0;
	font-size : 100%;
	vertical-align : middle;
	background : transparent;
}
/* change colours to suit your needs */
ins {
	background-color : #ff9;
	color : #000;
	text-decoration : none;
}
/* change colours to suit your needs */
mark {
	background-color : #ff9;
	color : #000;
	font-style : italic;
	font-weight : bold;
}
del {
	text-decoration : line-through;
}
abbr[title], dfn[title] {
	border-bottom : 1px dotted;
	cursor : help;
}
table {
	border-collapse : collapse;
	border-spacing : 0;
}
/* change border colour to suit your needs */
hr {
	display : block;
	height : 1px;
	border : 0;
	border-top : 1px solid #ccc;
	margin : 1em 0;
	padding : 0;
}
input, select {
	vertical-align : middle;
}
/*--------------------------------------------------------------------/
	format
/--------------------------------------------------------------------*/
*, *:before, *:after {
	box-sizing : border-box;
}
img {
	max-width : 100%;
	vertical-align : middle;
}
/*--------------------------------------------------------------------/
	body
/--------------------------------------------------------------------*/
html {
	font-size : 14px;
}
body {
	line-height : 1.6;
	font-size : 12px;
	font-family : Meiryo, Verdana, "メイリオ", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
	color : #505050;
	-webkit-font-smoothing : antialiased;
	-moz-osx-font-smoothing : grayscale;
}
section:after, article:after {
	content : "";
	clear : both;
	display : block;
}
.l-con {
	width: 1100px;
	margin: 0 auto;
}
/* a
----------------------------------------------------------------*/
a {
	color : #1fbedb;
}
:link, :visited {
	text-decoration : none;
}
:hover, :active {
	text-decoration : none;
}
/* animate css
----------------------------------------------------------------*/
.tel-link {
	text-decoration : none;
}
/*--------------------------------------------------------------------/
	btn
/--------------------------------------------------------------------*/
.btn_01 {
	display: inline-block;
	vertical-align: middle;
	overflow: hidden;
	-webkit-transition: all .5s;
	transition: all .5s;
	border: 1px solid #1fbedb;
	background-color: #1fbedb;
	color: #fff;
	text-align: center;
}
.btn_01:active, .btn_01:focus, .btn_01:hover {
	background-color: #fff;
	color: #1fbedb;
}
.btn_02,.btn_02:before,.btn_02:after {
	-webkit-transition: all .5s;
	transition: all .5s;
}
.btn_02 {
	display: inline-block;
	line-height: 1;
	text-align: center;
	outline: none;
	position: relative;
	background-color: #fff;
	border: 1px solid #1fbedb;
	color: #1fbedb;
	z-index: 2;
	cursor: pointer;
}


.btn_02:after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.btn_02:after {
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
}
.btn_02:after {
	right: 0;
}
.btn_02:hover {
	background-color: #1fbedb;
	border-color: #1fbedb;
	color: #fff;
}

.btn_02:hover:after {
	width: 0;
	background-color: #fff;
}



/*--------------------------------------------------------------------/
	header
/--------------------------------------------------------------------*/
#wrapper {
	position : relative;
	margin : 0 auto;
}
header {
	position : relative;
	width: 1100px;
	height: 98px;
	margin: 0 auto;
}
header:after {
	display : block;
	content : "";
	clear : both;
}
#header_ left {
	width: 500px;
	position: absolute;
	top: 0;
	left: 0;
}
h1 {
	margin-top: 5px;
	font-size: 10px;
	font-weight : normal;
	padding: 3px;
}
#header_logo {
	position: absolute;
	top: 30px;
	left: 0;
}
#header_right {
	position: absolute;
	top: 34px;
	right: 0;
}
#header_mail a, #header_mail a:before, #header_mail a:after {
	-webkit-transition: all .5s;
	transition: all .5s;
}
#header_tel {
	display: inline-block;
	font-size: 16px;
	line-height: 1;
	text-align: center;
	outline: none;
	position: relative;
	z-index: 2;
}
#header_tel {
	margin-right: 5px;
	padding: 10px 13px 10px 55px;
	background-color: #fff;
	border: 2px solid #1fbedb;
	color: #1fbedb;
	letter-spacing: 1px;
}
#header_mail {
	display: inline-block;
	font-size: 16px;
}
#header_mail a {
	display: block;
	padding: 10px 13px 10px 42px;
	background-color: #22d074;
	border: 2px solid #22d074;
	color: #22d074;
	letter-spacing: -0.5px;
	text-align: center;
	outline: none;
	position: relative;
	z-index: 2;
	line-height: 1;
}

#header_tel:before {
	content: "";
	position: absolute;
	top: 5px;
	left: 12px;
	width: 24px;
	height: 24px;
	background: url(../img/tel_icon_off.png) 0 0 no-repeat;
}
#header_mail a:before {
	content: "";
	position: absolute;
	top: 3px;
	left: 10px;
	width: 24px;
	height: 24px;
	background: url(../img/mail_icon_off.png) 0 0 no-repeat;
}
#header_mail a:after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
#header_mail a:after {
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
}
#header_mail a:after {
	right: 0;
}

#header_mail a:hover {
	background-color: #22d074;
	border-color: #22d074;
	color: #fff;
}

#header_mail a:hover:before {
	background: url(../img/mail_icon_on.png) 0 0 no-repeat;
}
#header_mail a:hover:after {
	width: 0;
	background-color: #22d074;
}
/*--------------------------------------------------------------------/
	nav global
/--------------------------------------------------------------------*/


#global {
	z-index : 1;
	position : relative;
	margin: 0 auto;
	height: 44px;
}
#global:after {
	display : block;
	content : "";
	clear : both;
}
#global #global_menu {
	width: 1100px;
	margin: 0 auto;
}
#global #global_menu li {
	float: left;
	width: 220px;
	vertical-align: middle;
	line-height: 44px;
	text-align: center;
	border-right: 1px solid #d5d5d5;
}
#global #global_menu li:first-child {
	border-left: 1px solid #d5d5d5;
}

#global #global_menu a {
	display: block;
	vertical-align: middle;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	box-shadow: 0 0 1px rgba(0,0,0,0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
	position: relative;
	color: #505050;
	background: #1fbedb;
	-webkit-transition-property: color;
	transition-property: color;
	-webkit-transition-duration: .3s;
	transition-duration: .3s
}
/* IE9 css hack */
#global #global_menu a:not(:target){
	background: #fff\9;
}
#global #global_menu a:hover:not(:target){
	background: #1fbedb\9;
}
/* IE10 css hack */
@media all and (-ms-high-contrast:none){
	#global #global_menu a {
		background: #fff;
	}
	#global #global_menu a:hover {
		background: #1fbedb;
	}
}
#global #global_menu a:before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #fff;
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition-property: transform;
	transition-property: transform;
	-webkit-transition-duration: .3s;
	transition-duration: .3s;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out
}
#global #global_menu a:active, #global #global_menu a:focus, #global #global_menu a:hover {
	color: #fff
}
#global #global_menu a:active:before, #global #global_menu a:focus:before, #global #global_menu a:hover:before {
	-webkit-transform: scale(0);
	transform: scale(0);
}
/*--------------------------------------------------------------------/
	main
/--------------------------------------------------------------------*/
#main {
	margin : 0 auto;
	position : relative;
	padding-bottom : 85px;
	min-width: 1100px;
	background: url(../img/common_main_bg.png) bottom center repeat-x;
}
.main:after {
	content : "";
	clear : both;
	display : block;
}
.main img {
	display : block;
}
.contents_bnr {
	padding-bottom: 100px;
}
.contents_bnr ul{
	overflow: hidden;
}
.contents_bnr ul li {
	float: left;
}
.contents_bnr ul li:not(:last-child) {
	margin-right: 28px;
}
/*--------------------------------------------------------------------/
	footer
/--------------------------------------------------------------------*/
footer {
	background : #f4f4f4;
}
#footer_top {
	background-color: #1fbedb;
	height: 37px;
}
#footer_top p {
	width: 1100px;
	margin: 0 auto;
	color: #fff;
	line-height: 2;
	padding: 5px;
}
#footer_top p a {
	color: #fff;
	border-bottom: solid 1px #1fbedb;
	text-decoration: none;
	outline: none;
	position: relative;
}
#footer_top p a::before {
	position: absolute;
	z-index: 2;
	content: '';
	width: 42px;
	height: 0;
	bottom: -1px;
	left: -1px;
	border: 1px solid transparent;
	border-bottom-color: #fff;
	transition: all .5s;
}
#footer_top p a:hover::before {
	width: 100%;
}

#footer_inner {
	width: 1100px;
	margin : 0 auto;
	padding: 25px 0;
	text-align : left;
	position: relative;
}
#footer_inner:after {
	display : block;
	content : "";
	clear : both;
}
.footer_menu {
	float: left;
	margin-right: 60px;
}
.footer_menu li {
	margin-bottom: 8px;
}
.footer_menu li a {
	color: #777777;
	padding-left: 15px;
	position: relative;
}
.footer_menu li a:before {
	-webkit-transition: all .5s;
	transition: all .5s;
	content: url(../img/footer_arrow.png);
	position: absolute;
	left: 1px;
}
.footer_menu li a:hover:before {
	left: 6px;
}
#footer_info {
	position: absolute;
	top: 25px;
	right: 5px;
	width: 344px;
}
#footer_info h3 {
	margin-bottom: 15px;
}
#footer_info address {
	line-height: 1.5;
	margin-left: 10px;
	margin-bottom:10px;
}
#footer_info div {
	float: left;
}
#footer_info div:first-of-type {
	margin-right: 10px;
}
#footer_info div .btn_01 {
	width: 166px;
	height: 30px;
	line-height: 28px;	
}
#footer_copy {
	background-color : #c8c8c8;
	clear : both;
	color: #fff;
	letter-spacing : 1px;
	font-size : 12px;
	position : relative;
	line-height: 30px;
}
#footer_copy p {
	width: 1100px;
	margin: 0 auto;
	text-align : center;
}
/* pagetop
--------------------------------------------------------------------*/
#page_top {
	display : block;
	position : fixed;
	z-index : 9999;
	bottom : 20px;
	right : 20px;
}
#page_top a {
	display: block;
	background-color: #1687c1;
	text-align: center;
	color: #fff;
	font-size: 16px;
	line-height: 40px;
	width: 45px;
	height: 45px;
	border: solid 2px #1687c1;
}
#page_top a:hover {
	color: #1687c1;
	-webkit-transition: all .3s;
	transition: all .3s;
	background-color: #fff;
	border: solid 2px #1687c1;
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}
/*--------------------------------------------------------------------/
	others
/--------------------------------------------------------------------*/


/* margin */
.mt-8 { margin-top: -8px;}

.mt10 { margin-top: 10px;}
.mt20 { margin-top: 20px;}
.mt20 { margin-top: 30px;}

.mr10 { margin-right: 10px;}
.mr20 { margin-right: 20px;}
.mr20 { margin-right: 30px;}

.mb5 { margin-bottom: 5px;}
.mb10 { margin-bottom: 10px;}
.mb20 { margin-bottom: 20px;}
.mb30 { margin-bottom: 30px;}

.ml10 { margin-left: 10px;}
.ml20 { margin-left: 20px;}
.ml20 { margin-left: 30px;}

.block{display:block;}
.cent{text-align:center;}
.abs{color:#c00;padding:0 0 0 5px;}
.fontBold{font-weight:bold;}

img.alignLeft{float:left;margin:0 10px 0 0;display:inline;}
img.alignRight{float:right;margin:0 0 0 10px;display:inline;}

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

/* print css
----------------------------------------------------------------*/
