/* ==================================================================
/* clear
================================================================== */
@charset "utf-8";
/* CSS Document */

/*
 :title "common stylesheet";
 :shortdesc "Common stylesheet for HTML pages of this site";
*/


/*要素のフォントサイズやマージン・パディングをリセットしています*/
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, var,
b, i,
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:100%;
	vertical-align:baseline;
	background:transparent;
}
img{
	border:0;
	outline:0;
	vertical-align:middle;
	background:transparent;
}

/* Hides from IE Mac \*/
* html .floatcontainer {height: 1%;}
.floatcontainer{display:block;}
/* End Hack */ 

/* ベースフォントサイズ */
html{
	font-size: 62.5%; /* 10px */
}

@media only screen and (max-width: 768px){
	html{
		font-size: 50%; /* 8px */
		/*font-size: 56.25%; /* 9px */
	}
}


/*行の高さをフォントサイズと同じにしています*/
body {
	line-height:1;
}

/*新規追加要素のデフォルトはすべてインライン要素になっているので、section要素などをブロック要素へ変更しています*/
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display:block;
}

/*nav要素内ulのマーカー（行頭記号）を表示しないようにしています*/
nav ul {
	list-style:none;
}

/*引用符の表示が出ないようにしています*/
blockquote, q {
	quotes:none;
}

/*blockquote要素、q要素の前後にコンテンツを追加しないように指定しています*/
blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}

/*a要素のフォントサイズなどをリセットしフォントの縦方向の揃え位置を親要素のベースラインに揃えるようにしています*/
a {
	margin:0;
	padding:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
	color: #333;
}

/* ins要素のデフォルトをセットし、色を変える場合はここで変更できるようにしています */
ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}

/* mark要素のデフォルトをセットし、色やフォントスタイルを変える場合はここで変更できるようにしています
また、mark要素とは、文書内の検索結果で該当するフレーズをハイライトして、目立たせる際に使用するようです。*/
mark {
	background-color:#ff9;
	color:#000; 
	font-style:italic;
	font-weight:bold;
}

/*テキストに打ち消し線が付くようにしています*/
del {
	text-decoration: line-through;
}

/*IEではデフォルトで点線を下線表示する設定ではないので、下線がつくようにしています
また、マウスオーバー時にヘルプカーソルの表示が出るようにしています*/
abbr[title], dfn[title] {
	border-bottom:1px dotted;
	cursor:help;
}

/*隣接するセルのボーダーを重ねて表示し、間隔を0に指定しています*/
table {
	border-collapse:collapse;
	border-spacing:0;
}

/*水平罫線のデフォルトである立体的な罫線を見えなくしています*/
hr {
	display:block;
	height:1px;
	border:0;   
	border-top:1px solid #cccccc;
	margin:1em 0;
	padding:0;
}

/* 縦方向の揃え位置を中央揃えに指定しています */
/* iOSなどのプラットフォーム独自の装飾仕様をクリア */
input, textarea, select {
	vertical-align:middle;
	-webkit-appearance: none;
}
 
/* 要素のフォントスタイルをリセットしています*/
dl {
	font-style: normal;
}

/* box-sizing*/
*,
*:before,
*:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}


/* ==================================================================
 base
================================================================== */

*{
	padding: 0px;
	margin: 0px;
}

body{ 
	min-width: 320px; 
	text-align: center; 
	font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,Osaka,'ＭＳ Ｐゴシック',sans-serif;
	-webkit-text-size-adjust: 100%;
	font-size: 1.5rem;
	font-weight: 500; 
	-webkit-font-smoothing: antialiased;
	line-height: 1.6;
}

main{
	display: block;
	margin: 0 auto 100px;
	text-align:center;
	overflow: hidden;
}

section{
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
	padding: 50px 0;
	display: block;
	clear: both;
	overflow: hidden;
}

.inner{
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
}

/* SP */
@media all and (max-width: 768px) {
	section,
	.inner{
		width: 90%;
	}
}


/*配置
------------------------------------------------------*/
.center{
	padding: 0;
	text-align: center;
}
.right{
	padding: 0;
	float: right;
	margin-left: 20px;
}
.left{
	padding: 0;
	float: left;
	margin-right: 20px;
}
.fixed{
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10000;
}

/* SP */
@media all and (max-width: 768px) {
	.center,
	.right,
	.left{
		float: none;
		margin: 10px auto;
	}
}

/*画像
------------------------------------------------------*/
img{
	max-width: 100%;
	width: auto;
	height: auto !important;
}



/*見出し
------------------------------------------------------*/
h2{
	clear: both;
	display: block;
	margin: 50px auto 20px;
	font-size: 3.0rem;
	text-align: center;
	color: #333;
	border-bottom: 1px solid #008BBB;
}

h3{
	clear:both;
	font-size: 2.4rem;
	text-align: left;
	color: #333;
	border-bottom: 1px dashed #008BBB;
	margin: 30px auto 20px;
}

h4{
	font-size: 2.0rem;
	text-align: left;
	color: #333;
	border-bottom: 2px dashed #ccc;
	margin: 30px auto 20px;
}



/*テキスト
------------------------------------------------------*/
p{
	text-align: left;
}

.kome{
	margin-left: 1rem;
	text-indent: -1rem;
	list-style: none;
}

.bikou{
	font-size: 1.4rem;
}

.focus,
.attention{
	padding: 30px;
	margin: 30px auto;
	border-radius: 5px;
	text-align: left;
	overflow: hidden;
}
.focus{
	background-color: #eee;
}
.attention{
	background-color: #ffd9d4;
	border: 2px solid #FF9385;
}

/*テキスト配置*/
.align_center{text-align: center;}
.align_left{text-align: left;}
.align_right{text-align: right;}


/*テキスト色*/
.color_red{
	color: #fd4128;
}

/* SP */
@media all and (max-width: 768px) {
	.attention,
	.focus{
		padding: 15px;
	}
	/*テキスト配置*/
	.align_center,
	.align_right{
		text-align: left;
	}   
}



/*リンク
------------------------------------------------------*/
/*テキストリンク*/
a{
	text-decoration: none;
	color: #008BBB;
}
a:hover{
	opacity: 0.8;
	transition: 0.3s;
}

a.gaibu{
	padding-right: 1.5em;
	background: url(image/icon_gaibu.png) no-repeat right center;
}


/*ボタンリンク*/
a.btn_link,
a.btn_link_gaibu{
	display: inline-block;
	margin: 5px 0px;
	padding: 5px 55px 5px 35px;
	text-decoration: none;
	line-height: 30px;
	text-align: center;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	cursor: pointer;
	background-color: #008BBB;
	color: #fff;
	border: 1px solid #fff;
}

a.btn_link{
	background-image: url(image/icon_gaibu_white.png);
	background-repeat: no-repeat;
	background-position: 95% center
}

a.btn_link_gaibu{
	background-color: #008BBB;
	background-image: url(image/icon_gaibu_white.png);
	background-repeat: no-repeat;
	background-position: 95% center
}

a.btn_link:hover,
a.btn_link_gaibu:hover{
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}

/* SP */
@media all and (max-width: 768px) {
	a.btn_link,
	a.btn_link_gaibu{
		display: block;
		width: 100%;
		margin: 10px auto;
	}
}



/*テーブル
------------------------------------------------------*/
table{
	max-width: 1000px !important;/*サイトの幅によって調節*/
	width: 100%;
	font-size: 100%;
	margin: 10px 0 30px;
}
table th, table td{
	padding: 10px;
	border: 1px solid #aaa;
	text-align: left;
	min-height: 35px;
}
table th{
	width: 30%;
	background-color: #eee;
	vertical-align: middle;
	font-weight: bold;
	text-align: center;
}



/*入れ子*/
table td table th,
table td table td{
	border: 1px dashed #aaa !important;
	border-left: none !important;
	border-right: none !important;
}

table td table th{
	background-color: #FBF3D2 !important;
}


table a.btn_link_gaibu{
	padding: 0 30px 0 15px;
	font-size: 1.2rem;
	line-height: 2;
}


/* SP */
@media all and (max-width: 768px) {
	table{
		width: 100%;
		margin: 10px 0;
	}

	table th, 
	table td{
		display: block;
	}
	table{
		border-top: 1px solid #aaa;
	}
	table th{
		width: 100%;
		border-top: none;
		border-bottom: none;
	}	

	/*入れ子*/
	table td table{
		border: 1px dashed #aaa !important;
	}

	table td table th,
	table td table td{
		border: none !important;
	}
	
	
	table a.btn_link_gaibu{
		display: inline-block;
		width: auto;
	}
	
}


/* リスト
------------------------------------------------------*/
ul,ol{
	text-align: left;
	margin-left: 20px;
	list-style: none;
	letter-spacing: -0.4em;
}

ul li,
ol li{
	letter-spacing: normal;
}


.basic_ul{
	list-style: none;
	margin: 10px 0;
	margin-left: 1.5em;
	text-align:left;
	list-style-image: url(./image/icon_basic_ul.png);
}
.basic_ul li{
	margin: 3px 0 8px;
}

.basic_ol{
	margin: 10px 0;
	margin-left: 1.5em;
	text-align:left;
}
.basic_ol li{
	margin: 3px 0 5px;
	list-style: decimal;
}



/* ==================================================================
 レイアウト
================================================================== */

/* ------------------------------------------------------*/
/* header
/* ------------------------------------------------------*/

#header{
	width: 100%;
	padding: 10px 0;
	border-bottom: 3px solid #008BBB;
}

#header .inner{
	overflow: hidden;
	text-align: left;
}

#header h1{
	margin: 0 auto;
}


/* SP
/* ---------------------------------------------- */
@media all and (max-width: 768px) {
	#header{
		min-width: 320px;
	}

	#header .inner{
		text-align: center;
	}
	
}


/* ------------------------------------------------------*/
/* main_img,second_img
/* ------------------------------------------------------*/
#main_img{
	display: block;
	overflow: hidden;
	clear: both;
	border-bottom: 3px solid #008BBB;
}

#main_img ul{
	margin: 0 auto;
	text-align: center;
}


/* ------------------------------------------------------*/
/* footer
/* ------------------------------------------------------*/

footer{
	width: 100%;
	clear: both;
	background:  #008BBB;
	color: #fff;
}

footer .inner{
	padding: 30px 0;
	overflow: hidden;
}


footer .inner .text_box p .tel_link a{
	color: #fff !important;
}
footer .inner .text_box p span a{
	color: #fff;
}

footer a{
	color: #79C559 !important;
}

footer p.title{
	font-size: 2.4rem;
	font-weight: bold;
}


footer .link_box{
	display: block;
	text-align: center;
	margin-top: 20px;
}
footer .link_box img{
	display: inline-block;
	max-width: 200px;
	width: 19%;
	/*width: 20%;
	margin: 1%;*/
}

address{
	width: 100%;
	text-align: center;
	color: #033C5B;
	padding: 10px 0;
	font-size: 1.2rem;
	font-style: normal;
}

/* SP
/* ---------------------------------------------- */
@media all and (max-width: 768px) {
	footer .text_box,
	footer .link_box{
		width: 100%;
		margin: 0 auto;
		float: none;
		clear: both;
		text-align: center;
	}

	footer .text_box{
		margin-bottom: 30px;
	}
	
	footer .text_box p{
		text-align: center;
	}
	
	footer .link_box img{
		width: 100%;
		display: block;
		margin: 10px auto;
	}

}





/* ==================================================================
 コンテンツ
================================================================== */

/* ------------------------------------------------------*/
/* menu
/* ------------------------------------------------------*/

ul.menu{
	max-width: 1000px;
	margin: 0px auto 50px;
	text-align: center;
	letter-spacing: -0.4em;
}

ul.menu li{
	display: inline-block;
	width: 23%;
	margin: 1%;
	border-radius: 5px;
	background-color: #008BBB;
	background-image: url(image/icon_arrow_white_b.png);
	background-repeat: no-repeat;
	background-position: 95% center;
	letter-spacing: normal;
}


ul.menu li a{
	display: block;
	padding: 10px 30px 10px 10px;
	color: #fff;
	font-size: 1.5rem;
	font-weight: bold;
}





/* SP
/* ---------------------------------------------- */
@media all and (max-width: 768px) {
	ul.menu{
		width: 90%;
		margin: 30px auto 50px;
	}
	
	ul.menu li{
		display: block;
		width: auto;
		margin: 0 auto 10px;
	}

}



/* ------------------------------------------------------*/
/* Intorduction
/* ------------------------------------------------------*/
section.introduction{
	padding: 80px 0;
}

section.introduction p{
	font-size: 1.8rem;
	margin: auto;
	max-width: 875px;
}

section.introduction p span.break:before{
	content: "\A";
	white-space: pre;
}

/* SP
/* ---------------------------------------------- */
@media all and (max-width: 768px) {
	section.introduction{
		padding: 40px 0;
	}

	section.introduction p{
		text-align: left;
	}
	
	section.introduction p span.break:before{
		content: none;
		white-space: normal;
	}

}

/* ------------------------------------------------------*/
/* contents
/* ------------------------------------------------------*/
ul.col_2,
ul.col_3,
ul.col_4{
	clear: both;
	display: block;
	margin: 15px 0;
}

ul.col_2 li,
ul.col_3 li,
ul.col_4 li{
	display: inline-block;
}

ul.col_2 li{
	width: 49%;
	margin-right: 1%;
}

ul.col_3 li{
	width: 32.7%;
	margin-right: 0.9%;
}

ul.col_4 li{
	width: 24.4%;
	margin-right: 0.8%;
}

ul.col_2 li:last-child,
ul.col_3 li:last-child,
ul.col_4 li:last-child{
	margin-right: 0;
}



/* SP
/* ---------------------------------------------- */
@media all and (max-width: 768px) {
	ul.col_2,
	ul.col_3,
	ul.col_4{
		text-align: center;
	}
	
	ul.col_3 li{
		width: 32%;
		margin: 0 0.5%;
	}
	
	ul.col_4 li{
		display: inline-block;
		width: 48%;
		margin: 0 0.5% 1%;
	}
	ul.col_3 li:last-child,
	ul.col_4 li:last-child{
		margin-right: 0.5%;
	}

}


